diff --git a/.gitignore b/.gitignore index fda2452..64eab31 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,7 @@ .idea/ # Run temp file and dir -reference -omc/tools + # Built Visual Studio Code Extensions *.o diff --git a/omc/bin/conf/sync.conf b/bin/.gitkeep similarity index 100% rename from omc/bin/conf/sync.conf rename to bin/.gitkeep diff --git a/include/Makefile.rules.bak b/include/Makefile.rules.bak deleted file mode 100644 index 8774bc9..0000000 --- a/include/Makefile.rules.bak +++ /dev/null @@ -1,352 +0,0 @@ - -##----------------------------------------------------------## -## ## -## Universal Makefile Rules ## -## ## -## Created : Wei Liu 07/03/07 ## -## Revision: [Last]Wei Liu 07/07/07 ## -## ## -##----------------------------------------------------------## - - -UMAKE_VERSION := V2.0 - -##------------------------------------- -## -## Work Directory : /usr/local/include -## Default Target : all -## -##------------------------------------- -default: all -.PHONY: all clean rebuild test indent splint doc \ - dir config check bk lsbk rmbk unzip umakever usage\ - FORCE -.SUFFIXES: - -umakever: - @echo "Universal Makefile (UMake) Version: $(UMAKE_VERSION)" - -##-------------------------------------- -## -## Makefile CFG defination check -## -##-------------------------------------- - -ifeq "$(MODULE)" "" -$(error Please input the module name (MODULE = )in makefile. ) -endif - -ifeq "$(CFG)" "" -CFG=debug -$(warnning No configuration specified for CFG. Defaulting to $(MODULE) - debug. ) -endif - -ifeq "$(BUILD)" "" -BUILD=lib -$(warnning No configuration specified for BUILD. Defaulting to create lib$(MODULE).a. ) -endif - -ifeq "$(SRC_PATH)" "" -SRC_PATH=. -$(warnning No configuration specified for SRC_PATH. Defaulting to ./. ) -endif - -COVER_NEED ?= no -PLT_PATH ?= ../../plat -APP_PATH ?= ../../app -TYPE ?= plat - -##-------------------------------------- -## -## Gcc Flag for debug or release -## -##-------------------------------------- -#CC := arm-linux-gnueabi-gcc -CC := gcc -GCC_CFLAGS := -Wall -MM -#AR_LINK := arm-linux-gnueabi-ar -r -AR_LINK := ar -r -ARM_INCLUDE := /opt/gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabi/usr/include -RELS_FLAGS_ADD += -DNDEBUG -RELEASE_CFLAGS += -g -I. -I$(ARM_INCLUDE) $(RELS_FLAGS_ADD) -RELEASE_LINK_CFLAGS = -g $(RELS_FLAGS_ADD) -o -DEBUG_CFLAGS += -g -rdynamic -finline-functions -DDEBUG -I. -I$(ARM_INCLUDE) $(DBUG_FLAGS_ADD) -DEBUG_LINK_CFLAGS = -g -rdynamic -DDEBUG -o - -ifeq "$(COVER_NEED)" "yes" -DEBUG_CFLAGS += -fprofile-arcs -ftest-coverage -pg -endif - -GCC_CFLAGS=$(DEBUG_CFLAGS) -GCC_LINK_CFLAGS=$(DEBUG_LINK_CFLAGS) - -##-------------------------------------- -## -## Project setting -## -##-------------------------------------- -OBJDIR:=./obj -LIBDIR:=./lib -UTDIR :=./ut -DOCDIR:=./doc -DIRBUILD=$(OBJDIR) - -ifeq "$(BUILD)" "lib" -BINDIR:=./bin -OUTFILE=$(LIBDIR)/lib$(MODULE).a -DIRNEED=$(UTDIR) $(DOCDIR) -DIRBUILD+=$(LIBDIR) -else -BINDIR:=. -OUTFILE=$(BINDIR)/$(MODULE) -DIRNEED= -DIRBUILD+=$(BINDIR) -endif - -##-------------------------------------- -## -## source , object and dependencies files -## -##-------------------------------------- - -SRC_SUBDIR := $(shell find $(SRC_PATH) -type d) - -vpath %.c $(SRC_SUBDIR) -vpath %.o $(OBJDIR) -vpath %.d $(OBJDIR) - -SRC_FULL_PATH = $(foreach dir,$(SRC_SUBDIR),$(wildcard $(dir)/*.c)) -SRC_FILES = $(foreach file, $(notdir $(SRC_FULL_PATH)) ,$(OBJDIR)/$(file)) -COMMON_OBJ = $(SRC_FILES:%.c=%.o) - -TEST_OBJ_PATH ?= ../../obj - -TEST_OBJ = $(foreach dir,$(TEST_OBJ_PATH),$(wildcard $(dir)/*.o)) - -OBJ=$(COMMON_OBJ) $(OBJ_ADD) -ALL_OBJ := $(OBJ) $(TEST_OBJ) - -##-------------------------------------- -## -## Lib setting -## -##-------------------------------------- - -ifeq "$(COVER_NEED)" "yes" -LIBCOVER=-lgcov -endif - -MODULE_PLT_LIB=$(foreach lib,$(PLT_LIB), -L$(PLT_PATH)/$(lib)/lib/ -l$(lib) ) -MODULE_PLT_LIB+=-lm - - -MODULE_APP_LIB=$(foreach lib,$(APP_LIB),-L$(APP_PATH)/$(lib)/lib -l$(lib)) - -ifneq (,$(findstring hlr,$(PLT_LIB))) -MODULE_APP_LIB= -##-L../app/ae/src/lib -lpubfunc -endif - -ifneq (,$(findstring auceir,$(PLT_LIB))) -MODULE_APP_LIB= -##-L../app/ae/src/lib -lpubfunc -L../usr/lib -la3a8 -ldl -lpopt -endif - -##-------------------------------------- -## -## Rules -## -##-------------------------------------- -CCFLAG_SWITCH ?= off -CC_COMPILE =$(CC) $(GCC_CFLAGS) -c $< -o $@ -CC_PRG_LINK=$(CC) $(GCC_LINK_CFLAGS) $(OUTFILE) $(ALL_OBJ) $(LIBCOVER) $(MODULE_APP_LIB) $(MODULE_PLT_LIB) $(LIB_ADD) -CC_LIB_LINK=$(AR_LINK) $(OUTFILE) $(ALL_OBJ) - -COMPILE=$(CC_COMPILE) -PRG_LINK=$(CC_PRG_LINK) -LIB_LINK=$(CC_LIB_LINK) - -ifeq "$(BUILD)" "exef" -LINK=$(PRG_LINK) -else -LINK=$(LIB_LINK) -endif - -# Build rules - -all: preproc start dir $(ALL_OBJ) #prtdebug - @echo Linking :$(OUTFILE) -ifeq "$(CCFLAG_SWITCH)" "off" - @$(LINK) -else - $(LINK) -endif - @$(POSTPROC_CMD) - @echo -e "\n================================================================================\n" - -sinclude $(DEPENDS) - -release : CC_COMPILE =$(CC) $(RELEASE_CFLAGS) -c $< -o $@ -release : CC_PRG_LINK=$(CC) $(RELEASE_LINK_CFLAGS) $(OUTFILE) $(ALL_OBJ) $(MODULE_APP_LIB) $(MODULE_PLT_LIB) $(LIB_ADD) -release : all - -##-------------------------------------- -## -## Make command to use for dependencies -## -##-------------------------------------- - -MAKE :=make -RM :=rm -MKDIR :=mkdir - -preproc: - @$(PREPROC_CMD) - -start: - @echo -e "\n================================================================================\n" - @echo "[Building Project]: $(notdir $(MODULE))" -ifeq "$(CCFLAG_SWITCH)" "off" - @echo "Show Gcc Flags switch = OFF" -endif - -prtdebug: - @echo "$(MODULE)-$(BUILD)[$(CFG)] build source file:" "$(SRC_FULL_PATH)" - @echo SRC_SUBDIR: $(SRC_SUBDIR) - @echo SRC_FULL_PATH : $(SRC_FULL_PATH) - @echo SRC_FILES : $(SRC_FILES) - @echo ALL_OBJ : $(ALL_OBJ) - @echo LIB:$(MODULE_PLT_LIB) - @echo PLT_LIB: $(PLT_LIB) - @echo CCFLAG_SWITCH :$(CCFLAG_SWITCH) - -config: dir - -dir: - @$(foreach dir,$(DIRNEED),$(MKDIR) -p $(DIRNEED) --mode=0777; ) - @$(foreach dir,$(DIRBUILD),$(MKDIR) -p $(dir) --mode=0777; ) - -##-------------------------------------- -## -## Make Rebuild and clean -## -##-------------------------------------- - -ifneq "$(PROJ)" "" -FRIEND_PROJ := $(shell ) -endif - -jumprebuild: -ifneq "$(PROJ)" "" - @cd $(FRIEND_PROJ); mak rebuild ; cd - -endif - -# Rebuild this project -rebuild: jumprebuild cleanall all - -# Clean this project and all dependencies -cleanall: clean - -# Clean this project -clean: - @echo -e "||--------------------------------------------------------------- " - @echo -e "|| Umake clean gcc , lcov, doxygen generated and temporary files. " - @echo -e "||--------------------------------------------------------------- " - @$(RM) -rf $(OBJDIR) $(OUTFILE) $(COVER_REPORT_PATH) ./doc/doxygen.conf ./doc/html ./doc/latex ./doc/rtf $(foreach dir,$(SRC_SUBDIR),$(dir)/*~) - - -##-------------------------------------- -## -## indent Makefile.indent -## -##-------------------------------------- -include Makefile.indent - -indent: - @chmod 777 $(SRC_FULL_PATH) - @echo ===================================Indent START================================= - @echo - @echo "[Indent source file ]: $(SRC_FULL_PATH)" - $(call MAKE_INDENT , $(SRC_FULL_PATH)) - -##-------------------------------------- -## -## splint makefile.splint -## -##-------------------------------------- -include Makefile.splint - -SPLINT_FLAG_SWITCH ?= off - -splint: - @chmod 777 $(SRC_FULL_PATH) - @echo =================================Splint START================================== - @echo -ifeq "$(SPLINT_FLAG_SWITCH)" "on" - @echo "[Splint flags ]: $(SPLINT_FLAGS)" -endif - @echo "[Lint Clean Project]: $(notdir $(MODULE))" - $(call MAKE_SPLINT, $(SRC_FULL_PATH)) - -##-------------------------------------- -## -## doc Makefile.doxygen -## -##-------------------------------------- -include Makefile.doxygen - -doc: - @chmod 777 $(SRC_FULL_PATH) - @echo ==================================Doxygen START================================= - @echo - $(call MAKE_DOC, $(SRC_FULL_PATH)) - - -##-------------------------------------- -## -## backup Makefile.backup -## -##-------------------------------------- -include Makefile.backup - -##-------------------------------------- -## -## cov Makefile.cov -## -##-------------------------------------- -include Makefile.cov - -##-------------------------------------- -## -## usage Makefile.usage -## -##-------------------------------------- -include Makefile.usage - -##-------------------------------------- -## -## Make dependencies -## -##-------------------------------------- - -$(OBJDIR)/%.d:%.c - @$(CC) $< -MM -MD -o $@ - -$(OBJDIR)/%.o:%.c - -ifeq "$(CCFLAG_SWITCH)" "off" - @echo -e "building: $(notdir $@) \t\t\t\t please wait ..." - @$(COMPILE) -else - $(COMPILE) -endif - -DEPENDS=$(COMMON_OBJ:.o=.d) - -##-------------------------------------- -## -## Make force -## -##-------------------------------------- -FORCE: - diff --git a/include/gtest/gtest-death-test.h b/include/gtest/gtest-death-test.h deleted file mode 100644 index dc878ff..0000000 --- a/include/gtest/gtest-death-test.h +++ /dev/null @@ -1,343 +0,0 @@ -// Copyright 2005, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// -// The Google C++ Testing and Mocking Framework (Google Test) -// -// This header file defines the public API for death tests. It is -// #included by gtest.h so a user doesn't need to include this -// directly. -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_ -#define GTEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_ - -#include "gtest/internal/gtest-death-test-internal.h" - -namespace testing { - -// This flag controls the style of death tests. Valid values are "threadsafe", -// meaning that the death test child process will re-execute the test binary -// from the start, running only a single death test, or "fast", -// meaning that the child process will execute the test logic immediately -// after forking. -GTEST_DECLARE_string_(death_test_style); - -#if GTEST_HAS_DEATH_TEST - -namespace internal { - -// Returns a Boolean value indicating whether the caller is currently -// executing in the context of the death test child process. Tools such as -// Valgrind heap checkers may need this to modify their behavior in death -// tests. IMPORTANT: This is an internal utility. Using it may break the -// implementation of death tests. User code MUST NOT use it. -GTEST_API_ bool InDeathTestChild(); - -} // namespace internal - -// The following macros are useful for writing death tests. - -// Here's what happens when an ASSERT_DEATH* or EXPECT_DEATH* is -// executed: -// -// 1. It generates a warning if there is more than one active -// thread. This is because it's safe to fork() or clone() only -// when there is a single thread. -// -// 2. The parent process clone()s a sub-process and runs the death -// test in it; the sub-process exits with code 0 at the end of the -// death test, if it hasn't exited already. -// -// 3. The parent process waits for the sub-process to terminate. -// -// 4. The parent process checks the exit code and error message of -// the sub-process. -// -// Examples: -// -// ASSERT_DEATH(server.SendMessage(56, "Hello"), "Invalid port number"); -// for (int i = 0; i < 5; i++) { -// EXPECT_DEATH(server.ProcessRequest(i), -// "Invalid request .* in ProcessRequest()") -// << "Failed to die on request " << i; -// } -// -// ASSERT_EXIT(server.ExitNow(), ::testing::ExitedWithCode(0), "Exiting"); -// -// bool KilledBySIGHUP(int exit_code) { -// return WIFSIGNALED(exit_code) && WTERMSIG(exit_code) == SIGHUP; -// } -// -// ASSERT_EXIT(client.HangUpServer(), KilledBySIGHUP, "Hanging up!"); -// -// On the regular expressions used in death tests: -// -// GOOGLETEST_CM0005 DO NOT DELETE -// On POSIX-compliant systems (*nix), we use the library, -// which uses the POSIX extended regex syntax. -// -// On other platforms (e.g. Windows or Mac), we only support a simple regex -// syntax implemented as part of Google Test. This limited -// implementation should be enough most of the time when writing -// death tests; though it lacks many features you can find in PCRE -// or POSIX extended regex syntax. For example, we don't support -// union ("x|y"), grouping ("(xy)"), brackets ("[xy]"), and -// repetition count ("x{5,7}"), among others. -// -// Below is the syntax that we do support. We chose it to be a -// subset of both PCRE and POSIX extended regex, so it's easy to -// learn wherever you come from. In the following: 'A' denotes a -// literal character, period (.), or a single \\ escape sequence; -// 'x' and 'y' denote regular expressions; 'm' and 'n' are for -// natural numbers. -// -// c matches any literal character c -// \\d matches any decimal digit -// \\D matches any character that's not a decimal digit -// \\f matches \f -// \\n matches \n -// \\r matches \r -// \\s matches any ASCII whitespace, including \n -// \\S matches any character that's not a whitespace -// \\t matches \t -// \\v matches \v -// \\w matches any letter, _, or decimal digit -// \\W matches any character that \\w doesn't match -// \\c matches any literal character c, which must be a punctuation -// . matches any single character except \n -// A? matches 0 or 1 occurrences of A -// A* matches 0 or many occurrences of A -// A+ matches 1 or many occurrences of A -// ^ matches the beginning of a string (not that of each line) -// $ matches the end of a string (not that of each line) -// xy matches x followed by y -// -// If you accidentally use PCRE or POSIX extended regex features -// not implemented by us, you will get a run-time failure. In that -// case, please try to rewrite your regular expression within the -// above syntax. -// -// This implementation is *not* meant to be as highly tuned or robust -// as a compiled regex library, but should perform well enough for a -// death test, which already incurs significant overhead by launching -// a child process. -// -// Known caveats: -// -// A "threadsafe" style death test obtains the path to the test -// program from argv[0] and re-executes it in the sub-process. For -// simplicity, the current implementation doesn't search the PATH -// when launching the sub-process. This means that the user must -// invoke the test program via a path that contains at least one -// path separator (e.g. path/to/foo_test and -// /absolute/path/to/bar_test are fine, but foo_test is not). This -// is rarely a problem as people usually don't put the test binary -// directory in PATH. -// - -// Asserts that a given statement causes the program to exit, with an -// integer exit status that satisfies predicate, and emitting error output -// that matches regex. -# define ASSERT_EXIT(statement, predicate, regex) \ - GTEST_DEATH_TEST_(statement, predicate, regex, GTEST_FATAL_FAILURE_) - -// Like ASSERT_EXIT, but continues on to successive tests in the -// test suite, if any: -# define EXPECT_EXIT(statement, predicate, regex) \ - GTEST_DEATH_TEST_(statement, predicate, regex, GTEST_NONFATAL_FAILURE_) - -// Asserts that a given statement causes the program to exit, either by -// explicitly exiting with a nonzero exit code or being killed by a -// signal, and emitting error output that matches regex. -# define ASSERT_DEATH(statement, regex) \ - ASSERT_EXIT(statement, ::testing::internal::ExitedUnsuccessfully, regex) - -// Like ASSERT_DEATH, but continues on to successive tests in the -// test suite, if any: -# define EXPECT_DEATH(statement, regex) \ - EXPECT_EXIT(statement, ::testing::internal::ExitedUnsuccessfully, regex) - -// Two predicate classes that can be used in {ASSERT,EXPECT}_EXIT*: - -// Tests that an exit code describes a normal exit with a given exit code. -class GTEST_API_ ExitedWithCode { - public: - explicit ExitedWithCode(int exit_code); - bool operator()(int exit_status) const; - private: - // No implementation - assignment is unsupported. - void operator=(const ExitedWithCode& other); - - const int exit_code_; -}; - -# if !GTEST_OS_WINDOWS && !GTEST_OS_FUCHSIA -// Tests that an exit code describes an exit due to termination by a -// given signal. -// GOOGLETEST_CM0006 DO NOT DELETE -class GTEST_API_ KilledBySignal { - public: - explicit KilledBySignal(int signum); - bool operator()(int exit_status) const; - private: - const int signum_; -}; -# endif // !GTEST_OS_WINDOWS - -// EXPECT_DEBUG_DEATH asserts that the given statements die in debug mode. -// The death testing framework causes this to have interesting semantics, -// since the sideeffects of the call are only visible in opt mode, and not -// in debug mode. -// -// In practice, this can be used to test functions that utilize the -// LOG(DFATAL) macro using the following style: -// -// int DieInDebugOr12(int* sideeffect) { -// if (sideeffect) { -// *sideeffect = 12; -// } -// LOG(DFATAL) << "death"; -// return 12; -// } -// -// TEST(TestSuite, TestDieOr12WorksInDgbAndOpt) { -// int sideeffect = 0; -// // Only asserts in dbg. -// EXPECT_DEBUG_DEATH(DieInDebugOr12(&sideeffect), "death"); -// -// #ifdef NDEBUG -// // opt-mode has sideeffect visible. -// EXPECT_EQ(12, sideeffect); -// #else -// // dbg-mode no visible sideeffect. -// EXPECT_EQ(0, sideeffect); -// #endif -// } -// -// This will assert that DieInDebugReturn12InOpt() crashes in debug -// mode, usually due to a DCHECK or LOG(DFATAL), but returns the -// appropriate fallback value (12 in this case) in opt mode. If you -// need to test that a function has appropriate side-effects in opt -// mode, include assertions against the side-effects. A general -// pattern for this is: -// -// EXPECT_DEBUG_DEATH({ -// // Side-effects here will have an effect after this statement in -// // opt mode, but none in debug mode. -// EXPECT_EQ(12, DieInDebugOr12(&sideeffect)); -// }, "death"); -// -# ifdef NDEBUG - -# define EXPECT_DEBUG_DEATH(statement, regex) \ - GTEST_EXECUTE_STATEMENT_(statement, regex) - -# define ASSERT_DEBUG_DEATH(statement, regex) \ - GTEST_EXECUTE_STATEMENT_(statement, regex) - -# else - -# define EXPECT_DEBUG_DEATH(statement, regex) \ - EXPECT_DEATH(statement, regex) - -# define ASSERT_DEBUG_DEATH(statement, regex) \ - ASSERT_DEATH(statement, regex) - -# endif // NDEBUG for EXPECT_DEBUG_DEATH -#endif // GTEST_HAS_DEATH_TEST - -// This macro is used for implementing macros such as -// EXPECT_DEATH_IF_SUPPORTED and ASSERT_DEATH_IF_SUPPORTED on systems where -// death tests are not supported. Those macros must compile on such systems -// if and only if EXPECT_DEATH and ASSERT_DEATH compile with the same parameters -// on systems that support death tests. This allows one to write such a macro on -// a system that does not support death tests and be sure that it will compile -// on a death-test supporting system. It is exposed publicly so that systems -// that have death-tests with stricter requirements than GTEST_HAS_DEATH_TEST -// can write their own equivalent of EXPECT_DEATH_IF_SUPPORTED and -// ASSERT_DEATH_IF_SUPPORTED. -// -// Parameters: -// statement - A statement that a macro such as EXPECT_DEATH would test -// for program termination. This macro has to make sure this -// statement is compiled but not executed, to ensure that -// EXPECT_DEATH_IF_SUPPORTED compiles with a certain -// parameter if and only if EXPECT_DEATH compiles with it. -// regex - A regex that a macro such as EXPECT_DEATH would use to test -// the output of statement. This parameter has to be -// compiled but not evaluated by this macro, to ensure that -// this macro only accepts expressions that a macro such as -// EXPECT_DEATH would accept. -// terminator - Must be an empty statement for EXPECT_DEATH_IF_SUPPORTED -// and a return statement for ASSERT_DEATH_IF_SUPPORTED. -// This ensures that ASSERT_DEATH_IF_SUPPORTED will not -// compile inside functions where ASSERT_DEATH doesn't -// compile. -// -// The branch that has an always false condition is used to ensure that -// statement and regex are compiled (and thus syntactically correct) but -// never executed. The unreachable code macro protects the terminator -// statement from generating an 'unreachable code' warning in case -// statement unconditionally returns or throws. The Message constructor at -// the end allows the syntax of streaming additional messages into the -// macro, for compilational compatibility with EXPECT_DEATH/ASSERT_DEATH. -# define GTEST_UNSUPPORTED_DEATH_TEST(statement, regex, terminator) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (::testing::internal::AlwaysTrue()) { \ - GTEST_LOG_(WARNING) \ - << "Death tests are not supported on this platform.\n" \ - << "Statement '" #statement "' cannot be verified."; \ - } else if (::testing::internal::AlwaysFalse()) { \ - ::testing::internal::RE::PartialMatch(".*", (regex)); \ - GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ - terminator; \ - } else \ - ::testing::Message() - -// EXPECT_DEATH_IF_SUPPORTED(statement, regex) and -// ASSERT_DEATH_IF_SUPPORTED(statement, regex) expand to real death tests if -// death tests are supported; otherwise they just issue a warning. This is -// useful when you are combining death test assertions with normal test -// assertions in one test. -#if GTEST_HAS_DEATH_TEST -# define EXPECT_DEATH_IF_SUPPORTED(statement, regex) \ - EXPECT_DEATH(statement, regex) -# define ASSERT_DEATH_IF_SUPPORTED(statement, regex) \ - ASSERT_DEATH(statement, regex) -#else -# define EXPECT_DEATH_IF_SUPPORTED(statement, regex) \ - GTEST_UNSUPPORTED_DEATH_TEST(statement, regex, ) -# define ASSERT_DEATH_IF_SUPPORTED(statement, regex) \ - GTEST_UNSUPPORTED_DEATH_TEST(statement, regex, return) -#endif - -} // namespace testing - -#endif // GTEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_ diff --git a/include/gtest/gtest-matchers.h b/include/gtest/gtest-matchers.h deleted file mode 100644 index 9de6c2e..0000000 --- a/include/gtest/gtest-matchers.h +++ /dev/null @@ -1,750 +0,0 @@ -// Copyright 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// The Google C++ Testing and Mocking Framework (Google Test) -// -// This file implements just enough of the matcher interface to allow -// EXPECT_DEATH and friends to accept a matcher argument. - -// IWYU pragma: private, include "testing/base/public/gunit.h" -// IWYU pragma: friend third_party/googletest/googlemock/.* -// IWYU pragma: friend third_party/googletest/googletest/.* - -#ifndef GTEST_INCLUDE_GTEST_GTEST_MATCHERS_H_ -#define GTEST_INCLUDE_GTEST_GTEST_MATCHERS_H_ - -#include -#include -#include -#include - -#include "gtest/gtest-printers.h" -#include "gtest/internal/gtest-internal.h" -#include "gtest/internal/gtest-port.h" - -// MSVC warning C5046 is new as of VS2017 version 15.8. -#if defined(_MSC_VER) && _MSC_VER >= 1915 -#define GTEST_MAYBE_5046_ 5046 -#else -#define GTEST_MAYBE_5046_ -#endif - -GTEST_DISABLE_MSC_WARNINGS_PUSH_( - 4251 GTEST_MAYBE_5046_ /* class A needs to have dll-interface to be used by - clients of class B */ - /* Symbol involving type with internal linkage not defined */) - -namespace testing { - -// To implement a matcher Foo for type T, define: -// 1. a class FooMatcherImpl that implements the -// MatcherInterface interface, and -// 2. a factory function that creates a Matcher object from a -// FooMatcherImpl*. -// -// The two-level delegation design makes it possible to allow a user -// to write "v" instead of "Eq(v)" where a Matcher is expected, which -// is impossible if we pass matchers by pointers. It also eases -// ownership management as Matcher objects can now be copied like -// plain values. - -// MatchResultListener is an abstract class. Its << operator can be -// used by a matcher to explain why a value matches or doesn't match. -// -class MatchResultListener { - public: - // Creates a listener object with the given underlying ostream. The - // listener does not own the ostream, and does not dereference it - // in the constructor or destructor. - explicit MatchResultListener(::std::ostream* os) : stream_(os) {} - virtual ~MatchResultListener() = 0; // Makes this class abstract. - - // Streams x to the underlying ostream; does nothing if the ostream - // is NULL. - template - MatchResultListener& operator<<(const T& x) { - if (stream_ != nullptr) *stream_ << x; - return *this; - } - - // Returns the underlying ostream. - ::std::ostream* stream() { return stream_; } - - // Returns true if and only if the listener is interested in an explanation - // of the match result. A matcher's MatchAndExplain() method can use - // this information to avoid generating the explanation when no one - // intends to hear it. - bool IsInterested() const { return stream_ != nullptr; } - - private: - ::std::ostream* const stream_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(MatchResultListener); -}; - -inline MatchResultListener::~MatchResultListener() { -} - -// An instance of a subclass of this knows how to describe itself as a -// matcher. -class MatcherDescriberInterface { - public: - virtual ~MatcherDescriberInterface() {} - - // Describes this matcher to an ostream. The function should print - // a verb phrase that describes the property a value matching this - // matcher should have. The subject of the verb phrase is the value - // being matched. For example, the DescribeTo() method of the Gt(7) - // matcher prints "is greater than 7". - virtual void DescribeTo(::std::ostream* os) const = 0; - - // Describes the negation of this matcher to an ostream. For - // example, if the description of this matcher is "is greater than - // 7", the negated description could be "is not greater than 7". - // You are not required to override this when implementing - // MatcherInterface, but it is highly advised so that your matcher - // can produce good error messages. - virtual void DescribeNegationTo(::std::ostream* os) const { - *os << "not ("; - DescribeTo(os); - *os << ")"; - } -}; - -// The implementation of a matcher. -template -class MatcherInterface : public MatcherDescriberInterface { - public: - // Returns true if and only if the matcher matches x; also explains the - // match result to 'listener' if necessary (see the next paragraph), in - // the form of a non-restrictive relative clause ("which ...", - // "whose ...", etc) that describes x. For example, the - // MatchAndExplain() method of the Pointee(...) matcher should - // generate an explanation like "which points to ...". - // - // Implementations of MatchAndExplain() should add an explanation of - // the match result *if and only if* they can provide additional - // information that's not already present (or not obvious) in the - // print-out of x and the matcher's description. Whether the match - // succeeds is not a factor in deciding whether an explanation is - // needed, as sometimes the caller needs to print a failure message - // when the match succeeds (e.g. when the matcher is used inside - // Not()). - // - // For example, a "has at least 10 elements" matcher should explain - // what the actual element count is, regardless of the match result, - // as it is useful information to the reader; on the other hand, an - // "is empty" matcher probably only needs to explain what the actual - // size is when the match fails, as it's redundant to say that the - // size is 0 when the value is already known to be empty. - // - // You should override this method when defining a new matcher. - // - // It's the responsibility of the caller (Google Test) to guarantee - // that 'listener' is not NULL. This helps to simplify a matcher's - // implementation when it doesn't care about the performance, as it - // can talk to 'listener' without checking its validity first. - // However, in order to implement dummy listeners efficiently, - // listener->stream() may be NULL. - virtual bool MatchAndExplain(T x, MatchResultListener* listener) const = 0; - - // Inherits these methods from MatcherDescriberInterface: - // virtual void DescribeTo(::std::ostream* os) const = 0; - // virtual void DescribeNegationTo(::std::ostream* os) const; -}; - -namespace internal { - -// Converts a MatcherInterface to a MatcherInterface. -template -class MatcherInterfaceAdapter : public MatcherInterface { - public: - explicit MatcherInterfaceAdapter(const MatcherInterface* impl) - : impl_(impl) {} - ~MatcherInterfaceAdapter() override { delete impl_; } - - void DescribeTo(::std::ostream* os) const override { impl_->DescribeTo(os); } - - void DescribeNegationTo(::std::ostream* os) const override { - impl_->DescribeNegationTo(os); - } - - bool MatchAndExplain(const T& x, - MatchResultListener* listener) const override { - return impl_->MatchAndExplain(x, listener); - } - - private: - const MatcherInterface* const impl_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(MatcherInterfaceAdapter); -}; - -struct AnyEq { - template - bool operator()(const A& a, const B& b) const { return a == b; } -}; -struct AnyNe { - template - bool operator()(const A& a, const B& b) const { return a != b; } -}; -struct AnyLt { - template - bool operator()(const A& a, const B& b) const { return a < b; } -}; -struct AnyGt { - template - bool operator()(const A& a, const B& b) const { return a > b; } -}; -struct AnyLe { - template - bool operator()(const A& a, const B& b) const { return a <= b; } -}; -struct AnyGe { - template - bool operator()(const A& a, const B& b) const { return a >= b; } -}; - -// A match result listener that ignores the explanation. -class DummyMatchResultListener : public MatchResultListener { - public: - DummyMatchResultListener() : MatchResultListener(nullptr) {} - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(DummyMatchResultListener); -}; - -// A match result listener that forwards the explanation to a given -// ostream. The difference between this and MatchResultListener is -// that the former is concrete. -class StreamMatchResultListener : public MatchResultListener { - public: - explicit StreamMatchResultListener(::std::ostream* os) - : MatchResultListener(os) {} - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(StreamMatchResultListener); -}; - -// An internal class for implementing Matcher, which will derive -// from it. We put functionalities common to all Matcher -// specializations here to avoid code duplication. -template -class MatcherBase { - public: - // Returns true if and only if the matcher matches x; also explains the - // match result to 'listener'. - bool MatchAndExplain(const T& x, MatchResultListener* listener) const { - return impl_->MatchAndExplain(x, listener); - } - - // Returns true if and only if this matcher matches x. - bool Matches(const T& x) const { - DummyMatchResultListener dummy; - return MatchAndExplain(x, &dummy); - } - - // Describes this matcher to an ostream. - void DescribeTo(::std::ostream* os) const { impl_->DescribeTo(os); } - - // Describes the negation of this matcher to an ostream. - void DescribeNegationTo(::std::ostream* os) const { - impl_->DescribeNegationTo(os); - } - - // Explains why x matches, or doesn't match, the matcher. - void ExplainMatchResultTo(const T& x, ::std::ostream* os) const { - StreamMatchResultListener listener(os); - MatchAndExplain(x, &listener); - } - - // Returns the describer for this matcher object; retains ownership - // of the describer, which is only guaranteed to be alive when - // this matcher object is alive. - const MatcherDescriberInterface* GetDescriber() const { - return impl_.get(); - } - - protected: - MatcherBase() {} - - // Constructs a matcher from its implementation. - explicit MatcherBase(const MatcherInterface* impl) : impl_(impl) {} - - template - explicit MatcherBase( - const MatcherInterface* impl, - typename std::enable_if::value>::type* = - nullptr) - : impl_(new internal::MatcherInterfaceAdapter(impl)) {} - - MatcherBase(const MatcherBase&) = default; - MatcherBase& operator=(const MatcherBase&) = default; - MatcherBase(MatcherBase&&) = default; - MatcherBase& operator=(MatcherBase&&) = default; - - virtual ~MatcherBase() {} - - private: - std::shared_ptr> impl_; -}; - -} // namespace internal - -// A Matcher is a copyable and IMMUTABLE (except by assignment) -// object that can check whether a value of type T matches. The -// implementation of Matcher is just a std::shared_ptr to const -// MatcherInterface. Don't inherit from Matcher! -template -class Matcher : public internal::MatcherBase { - public: - // Constructs a null matcher. Needed for storing Matcher objects in STL - // containers. A default-constructed matcher is not yet initialized. You - // cannot use it until a valid value has been assigned to it. - explicit Matcher() {} // NOLINT - - // Constructs a matcher from its implementation. - explicit Matcher(const MatcherInterface* impl) - : internal::MatcherBase(impl) {} - - template - explicit Matcher( - const MatcherInterface* impl, - typename std::enable_if::value>::type* = - nullptr) - : internal::MatcherBase(impl) {} - - // Implicit constructor here allows people to write - // EXPECT_CALL(foo, Bar(5)) instead of EXPECT_CALL(foo, Bar(Eq(5))) sometimes - Matcher(T value); // NOLINT -}; - -// The following two specializations allow the user to write str -// instead of Eq(str) and "foo" instead of Eq("foo") when a std::string -// matcher is expected. -template <> -class GTEST_API_ Matcher - : public internal::MatcherBase { - public: - Matcher() {} - - explicit Matcher(const MatcherInterface* impl) - : internal::MatcherBase(impl) {} - - // Allows the user to write str instead of Eq(str) sometimes, where - // str is a std::string object. - Matcher(const std::string& s); // NOLINT - - // Allows the user to write "foo" instead of Eq("foo") sometimes. - Matcher(const char* s); // NOLINT -}; - -template <> -class GTEST_API_ Matcher - : public internal::MatcherBase { - public: - Matcher() {} - - explicit Matcher(const MatcherInterface* impl) - : internal::MatcherBase(impl) {} - explicit Matcher(const MatcherInterface* impl) - : internal::MatcherBase(impl) {} - - // Allows the user to write str instead of Eq(str) sometimes, where - // str is a string object. - Matcher(const std::string& s); // NOLINT - - // Allows the user to write "foo" instead of Eq("foo") sometimes. - Matcher(const char* s); // NOLINT -}; - -#if GTEST_HAS_ABSL -// The following two specializations allow the user to write str -// instead of Eq(str) and "foo" instead of Eq("foo") when a absl::string_view -// matcher is expected. -template <> -class GTEST_API_ Matcher - : public internal::MatcherBase { - public: - Matcher() {} - - explicit Matcher(const MatcherInterface* impl) - : internal::MatcherBase(impl) {} - - // Allows the user to write str instead of Eq(str) sometimes, where - // str is a std::string object. - Matcher(const std::string& s); // NOLINT - - // Allows the user to write "foo" instead of Eq("foo") sometimes. - Matcher(const char* s); // NOLINT - - // Allows the user to pass absl::string_views directly. - Matcher(absl::string_view s); // NOLINT -}; - -template <> -class GTEST_API_ Matcher - : public internal::MatcherBase { - public: - Matcher() {} - - explicit Matcher(const MatcherInterface* impl) - : internal::MatcherBase(impl) {} - explicit Matcher(const MatcherInterface* impl) - : internal::MatcherBase(impl) {} - - // Allows the user to write str instead of Eq(str) sometimes, where - // str is a std::string object. - Matcher(const std::string& s); // NOLINT - - // Allows the user to write "foo" instead of Eq("foo") sometimes. - Matcher(const char* s); // NOLINT - - // Allows the user to pass absl::string_views directly. - Matcher(absl::string_view s); // NOLINT -}; -#endif // GTEST_HAS_ABSL - -// Prints a matcher in a human-readable format. -template -std::ostream& operator<<(std::ostream& os, const Matcher& matcher) { - matcher.DescribeTo(&os); - return os; -} - -// The PolymorphicMatcher class template makes it easy to implement a -// polymorphic matcher (i.e. a matcher that can match values of more -// than one type, e.g. Eq(n) and NotNull()). -// -// To define a polymorphic matcher, a user should provide an Impl -// class that has a DescribeTo() method and a DescribeNegationTo() -// method, and define a member function (or member function template) -// -// bool MatchAndExplain(const Value& value, -// MatchResultListener* listener) const; -// -// See the definition of NotNull() for a complete example. -template -class PolymorphicMatcher { - public: - explicit PolymorphicMatcher(const Impl& an_impl) : impl_(an_impl) {} - - // Returns a mutable reference to the underlying matcher - // implementation object. - Impl& mutable_impl() { return impl_; } - - // Returns an immutable reference to the underlying matcher - // implementation object. - const Impl& impl() const { return impl_; } - - template - operator Matcher() const { - return Matcher(new MonomorphicImpl(impl_)); - } - - private: - template - class MonomorphicImpl : public MatcherInterface { - public: - explicit MonomorphicImpl(const Impl& impl) : impl_(impl) {} - - virtual void DescribeTo(::std::ostream* os) const { impl_.DescribeTo(os); } - - virtual void DescribeNegationTo(::std::ostream* os) const { - impl_.DescribeNegationTo(os); - } - - virtual bool MatchAndExplain(T x, MatchResultListener* listener) const { - return impl_.MatchAndExplain(x, listener); - } - - private: - const Impl impl_; - }; - - Impl impl_; -}; - -// Creates a matcher from its implementation. -// DEPRECATED: Especially in the generic code, prefer: -// Matcher(new MyMatcherImpl(...)); -// -// MakeMatcher may create a Matcher that accepts its argument by value, which -// leads to unnecessary copies & lack of support for non-copyable types. -template -inline Matcher MakeMatcher(const MatcherInterface* impl) { - return Matcher(impl); -} - -// Creates a polymorphic matcher from its implementation. This is -// easier to use than the PolymorphicMatcher constructor as it -// doesn't require you to explicitly write the template argument, e.g. -// -// MakePolymorphicMatcher(foo); -// vs -// PolymorphicMatcher(foo); -template -inline PolymorphicMatcher MakePolymorphicMatcher(const Impl& impl) { - return PolymorphicMatcher(impl); -} - -namespace internal { -// Implements a matcher that compares a given value with a -// pre-supplied value using one of the ==, <=, <, etc, operators. The -// two values being compared don't have to have the same type. -// -// The matcher defined here is polymorphic (for example, Eq(5) can be -// used to match an int, a short, a double, etc). Therefore we use -// a template type conversion operator in the implementation. -// -// The following template definition assumes that the Rhs parameter is -// a "bare" type (i.e. neither 'const T' nor 'T&'). -template -class ComparisonBase { - public: - explicit ComparisonBase(const Rhs& rhs) : rhs_(rhs) {} - template - operator Matcher() const { - return Matcher(new Impl(rhs_)); - } - - private: - template - static const T& Unwrap(const T& v) { return v; } - template - static const T& Unwrap(std::reference_wrapper v) { return v; } - - template - class Impl : public MatcherInterface { - public: - explicit Impl(const Rhs& rhs) : rhs_(rhs) {} - bool MatchAndExplain(Lhs lhs, - MatchResultListener* /* listener */) const override { - return Op()(lhs, Unwrap(rhs_)); - } - void DescribeTo(::std::ostream* os) const override { - *os << D::Desc() << " "; - UniversalPrint(Unwrap(rhs_), os); - } - void DescribeNegationTo(::std::ostream* os) const override { - *os << D::NegatedDesc() << " "; - UniversalPrint(Unwrap(rhs_), os); - } - - private: - Rhs rhs_; - }; - Rhs rhs_; -}; - -template -class EqMatcher : public ComparisonBase, Rhs, AnyEq> { - public: - explicit EqMatcher(const Rhs& rhs) - : ComparisonBase, Rhs, AnyEq>(rhs) { } - static const char* Desc() { return "is equal to"; } - static const char* NegatedDesc() { return "isn't equal to"; } -}; -template -class NeMatcher : public ComparisonBase, Rhs, AnyNe> { - public: - explicit NeMatcher(const Rhs& rhs) - : ComparisonBase, Rhs, AnyNe>(rhs) { } - static const char* Desc() { return "isn't equal to"; } - static const char* NegatedDesc() { return "is equal to"; } -}; -template -class LtMatcher : public ComparisonBase, Rhs, AnyLt> { - public: - explicit LtMatcher(const Rhs& rhs) - : ComparisonBase, Rhs, AnyLt>(rhs) { } - static const char* Desc() { return "is <"; } - static const char* NegatedDesc() { return "isn't <"; } -}; -template -class GtMatcher : public ComparisonBase, Rhs, AnyGt> { - public: - explicit GtMatcher(const Rhs& rhs) - : ComparisonBase, Rhs, AnyGt>(rhs) { } - static const char* Desc() { return "is >"; } - static const char* NegatedDesc() { return "isn't >"; } -}; -template -class LeMatcher : public ComparisonBase, Rhs, AnyLe> { - public: - explicit LeMatcher(const Rhs& rhs) - : ComparisonBase, Rhs, AnyLe>(rhs) { } - static const char* Desc() { return "is <="; } - static const char* NegatedDesc() { return "isn't <="; } -}; -template -class GeMatcher : public ComparisonBase, Rhs, AnyGe> { - public: - explicit GeMatcher(const Rhs& rhs) - : ComparisonBase, Rhs, AnyGe>(rhs) { } - static const char* Desc() { return "is >="; } - static const char* NegatedDesc() { return "isn't >="; } -}; - -// Implements polymorphic matchers MatchesRegex(regex) and -// ContainsRegex(regex), which can be used as a Matcher as long as -// T can be converted to a string. -class MatchesRegexMatcher { - public: - MatchesRegexMatcher(const RE* regex, bool full_match) - : regex_(regex), full_match_(full_match) {} - -#if GTEST_HAS_ABSL - bool MatchAndExplain(const absl::string_view& s, - MatchResultListener* listener) const { - return MatchAndExplain(std::string(s), listener); - } -#endif // GTEST_HAS_ABSL - - // Accepts pointer types, particularly: - // const char* - // char* - // const wchar_t* - // wchar_t* - template - bool MatchAndExplain(CharType* s, MatchResultListener* listener) const { - return s != nullptr && MatchAndExplain(std::string(s), listener); - } - - // Matches anything that can convert to std::string. - // - // This is a template, not just a plain function with const std::string&, - // because absl::string_view has some interfering non-explicit constructors. - template - bool MatchAndExplain(const MatcheeStringType& s, - MatchResultListener* /* listener */) const { - const std::string& s2(s); - return full_match_ ? RE::FullMatch(s2, *regex_) - : RE::PartialMatch(s2, *regex_); - } - - void DescribeTo(::std::ostream* os) const { - *os << (full_match_ ? "matches" : "contains") << " regular expression "; - UniversalPrinter::Print(regex_->pattern(), os); - } - - void DescribeNegationTo(::std::ostream* os) const { - *os << "doesn't " << (full_match_ ? "match" : "contain") - << " regular expression "; - UniversalPrinter::Print(regex_->pattern(), os); - } - - private: - const std::shared_ptr regex_; - const bool full_match_; -}; -} // namespace internal - -// Matches a string that fully matches regular expression 'regex'. -// The matcher takes ownership of 'regex'. -inline PolymorphicMatcher MatchesRegex( - const internal::RE* regex) { - return MakePolymorphicMatcher(internal::MatchesRegexMatcher(regex, true)); -} -inline PolymorphicMatcher MatchesRegex( - const std::string& regex) { - return MatchesRegex(new internal::RE(regex)); -} - -// Matches a string that contains regular expression 'regex'. -// The matcher takes ownership of 'regex'. -inline PolymorphicMatcher ContainsRegex( - const internal::RE* regex) { - return MakePolymorphicMatcher(internal::MatchesRegexMatcher(regex, false)); -} -inline PolymorphicMatcher ContainsRegex( - const std::string& regex) { - return ContainsRegex(new internal::RE(regex)); -} - -// Creates a polymorphic matcher that matches anything equal to x. -// Note: if the parameter of Eq() were declared as const T&, Eq("foo") -// wouldn't compile. -template -inline internal::EqMatcher Eq(T x) { return internal::EqMatcher(x); } - -// Constructs a Matcher from a 'value' of type T. The constructed -// matcher matches any value that's equal to 'value'. -template -Matcher::Matcher(T value) { *this = Eq(value); } - -// Creates a monomorphic matcher that matches anything with type Lhs -// and equal to rhs. A user may need to use this instead of Eq(...) -// in order to resolve an overloading ambiguity. -// -// TypedEq(x) is just a convenient short-hand for Matcher(Eq(x)) -// or Matcher(x), but more readable than the latter. -// -// We could define similar monomorphic matchers for other comparison -// operations (e.g. TypedLt, TypedGe, and etc), but decided not to do -// it yet as those are used much less than Eq() in practice. A user -// can always write Matcher(Lt(5)) to be explicit about the type, -// for example. -template -inline Matcher TypedEq(const Rhs& rhs) { return Eq(rhs); } - -// Creates a polymorphic matcher that matches anything >= x. -template -inline internal::GeMatcher Ge(Rhs x) { - return internal::GeMatcher(x); -} - -// Creates a polymorphic matcher that matches anything > x. -template -inline internal::GtMatcher Gt(Rhs x) { - return internal::GtMatcher(x); -} - -// Creates a polymorphic matcher that matches anything <= x. -template -inline internal::LeMatcher Le(Rhs x) { - return internal::LeMatcher(x); -} - -// Creates a polymorphic matcher that matches anything < x. -template -inline internal::LtMatcher Lt(Rhs x) { - return internal::LtMatcher(x); -} - -// Creates a polymorphic matcher that matches anything != x. -template -inline internal::NeMatcher Ne(Rhs x) { - return internal::NeMatcher(x); -} -} // namespace testing - -GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251 5046 - -#endif // GTEST_INCLUDE_GTEST_GTEST_MATCHERS_H_ diff --git a/include/gtest/gtest-message.h b/include/gtest/gtest-message.h deleted file mode 100644 index 4a80e11..0000000 --- a/include/gtest/gtest-message.h +++ /dev/null @@ -1,218 +0,0 @@ -// Copyright 2005, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// -// The Google C++ Testing and Mocking Framework (Google Test) -// -// This header file defines the Message class. -// -// IMPORTANT NOTE: Due to limitation of the C++ language, we have to -// leave some internal implementation details in this header file. -// They are clearly marked by comments like this: -// -// // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -// -// Such code is NOT meant to be used by a user directly, and is subject -// to CHANGE WITHOUT NOTICE. Therefore DO NOT DEPEND ON IT in a user -// program! - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_ -#define GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_ - -#include -#include - -#include "gtest/internal/gtest-port.h" - -GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \ -/* class A needs to have dll-interface to be used by clients of class B */) - -// Ensures that there is at least one operator<< in the global namespace. -// See Message& operator<<(...) below for why. -void operator<<(const testing::internal::Secret&, int); - -namespace testing { - -// The Message class works like an ostream repeater. -// -// Typical usage: -// -// 1. You stream a bunch of values to a Message object. -// It will remember the text in a stringstream. -// 2. Then you stream the Message object to an ostream. -// This causes the text in the Message to be streamed -// to the ostream. -// -// For example; -// -// testing::Message foo; -// foo << 1 << " != " << 2; -// std::cout << foo; -// -// will print "1 != 2". -// -// Message is not intended to be inherited from. In particular, its -// destructor is not virtual. -// -// Note that stringstream behaves differently in gcc and in MSVC. You -// can stream a NULL char pointer to it in the former, but not in the -// latter (it causes an access violation if you do). The Message -// class hides this difference by treating a NULL char pointer as -// "(null)". -class GTEST_API_ Message { - private: - // The type of basic IO manipulators (endl, ends, and flush) for - // narrow streams. - typedef std::ostream& (*BasicNarrowIoManip)(std::ostream&); - - public: - // Constructs an empty Message. - Message(); - - // Copy constructor. - Message(const Message& msg) : ss_(new ::std::stringstream) { // NOLINT - *ss_ << msg.GetString(); - } - - // Constructs a Message from a C-string. - explicit Message(const char* str) : ss_(new ::std::stringstream) { - *ss_ << str; - } - - // Streams a non-pointer value to this object. - template - inline Message& operator <<(const T& val) { - // Some libraries overload << for STL containers. These - // overloads are defined in the global namespace instead of ::std. - // - // C++'s symbol lookup rule (i.e. Koenig lookup) says that these - // overloads are visible in either the std namespace or the global - // namespace, but not other namespaces, including the testing - // namespace which Google Test's Message class is in. - // - // To allow STL containers (and other types that has a << operator - // defined in the global namespace) to be used in Google Test - // assertions, testing::Message must access the custom << operator - // from the global namespace. With this using declaration, - // overloads of << defined in the global namespace and those - // visible via Koenig lookup are both exposed in this function. - using ::operator <<; - *ss_ << val; - return *this; - } - - // Streams a pointer value to this object. - // - // This function is an overload of the previous one. When you - // stream a pointer to a Message, this definition will be used as it - // is more specialized. (The C++ Standard, section - // [temp.func.order].) If you stream a non-pointer, then the - // previous definition will be used. - // - // The reason for this overload is that streaming a NULL pointer to - // ostream is undefined behavior. Depending on the compiler, you - // may get "0", "(nil)", "(null)", or an access violation. To - // ensure consistent result across compilers, we always treat NULL - // as "(null)". - template - inline Message& operator <<(T* const& pointer) { // NOLINT - if (pointer == nullptr) { - *ss_ << "(null)"; - } else { - *ss_ << pointer; - } - return *this; - } - - // Since the basic IO manipulators are overloaded for both narrow - // and wide streams, we have to provide this specialized definition - // of operator <<, even though its body is the same as the - // templatized version above. Without this definition, streaming - // endl or other basic IO manipulators to Message will confuse the - // compiler. - Message& operator <<(BasicNarrowIoManip val) { - *ss_ << val; - return *this; - } - - // Instead of 1/0, we want to see true/false for bool values. - Message& operator <<(bool b) { - return *this << (b ? "true" : "false"); - } - - // These two overloads allow streaming a wide C string to a Message - // using the UTF-8 encoding. - Message& operator <<(const wchar_t* wide_c_str); - Message& operator <<(wchar_t* wide_c_str); - -#if GTEST_HAS_STD_WSTRING - // Converts the given wide string to a narrow string using the UTF-8 - // encoding, and streams the result to this Message object. - Message& operator <<(const ::std::wstring& wstr); -#endif // GTEST_HAS_STD_WSTRING - - // Gets the text streamed to this object so far as an std::string. - // Each '\0' character in the buffer is replaced with "\\0". - // - // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. - std::string GetString() const; - - private: - // We'll hold the text streamed to this object here. - const std::unique_ptr< ::std::stringstream> ss_; - - // We declare (but don't implement) this to prevent the compiler - // from implementing the assignment operator. - void operator=(const Message&); -}; - -// Streams a Message to an ostream. -inline std::ostream& operator <<(std::ostream& os, const Message& sb) { - return os << sb.GetString(); -} - -namespace internal { - -// Converts a streamable value to an std::string. A NULL pointer is -// converted to "(null)". When the input value is a ::string, -// ::std::string, ::wstring, or ::std::wstring object, each NUL -// character in it is replaced with "\\0". -template -std::string StreamableToString(const T& streamable) { - return (Message() << streamable).GetString(); -} - -} // namespace internal -} // namespace testing - -GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251 - -#endif // GTEST_INCLUDE_GTEST_GTEST_MESSAGE_H_ diff --git a/include/gtest/gtest-param-test.h b/include/gtest/gtest-param-test.h deleted file mode 100644 index c2e6eae..0000000 --- a/include/gtest/gtest-param-test.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2008, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Macros and functions for implementing parameterized tests -// in Google C++ Testing and Mocking Framework (Google Test) -// -// This file is generated by a SCRIPT. DO NOT EDIT BY HAND! -// -// GOOGLETEST_CM0001 DO NOT DELETE -#ifndef GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ -#define GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ - - -// Value-parameterized tests allow you to test your code with different -// parameters without writing multiple copies of the same test. -// -// Here is how you use value-parameterized tests: - -#if 0 - -// To write value-parameterized tests, first you should define a fixture -// class. It is usually derived from testing::TestWithParam (see below for -// another inheritance scheme that's sometimes useful in more complicated -// class hierarchies), where the type of your parameter values. -// TestWithParam is itself derived from testing::Test. T can be any -// copyable type. If it's a raw pointer, you are responsible for managing the -// lifespan of the pointed values. - -class FooTest : public ::testing::TestWithParam { - // You can implement all the usual class fixture members here. -}; - -// Then, use the TEST_P macro to define as many parameterized tests -// for this fixture as you want. The _P suffix is for "parameterized" -// or "pattern", whichever you prefer to think. - -TEST_P(FooTest, DoesBlah) { - // Inside a test, access the test parameter with the GetParam() method - // of the TestWithParam class: - EXPECT_TRUE(foo.Blah(GetParam())); - ... -} - -TEST_P(FooTest, HasBlahBlah) { - ... -} - -// Finally, you can use INSTANTIATE_TEST_SUITE_P to instantiate the test -// case with any set of parameters you want. Google Test defines a number -// of functions for generating test parameters. They return what we call -// (surprise!) parameter generators. Here is a summary of them, which -// are all in the testing namespace: -// -// -// Range(begin, end [, step]) - Yields values {begin, begin+step, -// begin+step+step, ...}. The values do not -// include end. step defaults to 1. -// Values(v1, v2, ..., vN) - Yields values {v1, v2, ..., vN}. -// ValuesIn(container) - Yields values from a C-style array, an STL -// ValuesIn(begin,end) container, or an iterator range [begin, end). -// Bool() - Yields sequence {false, true}. -// Combine(g1, g2, ..., gN) - Yields all combinations (the Cartesian product -// for the math savvy) of the values generated -// by the N generators. -// -// For more details, see comments at the definitions of these functions below -// in this file. -// -// The following statement will instantiate tests from the FooTest test suite -// each with parameter values "meeny", "miny", and "moe". - -INSTANTIATE_TEST_SUITE_P(InstantiationName, - FooTest, - Values("meeny", "miny", "moe")); - -// To distinguish different instances of the pattern, (yes, you -// can instantiate it more than once) the first argument to the -// INSTANTIATE_TEST_SUITE_P macro is a prefix that will be added to the -// actual test suite name. Remember to pick unique prefixes for different -// instantiations. The tests from the instantiation above will have -// these names: -// -// * InstantiationName/FooTest.DoesBlah/0 for "meeny" -// * InstantiationName/FooTest.DoesBlah/1 for "miny" -// * InstantiationName/FooTest.DoesBlah/2 for "moe" -// * InstantiationName/FooTest.HasBlahBlah/0 for "meeny" -// * InstantiationName/FooTest.HasBlahBlah/1 for "miny" -// * InstantiationName/FooTest.HasBlahBlah/2 for "moe" -// -// You can use these names in --gtest_filter. -// -// This statement will instantiate all tests from FooTest again, each -// with parameter values "cat" and "dog": - -const char* pets[] = {"cat", "dog"}; -INSTANTIATE_TEST_SUITE_P(AnotherInstantiationName, FooTest, ValuesIn(pets)); - -// The tests from the instantiation above will have these names: -// -// * AnotherInstantiationName/FooTest.DoesBlah/0 for "cat" -// * AnotherInstantiationName/FooTest.DoesBlah/1 for "dog" -// * AnotherInstantiationName/FooTest.HasBlahBlah/0 for "cat" -// * AnotherInstantiationName/FooTest.HasBlahBlah/1 for "dog" -// -// Please note that INSTANTIATE_TEST_SUITE_P will instantiate all tests -// in the given test suite, whether their definitions come before or -// AFTER the INSTANTIATE_TEST_SUITE_P statement. -// -// Please also note that generator expressions (including parameters to the -// generators) are evaluated in InitGoogleTest(), after main() has started. -// This allows the user on one hand, to adjust generator parameters in order -// to dynamically determine a set of tests to run and on the other hand, -// give the user a chance to inspect the generated tests with Google Test -// reflection API before RUN_ALL_TESTS() is executed. -// -// You can see samples/sample7_unittest.cc and samples/sample8_unittest.cc -// for more examples. -// -// In the future, we plan to publish the API for defining new parameter -// generators. But for now this interface remains part of the internal -// implementation and is subject to change. -// -// -// A parameterized test fixture must be derived from testing::Test and from -// testing::WithParamInterface, where T is the type of the parameter -// values. Inheriting from TestWithParam satisfies that requirement because -// TestWithParam inherits from both Test and WithParamInterface. In more -// complicated hierarchies, however, it is occasionally useful to inherit -// separately from Test and WithParamInterface. For example: - -class BaseTest : public ::testing::Test { - // You can inherit all the usual members for a non-parameterized test - // fixture here. -}; - -class DerivedTest : public BaseTest, public ::testing::WithParamInterface { - // The usual test fixture members go here too. -}; - -TEST_F(BaseTest, HasFoo) { - // This is an ordinary non-parameterized test. -} - -TEST_P(DerivedTest, DoesBlah) { - // GetParam works just the same here as if you inherit from TestWithParam. - EXPECT_TRUE(foo.Blah(GetParam())); -} - -#endif // 0 - -#include -#include - -#include "gtest/internal/gtest-internal.h" -#include "gtest/internal/gtest-param-util.h" -#include "gtest/internal/gtest-port.h" - -namespace testing { - -// Functions producing parameter generators. -// -// Google Test uses these generators to produce parameters for value- -// parameterized tests. When a parameterized test suite is instantiated -// with a particular generator, Google Test creates and runs tests -// for each element in the sequence produced by the generator. -// -// In the following sample, tests from test suite FooTest are instantiated -// each three times with parameter values 3, 5, and 8: -// -// class FooTest : public TestWithParam { ... }; -// -// TEST_P(FooTest, TestThis) { -// } -// TEST_P(FooTest, TestThat) { -// } -// INSTANTIATE_TEST_SUITE_P(TestSequence, FooTest, Values(3, 5, 8)); -// - -// Range() returns generators providing sequences of values in a range. -// -// Synopsis: -// Range(start, end) -// - returns a generator producing a sequence of values {start, start+1, -// start+2, ..., }. -// Range(start, end, step) -// - returns a generator producing a sequence of values {start, start+step, -// start+step+step, ..., }. -// Notes: -// * The generated sequences never include end. For example, Range(1, 5) -// returns a generator producing a sequence {1, 2, 3, 4}. Range(1, 9, 2) -// returns a generator producing {1, 3, 5, 7}. -// * start and end must have the same type. That type may be any integral or -// floating-point type or a user defined type satisfying these conditions: -// * It must be assignable (have operator=() defined). -// * It must have operator+() (operator+(int-compatible type) for -// two-operand version). -// * It must have operator<() defined. -// Elements in the resulting sequences will also have that type. -// * Condition start < end must be satisfied in order for resulting sequences -// to contain any elements. -// -template -internal::ParamGenerator Range(T start, T end, IncrementT step) { - return internal::ParamGenerator( - new internal::RangeGenerator(start, end, step)); -} - -template -internal::ParamGenerator Range(T start, T end) { - return Range(start, end, 1); -} - -// ValuesIn() function allows generation of tests with parameters coming from -// a container. -// -// Synopsis: -// ValuesIn(const T (&array)[N]) -// - returns a generator producing sequences with elements from -// a C-style array. -// ValuesIn(const Container& container) -// - returns a generator producing sequences with elements from -// an STL-style container. -// ValuesIn(Iterator begin, Iterator end) -// - returns a generator producing sequences with elements from -// a range [begin, end) defined by a pair of STL-style iterators. These -// iterators can also be plain C pointers. -// -// Please note that ValuesIn copies the values from the containers -// passed in and keeps them to generate tests in RUN_ALL_TESTS(). -// -// Examples: -// -// This instantiates tests from test suite StringTest -// each with C-string values of "foo", "bar", and "baz": -// -// const char* strings[] = {"foo", "bar", "baz"}; -// INSTANTIATE_TEST_SUITE_P(StringSequence, StringTest, ValuesIn(strings)); -// -// This instantiates tests from test suite StlStringTest -// each with STL strings with values "a" and "b": -// -// ::std::vector< ::std::string> GetParameterStrings() { -// ::std::vector< ::std::string> v; -// v.push_back("a"); -// v.push_back("b"); -// return v; -// } -// -// INSTANTIATE_TEST_SUITE_P(CharSequence, -// StlStringTest, -// ValuesIn(GetParameterStrings())); -// -// -// This will also instantiate tests from CharTest -// each with parameter values 'a' and 'b': -// -// ::std::list GetParameterChars() { -// ::std::list list; -// list.push_back('a'); -// list.push_back('b'); -// return list; -// } -// ::std::list l = GetParameterChars(); -// INSTANTIATE_TEST_SUITE_P(CharSequence2, -// CharTest, -// ValuesIn(l.begin(), l.end())); -// -template -internal::ParamGenerator< - typename std::iterator_traits::value_type> -ValuesIn(ForwardIterator begin, ForwardIterator end) { - typedef typename std::iterator_traits::value_type ParamType; - return internal::ParamGenerator( - new internal::ValuesInIteratorRangeGenerator(begin, end)); -} - -template -internal::ParamGenerator ValuesIn(const T (&array)[N]) { - return ValuesIn(array, array + N); -} - -template -internal::ParamGenerator ValuesIn( - const Container& container) { - return ValuesIn(container.begin(), container.end()); -} - -// Values() allows generating tests from explicitly specified list of -// parameters. -// -// Synopsis: -// Values(T v1, T v2, ..., T vN) -// - returns a generator producing sequences with elements v1, v2, ..., vN. -// -// For example, this instantiates tests from test suite BarTest each -// with values "one", "two", and "three": -// -// INSTANTIATE_TEST_SUITE_P(NumSequence, -// BarTest, -// Values("one", "two", "three")); -// -// This instantiates tests from test suite BazTest each with values 1, 2, 3.5. -// The exact type of values will depend on the type of parameter in BazTest. -// -// INSTANTIATE_TEST_SUITE_P(FloatingNumbers, BazTest, Values(1, 2, 3.5)); -// -// -template -internal::ValueArray Values(T... v) { - return internal::ValueArray(std::move(v)...); -} - -// Bool() allows generating tests with parameters in a set of (false, true). -// -// Synopsis: -// Bool() -// - returns a generator producing sequences with elements {false, true}. -// -// It is useful when testing code that depends on Boolean flags. Combinations -// of multiple flags can be tested when several Bool()'s are combined using -// Combine() function. -// -// In the following example all tests in the test suite FlagDependentTest -// will be instantiated twice with parameters false and true. -// -// class FlagDependentTest : public testing::TestWithParam { -// virtual void SetUp() { -// external_flag = GetParam(); -// } -// } -// INSTANTIATE_TEST_SUITE_P(BoolSequence, FlagDependentTest, Bool()); -// -inline internal::ParamGenerator Bool() { - return Values(false, true); -} - -// Combine() allows the user to combine two or more sequences to produce -// values of a Cartesian product of those sequences' elements. -// -// Synopsis: -// Combine(gen1, gen2, ..., genN) -// - returns a generator producing sequences with elements coming from -// the Cartesian product of elements from the sequences generated by -// gen1, gen2, ..., genN. The sequence elements will have a type of -// std::tuple where T1, T2, ..., TN are the types -// of elements from sequences produces by gen1, gen2, ..., genN. -// -// Combine can have up to 10 arguments. -// -// Example: -// -// This will instantiate tests in test suite AnimalTest each one with -// the parameter values tuple("cat", BLACK), tuple("cat", WHITE), -// tuple("dog", BLACK), and tuple("dog", WHITE): -// -// enum Color { BLACK, GRAY, WHITE }; -// class AnimalTest -// : public testing::TestWithParam > {...}; -// -// TEST_P(AnimalTest, AnimalLooksNice) {...} -// -// INSTANTIATE_TEST_SUITE_P(AnimalVariations, AnimalTest, -// Combine(Values("cat", "dog"), -// Values(BLACK, WHITE))); -// -// This will instantiate tests in FlagDependentTest with all variations of two -// Boolean flags: -// -// class FlagDependentTest -// : public testing::TestWithParam > { -// virtual void SetUp() { -// // Assigns external_flag_1 and external_flag_2 values from the tuple. -// std::tie(external_flag_1, external_flag_2) = GetParam(); -// } -// }; -// -// TEST_P(FlagDependentTest, TestFeature1) { -// // Test your code using external_flag_1 and external_flag_2 here. -// } -// INSTANTIATE_TEST_SUITE_P(TwoBoolSequence, FlagDependentTest, -// Combine(Bool(), Bool())); -// -template -internal::CartesianProductHolder Combine(const Generator&... g) { - return internal::CartesianProductHolder(g...); -} - -#define TEST_P(test_suite_name, test_name) \ - class GTEST_TEST_CLASS_NAME_(test_suite_name, test_name) \ - : public test_suite_name { \ - public: \ - GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)() {} \ - virtual void TestBody(); \ - \ - private: \ - static int AddToRegistry() { \ - ::testing::UnitTest::GetInstance() \ - ->parameterized_test_registry() \ - .GetTestSuitePatternHolder( \ - #test_suite_name, \ - ::testing::internal::CodeLocation(__FILE__, __LINE__)) \ - ->AddTestPattern( \ - GTEST_STRINGIFY_(test_suite_name), GTEST_STRINGIFY_(test_name), \ - new ::testing::internal::TestMetaFactory()); \ - return 0; \ - } \ - static int gtest_registering_dummy_ GTEST_ATTRIBUTE_UNUSED_; \ - GTEST_DISALLOW_COPY_AND_ASSIGN_(GTEST_TEST_CLASS_NAME_(test_suite_name, \ - test_name)); \ - }; \ - int GTEST_TEST_CLASS_NAME_(test_suite_name, \ - test_name)::gtest_registering_dummy_ = \ - GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)::AddToRegistry(); \ - void GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)::TestBody() - -// The last argument to INSTANTIATE_TEST_SUITE_P allows the user to specify -// generator and an optional function or functor that generates custom test name -// suffixes based on the test parameters. Such a function or functor should -// accept one argument of type testing::TestParamInfo, and -// return std::string. -// -// testing::PrintToStringParamName is a builtin test suffix generator that -// returns the value of testing::PrintToString(GetParam()). -// -// Note: test names must be non-empty, unique, and may only contain ASCII -// alphanumeric characters or underscore. Because PrintToString adds quotes -// to std::string and C strings, it won't work for these types. - -#define GTEST_EXPAND_(arg) arg -#define GTEST_GET_FIRST_(first, ...) first -#define GTEST_GET_SECOND_(first, second, ...) second - -#define INSTANTIATE_TEST_SUITE_P(prefix, test_suite_name, ...) \ - static ::testing::internal::ParamGenerator \ - gtest_##prefix##test_suite_name##_EvalGenerator_() { \ - return GTEST_EXPAND_(GTEST_GET_FIRST_(__VA_ARGS__, DUMMY_PARAM_)); \ - } \ - static ::std::string gtest_##prefix##test_suite_name##_EvalGenerateName_( \ - const ::testing::TestParamInfo& info) { \ - if (::testing::internal::AlwaysFalse()) { \ - ::testing::internal::TestNotEmpty(GTEST_EXPAND_(GTEST_GET_SECOND_( \ - __VA_ARGS__, \ - ::testing::internal::DefaultParamName, \ - DUMMY_PARAM_))); \ - auto t = std::make_tuple(__VA_ARGS__); \ - static_assert(std::tuple_size::value <= 2, \ - "Too Many Args!"); \ - } \ - return ((GTEST_EXPAND_(GTEST_GET_SECOND_( \ - __VA_ARGS__, \ - ::testing::internal::DefaultParamName, \ - DUMMY_PARAM_))))(info); \ - } \ - static int gtest_##prefix##test_suite_name##_dummy_ \ - GTEST_ATTRIBUTE_UNUSED_ = \ - ::testing::UnitTest::GetInstance() \ - ->parameterized_test_registry() \ - .GetTestSuitePatternHolder( \ - #test_suite_name, \ - ::testing::internal::CodeLocation(__FILE__, __LINE__)) \ - ->AddTestSuiteInstantiation( \ - #prefix, >est_##prefix##test_suite_name##_EvalGenerator_, \ - >est_##prefix##test_suite_name##_EvalGenerateName_, \ - __FILE__, __LINE__) - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ -#define INSTANTIATE_TEST_CASE_P \ - static_assert(::testing::internal::InstantiateTestCase_P_IsDeprecated(), \ - ""); \ - INSTANTIATE_TEST_SUITE_P -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - -} // namespace testing - -#endif // GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ diff --git a/include/gtest/gtest-printers.h b/include/gtest/gtest-printers.h deleted file mode 100644 index 56a0545..0000000 --- a/include/gtest/gtest-printers.h +++ /dev/null @@ -1,928 +0,0 @@ -// Copyright 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -// Google Test - The Google C++ Testing and Mocking Framework -// -// This file implements a universal value printer that can print a -// value of any type T: -// -// void ::testing::internal::UniversalPrinter::Print(value, ostream_ptr); -// -// A user can teach this function how to print a class type T by -// defining either operator<<() or PrintTo() in the namespace that -// defines T. More specifically, the FIRST defined function in the -// following list will be used (assuming T is defined in namespace -// foo): -// -// 1. foo::PrintTo(const T&, ostream*) -// 2. operator<<(ostream&, const T&) defined in either foo or the -// global namespace. -// -// However if T is an STL-style container then it is printed element-wise -// unless foo::PrintTo(const T&, ostream*) is defined. Note that -// operator<<() is ignored for container types. -// -// If none of the above is defined, it will print the debug string of -// the value if it is a protocol buffer, or print the raw bytes in the -// value otherwise. -// -// To aid debugging: when T is a reference type, the address of the -// value is also printed; when T is a (const) char pointer, both the -// pointer value and the NUL-terminated string it points to are -// printed. -// -// We also provide some convenient wrappers: -// -// // Prints a value to a string. For a (const or not) char -// // pointer, the NUL-terminated string (but not the pointer) is -// // printed. -// std::string ::testing::PrintToString(const T& value); -// -// // Prints a value tersely: for a reference type, the referenced -// // value (but not the address) is printed; for a (const or not) char -// // pointer, the NUL-terminated string (but not the pointer) is -// // printed. -// void ::testing::internal::UniversalTersePrint(const T& value, ostream*); -// -// // Prints value using the type inferred by the compiler. The difference -// // from UniversalTersePrint() is that this function prints both the -// // pointer and the NUL-terminated string for a (const or not) char pointer. -// void ::testing::internal::UniversalPrint(const T& value, ostream*); -// -// // Prints the fields of a tuple tersely to a string vector, one -// // element for each field. Tuple support must be enabled in -// // gtest-port.h. -// std::vector UniversalTersePrintTupleFieldsToStrings( -// const Tuple& value); -// -// Known limitation: -// -// The print primitives print the elements of an STL-style container -// using the compiler-inferred type of *iter where iter is a -// const_iterator of the container. When const_iterator is an input -// iterator but not a forward iterator, this inferred type may not -// match value_type, and the print output may be incorrect. In -// practice, this is rarely a problem as for most containers -// const_iterator is a forward iterator. We'll fix this if there's an -// actual need for it. Note that this fix cannot rely on value_type -// being defined as many user-defined container types don't have -// value_type. - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_GTEST_PRINTERS_H_ -#define GTEST_INCLUDE_GTEST_GTEST_PRINTERS_H_ - -#include -#include // NOLINT -#include -#include -#include -#include -#include -#include -#include "gtest/internal/gtest-internal.h" -#include "gtest/internal/gtest-port.h" - -#if GTEST_HAS_ABSL -#include "absl/strings/string_view.h" -#include "absl/types/optional.h" -#include "absl/types/variant.h" -#endif // GTEST_HAS_ABSL - -namespace testing { - -// Definitions in the 'internal' and 'internal2' name spaces are -// subject to change without notice. DO NOT USE THEM IN USER CODE! -namespace internal2 { - -// Prints the given number of bytes in the given object to the given -// ostream. -GTEST_API_ void PrintBytesInObjectTo(const unsigned char* obj_bytes, - size_t count, - ::std::ostream* os); - -// For selecting which printer to use when a given type has neither << -// nor PrintTo(). -enum TypeKind { - kProtobuf, // a protobuf type - kConvertibleToInteger, // a type implicitly convertible to BiggestInt - // (e.g. a named or unnamed enum type) -#if GTEST_HAS_ABSL - kConvertibleToStringView, // a type implicitly convertible to - // absl::string_view -#endif - kOtherType // anything else -}; - -// TypeWithoutFormatter::PrintValue(value, os) is called -// by the universal printer to print a value of type T when neither -// operator<< nor PrintTo() is defined for T, where kTypeKind is the -// "kind" of T as defined by enum TypeKind. -template -class TypeWithoutFormatter { - public: - // This default version is called when kTypeKind is kOtherType. - static void PrintValue(const T& value, ::std::ostream* os) { - PrintBytesInObjectTo( - static_cast( - reinterpret_cast(std::addressof(value))), - sizeof(value), os); - } -}; - -// We print a protobuf using its ShortDebugString() when the string -// doesn't exceed this many characters; otherwise we print it using -// DebugString() for better readability. -const size_t kProtobufOneLinerMaxLength = 50; - -template -class TypeWithoutFormatter { - public: - static void PrintValue(const T& value, ::std::ostream* os) { - std::string pretty_str = value.ShortDebugString(); - if (pretty_str.length() > kProtobufOneLinerMaxLength) { - pretty_str = "\n" + value.DebugString(); - } - *os << ("<" + pretty_str + ">"); - } -}; - -template -class TypeWithoutFormatter { - public: - // Since T has no << operator or PrintTo() but can be implicitly - // converted to BiggestInt, we print it as a BiggestInt. - // - // Most likely T is an enum type (either named or unnamed), in which - // case printing it as an integer is the desired behavior. In case - // T is not an enum, printing it as an integer is the best we can do - // given that it has no user-defined printer. - static void PrintValue(const T& value, ::std::ostream* os) { - const internal::BiggestInt kBigInt = value; - *os << kBigInt; - } -}; - -#if GTEST_HAS_ABSL -template -class TypeWithoutFormatter { - public: - // Since T has neither operator<< nor PrintTo() but can be implicitly - // converted to absl::string_view, we print it as a absl::string_view. - // - // Note: the implementation is further below, as it depends on - // internal::PrintTo symbol which is defined later in the file. - static void PrintValue(const T& value, ::std::ostream* os); -}; -#endif - -// Prints the given value to the given ostream. If the value is a -// protocol message, its debug string is printed; if it's an enum or -// of a type implicitly convertible to BiggestInt, it's printed as an -// integer; otherwise the bytes in the value are printed. This is -// what UniversalPrinter::Print() does when it knows nothing about -// type T and T has neither << operator nor PrintTo(). -// -// A user can override this behavior for a class type Foo by defining -// a << operator in the namespace where Foo is defined. -// -// We put this operator in namespace 'internal2' instead of 'internal' -// to simplify the implementation, as much code in 'internal' needs to -// use << in STL, which would conflict with our own << were it defined -// in 'internal'. -// -// Note that this operator<< takes a generic std::basic_ostream type instead of the more restricted std::ostream. If -// we define it to take an std::ostream instead, we'll get an -// "ambiguous overloads" compiler error when trying to print a type -// Foo that supports streaming to std::basic_ostream, as the compiler cannot tell whether -// operator<<(std::ostream&, const T&) or -// operator<<(std::basic_stream, const Foo&) is more -// specific. -template -::std::basic_ostream& operator<<( - ::std::basic_ostream& os, const T& x) { - TypeWithoutFormatter::value - ? kProtobuf - : std::is_convertible< - const T&, internal::BiggestInt>::value - ? kConvertibleToInteger - : -#if GTEST_HAS_ABSL - std::is_convertible< - const T&, absl::string_view>::value - ? kConvertibleToStringView - : -#endif - kOtherType)>::PrintValue(x, &os); - return os; -} - -} // namespace internal2 -} // namespace testing - -// This namespace MUST NOT BE NESTED IN ::testing, or the name look-up -// magic needed for implementing UniversalPrinter won't work. -namespace testing_internal { - -// Used to print a value that is not an STL-style container when the -// user doesn't define PrintTo() for it. -template -void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) { - // With the following statement, during unqualified name lookup, - // testing::internal2::operator<< appears as if it was declared in - // the nearest enclosing namespace that contains both - // ::testing_internal and ::testing::internal2, i.e. the global - // namespace. For more details, refer to the C++ Standard section - // 7.3.4-1 [namespace.udir]. This allows us to fall back onto - // testing::internal2::operator<< in case T doesn't come with a << - // operator. - // - // We cannot write 'using ::testing::internal2::operator<<;', which - // gcc 3.3 fails to compile due to a compiler bug. - using namespace ::testing::internal2; // NOLINT - - // Assuming T is defined in namespace foo, in the next statement, - // the compiler will consider all of: - // - // 1. foo::operator<< (thanks to Koenig look-up), - // 2. ::operator<< (as the current namespace is enclosed in ::), - // 3. testing::internal2::operator<< (thanks to the using statement above). - // - // The operator<< whose type matches T best will be picked. - // - // We deliberately allow #2 to be a candidate, as sometimes it's - // impossible to define #1 (e.g. when foo is ::std, defining - // anything in it is undefined behavior unless you are a compiler - // vendor.). - *os << value; -} - -} // namespace testing_internal - -namespace testing { -namespace internal { - -// FormatForComparison::Format(value) formats a -// value of type ToPrint that is an operand of a comparison assertion -// (e.g. ASSERT_EQ). OtherOperand is the type of the other operand in -// the comparison, and is used to help determine the best way to -// format the value. In particular, when the value is a C string -// (char pointer) and the other operand is an STL string object, we -// want to format the C string as a string, since we know it is -// compared by value with the string object. If the value is a char -// pointer but the other operand is not an STL string object, we don't -// know whether the pointer is supposed to point to a NUL-terminated -// string, and thus want to print it as a pointer to be safe. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. - -// The default case. -template -class FormatForComparison { - public: - static ::std::string Format(const ToPrint& value) { - return ::testing::PrintToString(value); - } -}; - -// Array. -template -class FormatForComparison { - public: - static ::std::string Format(const ToPrint* value) { - return FormatForComparison::Format(value); - } -}; - -// By default, print C string as pointers to be safe, as we don't know -// whether they actually point to a NUL-terminated string. - -#define GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(CharType) \ - template \ - class FormatForComparison { \ - public: \ - static ::std::string Format(CharType* value) { \ - return ::testing::PrintToString(static_cast(value)); \ - } \ - } - -GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(char); -GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(const char); -GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(wchar_t); -GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_(const wchar_t); - -#undef GTEST_IMPL_FORMAT_C_STRING_AS_POINTER_ - -// If a C string is compared with an STL string object, we know it's meant -// to point to a NUL-terminated string, and thus can print it as a string. - -#define GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(CharType, OtherStringType) \ - template <> \ - class FormatForComparison { \ - public: \ - static ::std::string Format(CharType* value) { \ - return ::testing::PrintToString(value); \ - } \ - } - -GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(char, ::std::string); -GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(const char, ::std::string); - -#if GTEST_HAS_STD_WSTRING -GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(wchar_t, ::std::wstring); -GTEST_IMPL_FORMAT_C_STRING_AS_STRING_(const wchar_t, ::std::wstring); -#endif - -#undef GTEST_IMPL_FORMAT_C_STRING_AS_STRING_ - -// Formats a comparison assertion (e.g. ASSERT_EQ, EXPECT_LT, and etc) -// operand to be used in a failure message. The type (but not value) -// of the other operand may affect the format. This allows us to -// print a char* as a raw pointer when it is compared against another -// char* or void*, and print it as a C string when it is compared -// against an std::string object, for example. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -template -std::string FormatForComparisonFailureMessage( - const T1& value, const T2& /* other_operand */) { - return FormatForComparison::Format(value); -} - -// UniversalPrinter::Print(value, ostream_ptr) prints the given -// value to the given ostream. The caller must ensure that -// 'ostream_ptr' is not NULL, or the behavior is undefined. -// -// We define UniversalPrinter as a class template (as opposed to a -// function template), as we need to partially specialize it for -// reference types, which cannot be done with function templates. -template -class UniversalPrinter; - -template -void UniversalPrint(const T& value, ::std::ostream* os); - -enum DefaultPrinterType { - kPrintContainer, - kPrintPointer, - kPrintFunctionPointer, - kPrintOther, -}; -template struct WrapPrinterType {}; - -// Used to print an STL-style container when the user doesn't define -// a PrintTo() for it. -template -void DefaultPrintTo(WrapPrinterType /* dummy */, - const C& container, ::std::ostream* os) { - const size_t kMaxCount = 32; // The maximum number of elements to print. - *os << '{'; - size_t count = 0; - for (typename C::const_iterator it = container.begin(); - it != container.end(); ++it, ++count) { - if (count > 0) { - *os << ','; - if (count == kMaxCount) { // Enough has been printed. - *os << " ..."; - break; - } - } - *os << ' '; - // We cannot call PrintTo(*it, os) here as PrintTo() doesn't - // handle *it being a native array. - internal::UniversalPrint(*it, os); - } - - if (count > 0) { - *os << ' '; - } - *os << '}'; -} - -// Used to print a pointer that is neither a char pointer nor a member -// pointer, when the user doesn't define PrintTo() for it. (A member -// variable pointer or member function pointer doesn't really point to -// a location in the address space. Their representation is -// implementation-defined. Therefore they will be printed as raw -// bytes.) -template -void DefaultPrintTo(WrapPrinterType /* dummy */, - T* p, ::std::ostream* os) { - if (p == nullptr) { - *os << "NULL"; - } else { - // T is not a function type. We just call << to print p, - // relying on ADL to pick up user-defined << for their pointer - // types, if any. - *os << p; - } -} -template -void DefaultPrintTo(WrapPrinterType /* dummy */, - T* p, ::std::ostream* os) { - if (p == nullptr) { - *os << "NULL"; - } else { - // T is a function type, so '*os << p' doesn't do what we want - // (it just prints p as bool). We want to print p as a const - // void*. - *os << reinterpret_cast(p); - } -} - -// Used to print a non-container, non-pointer value when the user -// doesn't define PrintTo() for it. -template -void DefaultPrintTo(WrapPrinterType /* dummy */, - const T& value, ::std::ostream* os) { - ::testing_internal::DefaultPrintNonContainerTo(value, os); -} - -// Prints the given value using the << operator if it has one; -// otherwise prints the bytes in it. This is what -// UniversalPrinter::Print() does when PrintTo() is not specialized -// or overloaded for type T. -// -// A user can override this behavior for a class type Foo by defining -// an overload of PrintTo() in the namespace where Foo is defined. We -// give the user this option as sometimes defining a << operator for -// Foo is not desirable (e.g. the coding style may prevent doing it, -// or there is already a << operator but it doesn't do what the user -// wants). -template -void PrintTo(const T& value, ::std::ostream* os) { - // DefaultPrintTo() is overloaded. The type of its first argument - // determines which version will be picked. - // - // Note that we check for container types here, prior to we check - // for protocol message types in our operator<<. The rationale is: - // - // For protocol messages, we want to give people a chance to - // override Google Mock's format by defining a PrintTo() or - // operator<<. For STL containers, other formats can be - // incompatible with Google Mock's format for the container - // elements; therefore we check for container types here to ensure - // that our format is used. - // - // Note that MSVC and clang-cl do allow an implicit conversion from - // pointer-to-function to pointer-to-object, but clang-cl warns on it. - // So don't use ImplicitlyConvertible if it can be helped since it will - // cause this warning, and use a separate overload of DefaultPrintTo for - // function pointers so that the `*os << p` in the object pointer overload - // doesn't cause that warning either. - DefaultPrintTo( - WrapPrinterType < - (sizeof(IsContainerTest(0)) == sizeof(IsContainer)) && - !IsRecursiveContainer::value - ? kPrintContainer - : !std::is_pointer::value - ? kPrintOther - : std::is_function::type>::value - ? kPrintFunctionPointer - : kPrintPointer > (), - value, os); -} - -// The following list of PrintTo() overloads tells -// UniversalPrinter::Print() how to print standard types (built-in -// types, strings, plain arrays, and pointers). - -// Overloads for various char types. -GTEST_API_ void PrintTo(unsigned char c, ::std::ostream* os); -GTEST_API_ void PrintTo(signed char c, ::std::ostream* os); -inline void PrintTo(char c, ::std::ostream* os) { - // When printing a plain char, we always treat it as unsigned. This - // way, the output won't be affected by whether the compiler thinks - // char is signed or not. - PrintTo(static_cast(c), os); -} - -// Overloads for other simple built-in types. -inline void PrintTo(bool x, ::std::ostream* os) { - *os << (x ? "true" : "false"); -} - -// Overload for wchar_t type. -// Prints a wchar_t as a symbol if it is printable or as its internal -// code otherwise and also as its decimal code (except for L'\0'). -// The L'\0' char is printed as "L'\\0'". The decimal code is printed -// as signed integer when wchar_t is implemented by the compiler -// as a signed type and is printed as an unsigned integer when wchar_t -// is implemented as an unsigned type. -GTEST_API_ void PrintTo(wchar_t wc, ::std::ostream* os); - -// Overloads for C strings. -GTEST_API_ void PrintTo(const char* s, ::std::ostream* os); -inline void PrintTo(char* s, ::std::ostream* os) { - PrintTo(ImplicitCast_(s), os); -} - -// signed/unsigned char is often used for representing binary data, so -// we print pointers to it as void* to be safe. -inline void PrintTo(const signed char* s, ::std::ostream* os) { - PrintTo(ImplicitCast_(s), os); -} -inline void PrintTo(signed char* s, ::std::ostream* os) { - PrintTo(ImplicitCast_(s), os); -} -inline void PrintTo(const unsigned char* s, ::std::ostream* os) { - PrintTo(ImplicitCast_(s), os); -} -inline void PrintTo(unsigned char* s, ::std::ostream* os) { - PrintTo(ImplicitCast_(s), os); -} - -// MSVC can be configured to define wchar_t as a typedef of unsigned -// short. It defines _NATIVE_WCHAR_T_DEFINED when wchar_t is a native -// type. When wchar_t is a typedef, defining an overload for const -// wchar_t* would cause unsigned short* be printed as a wide string, -// possibly causing invalid memory accesses. -#if !defined(_MSC_VER) || defined(_NATIVE_WCHAR_T_DEFINED) -// Overloads for wide C strings -GTEST_API_ void PrintTo(const wchar_t* s, ::std::ostream* os); -inline void PrintTo(wchar_t* s, ::std::ostream* os) { - PrintTo(ImplicitCast_(s), os); -} -#endif - -// Overload for C arrays. Multi-dimensional arrays are printed -// properly. - -// Prints the given number of elements in an array, without printing -// the curly braces. -template -void PrintRawArrayTo(const T a[], size_t count, ::std::ostream* os) { - UniversalPrint(a[0], os); - for (size_t i = 1; i != count; i++) { - *os << ", "; - UniversalPrint(a[i], os); - } -} - -// Overloads for ::std::string. -GTEST_API_ void PrintStringTo(const ::std::string&s, ::std::ostream* os); -inline void PrintTo(const ::std::string& s, ::std::ostream* os) { - PrintStringTo(s, os); -} - -// Overloads for ::std::wstring. -#if GTEST_HAS_STD_WSTRING -GTEST_API_ void PrintWideStringTo(const ::std::wstring&s, ::std::ostream* os); -inline void PrintTo(const ::std::wstring& s, ::std::ostream* os) { - PrintWideStringTo(s, os); -} -#endif // GTEST_HAS_STD_WSTRING - -#if GTEST_HAS_ABSL -// Overload for absl::string_view. -inline void PrintTo(absl::string_view sp, ::std::ostream* os) { - PrintTo(::std::string(sp), os); -} -#endif // GTEST_HAS_ABSL - -inline void PrintTo(std::nullptr_t, ::std::ostream* os) { *os << "(nullptr)"; } - -template -void PrintTo(std::reference_wrapper ref, ::std::ostream* os) { - UniversalPrinter::Print(ref.get(), os); -} - -// Helper function for printing a tuple. T must be instantiated with -// a tuple type. -template -void PrintTupleTo(const T&, std::integral_constant, - ::std::ostream*) {} - -template -void PrintTupleTo(const T& t, std::integral_constant, - ::std::ostream* os) { - PrintTupleTo(t, std::integral_constant(), os); - GTEST_INTENTIONAL_CONST_COND_PUSH_() - if (I > 1) { - GTEST_INTENTIONAL_CONST_COND_POP_() - *os << ", "; - } - UniversalPrinter::type>::Print( - std::get(t), os); -} - -template -void PrintTo(const ::std::tuple& t, ::std::ostream* os) { - *os << "("; - PrintTupleTo(t, std::integral_constant(), os); - *os << ")"; -} - -// Overload for std::pair. -template -void PrintTo(const ::std::pair& value, ::std::ostream* os) { - *os << '('; - // We cannot use UniversalPrint(value.first, os) here, as T1 may be - // a reference type. The same for printing value.second. - UniversalPrinter::Print(value.first, os); - *os << ", "; - UniversalPrinter::Print(value.second, os); - *os << ')'; -} - -// Implements printing a non-reference type T by letting the compiler -// pick the right overload of PrintTo() for T. -template -class UniversalPrinter { - public: - // MSVC warns about adding const to a function type, so we want to - // disable the warning. - GTEST_DISABLE_MSC_WARNINGS_PUSH_(4180) - - // Note: we deliberately don't call this PrintTo(), as that name - // conflicts with ::testing::internal::PrintTo in the body of the - // function. - static void Print(const T& value, ::std::ostream* os) { - // By default, ::testing::internal::PrintTo() is used for printing - // the value. - // - // Thanks to Koenig look-up, if T is a class and has its own - // PrintTo() function defined in its namespace, that function will - // be visible here. Since it is more specific than the generic ones - // in ::testing::internal, it will be picked by the compiler in the - // following statement - exactly what we want. - PrintTo(value, os); - } - - GTEST_DISABLE_MSC_WARNINGS_POP_() -}; - -#if GTEST_HAS_ABSL - -// Printer for absl::optional - -template -class UniversalPrinter<::absl::optional> { - public: - static void Print(const ::absl::optional& value, ::std::ostream* os) { - *os << '('; - if (!value) { - *os << "nullopt"; - } else { - UniversalPrint(*value, os); - } - *os << ')'; - } -}; - -// Printer for absl::variant - -template -class UniversalPrinter<::absl::variant> { - public: - static void Print(const ::absl::variant& value, ::std::ostream* os) { - *os << '('; - absl::visit(Visitor{os}, value); - *os << ')'; - } - - private: - struct Visitor { - template - void operator()(const U& u) const { - *os << "'" << GetTypeName() << "' with value "; - UniversalPrint(u, os); - } - ::std::ostream* os; - }; -}; - -#endif // GTEST_HAS_ABSL - -// UniversalPrintArray(begin, len, os) prints an array of 'len' -// elements, starting at address 'begin'. -template -void UniversalPrintArray(const T* begin, size_t len, ::std::ostream* os) { - if (len == 0) { - *os << "{}"; - } else { - *os << "{ "; - const size_t kThreshold = 18; - const size_t kChunkSize = 8; - // If the array has more than kThreshold elements, we'll have to - // omit some details by printing only the first and the last - // kChunkSize elements. - if (len <= kThreshold) { - PrintRawArrayTo(begin, len, os); - } else { - PrintRawArrayTo(begin, kChunkSize, os); - *os << ", ..., "; - PrintRawArrayTo(begin + len - kChunkSize, kChunkSize, os); - } - *os << " }"; - } -} -// This overload prints a (const) char array compactly. -GTEST_API_ void UniversalPrintArray( - const char* begin, size_t len, ::std::ostream* os); - -// This overload prints a (const) wchar_t array compactly. -GTEST_API_ void UniversalPrintArray( - const wchar_t* begin, size_t len, ::std::ostream* os); - -// Implements printing an array type T[N]. -template -class UniversalPrinter { - public: - // Prints the given array, omitting some elements when there are too - // many. - static void Print(const T (&a)[N], ::std::ostream* os) { - UniversalPrintArray(a, N, os); - } -}; - -// Implements printing a reference type T&. -template -class UniversalPrinter { - public: - // MSVC warns about adding const to a function type, so we want to - // disable the warning. - GTEST_DISABLE_MSC_WARNINGS_PUSH_(4180) - - static void Print(const T& value, ::std::ostream* os) { - // Prints the address of the value. We use reinterpret_cast here - // as static_cast doesn't compile when T is a function type. - *os << "@" << reinterpret_cast(&value) << " "; - - // Then prints the value itself. - UniversalPrint(value, os); - } - - GTEST_DISABLE_MSC_WARNINGS_POP_() -}; - -// Prints a value tersely: for a reference type, the referenced value -// (but not the address) is printed; for a (const) char pointer, the -// NUL-terminated string (but not the pointer) is printed. - -template -class UniversalTersePrinter { - public: - static void Print(const T& value, ::std::ostream* os) { - UniversalPrint(value, os); - } -}; -template -class UniversalTersePrinter { - public: - static void Print(const T& value, ::std::ostream* os) { - UniversalPrint(value, os); - } -}; -template -class UniversalTersePrinter { - public: - static void Print(const T (&value)[N], ::std::ostream* os) { - UniversalPrinter::Print(value, os); - } -}; -template <> -class UniversalTersePrinter { - public: - static void Print(const char* str, ::std::ostream* os) { - if (str == nullptr) { - *os << "NULL"; - } else { - UniversalPrint(std::string(str), os); - } - } -}; -template <> -class UniversalTersePrinter { - public: - static void Print(char* str, ::std::ostream* os) { - UniversalTersePrinter::Print(str, os); - } -}; - -#if GTEST_HAS_STD_WSTRING -template <> -class UniversalTersePrinter { - public: - static void Print(const wchar_t* str, ::std::ostream* os) { - if (str == nullptr) { - *os << "NULL"; - } else { - UniversalPrint(::std::wstring(str), os); - } - } -}; -#endif - -template <> -class UniversalTersePrinter { - public: - static void Print(wchar_t* str, ::std::ostream* os) { - UniversalTersePrinter::Print(str, os); - } -}; - -template -void UniversalTersePrint(const T& value, ::std::ostream* os) { - UniversalTersePrinter::Print(value, os); -} - -// Prints a value using the type inferred by the compiler. The -// difference between this and UniversalTersePrint() is that for a -// (const) char pointer, this prints both the pointer and the -// NUL-terminated string. -template -void UniversalPrint(const T& value, ::std::ostream* os) { - // A workarond for the bug in VC++ 7.1 that prevents us from instantiating - // UniversalPrinter with T directly. - typedef T T1; - UniversalPrinter::Print(value, os); -} - -typedef ::std::vector< ::std::string> Strings; - - // Tersely prints the first N fields of a tuple to a string vector, - // one element for each field. -template -void TersePrintPrefixToStrings(const Tuple&, std::integral_constant, - Strings*) {} -template -void TersePrintPrefixToStrings(const Tuple& t, - std::integral_constant, - Strings* strings) { - TersePrintPrefixToStrings(t, std::integral_constant(), - strings); - ::std::stringstream ss; - UniversalTersePrint(std::get(t), &ss); - strings->push_back(ss.str()); -} - -// Prints the fields of a tuple tersely to a string vector, one -// element for each field. See the comment before -// UniversalTersePrint() for how we define "tersely". -template -Strings UniversalTersePrintTupleFieldsToStrings(const Tuple& value) { - Strings result; - TersePrintPrefixToStrings( - value, std::integral_constant::value>(), - &result); - return result; -} - -} // namespace internal - -#if GTEST_HAS_ABSL -namespace internal2 { -template -void TypeWithoutFormatter::PrintValue( - const T& value, ::std::ostream* os) { - internal::PrintTo(absl::string_view(value), os); -} -} // namespace internal2 -#endif - -template -::std::string PrintToString(const T& value) { - ::std::stringstream ss; - internal::UniversalTersePrinter::Print(value, &ss); - return ss.str(); -} - -} // namespace testing - -// Include any custom printer added by the local installation. -// We must include this header at the end to make sure it can use the -// declarations from this file. -#include "gtest/internal/custom/gtest-printers.h" - -#endif // GTEST_INCLUDE_GTEST_GTEST_PRINTERS_H_ diff --git a/include/gtest/gtest-spi.h b/include/gtest/gtest-spi.h deleted file mode 100644 index aa38870..0000000 --- a/include/gtest/gtest-spi.h +++ /dev/null @@ -1,238 +0,0 @@ -// Copyright 2007, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// -// Utilities for testing Google Test itself and code that uses Google Test -// (e.g. frameworks built on top of Google Test). - -// GOOGLETEST_CM0004 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_GTEST_SPI_H_ -#define GTEST_INCLUDE_GTEST_GTEST_SPI_H_ - -#include "gtest/gtest.h" - -GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \ -/* class A needs to have dll-interface to be used by clients of class B */) - -namespace testing { - -// This helper class can be used to mock out Google Test failure reporting -// so that we can test Google Test or code that builds on Google Test. -// -// An object of this class appends a TestPartResult object to the -// TestPartResultArray object given in the constructor whenever a Google Test -// failure is reported. It can either intercept only failures that are -// generated in the same thread that created this object or it can intercept -// all generated failures. The scope of this mock object can be controlled with -// the second argument to the two arguments constructor. -class GTEST_API_ ScopedFakeTestPartResultReporter - : public TestPartResultReporterInterface { - public: - // The two possible mocking modes of this object. - enum InterceptMode { - INTERCEPT_ONLY_CURRENT_THREAD, // Intercepts only thread local failures. - INTERCEPT_ALL_THREADS // Intercepts all failures. - }; - - // The c'tor sets this object as the test part result reporter used - // by Google Test. The 'result' parameter specifies where to report the - // results. This reporter will only catch failures generated in the current - // thread. DEPRECATED - explicit ScopedFakeTestPartResultReporter(TestPartResultArray* result); - - // Same as above, but you can choose the interception scope of this object. - ScopedFakeTestPartResultReporter(InterceptMode intercept_mode, - TestPartResultArray* result); - - // The d'tor restores the previous test part result reporter. - ~ScopedFakeTestPartResultReporter() override; - - // Appends the TestPartResult object to the TestPartResultArray - // received in the constructor. - // - // This method is from the TestPartResultReporterInterface - // interface. - void ReportTestPartResult(const TestPartResult& result) override; - - private: - void Init(); - - const InterceptMode intercept_mode_; - TestPartResultReporterInterface* old_reporter_; - TestPartResultArray* const result_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(ScopedFakeTestPartResultReporter); -}; - -namespace internal { - -// A helper class for implementing EXPECT_FATAL_FAILURE() and -// EXPECT_NONFATAL_FAILURE(). Its destructor verifies that the given -// TestPartResultArray contains exactly one failure that has the given -// type and contains the given substring. If that's not the case, a -// non-fatal failure will be generated. -class GTEST_API_ SingleFailureChecker { - public: - // The constructor remembers the arguments. - SingleFailureChecker(const TestPartResultArray* results, - TestPartResult::Type type, const std::string& substr); - ~SingleFailureChecker(); - private: - const TestPartResultArray* const results_; - const TestPartResult::Type type_; - const std::string substr_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(SingleFailureChecker); -}; - -} // namespace internal - -} // namespace testing - -GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251 - -// A set of macros for testing Google Test assertions or code that's expected -// to generate Google Test fatal failures. It verifies that the given -// statement will cause exactly one fatal Google Test failure with 'substr' -// being part of the failure message. -// -// There are two different versions of this macro. EXPECT_FATAL_FAILURE only -// affects and considers failures generated in the current thread and -// EXPECT_FATAL_FAILURE_ON_ALL_THREADS does the same but for all threads. -// -// The verification of the assertion is done correctly even when the statement -// throws an exception or aborts the current function. -// -// Known restrictions: -// - 'statement' cannot reference local non-static variables or -// non-static members of the current object. -// - 'statement' cannot return a value. -// - You cannot stream a failure message to this macro. -// -// Note that even though the implementations of the following two -// macros are much alike, we cannot refactor them to use a common -// helper macro, due to some peculiarity in how the preprocessor -// works. The AcceptsMacroThatExpandsToUnprotectedComma test in -// gtest_unittest.cc will fail to compile if we do that. -#define EXPECT_FATAL_FAILURE(statement, substr) \ - do { \ - class GTestExpectFatalFailureHelper {\ - public:\ - static void Execute() { statement; }\ - };\ - ::testing::TestPartResultArray gtest_failures;\ - ::testing::internal::SingleFailureChecker gtest_checker(\ - >est_failures, ::testing::TestPartResult::kFatalFailure, (substr));\ - {\ - ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\ - ::testing::ScopedFakeTestPartResultReporter:: \ - INTERCEPT_ONLY_CURRENT_THREAD, >est_failures);\ - GTestExpectFatalFailureHelper::Execute();\ - }\ - } while (::testing::internal::AlwaysFalse()) - -#define EXPECT_FATAL_FAILURE_ON_ALL_THREADS(statement, substr) \ - do { \ - class GTestExpectFatalFailureHelper {\ - public:\ - static void Execute() { statement; }\ - };\ - ::testing::TestPartResultArray gtest_failures;\ - ::testing::internal::SingleFailureChecker gtest_checker(\ - >est_failures, ::testing::TestPartResult::kFatalFailure, (substr));\ - {\ - ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\ - ::testing::ScopedFakeTestPartResultReporter:: \ - INTERCEPT_ALL_THREADS, >est_failures);\ - GTestExpectFatalFailureHelper::Execute();\ - }\ - } while (::testing::internal::AlwaysFalse()) - -// A macro for testing Google Test assertions or code that's expected to -// generate Google Test non-fatal failures. It asserts that the given -// statement will cause exactly one non-fatal Google Test failure with 'substr' -// being part of the failure message. -// -// There are two different versions of this macro. EXPECT_NONFATAL_FAILURE only -// affects and considers failures generated in the current thread and -// EXPECT_NONFATAL_FAILURE_ON_ALL_THREADS does the same but for all threads. -// -// 'statement' is allowed to reference local variables and members of -// the current object. -// -// The verification of the assertion is done correctly even when the statement -// throws an exception or aborts the current function. -// -// Known restrictions: -// - You cannot stream a failure message to this macro. -// -// Note that even though the implementations of the following two -// macros are much alike, we cannot refactor them to use a common -// helper macro, due to some peculiarity in how the preprocessor -// works. If we do that, the code won't compile when the user gives -// EXPECT_NONFATAL_FAILURE() a statement that contains a macro that -// expands to code containing an unprotected comma. The -// AcceptsMacroThatExpandsToUnprotectedComma test in gtest_unittest.cc -// catches that. -// -// For the same reason, we have to write -// if (::testing::internal::AlwaysTrue()) { statement; } -// instead of -// GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement) -// to avoid an MSVC warning on unreachable code. -#define EXPECT_NONFATAL_FAILURE(statement, substr) \ - do {\ - ::testing::TestPartResultArray gtest_failures;\ - ::testing::internal::SingleFailureChecker gtest_checker(\ - >est_failures, ::testing::TestPartResult::kNonFatalFailure, \ - (substr));\ - {\ - ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\ - ::testing::ScopedFakeTestPartResultReporter:: \ - INTERCEPT_ONLY_CURRENT_THREAD, >est_failures);\ - if (::testing::internal::AlwaysTrue()) { statement; }\ - }\ - } while (::testing::internal::AlwaysFalse()) - -#define EXPECT_NONFATAL_FAILURE_ON_ALL_THREADS(statement, substr) \ - do {\ - ::testing::TestPartResultArray gtest_failures;\ - ::testing::internal::SingleFailureChecker gtest_checker(\ - >est_failures, ::testing::TestPartResult::kNonFatalFailure, \ - (substr));\ - {\ - ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\ - ::testing::ScopedFakeTestPartResultReporter::INTERCEPT_ALL_THREADS, \ - >est_failures);\ - if (::testing::internal::AlwaysTrue()) { statement; }\ - }\ - } while (::testing::internal::AlwaysFalse()) - -#endif // GTEST_INCLUDE_GTEST_GTEST_SPI_H_ diff --git a/include/gtest/gtest-test-part.h b/include/gtest/gtest-test-part.h deleted file mode 100644 index 05a7985..0000000 --- a/include/gtest/gtest-test-part.h +++ /dev/null @@ -1,184 +0,0 @@ -// Copyright 2008, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_ -#define GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_ - -#include -#include -#include "gtest/internal/gtest-internal.h" -#include "gtest/internal/gtest-string.h" - -GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \ -/* class A needs to have dll-interface to be used by clients of class B */) - -namespace testing { - -// A copyable object representing the result of a test part (i.e. an -// assertion or an explicit FAIL(), ADD_FAILURE(), or SUCCESS()). -// -// Don't inherit from TestPartResult as its destructor is not virtual. -class GTEST_API_ TestPartResult { - public: - // The possible outcomes of a test part (i.e. an assertion or an - // explicit SUCCEED(), FAIL(), or ADD_FAILURE()). - enum Type { - kSuccess, // Succeeded. - kNonFatalFailure, // Failed but the test can continue. - kFatalFailure, // Failed and the test should be terminated. - kSkip // Skipped. - }; - - // C'tor. TestPartResult does NOT have a default constructor. - // Always use this constructor (with parameters) to create a - // TestPartResult object. - TestPartResult(Type a_type, const char* a_file_name, int a_line_number, - const char* a_message) - : type_(a_type), - file_name_(a_file_name == nullptr ? "" : a_file_name), - line_number_(a_line_number), - summary_(ExtractSummary(a_message)), - message_(a_message) {} - - // Gets the outcome of the test part. - Type type() const { return type_; } - - // Gets the name of the source file where the test part took place, or - // NULL if it's unknown. - const char* file_name() const { - return file_name_.empty() ? nullptr : file_name_.c_str(); - } - - // Gets the line in the source file where the test part took place, - // or -1 if it's unknown. - int line_number() const { return line_number_; } - - // Gets the summary of the failure message. - const char* summary() const { return summary_.c_str(); } - - // Gets the message associated with the test part. - const char* message() const { return message_.c_str(); } - - // Returns true if and only if the test part was skipped. - bool skipped() const { return type_ == kSkip; } - - // Returns true if and only if the test part passed. - bool passed() const { return type_ == kSuccess; } - - // Returns true if and only if the test part non-fatally failed. - bool nonfatally_failed() const { return type_ == kNonFatalFailure; } - - // Returns true if and only if the test part fatally failed. - bool fatally_failed() const { return type_ == kFatalFailure; } - - // Returns true if and only if the test part failed. - bool failed() const { return fatally_failed() || nonfatally_failed(); } - - private: - Type type_; - - // Gets the summary of the failure message by omitting the stack - // trace in it. - static std::string ExtractSummary(const char* message); - - // The name of the source file where the test part took place, or - // "" if the source file is unknown. - std::string file_name_; - // The line in the source file where the test part took place, or -1 - // if the line number is unknown. - int line_number_; - std::string summary_; // The test failure summary. - std::string message_; // The test failure message. -}; - -// Prints a TestPartResult object. -std::ostream& operator<<(std::ostream& os, const TestPartResult& result); - -// An array of TestPartResult objects. -// -// Don't inherit from TestPartResultArray as its destructor is not -// virtual. -class GTEST_API_ TestPartResultArray { - public: - TestPartResultArray() {} - - // Appends the given TestPartResult to the array. - void Append(const TestPartResult& result); - - // Returns the TestPartResult at the given index (0-based). - const TestPartResult& GetTestPartResult(int index) const; - - // Returns the number of TestPartResult objects in the array. - int size() const; - - private: - std::vector array_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(TestPartResultArray); -}; - -// This interface knows how to report a test part result. -class GTEST_API_ TestPartResultReporterInterface { - public: - virtual ~TestPartResultReporterInterface() {} - - virtual void ReportTestPartResult(const TestPartResult& result) = 0; -}; - -namespace internal { - -// This helper class is used by {ASSERT|EXPECT}_NO_FATAL_FAILURE to check if a -// statement generates new fatal failures. To do so it registers itself as the -// current test part result reporter. Besides checking if fatal failures were -// reported, it only delegates the reporting to the former result reporter. -// The original result reporter is restored in the destructor. -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -class GTEST_API_ HasNewFatalFailureHelper - : public TestPartResultReporterInterface { - public: - HasNewFatalFailureHelper(); - ~HasNewFatalFailureHelper() override; - void ReportTestPartResult(const TestPartResult& result) override; - bool has_new_fatal_failure() const { return has_new_fatal_failure_; } - private: - bool has_new_fatal_failure_; - TestPartResultReporterInterface* original_reporter_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(HasNewFatalFailureHelper); -}; - -} // namespace internal - -} // namespace testing - -GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251 - -#endif // GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_ diff --git a/include/gtest/gtest-typed-test.h b/include/gtest/gtest-typed-test.h deleted file mode 100644 index 095ce05..0000000 --- a/include/gtest/gtest-typed-test.h +++ /dev/null @@ -1,330 +0,0 @@ -// Copyright 2008 Google Inc. -// All Rights Reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_ -#define GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_ - -// This header implements typed tests and type-parameterized tests. - -// Typed (aka type-driven) tests repeat the same test for types in a -// list. You must know which types you want to test with when writing -// typed tests. Here's how you do it: - -#if 0 - -// First, define a fixture class template. It should be parameterized -// by a type. Remember to derive it from testing::Test. -template -class FooTest : public testing::Test { - public: - ... - typedef std::list List; - static T shared_; - T value_; -}; - -// Next, associate a list of types with the test suite, which will be -// repeated for each type in the list. The typedef is necessary for -// the macro to parse correctly. -typedef testing::Types MyTypes; -TYPED_TEST_SUITE(FooTest, MyTypes); - -// If the type list contains only one type, you can write that type -// directly without Types<...>: -// TYPED_TEST_SUITE(FooTest, int); - -// Then, use TYPED_TEST() instead of TEST_F() to define as many typed -// tests for this test suite as you want. -TYPED_TEST(FooTest, DoesBlah) { - // Inside a test, refer to the special name TypeParam to get the type - // parameter. Since we are inside a derived class template, C++ requires - // us to visit the members of FooTest via 'this'. - TypeParam n = this->value_; - - // To visit static members of the fixture, add the TestFixture:: - // prefix. - n += TestFixture::shared_; - - // To refer to typedefs in the fixture, add the "typename - // TestFixture::" prefix. - typename TestFixture::List values; - values.push_back(n); - ... -} - -TYPED_TEST(FooTest, HasPropertyA) { ... } - -// TYPED_TEST_SUITE takes an optional third argument which allows to specify a -// class that generates custom test name suffixes based on the type. This should -// be a class which has a static template function GetName(int index) returning -// a string for each type. The provided integer index equals the index of the -// type in the provided type list. In many cases the index can be ignored. -// -// For example: -// class MyTypeNames { -// public: -// template -// static std::string GetName(int) { -// if (std::is_same()) return "char"; -// if (std::is_same()) return "int"; -// if (std::is_same()) return "unsignedInt"; -// } -// }; -// TYPED_TEST_SUITE(FooTest, MyTypes, MyTypeNames); - -#endif // 0 - -// Type-parameterized tests are abstract test patterns parameterized -// by a type. Compared with typed tests, type-parameterized tests -// allow you to define the test pattern without knowing what the type -// parameters are. The defined pattern can be instantiated with -// different types any number of times, in any number of translation -// units. -// -// If you are designing an interface or concept, you can define a -// suite of type-parameterized tests to verify properties that any -// valid implementation of the interface/concept should have. Then, -// each implementation can easily instantiate the test suite to verify -// that it conforms to the requirements, without having to write -// similar tests repeatedly. Here's an example: - -#if 0 - -// First, define a fixture class template. It should be parameterized -// by a type. Remember to derive it from testing::Test. -template -class FooTest : public testing::Test { - ... -}; - -// Next, declare that you will define a type-parameterized test suite -// (the _P suffix is for "parameterized" or "pattern", whichever you -// prefer): -TYPED_TEST_SUITE_P(FooTest); - -// Then, use TYPED_TEST_P() to define as many type-parameterized tests -// for this type-parameterized test suite as you want. -TYPED_TEST_P(FooTest, DoesBlah) { - // Inside a test, refer to TypeParam to get the type parameter. - TypeParam n = 0; - ... -} - -TYPED_TEST_P(FooTest, HasPropertyA) { ... } - -// Now the tricky part: you need to register all test patterns before -// you can instantiate them. The first argument of the macro is the -// test suite name; the rest are the names of the tests in this test -// case. -REGISTER_TYPED_TEST_SUITE_P(FooTest, - DoesBlah, HasPropertyA); - -// Finally, you are free to instantiate the pattern with the types you -// want. If you put the above code in a header file, you can #include -// it in multiple C++ source files and instantiate it multiple times. -// -// To distinguish different instances of the pattern, the first -// argument to the INSTANTIATE_* macro is a prefix that will be added -// to the actual test suite name. Remember to pick unique prefixes for -// different instances. -typedef testing::Types MyTypes; -INSTANTIATE_TYPED_TEST_SUITE_P(My, FooTest, MyTypes); - -// If the type list contains only one type, you can write that type -// directly without Types<...>: -// INSTANTIATE_TYPED_TEST_SUITE_P(My, FooTest, int); -// -// Similar to the optional argument of TYPED_TEST_SUITE above, -// INSTANTIATE_TEST_SUITE_P takes an optional fourth argument which allows to -// generate custom names. -// INSTANTIATE_TYPED_TEST_SUITE_P(My, FooTest, MyTypes, MyTypeNames); - -#endif // 0 - -#include "gtest/internal/gtest-port.h" -#include "gtest/internal/gtest-type-util.h" - -// Implements typed tests. - -#if GTEST_HAS_TYPED_TEST - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// Expands to the name of the typedef for the type parameters of the -// given test suite. -#define GTEST_TYPE_PARAMS_(TestSuiteName) gtest_type_params_##TestSuiteName##_ - -// Expands to the name of the typedef for the NameGenerator, responsible for -// creating the suffixes of the name. -#define GTEST_NAME_GENERATOR_(TestSuiteName) \ - gtest_type_params_##TestSuiteName##_NameGenerator - -#define TYPED_TEST_SUITE(CaseName, Types, ...) \ - typedef ::testing::internal::TypeList::type GTEST_TYPE_PARAMS_( \ - CaseName); \ - typedef ::testing::internal::NameGeneratorSelector<__VA_ARGS__>::type \ - GTEST_NAME_GENERATOR_(CaseName) - -# define TYPED_TEST(CaseName, TestName) \ - template \ - class GTEST_TEST_CLASS_NAME_(CaseName, TestName) \ - : public CaseName { \ - private: \ - typedef CaseName TestFixture; \ - typedef gtest_TypeParam_ TypeParam; \ - virtual void TestBody(); \ - }; \ - static bool gtest_##CaseName##_##TestName##_registered_ \ - GTEST_ATTRIBUTE_UNUSED_ = \ - ::testing::internal::TypeParameterizedTest< \ - CaseName, \ - ::testing::internal::TemplateSel, \ - GTEST_TYPE_PARAMS_( \ - CaseName)>::Register("", \ - ::testing::internal::CodeLocation( \ - __FILE__, __LINE__), \ - #CaseName, #TestName, 0, \ - ::testing::internal::GenerateNames< \ - GTEST_NAME_GENERATOR_(CaseName), \ - GTEST_TYPE_PARAMS_(CaseName)>()); \ - template \ - void GTEST_TEST_CLASS_NAME_(CaseName, \ - TestName)::TestBody() - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ -#define TYPED_TEST_CASE \ - static_assert(::testing::internal::TypedTestCaseIsDeprecated(), ""); \ - TYPED_TEST_SUITE -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - -#endif // GTEST_HAS_TYPED_TEST - -// Implements type-parameterized tests. - -#if GTEST_HAS_TYPED_TEST_P - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// Expands to the namespace name that the type-parameterized tests for -// the given type-parameterized test suite are defined in. The exact -// name of the namespace is subject to change without notice. -#define GTEST_SUITE_NAMESPACE_(TestSuiteName) gtest_suite_##TestSuiteName##_ - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// Expands to the name of the variable used to remember the names of -// the defined tests in the given test suite. -#define GTEST_TYPED_TEST_SUITE_P_STATE_(TestSuiteName) \ - gtest_typed_test_suite_p_state_##TestSuiteName##_ - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE DIRECTLY. -// -// Expands to the name of the variable used to remember the names of -// the registered tests in the given test suite. -#define GTEST_REGISTERED_TEST_NAMES_(TestSuiteName) \ - gtest_registered_test_names_##TestSuiteName##_ - -// The variables defined in the type-parameterized test macros are -// static as typically these macros are used in a .h file that can be -// #included in multiple translation units linked together. -#define TYPED_TEST_SUITE_P(SuiteName) \ - static ::testing::internal::TypedTestSuitePState \ - GTEST_TYPED_TEST_SUITE_P_STATE_(SuiteName) - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ -#define TYPED_TEST_CASE_P \ - static_assert(::testing::internal::TypedTestCase_P_IsDeprecated(), ""); \ - TYPED_TEST_SUITE_P -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - -#define TYPED_TEST_P(SuiteName, TestName) \ - namespace GTEST_SUITE_NAMESPACE_(SuiteName) { \ - template \ - class TestName : public SuiteName { \ - private: \ - typedef SuiteName TestFixture; \ - typedef gtest_TypeParam_ TypeParam; \ - virtual void TestBody(); \ - }; \ - static bool gtest_##TestName##_defined_ GTEST_ATTRIBUTE_UNUSED_ = \ - GTEST_TYPED_TEST_SUITE_P_STATE_(SuiteName).AddTestName( \ - __FILE__, __LINE__, #SuiteName, #TestName); \ - } \ - template \ - void GTEST_SUITE_NAMESPACE_( \ - SuiteName)::TestName::TestBody() - -#define REGISTER_TYPED_TEST_SUITE_P(SuiteName, ...) \ - namespace GTEST_SUITE_NAMESPACE_(SuiteName) { \ - typedef ::testing::internal::Templates<__VA_ARGS__>::type gtest_AllTests_; \ - } \ - static const char* const GTEST_REGISTERED_TEST_NAMES_( \ - SuiteName) GTEST_ATTRIBUTE_UNUSED_ = \ - GTEST_TYPED_TEST_SUITE_P_STATE_(SuiteName).VerifyRegisteredTestNames( \ - __FILE__, __LINE__, #__VA_ARGS__) - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ -#define REGISTER_TYPED_TEST_CASE_P \ - static_assert(::testing::internal::RegisterTypedTestCase_P_IsDeprecated(), \ - ""); \ - REGISTER_TYPED_TEST_SUITE_P -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - -#define INSTANTIATE_TYPED_TEST_SUITE_P(Prefix, SuiteName, Types, ...) \ - static bool gtest_##Prefix##_##SuiteName GTEST_ATTRIBUTE_UNUSED_ = \ - ::testing::internal::TypeParameterizedTestSuite< \ - SuiteName, GTEST_SUITE_NAMESPACE_(SuiteName)::gtest_AllTests_, \ - ::testing::internal::TypeList::type>:: \ - Register(#Prefix, \ - ::testing::internal::CodeLocation(__FILE__, __LINE__), \ - >EST_TYPED_TEST_SUITE_P_STATE_(SuiteName), #SuiteName, \ - GTEST_REGISTERED_TEST_NAMES_(SuiteName), \ - ::testing::internal::GenerateNames< \ - ::testing::internal::NameGeneratorSelector< \ - __VA_ARGS__>::type, \ - ::testing::internal::TypeList::type>()) - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ -#define INSTANTIATE_TYPED_TEST_CASE_P \ - static_assert( \ - ::testing::internal::InstantiateTypedTestCase_P_IsDeprecated(), ""); \ - INSTANTIATE_TYPED_TEST_SUITE_P -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - -#endif // GTEST_HAS_TYPED_TEST_P - -#endif // GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_ diff --git a/include/gtest/gtest.h b/include/gtest/gtest.h deleted file mode 100644 index dbe5b1c..0000000 --- a/include/gtest/gtest.h +++ /dev/null @@ -1,2478 +0,0 @@ -// Copyright 2005, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// -// The Google C++ Testing and Mocking Framework (Google Test) -// -// This header file defines the public API for Google Test. It should be -// included by any test program that uses Google Test. -// -// IMPORTANT NOTE: Due to limitation of the C++ language, we have to -// leave some internal implementation details in this header file. -// They are clearly marked by comments like this: -// -// // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -// -// Such code is NOT meant to be used by a user directly, and is subject -// to CHANGE WITHOUT NOTICE. Therefore DO NOT DEPEND ON IT in a user -// program! -// -// Acknowledgment: Google Test borrowed the idea of automatic test -// registration from Barthelemy Dagenais' (barthelemy@prologique.com) -// easyUnit framework. - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_GTEST_H_ -#define GTEST_INCLUDE_GTEST_GTEST_H_ - -#include -#include -#include -#include -#include -#include - -#include "gtest/internal/gtest-internal.h" -#include "gtest/internal/gtest-string.h" -#include "gtest/gtest-death-test.h" -#include "gtest/gtest-matchers.h" -#include "gtest/gtest-message.h" -#include "gtest/gtest-param-test.h" -#include "gtest/gtest-printers.h" -#include "gtest/gtest_prod.h" -#include "gtest/gtest-test-part.h" -#include "gtest/gtest-typed-test.h" - -GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \ -/* class A needs to have dll-interface to be used by clients of class B */) - -namespace testing { - -// Silence C4100 (unreferenced formal parameter) and 4805 -// unsafe mix of type 'const int' and type 'const bool' -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable:4805) -# pragma warning(disable:4100) -#endif - - -// Declares the flags. - -// This flag temporary enables the disabled tests. -GTEST_DECLARE_bool_(also_run_disabled_tests); - -// This flag brings the debugger on an assertion failure. -GTEST_DECLARE_bool_(break_on_failure); - -// This flag controls whether Google Test catches all test-thrown exceptions -// and logs them as failures. -GTEST_DECLARE_bool_(catch_exceptions); - -// This flag enables using colors in terminal output. Available values are -// "yes" to enable colors, "no" (disable colors), or "auto" (the default) -// to let Google Test decide. -GTEST_DECLARE_string_(color); - -// This flag sets up the filter to select by name using a glob pattern -// the tests to run. If the filter is not given all tests are executed. -GTEST_DECLARE_string_(filter); - -// This flag controls whether Google Test installs a signal handler that dumps -// debugging information when fatal signals are raised. -GTEST_DECLARE_bool_(install_failure_signal_handler); - -// This flag causes the Google Test to list tests. None of the tests listed -// are actually run if the flag is provided. -GTEST_DECLARE_bool_(list_tests); - -// This flag controls whether Google Test emits a detailed XML report to a file -// in addition to its normal textual output. -GTEST_DECLARE_string_(output); - -// This flags control whether Google Test prints the elapsed time for each -// test. -GTEST_DECLARE_bool_(print_time); - -// This flags control whether Google Test prints UTF8 characters as text. -GTEST_DECLARE_bool_(print_utf8); - -// This flag specifies the random number seed. -GTEST_DECLARE_int32_(random_seed); - -// This flag sets how many times the tests are repeated. The default value -// is 1. If the value is -1 the tests are repeating forever. -GTEST_DECLARE_int32_(repeat); - -// This flag controls whether Google Test includes Google Test internal -// stack frames in failure stack traces. -GTEST_DECLARE_bool_(show_internal_stack_frames); - -// When this flag is specified, tests' order is randomized on every iteration. -GTEST_DECLARE_bool_(shuffle); - -// This flag specifies the maximum number of stack frames to be -// printed in a failure message. -GTEST_DECLARE_int32_(stack_trace_depth); - -// When this flag is specified, a failed assertion will throw an -// exception if exceptions are enabled, or exit the program with a -// non-zero code otherwise. For use with an external test framework. -GTEST_DECLARE_bool_(throw_on_failure); - -// When this flag is set with a "host:port" string, on supported -// platforms test results are streamed to the specified port on -// the specified host machine. -GTEST_DECLARE_string_(stream_result_to); - -#if GTEST_USE_OWN_FLAGFILE_FLAG_ -GTEST_DECLARE_string_(flagfile); -#endif // GTEST_USE_OWN_FLAGFILE_FLAG_ - -// The upper limit for valid stack trace depths. -const int kMaxStackTraceDepth = 100; - -namespace internal { - -class AssertHelper; -class DefaultGlobalTestPartResultReporter; -class ExecDeathTest; -class NoExecDeathTest; -class FinalSuccessChecker; -class GTestFlagSaver; -class StreamingListenerTest; -class TestResultAccessor; -class TestEventListenersAccessor; -class TestEventRepeater; -class UnitTestRecordPropertyTestHelper; -class WindowsDeathTest; -class FuchsiaDeathTest; -class UnitTestImpl* GetUnitTestImpl(); -void ReportFailureInUnknownLocation(TestPartResult::Type result_type, - const std::string& message); - -} // namespace internal - -// The friend relationship of some of these classes is cyclic. -// If we don't forward declare them the compiler might confuse the classes -// in friendship clauses with same named classes on the scope. -class Test; -class TestSuite; - -// Old API is still available but deprecated -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ -using TestCase = TestSuite; -#endif -class TestInfo; -class UnitTest; - -// A class for indicating whether an assertion was successful. When -// the assertion wasn't successful, the AssertionResult object -// remembers a non-empty message that describes how it failed. -// -// To create an instance of this class, use one of the factory functions -// (AssertionSuccess() and AssertionFailure()). -// -// This class is useful for two purposes: -// 1. Defining predicate functions to be used with Boolean test assertions -// EXPECT_TRUE/EXPECT_FALSE and their ASSERT_ counterparts -// 2. Defining predicate-format functions to be -// used with predicate assertions (ASSERT_PRED_FORMAT*, etc). -// -// For example, if you define IsEven predicate: -// -// testing::AssertionResult IsEven(int n) { -// if ((n % 2) == 0) -// return testing::AssertionSuccess(); -// else -// return testing::AssertionFailure() << n << " is odd"; -// } -// -// Then the failed expectation EXPECT_TRUE(IsEven(Fib(5))) -// will print the message -// -// Value of: IsEven(Fib(5)) -// Actual: false (5 is odd) -// Expected: true -// -// instead of a more opaque -// -// Value of: IsEven(Fib(5)) -// Actual: false -// Expected: true -// -// in case IsEven is a simple Boolean predicate. -// -// If you expect your predicate to be reused and want to support informative -// messages in EXPECT_FALSE and ASSERT_FALSE (negative assertions show up -// about half as often as positive ones in our tests), supply messages for -// both success and failure cases: -// -// testing::AssertionResult IsEven(int n) { -// if ((n % 2) == 0) -// return testing::AssertionSuccess() << n << " is even"; -// else -// return testing::AssertionFailure() << n << " is odd"; -// } -// -// Then a statement EXPECT_FALSE(IsEven(Fib(6))) will print -// -// Value of: IsEven(Fib(6)) -// Actual: true (8 is even) -// Expected: false -// -// NB: Predicates that support negative Boolean assertions have reduced -// performance in positive ones so be careful not to use them in tests -// that have lots (tens of thousands) of positive Boolean assertions. -// -// To use this class with EXPECT_PRED_FORMAT assertions such as: -// -// // Verifies that Foo() returns an even number. -// EXPECT_PRED_FORMAT1(IsEven, Foo()); -// -// you need to define: -// -// testing::AssertionResult IsEven(const char* expr, int n) { -// if ((n % 2) == 0) -// return testing::AssertionSuccess(); -// else -// return testing::AssertionFailure() -// << "Expected: " << expr << " is even\n Actual: it's " << n; -// } -// -// If Foo() returns 5, you will see the following message: -// -// Expected: Foo() is even -// Actual: it's 5 -// -class GTEST_API_ AssertionResult { - public: - // Copy constructor. - // Used in EXPECT_TRUE/FALSE(assertion_result). - AssertionResult(const AssertionResult& other); - -#if defined(_MSC_VER) && _MSC_VER < 1910 - GTEST_DISABLE_MSC_WARNINGS_PUSH_(4800 /* forcing value to bool */) -#endif - - // Used in the EXPECT_TRUE/FALSE(bool_expression). - // - // T must be contextually convertible to bool. - // - // The second parameter prevents this overload from being considered if - // the argument is implicitly convertible to AssertionResult. In that case - // we want AssertionResult's copy constructor to be used. - template - explicit AssertionResult( - const T& success, - typename std::enable_if< - !std::is_convertible::value>::type* - /*enabler*/ - = nullptr) - : success_(success) {} - -#if defined(_MSC_VER) && _MSC_VER < 1910 - GTEST_DISABLE_MSC_WARNINGS_POP_() -#endif - - // Assignment operator. - AssertionResult& operator=(AssertionResult other) { - swap(other); - return *this; - } - - // Returns true if and only if the assertion succeeded. - operator bool() const { return success_; } // NOLINT - - // Returns the assertion's negation. Used with EXPECT/ASSERT_FALSE. - AssertionResult operator!() const; - - // Returns the text streamed into this AssertionResult. Test assertions - // use it when they fail (i.e., the predicate's outcome doesn't match the - // assertion's expectation). When nothing has been streamed into the - // object, returns an empty string. - const char* message() const { - return message_.get() != nullptr ? message_->c_str() : ""; - } - // Deprecated; please use message() instead. - const char* failure_message() const { return message(); } - - // Streams a custom failure message into this object. - template AssertionResult& operator<<(const T& value) { - AppendMessage(Message() << value); - return *this; - } - - // Allows streaming basic output manipulators such as endl or flush into - // this object. - AssertionResult& operator<<( - ::std::ostream& (*basic_manipulator)(::std::ostream& stream)) { - AppendMessage(Message() << basic_manipulator); - return *this; - } - - private: - // Appends the contents of message to message_. - void AppendMessage(const Message& a_message) { - if (message_.get() == nullptr) message_.reset(new ::std::string); - message_->append(a_message.GetString().c_str()); - } - - // Swap the contents of this AssertionResult with other. - void swap(AssertionResult& other); - - // Stores result of the assertion predicate. - bool success_; - // Stores the message describing the condition in case the expectation - // construct is not satisfied with the predicate's outcome. - // Referenced via a pointer to avoid taking too much stack frame space - // with test assertions. - std::unique_ptr< ::std::string> message_; -}; - -// Makes a successful assertion result. -GTEST_API_ AssertionResult AssertionSuccess(); - -// Makes a failed assertion result. -GTEST_API_ AssertionResult AssertionFailure(); - -// Makes a failed assertion result with the given failure message. -// Deprecated; use AssertionFailure() << msg. -GTEST_API_ AssertionResult AssertionFailure(const Message& msg); - -} // namespace testing - -// Includes the auto-generated header that implements a family of generic -// predicate assertion macros. This include comes late because it relies on -// APIs declared above. -#include "gtest/gtest_pred_impl.h" - -namespace testing { - -// The abstract class that all tests inherit from. -// -// In Google Test, a unit test program contains one or many TestSuites, and -// each TestSuite contains one or many Tests. -// -// When you define a test using the TEST macro, you don't need to -// explicitly derive from Test - the TEST macro automatically does -// this for you. -// -// The only time you derive from Test is when defining a test fixture -// to be used in a TEST_F. For example: -// -// class FooTest : public testing::Test { -// protected: -// void SetUp() override { ... } -// void TearDown() override { ... } -// ... -// }; -// -// TEST_F(FooTest, Bar) { ... } -// TEST_F(FooTest, Baz) { ... } -// -// Test is not copyable. -class GTEST_API_ Test { - public: - friend class TestInfo; - - // The d'tor is virtual as we intend to inherit from Test. - virtual ~Test(); - - // Sets up the stuff shared by all tests in this test case. - // - // Google Test will call Foo::SetUpTestSuite() before running the first - // test in test case Foo. Hence a sub-class can define its own - // SetUpTestSuite() method to shadow the one defined in the super - // class. - // Failures that happen during SetUpTestSuite are logged but otherwise - // ignored. - static void SetUpTestSuite() {} - - // Tears down the stuff shared by all tests in this test suite. - // - // Google Test will call Foo::TearDownTestSuite() after running the last - // test in test case Foo. Hence a sub-class can define its own - // TearDownTestSuite() method to shadow the one defined in the super - // class. - // Failures that happen during TearDownTestSuite are logged but otherwise - // ignored. - static void TearDownTestSuite() {} - - // Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - static void TearDownTestCase() {} - static void SetUpTestCase() {} -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - - // Returns true if and only if the current test has a fatal failure. - static bool HasFatalFailure(); - - // Returns true if and only if the current test has a non-fatal failure. - static bool HasNonfatalFailure(); - - // Returns true if and only if the current test was skipped. - static bool IsSkipped(); - - // Returns true if and only if the current test has a (either fatal or - // non-fatal) failure. - static bool HasFailure() { return HasFatalFailure() || HasNonfatalFailure(); } - - // Logs a property for the current test, test suite, or for the entire - // invocation of the test program when used outside of the context of a - // test suite. Only the last value for a given key is remembered. These - // are public static so they can be called from utility functions that are - // not members of the test fixture. Calls to RecordProperty made during - // lifespan of the test (from the moment its constructor starts to the - // moment its destructor finishes) will be output in XML as attributes of - // the element. Properties recorded from fixture's - // SetUpTestSuite or TearDownTestSuite are logged as attributes of the - // corresponding element. Calls to RecordProperty made in the - // global context (before or after invocation of RUN_ALL_TESTS and from - // SetUp/TearDown method of Environment objects registered with Google - // Test) will be output as attributes of the element. - static void RecordProperty(const std::string& key, const std::string& value); - static void RecordProperty(const std::string& key, int value); - - protected: - // Creates a Test object. - Test(); - - // Sets up the test fixture. - virtual void SetUp(); - - // Tears down the test fixture. - virtual void TearDown(); - - private: - // Returns true if and only if the current test has the same fixture class - // as the first test in the current test suite. - static bool HasSameFixtureClass(); - - // Runs the test after the test fixture has been set up. - // - // A sub-class must implement this to define the test logic. - // - // DO NOT OVERRIDE THIS FUNCTION DIRECTLY IN A USER PROGRAM. - // Instead, use the TEST or TEST_F macro. - virtual void TestBody() = 0; - - // Sets up, executes, and tears down the test. - void Run(); - - // Deletes self. We deliberately pick an unusual name for this - // internal method to avoid clashing with names used in user TESTs. - void DeleteSelf_() { delete this; } - - const std::unique_ptr gtest_flag_saver_; - - // Often a user misspells SetUp() as Setup() and spends a long time - // wondering why it is never called by Google Test. The declaration of - // the following method is solely for catching such an error at - // compile time: - // - // - The return type is deliberately chosen to be not void, so it - // will be a conflict if void Setup() is declared in the user's - // test fixture. - // - // - This method is private, so it will be another compiler error - // if the method is called from the user's test fixture. - // - // DO NOT OVERRIDE THIS FUNCTION. - // - // If you see an error about overriding the following function or - // about it being private, you have mis-spelled SetUp() as Setup(). - struct Setup_should_be_spelled_SetUp {}; - virtual Setup_should_be_spelled_SetUp* Setup() { return nullptr; } - - // We disallow copying Tests. - GTEST_DISALLOW_COPY_AND_ASSIGN_(Test); -}; - -typedef internal::TimeInMillis TimeInMillis; - -// A copyable object representing a user specified test property which can be -// output as a key/value string pair. -// -// Don't inherit from TestProperty as its destructor is not virtual. -class TestProperty { - public: - // C'tor. TestProperty does NOT have a default constructor. - // Always use this constructor (with parameters) to create a - // TestProperty object. - TestProperty(const std::string& a_key, const std::string& a_value) : - key_(a_key), value_(a_value) { - } - - // Gets the user supplied key. - const char* key() const { - return key_.c_str(); - } - - // Gets the user supplied value. - const char* value() const { - return value_.c_str(); - } - - // Sets a new value, overriding the one supplied in the constructor. - void SetValue(const std::string& new_value) { - value_ = new_value; - } - - private: - // The key supplied by the user. - std::string key_; - // The value supplied by the user. - std::string value_; -}; - -// The result of a single Test. This includes a list of -// TestPartResults, a list of TestProperties, a count of how many -// death tests there are in the Test, and how much time it took to run -// the Test. -// -// TestResult is not copyable. -class GTEST_API_ TestResult { - public: - // Creates an empty TestResult. - TestResult(); - - // D'tor. Do not inherit from TestResult. - ~TestResult(); - - // Gets the number of all test parts. This is the sum of the number - // of successful test parts and the number of failed test parts. - int total_part_count() const; - - // Returns the number of the test properties. - int test_property_count() const; - - // Returns true if and only if the test passed (i.e. no test part failed). - bool Passed() const { return !Skipped() && !Failed(); } - - // Returns true if and only if the test was skipped. - bool Skipped() const; - - // Returns true if and only if the test failed. - bool Failed() const; - - // Returns true if and only if the test fatally failed. - bool HasFatalFailure() const; - - // Returns true if and only if the test has a non-fatal failure. - bool HasNonfatalFailure() const; - - // Returns the elapsed time, in milliseconds. - TimeInMillis elapsed_time() const { return elapsed_time_; } - - // Gets the time of the test case start, in ms from the start of the - // UNIX epoch. - TimeInMillis start_timestamp() const { return start_timestamp_; } - - // Returns the i-th test part result among all the results. i can range from 0 - // to total_part_count() - 1. If i is not in that range, aborts the program. - const TestPartResult& GetTestPartResult(int i) const; - - // Returns the i-th test property. i can range from 0 to - // test_property_count() - 1. If i is not in that range, aborts the - // program. - const TestProperty& GetTestProperty(int i) const; - - private: - friend class TestInfo; - friend class TestSuite; - friend class UnitTest; - friend class internal::DefaultGlobalTestPartResultReporter; - friend class internal::ExecDeathTest; - friend class internal::TestResultAccessor; - friend class internal::UnitTestImpl; - friend class internal::WindowsDeathTest; - friend class internal::FuchsiaDeathTest; - - // Gets the vector of TestPartResults. - const std::vector& test_part_results() const { - return test_part_results_; - } - - // Gets the vector of TestProperties. - const std::vector& test_properties() const { - return test_properties_; - } - - // Sets the start time. - void set_start_timestamp(TimeInMillis start) { start_timestamp_ = start; } - - // Sets the elapsed time. - void set_elapsed_time(TimeInMillis elapsed) { elapsed_time_ = elapsed; } - - // Adds a test property to the list. The property is validated and may add - // a non-fatal failure if invalid (e.g., if it conflicts with reserved - // key names). If a property is already recorded for the same key, the - // value will be updated, rather than storing multiple values for the same - // key. xml_element specifies the element for which the property is being - // recorded and is used for validation. - void RecordProperty(const std::string& xml_element, - const TestProperty& test_property); - - // Adds a failure if the key is a reserved attribute of Google Test - // testsuite tags. Returns true if the property is valid. - // FIXME: Validate attribute names are legal and human readable. - static bool ValidateTestProperty(const std::string& xml_element, - const TestProperty& test_property); - - // Adds a test part result to the list. - void AddTestPartResult(const TestPartResult& test_part_result); - - // Returns the death test count. - int death_test_count() const { return death_test_count_; } - - // Increments the death test count, returning the new count. - int increment_death_test_count() { return ++death_test_count_; } - - // Clears the test part results. - void ClearTestPartResults(); - - // Clears the object. - void Clear(); - - // Protects mutable state of the property vector and of owned - // properties, whose values may be updated. - internal::Mutex test_properites_mutex_; - - // The vector of TestPartResults - std::vector test_part_results_; - // The vector of TestProperties - std::vector test_properties_; - // Running count of death tests. - int death_test_count_; - // The start time, in milliseconds since UNIX Epoch. - TimeInMillis start_timestamp_; - // The elapsed time, in milliseconds. - TimeInMillis elapsed_time_; - - // We disallow copying TestResult. - GTEST_DISALLOW_COPY_AND_ASSIGN_(TestResult); -}; // class TestResult - -// A TestInfo object stores the following information about a test: -// -// Test suite name -// Test name -// Whether the test should be run -// A function pointer that creates the test object when invoked -// Test result -// -// The constructor of TestInfo registers itself with the UnitTest -// singleton such that the RUN_ALL_TESTS() macro knows which tests to -// run. -class GTEST_API_ TestInfo { - public: - // Destructs a TestInfo object. This function is not virtual, so - // don't inherit from TestInfo. - ~TestInfo(); - - // Returns the test suite name. - const char* test_suite_name() const { return test_suite_name_.c_str(); } - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - const char* test_case_name() const { return test_suite_name(); } -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - - // Returns the test name. - const char* name() const { return name_.c_str(); } - - // Returns the name of the parameter type, or NULL if this is not a typed - // or a type-parameterized test. - const char* type_param() const { - if (type_param_.get() != nullptr) return type_param_->c_str(); - return nullptr; - } - - // Returns the text representation of the value parameter, or NULL if this - // is not a value-parameterized test. - const char* value_param() const { - if (value_param_.get() != nullptr) return value_param_->c_str(); - return nullptr; - } - - // Returns the file name where this test is defined. - const char* file() const { return location_.file.c_str(); } - - // Returns the line where this test is defined. - int line() const { return location_.line; } - - // Return true if this test should not be run because it's in another shard. - bool is_in_another_shard() const { return is_in_another_shard_; } - - // Returns true if this test should run, that is if the test is not - // disabled (or it is disabled but the also_run_disabled_tests flag has - // been specified) and its full name matches the user-specified filter. - // - // Google Test allows the user to filter the tests by their full names. - // The full name of a test Bar in test suite Foo is defined as - // "Foo.Bar". Only the tests that match the filter will run. - // - // A filter is a colon-separated list of glob (not regex) patterns, - // optionally followed by a '-' and a colon-separated list of - // negative patterns (tests to exclude). A test is run if it - // matches one of the positive patterns and does not match any of - // the negative patterns. - // - // For example, *A*:Foo.* is a filter that matches any string that - // contains the character 'A' or starts with "Foo.". - bool should_run() const { return should_run_; } - - // Returns true if and only if this test will appear in the XML report. - bool is_reportable() const { - // The XML report includes tests matching the filter, excluding those - // run in other shards. - return matches_filter_ && !is_in_another_shard_; - } - - // Returns the result of the test. - const TestResult* result() const { return &result_; } - - private: -#if GTEST_HAS_DEATH_TEST - friend class internal::DefaultDeathTestFactory; -#endif // GTEST_HAS_DEATH_TEST - friend class Test; - friend class TestSuite; - friend class internal::UnitTestImpl; - friend class internal::StreamingListenerTest; - friend TestInfo* internal::MakeAndRegisterTestInfo( - const char* test_suite_name, const char* name, const char* type_param, - const char* value_param, internal::CodeLocation code_location, - internal::TypeId fixture_class_id, internal::SetUpTestSuiteFunc set_up_tc, - internal::TearDownTestSuiteFunc tear_down_tc, - internal::TestFactoryBase* factory); - - // Constructs a TestInfo object. The newly constructed instance assumes - // ownership of the factory object. - TestInfo(const std::string& test_suite_name, const std::string& name, - const char* a_type_param, // NULL if not a type-parameterized test - const char* a_value_param, // NULL if not a value-parameterized test - internal::CodeLocation a_code_location, - internal::TypeId fixture_class_id, - internal::TestFactoryBase* factory); - - // Increments the number of death tests encountered in this test so - // far. - int increment_death_test_count() { - return result_.increment_death_test_count(); - } - - // Creates the test object, runs it, records its result, and then - // deletes it. - void Run(); - - static void ClearTestResult(TestInfo* test_info) { - test_info->result_.Clear(); - } - - // These fields are immutable properties of the test. - const std::string test_suite_name_; // test suite name - const std::string name_; // Test name - // Name of the parameter type, or NULL if this is not a typed or a - // type-parameterized test. - const std::unique_ptr type_param_; - // Text representation of the value parameter, or NULL if this is not a - // value-parameterized test. - const std::unique_ptr value_param_; - internal::CodeLocation location_; - const internal::TypeId fixture_class_id_; // ID of the test fixture class - bool should_run_; // True if and only if this test should run - bool is_disabled_; // True if and only if this test is disabled - bool matches_filter_; // True if this test matches the - // user-specified filter. - bool is_in_another_shard_; // Will be run in another shard. - internal::TestFactoryBase* const factory_; // The factory that creates - // the test object - - // This field is mutable and needs to be reset before running the - // test for the second time. - TestResult result_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(TestInfo); -}; - -// A test suite, which consists of a vector of TestInfos. -// -// TestSuite is not copyable. -class GTEST_API_ TestSuite { - public: - // Creates a TestSuite with the given name. - // - // TestSuite does NOT have a default constructor. Always use this - // constructor to create a TestSuite object. - // - // Arguments: - // - // name: name of the test suite - // a_type_param: the name of the test's type parameter, or NULL if - // this is not a type-parameterized test. - // set_up_tc: pointer to the function that sets up the test suite - // tear_down_tc: pointer to the function that tears down the test suite - TestSuite(const char* name, const char* a_type_param, - internal::SetUpTestSuiteFunc set_up_tc, - internal::TearDownTestSuiteFunc tear_down_tc); - - // Destructor of TestSuite. - virtual ~TestSuite(); - - // Gets the name of the TestSuite. - const char* name() const { return name_.c_str(); } - - // Returns the name of the parameter type, or NULL if this is not a - // type-parameterized test suite. - const char* type_param() const { - if (type_param_.get() != nullptr) return type_param_->c_str(); - return nullptr; - } - - // Returns true if any test in this test suite should run. - bool should_run() const { return should_run_; } - - // Gets the number of successful tests in this test suite. - int successful_test_count() const; - - // Gets the number of skipped tests in this test suite. - int skipped_test_count() const; - - // Gets the number of failed tests in this test suite. - int failed_test_count() const; - - // Gets the number of disabled tests that will be reported in the XML report. - int reportable_disabled_test_count() const; - - // Gets the number of disabled tests in this test suite. - int disabled_test_count() const; - - // Gets the number of tests to be printed in the XML report. - int reportable_test_count() const; - - // Get the number of tests in this test suite that should run. - int test_to_run_count() const; - - // Gets the number of all tests in this test suite. - int total_test_count() const; - - // Returns true if and only if the test suite passed. - bool Passed() const { return !Failed(); } - - // Returns true if and only if the test suite failed. - bool Failed() const { return failed_test_count() > 0; } - - // Returns the elapsed time, in milliseconds. - TimeInMillis elapsed_time() const { return elapsed_time_; } - - // Gets the time of the test suite start, in ms from the start of the - // UNIX epoch. - TimeInMillis start_timestamp() const { return start_timestamp_; } - - // Returns the i-th test among all the tests. i can range from 0 to - // total_test_count() - 1. If i is not in that range, returns NULL. - const TestInfo* GetTestInfo(int i) const; - - // Returns the TestResult that holds test properties recorded during - // execution of SetUpTestSuite and TearDownTestSuite. - const TestResult& ad_hoc_test_result() const { return ad_hoc_test_result_; } - - private: - friend class Test; - friend class internal::UnitTestImpl; - - // Gets the (mutable) vector of TestInfos in this TestSuite. - std::vector& test_info_list() { return test_info_list_; } - - // Gets the (immutable) vector of TestInfos in this TestSuite. - const std::vector& test_info_list() const { - return test_info_list_; - } - - // Returns the i-th test among all the tests. i can range from 0 to - // total_test_count() - 1. If i is not in that range, returns NULL. - TestInfo* GetMutableTestInfo(int i); - - // Sets the should_run member. - void set_should_run(bool should) { should_run_ = should; } - - // Adds a TestInfo to this test suite. Will delete the TestInfo upon - // destruction of the TestSuite object. - void AddTestInfo(TestInfo * test_info); - - // Clears the results of all tests in this test suite. - void ClearResult(); - - // Clears the results of all tests in the given test suite. - static void ClearTestSuiteResult(TestSuite* test_suite) { - test_suite->ClearResult(); - } - - // Runs every test in this TestSuite. - void Run(); - - // Runs SetUpTestSuite() for this TestSuite. This wrapper is needed - // for catching exceptions thrown from SetUpTestSuite(). - void RunSetUpTestSuite() { - if (set_up_tc_ != nullptr) { - (*set_up_tc_)(); - } - } - - // Runs TearDownTestSuite() for this TestSuite. This wrapper is - // needed for catching exceptions thrown from TearDownTestSuite(). - void RunTearDownTestSuite() { - if (tear_down_tc_ != nullptr) { - (*tear_down_tc_)(); - } - } - - // Returns true if and only if test passed. - static bool TestPassed(const TestInfo* test_info) { - return test_info->should_run() && test_info->result()->Passed(); - } - - // Returns true if and only if test skipped. - static bool TestSkipped(const TestInfo* test_info) { - return test_info->should_run() && test_info->result()->Skipped(); - } - - // Returns true if and only if test failed. - static bool TestFailed(const TestInfo* test_info) { - return test_info->should_run() && test_info->result()->Failed(); - } - - // Returns true if and only if the test is disabled and will be reported in - // the XML report. - static bool TestReportableDisabled(const TestInfo* test_info) { - return test_info->is_reportable() && test_info->is_disabled_; - } - - // Returns true if and only if test is disabled. - static bool TestDisabled(const TestInfo* test_info) { - return test_info->is_disabled_; - } - - // Returns true if and only if this test will appear in the XML report. - static bool TestReportable(const TestInfo* test_info) { - return test_info->is_reportable(); - } - - // Returns true if the given test should run. - static bool ShouldRunTest(const TestInfo* test_info) { - return test_info->should_run(); - } - - // Shuffles the tests in this test suite. - void ShuffleTests(internal::Random* random); - - // Restores the test order to before the first shuffle. - void UnshuffleTests(); - - // Name of the test suite. - std::string name_; - // Name of the parameter type, or NULL if this is not a typed or a - // type-parameterized test. - const std::unique_ptr type_param_; - // The vector of TestInfos in their original order. It owns the - // elements in the vector. - std::vector test_info_list_; - // Provides a level of indirection for the test list to allow easy - // shuffling and restoring the test order. The i-th element in this - // vector is the index of the i-th test in the shuffled test list. - std::vector test_indices_; - // Pointer to the function that sets up the test suite. - internal::SetUpTestSuiteFunc set_up_tc_; - // Pointer to the function that tears down the test suite. - internal::TearDownTestSuiteFunc tear_down_tc_; - // True if and only if any test in this test suite should run. - bool should_run_; - // The start time, in milliseconds since UNIX Epoch. - TimeInMillis start_timestamp_; - // Elapsed time, in milliseconds. - TimeInMillis elapsed_time_; - // Holds test properties recorded during execution of SetUpTestSuite and - // TearDownTestSuite. - TestResult ad_hoc_test_result_; - - // We disallow copying TestSuites. - GTEST_DISALLOW_COPY_AND_ASSIGN_(TestSuite); -}; - -// An Environment object is capable of setting up and tearing down an -// environment. You should subclass this to define your own -// environment(s). -// -// An Environment object does the set-up and tear-down in virtual -// methods SetUp() and TearDown() instead of the constructor and the -// destructor, as: -// -// 1. You cannot safely throw from a destructor. This is a problem -// as in some cases Google Test is used where exceptions are enabled, and -// we may want to implement ASSERT_* using exceptions where they are -// available. -// 2. You cannot use ASSERT_* directly in a constructor or -// destructor. -class Environment { - public: - // The d'tor is virtual as we need to subclass Environment. - virtual ~Environment() {} - - // Override this to define how to set up the environment. - virtual void SetUp() {} - - // Override this to define how to tear down the environment. - virtual void TearDown() {} - private: - // If you see an error about overriding the following function or - // about it being private, you have mis-spelled SetUp() as Setup(). - struct Setup_should_be_spelled_SetUp {}; - virtual Setup_should_be_spelled_SetUp* Setup() { return nullptr; } -}; - -#if GTEST_HAS_EXCEPTIONS - -// Exception which can be thrown from TestEventListener::OnTestPartResult. -class GTEST_API_ AssertionException - : public internal::GoogleTestFailureException { - public: - explicit AssertionException(const TestPartResult& result) - : GoogleTestFailureException(result) {} -}; - -#endif // GTEST_HAS_EXCEPTIONS - -// The interface for tracing execution of tests. The methods are organized in -// the order the corresponding events are fired. -class TestEventListener { - public: - virtual ~TestEventListener() {} - - // Fired before any test activity starts. - virtual void OnTestProgramStart(const UnitTest& unit_test) = 0; - - // Fired before each iteration of tests starts. There may be more than - // one iteration if GTEST_FLAG(repeat) is set. iteration is the iteration - // index, starting from 0. - virtual void OnTestIterationStart(const UnitTest& unit_test, - int iteration) = 0; - - // Fired before environment set-up for each iteration of tests starts. - virtual void OnEnvironmentsSetUpStart(const UnitTest& unit_test) = 0; - - // Fired after environment set-up for each iteration of tests ends. - virtual void OnEnvironmentsSetUpEnd(const UnitTest& unit_test) = 0; - - // Fired before the test suite starts. - virtual void OnTestSuiteStart(const TestSuite& /*test_suite*/) {} - - // Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - virtual void OnTestCaseStart(const TestCase& /*test_case*/) {} -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - - // Fired before the test starts. - virtual void OnTestStart(const TestInfo& test_info) = 0; - - // Fired after a failed assertion or a SUCCEED() invocation. - // If you want to throw an exception from this function to skip to the next - // TEST, it must be AssertionException defined above, or inherited from it. - virtual void OnTestPartResult(const TestPartResult& test_part_result) = 0; - - // Fired after the test ends. - virtual void OnTestEnd(const TestInfo& test_info) = 0; - - // Fired after the test suite ends. - virtual void OnTestSuiteEnd(const TestSuite& /*test_suite*/) {} - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - virtual void OnTestCaseEnd(const TestCase& /*test_case*/) {} -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - - // Fired before environment tear-down for each iteration of tests starts. - virtual void OnEnvironmentsTearDownStart(const UnitTest& unit_test) = 0; - - // Fired after environment tear-down for each iteration of tests ends. - virtual void OnEnvironmentsTearDownEnd(const UnitTest& unit_test) = 0; - - // Fired after each iteration of tests finishes. - virtual void OnTestIterationEnd(const UnitTest& unit_test, - int iteration) = 0; - - // Fired after all test activities have ended. - virtual void OnTestProgramEnd(const UnitTest& unit_test) = 0; -}; - -// The convenience class for users who need to override just one or two -// methods and are not concerned that a possible change to a signature of -// the methods they override will not be caught during the build. For -// comments about each method please see the definition of TestEventListener -// above. -class EmptyTestEventListener : public TestEventListener { - public: - void OnTestProgramStart(const UnitTest& /*unit_test*/) override {} - void OnTestIterationStart(const UnitTest& /*unit_test*/, - int /*iteration*/) override {} - void OnEnvironmentsSetUpStart(const UnitTest& /*unit_test*/) override {} - void OnEnvironmentsSetUpEnd(const UnitTest& /*unit_test*/) override {} - void OnTestSuiteStart(const TestSuite& /*test_suite*/) override {} -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - void OnTestCaseStart(const TestCase& /*test_case*/) override {} -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - - void OnTestStart(const TestInfo& /*test_info*/) override {} - void OnTestPartResult(const TestPartResult& /*test_part_result*/) override {} - void OnTestEnd(const TestInfo& /*test_info*/) override {} - void OnTestSuiteEnd(const TestSuite& /*test_suite*/) override {} -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - void OnTestCaseEnd(const TestCase& /*test_case*/) override {} -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - - void OnEnvironmentsTearDownStart(const UnitTest& /*unit_test*/) override {} - void OnEnvironmentsTearDownEnd(const UnitTest& /*unit_test*/) override {} - void OnTestIterationEnd(const UnitTest& /*unit_test*/, - int /*iteration*/) override {} - void OnTestProgramEnd(const UnitTest& /*unit_test*/) override {} -}; - -// TestEventListeners lets users add listeners to track events in Google Test. -class GTEST_API_ TestEventListeners { - public: - TestEventListeners(); - ~TestEventListeners(); - - // Appends an event listener to the end of the list. Google Test assumes - // the ownership of the listener (i.e. it will delete the listener when - // the test program finishes). - void Append(TestEventListener* listener); - - // Removes the given event listener from the list and returns it. It then - // becomes the caller's responsibility to delete the listener. Returns - // NULL if the listener is not found in the list. - TestEventListener* Release(TestEventListener* listener); - - // Returns the standard listener responsible for the default console - // output. Can be removed from the listeners list to shut down default - // console output. Note that removing this object from the listener list - // with Release transfers its ownership to the caller and makes this - // function return NULL the next time. - TestEventListener* default_result_printer() const { - return default_result_printer_; - } - - // Returns the standard listener responsible for the default XML output - // controlled by the --gtest_output=xml flag. Can be removed from the - // listeners list by users who want to shut down the default XML output - // controlled by this flag and substitute it with custom one. Note that - // removing this object from the listener list with Release transfers its - // ownership to the caller and makes this function return NULL the next - // time. - TestEventListener* default_xml_generator() const { - return default_xml_generator_; - } - - private: - friend class TestSuite; - friend class TestInfo; - friend class internal::DefaultGlobalTestPartResultReporter; - friend class internal::NoExecDeathTest; - friend class internal::TestEventListenersAccessor; - friend class internal::UnitTestImpl; - - // Returns repeater that broadcasts the TestEventListener events to all - // subscribers. - TestEventListener* repeater(); - - // Sets the default_result_printer attribute to the provided listener. - // The listener is also added to the listener list and previous - // default_result_printer is removed from it and deleted. The listener can - // also be NULL in which case it will not be added to the list. Does - // nothing if the previous and the current listener objects are the same. - void SetDefaultResultPrinter(TestEventListener* listener); - - // Sets the default_xml_generator attribute to the provided listener. The - // listener is also added to the listener list and previous - // default_xml_generator is removed from it and deleted. The listener can - // also be NULL in which case it will not be added to the list. Does - // nothing if the previous and the current listener objects are the same. - void SetDefaultXmlGenerator(TestEventListener* listener); - - // Controls whether events will be forwarded by the repeater to the - // listeners in the list. - bool EventForwardingEnabled() const; - void SuppressEventForwarding(); - - // The actual list of listeners. - internal::TestEventRepeater* repeater_; - // Listener responsible for the standard result output. - TestEventListener* default_result_printer_; - // Listener responsible for the creation of the XML output file. - TestEventListener* default_xml_generator_; - - // We disallow copying TestEventListeners. - GTEST_DISALLOW_COPY_AND_ASSIGN_(TestEventListeners); -}; - -// A UnitTest consists of a vector of TestSuites. -// -// This is a singleton class. The only instance of UnitTest is -// created when UnitTest::GetInstance() is first called. This -// instance is never deleted. -// -// UnitTest is not copyable. -// -// This class is thread-safe as long as the methods are called -// according to their specification. -class GTEST_API_ UnitTest { - public: - // Gets the singleton UnitTest object. The first time this method - // is called, a UnitTest object is constructed and returned. - // Consecutive calls will return the same object. - static UnitTest* GetInstance(); - - // Runs all tests in this UnitTest object and prints the result. - // Returns 0 if successful, or 1 otherwise. - // - // This method can only be called from the main thread. - // - // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. - int Run() GTEST_MUST_USE_RESULT_; - - // Returns the working directory when the first TEST() or TEST_F() - // was executed. The UnitTest object owns the string. - const char* original_working_dir() const; - - // Returns the TestSuite object for the test that's currently running, - // or NULL if no test is running. - const TestSuite* current_test_suite() const GTEST_LOCK_EXCLUDED_(mutex_); - -// Legacy API is still available but deprecated -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - const TestCase* current_test_case() const GTEST_LOCK_EXCLUDED_(mutex_); -#endif - - // Returns the TestInfo object for the test that's currently running, - // or NULL if no test is running. - const TestInfo* current_test_info() const - GTEST_LOCK_EXCLUDED_(mutex_); - - // Returns the random seed used at the start of the current test run. - int random_seed() const; - - // Returns the ParameterizedTestSuiteRegistry object used to keep track of - // value-parameterized tests and instantiate and register them. - // - // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. - internal::ParameterizedTestSuiteRegistry& parameterized_test_registry() - GTEST_LOCK_EXCLUDED_(mutex_); - - // Gets the number of successful test suites. - int successful_test_suite_count() const; - - // Gets the number of failed test suites. - int failed_test_suite_count() const; - - // Gets the number of all test suites. - int total_test_suite_count() const; - - // Gets the number of all test suites that contain at least one test - // that should run. - int test_suite_to_run_count() const; - - // Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - int successful_test_case_count() const; - int failed_test_case_count() const; - int total_test_case_count() const; - int test_case_to_run_count() const; -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - - // Gets the number of successful tests. - int successful_test_count() const; - - // Gets the number of skipped tests. - int skipped_test_count() const; - - // Gets the number of failed tests. - int failed_test_count() const; - - // Gets the number of disabled tests that will be reported in the XML report. - int reportable_disabled_test_count() const; - - // Gets the number of disabled tests. - int disabled_test_count() const; - - // Gets the number of tests to be printed in the XML report. - int reportable_test_count() const; - - // Gets the number of all tests. - int total_test_count() const; - - // Gets the number of tests that should run. - int test_to_run_count() const; - - // Gets the time of the test program start, in ms from the start of the - // UNIX epoch. - TimeInMillis start_timestamp() const; - - // Gets the elapsed time, in milliseconds. - TimeInMillis elapsed_time() const; - - // Returns true if and only if the unit test passed (i.e. all test suites - // passed). - bool Passed() const; - - // Returns true if and only if the unit test failed (i.e. some test suite - // failed or something outside of all tests failed). - bool Failed() const; - - // Gets the i-th test suite among all the test suites. i can range from 0 to - // total_test_suite_count() - 1. If i is not in that range, returns NULL. - const TestSuite* GetTestSuite(int i) const; - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - const TestCase* GetTestCase(int i) const; -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - - // Returns the TestResult containing information on test failures and - // properties logged outside of individual test suites. - const TestResult& ad_hoc_test_result() const; - - // Returns the list of event listeners that can be used to track events - // inside Google Test. - TestEventListeners& listeners(); - - private: - // Registers and returns a global test environment. When a test - // program is run, all global test environments will be set-up in - // the order they were registered. After all tests in the program - // have finished, all global test environments will be torn-down in - // the *reverse* order they were registered. - // - // The UnitTest object takes ownership of the given environment. - // - // This method can only be called from the main thread. - Environment* AddEnvironment(Environment* env); - - // Adds a TestPartResult to the current TestResult object. All - // Google Test assertion macros (e.g. ASSERT_TRUE, EXPECT_EQ, etc) - // eventually call this to report their results. The user code - // should use the assertion macros instead of calling this directly. - void AddTestPartResult(TestPartResult::Type result_type, - const char* file_name, - int line_number, - const std::string& message, - const std::string& os_stack_trace) - GTEST_LOCK_EXCLUDED_(mutex_); - - // Adds a TestProperty to the current TestResult object when invoked from - // inside a test, to current TestSuite's ad_hoc_test_result_ when invoked - // from SetUpTestSuite or TearDownTestSuite, or to the global property set - // when invoked elsewhere. If the result already contains a property with - // the same key, the value will be updated. - void RecordProperty(const std::string& key, const std::string& value); - - // Gets the i-th test suite among all the test suites. i can range from 0 to - // total_test_suite_count() - 1. If i is not in that range, returns NULL. - TestSuite* GetMutableTestSuite(int i); - - // Accessors for the implementation object. - internal::UnitTestImpl* impl() { return impl_; } - const internal::UnitTestImpl* impl() const { return impl_; } - - // These classes and functions are friends as they need to access private - // members of UnitTest. - friend class ScopedTrace; - friend class Test; - friend class internal::AssertHelper; - friend class internal::StreamingListenerTest; - friend class internal::UnitTestRecordPropertyTestHelper; - friend Environment* AddGlobalTestEnvironment(Environment* env); - friend internal::UnitTestImpl* internal::GetUnitTestImpl(); - friend void internal::ReportFailureInUnknownLocation( - TestPartResult::Type result_type, - const std::string& message); - - // Creates an empty UnitTest. - UnitTest(); - - // D'tor - virtual ~UnitTest(); - - // Pushes a trace defined by SCOPED_TRACE() on to the per-thread - // Google Test trace stack. - void PushGTestTrace(const internal::TraceInfo& trace) - GTEST_LOCK_EXCLUDED_(mutex_); - - // Pops a trace from the per-thread Google Test trace stack. - void PopGTestTrace() - GTEST_LOCK_EXCLUDED_(mutex_); - - // Protects mutable state in *impl_. This is mutable as some const - // methods need to lock it too. - mutable internal::Mutex mutex_; - - // Opaque implementation object. This field is never changed once - // the object is constructed. We don't mark it as const here, as - // doing so will cause a warning in the constructor of UnitTest. - // Mutable state in *impl_ is protected by mutex_. - internal::UnitTestImpl* impl_; - - // We disallow copying UnitTest. - GTEST_DISALLOW_COPY_AND_ASSIGN_(UnitTest); -}; - -// A convenient wrapper for adding an environment for the test -// program. -// -// You should call this before RUN_ALL_TESTS() is called, probably in -// main(). If you use gtest_main, you need to call this before main() -// starts for it to take effect. For example, you can define a global -// variable like this: -// -// testing::Environment* const foo_env = -// testing::AddGlobalTestEnvironment(new FooEnvironment); -// -// However, we strongly recommend you to write your own main() and -// call AddGlobalTestEnvironment() there, as relying on initialization -// of global variables makes the code harder to read and may cause -// problems when you register multiple environments from different -// translation units and the environments have dependencies among them -// (remember that the compiler doesn't guarantee the order in which -// global variables from different translation units are initialized). -inline Environment* AddGlobalTestEnvironment(Environment* env) { - return UnitTest::GetInstance()->AddEnvironment(env); -} - -// Initializes Google Test. This must be called before calling -// RUN_ALL_TESTS(). In particular, it parses a command line for the -// flags that Google Test recognizes. Whenever a Google Test flag is -// seen, it is removed from argv, and *argc is decremented. -// -// No value is returned. Instead, the Google Test flag variables are -// updated. -// -// Calling the function for the second time has no user-visible effect. -GTEST_API_ void InitGoogleTest(int* argc, char** argv); - -// This overloaded version can be used in Windows programs compiled in -// UNICODE mode. -GTEST_API_ void InitGoogleTest(int* argc, wchar_t** argv); - -// This overloaded version can be used on Arduino/embedded platforms where -// there is no argc/argv. -GTEST_API_ void InitGoogleTest(); - -namespace internal { - -// Separate the error generating code from the code path to reduce the stack -// frame size of CmpHelperEQ. This helps reduce the overhead of some sanitizers -// when calling EXPECT_* in a tight loop. -template -AssertionResult CmpHelperEQFailure(const char* lhs_expression, - const char* rhs_expression, - const T1& lhs, const T2& rhs) { - return EqFailure(lhs_expression, - rhs_expression, - FormatForComparisonFailureMessage(lhs, rhs), - FormatForComparisonFailureMessage(rhs, lhs), - false); -} - -// This block of code defines operator==/!= -// to block lexical scope lookup. -// It prevents using invalid operator==/!= defined at namespace scope. -struct faketype {}; -inline bool operator==(faketype, faketype) { return true; } -inline bool operator!=(faketype, faketype) { return false; } - -// The helper function for {ASSERT|EXPECT}_EQ. -template -AssertionResult CmpHelperEQ(const char* lhs_expression, - const char* rhs_expression, - const T1& lhs, - const T2& rhs) { - if (lhs == rhs) { - return AssertionSuccess(); - } - - return CmpHelperEQFailure(lhs_expression, rhs_expression, lhs, rhs); -} - -// With this overloaded version, we allow anonymous enums to be used -// in {ASSERT|EXPECT}_EQ when compiled with gcc 4, as anonymous enums -// can be implicitly cast to BiggestInt. -GTEST_API_ AssertionResult CmpHelperEQ(const char* lhs_expression, - const char* rhs_expression, - BiggestInt lhs, - BiggestInt rhs); - -class EqHelper { - public: - // This templatized version is for the general case. - template < - typename T1, typename T2, - // Disable this overload for cases where one argument is a pointer - // and the other is the null pointer constant. - typename std::enable_if::value || - !std::is_pointer::value>::type* = nullptr> - static AssertionResult Compare(const char* lhs_expression, - const char* rhs_expression, const T1& lhs, - const T2& rhs) { - return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs); - } - - // With this overloaded version, we allow anonymous enums to be used - // in {ASSERT|EXPECT}_EQ when compiled with gcc 4, as anonymous - // enums can be implicitly cast to BiggestInt. - // - // Even though its body looks the same as the above version, we - // cannot merge the two, as it will make anonymous enums unhappy. - static AssertionResult Compare(const char* lhs_expression, - const char* rhs_expression, - BiggestInt lhs, - BiggestInt rhs) { - return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs); - } - - template - static AssertionResult Compare( - const char* lhs_expression, const char* rhs_expression, - // Handle cases where '0' is used as a null pointer literal. - std::nullptr_t /* lhs */, T* rhs) { - // We already know that 'lhs' is a null pointer. - return CmpHelperEQ(lhs_expression, rhs_expression, static_cast(nullptr), - rhs); - } -}; - -// Separate the error generating code from the code path to reduce the stack -// frame size of CmpHelperOP. This helps reduce the overhead of some sanitizers -// when calling EXPECT_OP in a tight loop. -template -AssertionResult CmpHelperOpFailure(const char* expr1, const char* expr2, - const T1& val1, const T2& val2, - const char* op) { - return AssertionFailure() - << "Expected: (" << expr1 << ") " << op << " (" << expr2 - << "), actual: " << FormatForComparisonFailureMessage(val1, val2) - << " vs " << FormatForComparisonFailureMessage(val2, val1); -} - -// A macro for implementing the helper functions needed to implement -// ASSERT_?? and EXPECT_??. It is here just to avoid copy-and-paste -// of similar code. -// -// For each templatized helper function, we also define an overloaded -// version for BiggestInt in order to reduce code bloat and allow -// anonymous enums to be used with {ASSERT|EXPECT}_?? when compiled -// with gcc 4. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. - -#define GTEST_IMPL_CMP_HELPER_(op_name, op)\ -template \ -AssertionResult CmpHelper##op_name(const char* expr1, const char* expr2, \ - const T1& val1, const T2& val2) {\ - if (val1 op val2) {\ - return AssertionSuccess();\ - } else {\ - return CmpHelperOpFailure(expr1, expr2, val1, val2, #op);\ - }\ -}\ -GTEST_API_ AssertionResult CmpHelper##op_name(\ - const char* expr1, const char* expr2, BiggestInt val1, BiggestInt val2) - -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. - -// Implements the helper function for {ASSERT|EXPECT}_NE -GTEST_IMPL_CMP_HELPER_(NE, !=); -// Implements the helper function for {ASSERT|EXPECT}_LE -GTEST_IMPL_CMP_HELPER_(LE, <=); -// Implements the helper function for {ASSERT|EXPECT}_LT -GTEST_IMPL_CMP_HELPER_(LT, <); -// Implements the helper function for {ASSERT|EXPECT}_GE -GTEST_IMPL_CMP_HELPER_(GE, >=); -// Implements the helper function for {ASSERT|EXPECT}_GT -GTEST_IMPL_CMP_HELPER_(GT, >); - -#undef GTEST_IMPL_CMP_HELPER_ - -// The helper function for {ASSERT|EXPECT}_STREQ. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -GTEST_API_ AssertionResult CmpHelperSTREQ(const char* s1_expression, - const char* s2_expression, - const char* s1, - const char* s2); - -// The helper function for {ASSERT|EXPECT}_STRCASEEQ. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -GTEST_API_ AssertionResult CmpHelperSTRCASEEQ(const char* s1_expression, - const char* s2_expression, - const char* s1, - const char* s2); - -// The helper function for {ASSERT|EXPECT}_STRNE. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -GTEST_API_ AssertionResult CmpHelperSTRNE(const char* s1_expression, - const char* s2_expression, - const char* s1, - const char* s2); - -// The helper function for {ASSERT|EXPECT}_STRCASENE. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -GTEST_API_ AssertionResult CmpHelperSTRCASENE(const char* s1_expression, - const char* s2_expression, - const char* s1, - const char* s2); - - -// Helper function for *_STREQ on wide strings. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -GTEST_API_ AssertionResult CmpHelperSTREQ(const char* s1_expression, - const char* s2_expression, - const wchar_t* s1, - const wchar_t* s2); - -// Helper function for *_STRNE on wide strings. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -GTEST_API_ AssertionResult CmpHelperSTRNE(const char* s1_expression, - const char* s2_expression, - const wchar_t* s1, - const wchar_t* s2); - -} // namespace internal - -// IsSubstring() and IsNotSubstring() are intended to be used as the -// first argument to {EXPECT,ASSERT}_PRED_FORMAT2(), not by -// themselves. They check whether needle is a substring of haystack -// (NULL is considered a substring of itself only), and return an -// appropriate error message when they fail. -// -// The {needle,haystack}_expr arguments are the stringified -// expressions that generated the two real arguments. -GTEST_API_ AssertionResult IsSubstring( - const char* needle_expr, const char* haystack_expr, - const char* needle, const char* haystack); -GTEST_API_ AssertionResult IsSubstring( - const char* needle_expr, const char* haystack_expr, - const wchar_t* needle, const wchar_t* haystack); -GTEST_API_ AssertionResult IsNotSubstring( - const char* needle_expr, const char* haystack_expr, - const char* needle, const char* haystack); -GTEST_API_ AssertionResult IsNotSubstring( - const char* needle_expr, const char* haystack_expr, - const wchar_t* needle, const wchar_t* haystack); -GTEST_API_ AssertionResult IsSubstring( - const char* needle_expr, const char* haystack_expr, - const ::std::string& needle, const ::std::string& haystack); -GTEST_API_ AssertionResult IsNotSubstring( - const char* needle_expr, const char* haystack_expr, - const ::std::string& needle, const ::std::string& haystack); - -#if GTEST_HAS_STD_WSTRING -GTEST_API_ AssertionResult IsSubstring( - const char* needle_expr, const char* haystack_expr, - const ::std::wstring& needle, const ::std::wstring& haystack); -GTEST_API_ AssertionResult IsNotSubstring( - const char* needle_expr, const char* haystack_expr, - const ::std::wstring& needle, const ::std::wstring& haystack); -#endif // GTEST_HAS_STD_WSTRING - -namespace internal { - -// Helper template function for comparing floating-points. -// -// Template parameter: -// -// RawType: the raw floating-point type (either float or double) -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -template -AssertionResult CmpHelperFloatingPointEQ(const char* lhs_expression, - const char* rhs_expression, - RawType lhs_value, - RawType rhs_value) { - const FloatingPoint lhs(lhs_value), rhs(rhs_value); - - if (lhs.AlmostEquals(rhs)) { - return AssertionSuccess(); - } - - ::std::stringstream lhs_ss; - lhs_ss << std::setprecision(std::numeric_limits::digits10 + 2) - << lhs_value; - - ::std::stringstream rhs_ss; - rhs_ss << std::setprecision(std::numeric_limits::digits10 + 2) - << rhs_value; - - return EqFailure(lhs_expression, - rhs_expression, - StringStreamToString(&lhs_ss), - StringStreamToString(&rhs_ss), - false); -} - -// Helper function for implementing ASSERT_NEAR. -// -// INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM. -GTEST_API_ AssertionResult DoubleNearPredFormat(const char* expr1, - const char* expr2, - const char* abs_error_expr, - double val1, - double val2, - double abs_error); - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// A class that enables one to stream messages to assertion macros -class GTEST_API_ AssertHelper { - public: - // Constructor. - AssertHelper(TestPartResult::Type type, - const char* file, - int line, - const char* message); - ~AssertHelper(); - - // Message assignment is a semantic trick to enable assertion - // streaming; see the GTEST_MESSAGE_ macro below. - void operator=(const Message& message) const; - - private: - // We put our data in a struct so that the size of the AssertHelper class can - // be as small as possible. This is important because gcc is incapable of - // re-using stack space even for temporary variables, so every EXPECT_EQ - // reserves stack space for another AssertHelper. - struct AssertHelperData { - AssertHelperData(TestPartResult::Type t, - const char* srcfile, - int line_num, - const char* msg) - : type(t), file(srcfile), line(line_num), message(msg) { } - - TestPartResult::Type const type; - const char* const file; - int const line; - std::string const message; - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(AssertHelperData); - }; - - AssertHelperData* const data_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(AssertHelper); -}; - -enum GTestColor { COLOR_DEFAULT, COLOR_RED, COLOR_GREEN, COLOR_YELLOW }; - -GTEST_API_ GTEST_ATTRIBUTE_PRINTF_(2, 3) void ColoredPrintf(GTestColor color, - const char* fmt, - ...); - -} // namespace internal - -// The pure interface class that all value-parameterized tests inherit from. -// A value-parameterized class must inherit from both ::testing::Test and -// ::testing::WithParamInterface. In most cases that just means inheriting -// from ::testing::TestWithParam, but more complicated test hierarchies -// may need to inherit from Test and WithParamInterface at different levels. -// -// This interface has support for accessing the test parameter value via -// the GetParam() method. -// -// Use it with one of the parameter generator defining functions, like Range(), -// Values(), ValuesIn(), Bool(), and Combine(). -// -// class FooTest : public ::testing::TestWithParam { -// protected: -// FooTest() { -// // Can use GetParam() here. -// } -// ~FooTest() override { -// // Can use GetParam() here. -// } -// void SetUp() override { -// // Can use GetParam() here. -// } -// void TearDown override { -// // Can use GetParam() here. -// } -// }; -// TEST_P(FooTest, DoesBar) { -// // Can use GetParam() method here. -// Foo foo; -// ASSERT_TRUE(foo.DoesBar(GetParam())); -// } -// INSTANTIATE_TEST_SUITE_P(OneToTenRange, FooTest, ::testing::Range(1, 10)); - -template -class WithParamInterface { - public: - typedef T ParamType; - virtual ~WithParamInterface() {} - - // The current parameter value. Is also available in the test fixture's - // constructor. - static const ParamType& GetParam() { - GTEST_CHECK_(parameter_ != nullptr) - << "GetParam() can only be called inside a value-parameterized test " - << "-- did you intend to write TEST_P instead of TEST_F?"; - return *parameter_; - } - - private: - // Sets parameter value. The caller is responsible for making sure the value - // remains alive and unchanged throughout the current test. - static void SetParam(const ParamType* parameter) { - parameter_ = parameter; - } - - // Static value used for accessing parameter during a test lifetime. - static const ParamType* parameter_; - - // TestClass must be a subclass of WithParamInterface and Test. - template friend class internal::ParameterizedTestFactory; -}; - -template -const T* WithParamInterface::parameter_ = nullptr; - -// Most value-parameterized classes can ignore the existence of -// WithParamInterface, and can just inherit from ::testing::TestWithParam. - -template -class TestWithParam : public Test, public WithParamInterface { -}; - -// Macros for indicating success/failure in test code. - -// Skips test in runtime. -// Skipping test aborts current function. -// Skipped tests are neither successful nor failed. -#define GTEST_SKIP() GTEST_SKIP_("Skipped") - -// ADD_FAILURE unconditionally adds a failure to the current test. -// SUCCEED generates a success - it doesn't automatically make the -// current test successful, as a test is only successful when it has -// no failure. -// -// EXPECT_* verifies that a certain condition is satisfied. If not, -// it behaves like ADD_FAILURE. In particular: -// -// EXPECT_TRUE verifies that a Boolean condition is true. -// EXPECT_FALSE verifies that a Boolean condition is false. -// -// FAIL and ASSERT_* are similar to ADD_FAILURE and EXPECT_*, except -// that they will also abort the current function on failure. People -// usually want the fail-fast behavior of FAIL and ASSERT_*, but those -// writing data-driven tests often find themselves using ADD_FAILURE -// and EXPECT_* more. - -// Generates a nonfatal failure with a generic message. -#define ADD_FAILURE() GTEST_NONFATAL_FAILURE_("Failed") - -// Generates a nonfatal failure at the given source file location with -// a generic message. -#define ADD_FAILURE_AT(file, line) \ - GTEST_MESSAGE_AT_(file, line, "Failed", \ - ::testing::TestPartResult::kNonFatalFailure) - -// Generates a fatal failure with a generic message. -#define GTEST_FAIL() GTEST_FATAL_FAILURE_("Failed") - -// Like GTEST_FAIL(), but at the given source file location. -#define GTEST_FAIL_AT(file, line) \ - GTEST_MESSAGE_AT_(file, line, "Failed", \ - ::testing::TestPartResult::kFatalFailure) - -// Define this macro to 1 to omit the definition of FAIL(), which is a -// generic name and clashes with some other libraries. -#if !GTEST_DONT_DEFINE_FAIL -# define FAIL() GTEST_FAIL() -#endif - -// Generates a success with a generic message. -#define GTEST_SUCCEED() GTEST_SUCCESS_("Succeeded") - -// Define this macro to 1 to omit the definition of SUCCEED(), which -// is a generic name and clashes with some other libraries. -#if !GTEST_DONT_DEFINE_SUCCEED -# define SUCCEED() GTEST_SUCCEED() -#endif - -// Macros for testing exceptions. -// -// * {ASSERT|EXPECT}_THROW(statement, expected_exception): -// Tests that the statement throws the expected exception. -// * {ASSERT|EXPECT}_NO_THROW(statement): -// Tests that the statement doesn't throw any exception. -// * {ASSERT|EXPECT}_ANY_THROW(statement): -// Tests that the statement throws an exception. - -#define EXPECT_THROW(statement, expected_exception) \ - GTEST_TEST_THROW_(statement, expected_exception, GTEST_NONFATAL_FAILURE_) -#define EXPECT_NO_THROW(statement) \ - GTEST_TEST_NO_THROW_(statement, GTEST_NONFATAL_FAILURE_) -#define EXPECT_ANY_THROW(statement) \ - GTEST_TEST_ANY_THROW_(statement, GTEST_NONFATAL_FAILURE_) -#define ASSERT_THROW(statement, expected_exception) \ - GTEST_TEST_THROW_(statement, expected_exception, GTEST_FATAL_FAILURE_) -#define ASSERT_NO_THROW(statement) \ - GTEST_TEST_NO_THROW_(statement, GTEST_FATAL_FAILURE_) -#define ASSERT_ANY_THROW(statement) \ - GTEST_TEST_ANY_THROW_(statement, GTEST_FATAL_FAILURE_) - -// Boolean assertions. Condition can be either a Boolean expression or an -// AssertionResult. For more information on how to use AssertionResult with -// these macros see comments on that class. -#define EXPECT_TRUE(condition) \ - GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \ - GTEST_NONFATAL_FAILURE_) -#define EXPECT_FALSE(condition) \ - GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \ - GTEST_NONFATAL_FAILURE_) -#define ASSERT_TRUE(condition) \ - GTEST_TEST_BOOLEAN_(condition, #condition, false, true, \ - GTEST_FATAL_FAILURE_) -#define ASSERT_FALSE(condition) \ - GTEST_TEST_BOOLEAN_(!(condition), #condition, true, false, \ - GTEST_FATAL_FAILURE_) - -// Macros for testing equalities and inequalities. -// -// * {ASSERT|EXPECT}_EQ(v1, v2): Tests that v1 == v2 -// * {ASSERT|EXPECT}_NE(v1, v2): Tests that v1 != v2 -// * {ASSERT|EXPECT}_LT(v1, v2): Tests that v1 < v2 -// * {ASSERT|EXPECT}_LE(v1, v2): Tests that v1 <= v2 -// * {ASSERT|EXPECT}_GT(v1, v2): Tests that v1 > v2 -// * {ASSERT|EXPECT}_GE(v1, v2): Tests that v1 >= v2 -// -// When they are not, Google Test prints both the tested expressions and -// their actual values. The values must be compatible built-in types, -// or you will get a compiler error. By "compatible" we mean that the -// values can be compared by the respective operator. -// -// Note: -// -// 1. It is possible to make a user-defined type work with -// {ASSERT|EXPECT}_??(), but that requires overloading the -// comparison operators and is thus discouraged by the Google C++ -// Usage Guide. Therefore, you are advised to use the -// {ASSERT|EXPECT}_TRUE() macro to assert that two objects are -// equal. -// -// 2. The {ASSERT|EXPECT}_??() macros do pointer comparisons on -// pointers (in particular, C strings). Therefore, if you use it -// with two C strings, you are testing how their locations in memory -// are related, not how their content is related. To compare two C -// strings by content, use {ASSERT|EXPECT}_STR*(). -// -// 3. {ASSERT|EXPECT}_EQ(v1, v2) is preferred to -// {ASSERT|EXPECT}_TRUE(v1 == v2), as the former tells you -// what the actual value is when it fails, and similarly for the -// other comparisons. -// -// 4. Do not depend on the order in which {ASSERT|EXPECT}_??() -// evaluate their arguments, which is undefined. -// -// 5. These macros evaluate their arguments exactly once. -// -// Examples: -// -// EXPECT_NE(Foo(), 5); -// EXPECT_EQ(a_pointer, NULL); -// ASSERT_LT(i, array_size); -// ASSERT_GT(records.size(), 0) << "There is no record left."; - -#define EXPECT_EQ(val1, val2) \ - EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2) -#define EXPECT_NE(val1, val2) \ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2) -#define EXPECT_LE(val1, val2) \ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2) -#define EXPECT_LT(val1, val2) \ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2) -#define EXPECT_GE(val1, val2) \ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2) -#define EXPECT_GT(val1, val2) \ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2) - -#define GTEST_ASSERT_EQ(val1, val2) \ - ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2) -#define GTEST_ASSERT_NE(val1, val2) \ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNE, val1, val2) -#define GTEST_ASSERT_LE(val1, val2) \ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLE, val1, val2) -#define GTEST_ASSERT_LT(val1, val2) \ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperLT, val1, val2) -#define GTEST_ASSERT_GE(val1, val2) \ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2) -#define GTEST_ASSERT_GT(val1, val2) \ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2) - -// Define macro GTEST_DONT_DEFINE_ASSERT_XY to 1 to omit the definition of -// ASSERT_XY(), which clashes with some users' own code. - -#if !GTEST_DONT_DEFINE_ASSERT_EQ -# define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2) -#endif - -#if !GTEST_DONT_DEFINE_ASSERT_NE -# define ASSERT_NE(val1, val2) GTEST_ASSERT_NE(val1, val2) -#endif - -#if !GTEST_DONT_DEFINE_ASSERT_LE -# define ASSERT_LE(val1, val2) GTEST_ASSERT_LE(val1, val2) -#endif - -#if !GTEST_DONT_DEFINE_ASSERT_LT -# define ASSERT_LT(val1, val2) GTEST_ASSERT_LT(val1, val2) -#endif - -#if !GTEST_DONT_DEFINE_ASSERT_GE -# define ASSERT_GE(val1, val2) GTEST_ASSERT_GE(val1, val2) -#endif - -#if !GTEST_DONT_DEFINE_ASSERT_GT -# define ASSERT_GT(val1, val2) GTEST_ASSERT_GT(val1, val2) -#endif - -// C-string Comparisons. All tests treat NULL and any non-NULL string -// as different. Two NULLs are equal. -// -// * {ASSERT|EXPECT}_STREQ(s1, s2): Tests that s1 == s2 -// * {ASSERT|EXPECT}_STRNE(s1, s2): Tests that s1 != s2 -// * {ASSERT|EXPECT}_STRCASEEQ(s1, s2): Tests that s1 == s2, ignoring case -// * {ASSERT|EXPECT}_STRCASENE(s1, s2): Tests that s1 != s2, ignoring case -// -// For wide or narrow string objects, you can use the -// {ASSERT|EXPECT}_??() macros. -// -// Don't depend on the order in which the arguments are evaluated, -// which is undefined. -// -// These macros evaluate their arguments exactly once. - -#define EXPECT_STREQ(s1, s2) \ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2) -#define EXPECT_STRNE(s1, s2) \ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2) -#define EXPECT_STRCASEEQ(s1, s2) \ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2) -#define EXPECT_STRCASENE(s1, s2)\ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2) - -#define ASSERT_STREQ(s1, s2) \ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2) -#define ASSERT_STRNE(s1, s2) \ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRNE, s1, s2) -#define ASSERT_STRCASEEQ(s1, s2) \ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASEEQ, s1, s2) -#define ASSERT_STRCASENE(s1, s2)\ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperSTRCASENE, s1, s2) - -// Macros for comparing floating-point numbers. -// -// * {ASSERT|EXPECT}_FLOAT_EQ(val1, val2): -// Tests that two float values are almost equal. -// * {ASSERT|EXPECT}_DOUBLE_EQ(val1, val2): -// Tests that two double values are almost equal. -// * {ASSERT|EXPECT}_NEAR(v1, v2, abs_error): -// Tests that v1 and v2 are within the given distance to each other. -// -// Google Test uses ULP-based comparison to automatically pick a default -// error bound that is appropriate for the operands. See the -// FloatingPoint template class in gtest-internal.h if you are -// interested in the implementation details. - -#define EXPECT_FLOAT_EQ(val1, val2)\ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ, \ - val1, val2) - -#define EXPECT_DOUBLE_EQ(val1, val2)\ - EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ, \ - val1, val2) - -#define ASSERT_FLOAT_EQ(val1, val2)\ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ, \ - val1, val2) - -#define ASSERT_DOUBLE_EQ(val1, val2)\ - ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperFloatingPointEQ, \ - val1, val2) - -#define EXPECT_NEAR(val1, val2, abs_error)\ - EXPECT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \ - val1, val2, abs_error) - -#define ASSERT_NEAR(val1, val2, abs_error)\ - ASSERT_PRED_FORMAT3(::testing::internal::DoubleNearPredFormat, \ - val1, val2, abs_error) - -// These predicate format functions work on floating-point values, and -// can be used in {ASSERT|EXPECT}_PRED_FORMAT2*(), e.g. -// -// EXPECT_PRED_FORMAT2(testing::DoubleLE, Foo(), 5.0); - -// Asserts that val1 is less than, or almost equal to, val2. Fails -// otherwise. In particular, it fails if either val1 or val2 is NaN. -GTEST_API_ AssertionResult FloatLE(const char* expr1, const char* expr2, - float val1, float val2); -GTEST_API_ AssertionResult DoubleLE(const char* expr1, const char* expr2, - double val1, double val2); - - -#if GTEST_OS_WINDOWS - -// Macros that test for HRESULT failure and success, these are only useful -// on Windows, and rely on Windows SDK macros and APIs to compile. -// -// * {ASSERT|EXPECT}_HRESULT_{SUCCEEDED|FAILED}(expr) -// -// When expr unexpectedly fails or succeeds, Google Test prints the -// expected result and the actual result with both a human-readable -// string representation of the error, if available, as well as the -// hex result code. -# define EXPECT_HRESULT_SUCCEEDED(expr) \ - EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr)) - -# define ASSERT_HRESULT_SUCCEEDED(expr) \ - ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTSuccess, (expr)) - -# define EXPECT_HRESULT_FAILED(expr) \ - EXPECT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr)) - -# define ASSERT_HRESULT_FAILED(expr) \ - ASSERT_PRED_FORMAT1(::testing::internal::IsHRESULTFailure, (expr)) - -#endif // GTEST_OS_WINDOWS - -// Macros that execute statement and check that it doesn't generate new fatal -// failures in the current thread. -// -// * {ASSERT|EXPECT}_NO_FATAL_FAILURE(statement); -// -// Examples: -// -// EXPECT_NO_FATAL_FAILURE(Process()); -// ASSERT_NO_FATAL_FAILURE(Process()) << "Process() failed"; -// -#define ASSERT_NO_FATAL_FAILURE(statement) \ - GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_FATAL_FAILURE_) -#define EXPECT_NO_FATAL_FAILURE(statement) \ - GTEST_TEST_NO_FATAL_FAILURE_(statement, GTEST_NONFATAL_FAILURE_) - -// Causes a trace (including the given source file path and line number, -// and the given message) to be included in every test failure message generated -// by code in the scope of the lifetime of an instance of this class. The effect -// is undone with the destruction of the instance. -// -// The message argument can be anything streamable to std::ostream. -// -// Example: -// testing::ScopedTrace trace("file.cc", 123, "message"); -// -class GTEST_API_ ScopedTrace { - public: - // The c'tor pushes the given source file location and message onto - // a trace stack maintained by Google Test. - - // Template version. Uses Message() to convert the values into strings. - // Slow, but flexible. - template - ScopedTrace(const char* file, int line, const T& message) { - PushTrace(file, line, (Message() << message).GetString()); - } - - // Optimize for some known types. - ScopedTrace(const char* file, int line, const char* message) { - PushTrace(file, line, message ? message : "(null)"); - } - - ScopedTrace(const char* file, int line, const std::string& message) { - PushTrace(file, line, message); - } - - // The d'tor pops the info pushed by the c'tor. - // - // Note that the d'tor is not virtual in order to be efficient. - // Don't inherit from ScopedTrace! - ~ScopedTrace(); - - private: - void PushTrace(const char* file, int line, std::string message); - - GTEST_DISALLOW_COPY_AND_ASSIGN_(ScopedTrace); -} GTEST_ATTRIBUTE_UNUSED_; // A ScopedTrace object does its job in its - // c'tor and d'tor. Therefore it doesn't - // need to be used otherwise. - -// Causes a trace (including the source file path, the current line -// number, and the given message) to be included in every test failure -// message generated by code in the current scope. The effect is -// undone when the control leaves the current scope. -// -// The message argument can be anything streamable to std::ostream. -// -// In the implementation, we include the current line number as part -// of the dummy variable name, thus allowing multiple SCOPED_TRACE()s -// to appear in the same block - as long as they are on different -// lines. -// -// Assuming that each thread maintains its own stack of traces. -// Therefore, a SCOPED_TRACE() would (correctly) only affect the -// assertions in its own thread. -#define SCOPED_TRACE(message) \ - ::testing::ScopedTrace GTEST_CONCAT_TOKEN_(gtest_trace_, __LINE__)(\ - __FILE__, __LINE__, (message)) - -// Compile-time assertion for type equality. -// StaticAssertTypeEq() compiles if and only if type1 and type2 -// are the same type. The value it returns is not interesting. -// -// Instead of making StaticAssertTypeEq a class template, we make it a -// function template that invokes a helper class template. This -// prevents a user from misusing StaticAssertTypeEq by -// defining objects of that type. -// -// CAVEAT: -// -// When used inside a method of a class template, -// StaticAssertTypeEq() is effective ONLY IF the method is -// instantiated. For example, given: -// -// template class Foo { -// public: -// void Bar() { testing::StaticAssertTypeEq(); } -// }; -// -// the code: -// -// void Test1() { Foo foo; } -// -// will NOT generate a compiler error, as Foo::Bar() is never -// actually instantiated. Instead, you need: -// -// void Test2() { Foo foo; foo.Bar(); } -// -// to cause a compiler error. -template -constexpr bool StaticAssertTypeEq() noexcept { - static_assert(std::is_same::value, - "type1 and type2 are not the same type"); - return true; -} - -// Defines a test. -// -// The first parameter is the name of the test suite, and the second -// parameter is the name of the test within the test suite. -// -// The convention is to end the test suite name with "Test". For -// example, a test suite for the Foo class can be named FooTest. -// -// Test code should appear between braces after an invocation of -// this macro. Example: -// -// TEST(FooTest, InitializesCorrectly) { -// Foo foo; -// EXPECT_TRUE(foo.StatusIsOK()); -// } - -// Note that we call GetTestTypeId() instead of GetTypeId< -// ::testing::Test>() here to get the type ID of testing::Test. This -// is to work around a suspected linker bug when using Google Test as -// a framework on Mac OS X. The bug causes GetTypeId< -// ::testing::Test>() to return different values depending on whether -// the call is from the Google Test framework itself or from user test -// code. GetTestTypeId() is guaranteed to always return the same -// value, as it always calls GetTypeId<>() from the Google Test -// framework. -#define GTEST_TEST(test_suite_name, test_name) \ - GTEST_TEST_(test_suite_name, test_name, ::testing::Test, \ - ::testing::internal::GetTestTypeId()) - -// Define this macro to 1 to omit the definition of TEST(), which -// is a generic name and clashes with some other libraries. -#if !GTEST_DONT_DEFINE_TEST -#define TEST(test_suite_name, test_name) GTEST_TEST(test_suite_name, test_name) -#endif - -// Defines a test that uses a test fixture. -// -// The first parameter is the name of the test fixture class, which -// also doubles as the test suite name. The second parameter is the -// name of the test within the test suite. -// -// A test fixture class must be declared earlier. The user should put -// the test code between braces after using this macro. Example: -// -// class FooTest : public testing::Test { -// protected: -// void SetUp() override { b_.AddElement(3); } -// -// Foo a_; -// Foo b_; -// }; -// -// TEST_F(FooTest, InitializesCorrectly) { -// EXPECT_TRUE(a_.StatusIsOK()); -// } -// -// TEST_F(FooTest, ReturnsElementCountCorrectly) { -// EXPECT_EQ(a_.size(), 0); -// EXPECT_EQ(b_.size(), 1); -// } -// -// GOOGLETEST_CM0011 DO NOT DELETE -#define TEST_F(test_fixture, test_name)\ - GTEST_TEST_(test_fixture, test_name, test_fixture, \ - ::testing::internal::GetTypeId()) - -// Returns a path to temporary directory. -// Tries to determine an appropriate directory for the platform. -GTEST_API_ std::string TempDir(); - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -// Dynamically registers a test with the framework. -// -// This is an advanced API only to be used when the `TEST` macros are -// insufficient. The macros should be preferred when possible, as they avoid -// most of the complexity of calling this function. -// -// The `factory` argument is a factory callable (move-constructible) object or -// function pointer that creates a new instance of the Test object. It -// handles ownership to the caller. The signature of the callable is -// `Fixture*()`, where `Fixture` is the test fixture class for the test. All -// tests registered with the same `test_suite_name` must return the same -// fixture type. This is checked at runtime. -// -// The framework will infer the fixture class from the factory and will call -// the `SetUpTestSuite` and `TearDownTestSuite` for it. -// -// Must be called before `RUN_ALL_TESTS()` is invoked, otherwise behavior is -// undefined. -// -// Use case example: -// -// class MyFixture : public ::testing::Test { -// public: -// // All of these optional, just like in regular macro usage. -// static void SetUpTestSuite() { ... } -// static void TearDownTestSuite() { ... } -// void SetUp() override { ... } -// void TearDown() override { ... } -// }; -// -// class MyTest : public MyFixture { -// public: -// explicit MyTest(int data) : data_(data) {} -// void TestBody() override { ... } -// -// private: -// int data_; -// }; -// -// void RegisterMyTests(const std::vector& values) { -// for (int v : values) { -// ::testing::RegisterTest( -// "MyFixture", ("Test" + std::to_string(v)).c_str(), nullptr, -// std::to_string(v).c_str(), -// __FILE__, __LINE__, -// // Important to use the fixture type as the return type here. -// [=]() -> MyFixture* { return new MyTest(v); }); -// } -// } -// ... -// int main(int argc, char** argv) { -// std::vector values_to_test = LoadValuesFromConfig(); -// RegisterMyTests(values_to_test); -// ... -// return RUN_ALL_TESTS(); -// } -// -template -TestInfo* RegisterTest(const char* test_suite_name, const char* test_name, - const char* type_param, const char* value_param, - const char* file, int line, Factory factory) { - using TestT = typename std::remove_pointer::type; - - class FactoryImpl : public internal::TestFactoryBase { - public: - explicit FactoryImpl(Factory f) : factory_(std::move(f)) {} - Test* CreateTest() override { return factory_(); } - - private: - Factory factory_; - }; - - return internal::MakeAndRegisterTestInfo( - test_suite_name, test_name, type_param, value_param, - internal::CodeLocation(file, line), internal::GetTypeId(), - internal::SuiteApiResolver::GetSetUpCaseOrSuite(file, line), - internal::SuiteApiResolver::GetTearDownCaseOrSuite(file, line), - new FactoryImpl{std::move(factory)}); -} - -} // namespace testing - -// Use this function in main() to run all tests. It returns 0 if all -// tests are successful, or 1 otherwise. -// -// RUN_ALL_TESTS() should be invoked after the command line has been -// parsed by InitGoogleTest(). -// -// This function was formerly a macro; thus, it is in the global -// namespace and has an all-caps name. -int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_; - -inline int RUN_ALL_TESTS() { - return ::testing::UnitTest::GetInstance()->Run(); -} - -GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251 - -#endif // GTEST_INCLUDE_GTEST_GTEST_H_ diff --git a/include/gtest/gtest_pred_impl.h b/include/gtest/gtest_pred_impl.h deleted file mode 100644 index d514255..0000000 --- a/include/gtest/gtest_pred_impl.h +++ /dev/null @@ -1,359 +0,0 @@ -// Copyright 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// This file is AUTOMATICALLY GENERATED on 01/02/2019 by command -// 'gen_gtest_pred_impl.py 5'. DO NOT EDIT BY HAND! -// -// Implements a family of generic predicate assertion macros. -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ -#define GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ - -#include "gtest/gtest.h" - -namespace testing { - -// This header implements a family of generic predicate assertion -// macros: -// -// ASSERT_PRED_FORMAT1(pred_format, v1) -// ASSERT_PRED_FORMAT2(pred_format, v1, v2) -// ... -// -// where pred_format is a function or functor that takes n (in the -// case of ASSERT_PRED_FORMATn) values and their source expression -// text, and returns a testing::AssertionResult. See the definition -// of ASSERT_EQ in gtest.h for an example. -// -// If you don't care about formatting, you can use the more -// restrictive version: -// -// ASSERT_PRED1(pred, v1) -// ASSERT_PRED2(pred, v1, v2) -// ... -// -// where pred is an n-ary function or functor that returns bool, -// and the values v1, v2, ..., must support the << operator for -// streaming to std::ostream. -// -// We also define the EXPECT_* variations. -// -// For now we only support predicates whose arity is at most 5. -// Please email googletestframework@googlegroups.com if you need -// support for higher arities. - -// GTEST_ASSERT_ is the basic statement to which all of the assertions -// in this file reduce. Don't use this in your code. - -#define GTEST_ASSERT_(expression, on_failure) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (const ::testing::AssertionResult gtest_ar = (expression)) \ - ; \ - else \ - on_failure(gtest_ar.failure_message()) - - -// Helper function for implementing {EXPECT|ASSERT}_PRED1. Don't use -// this in your code. -template -AssertionResult AssertPred1Helper(const char* pred_text, - const char* e1, - Pred pred, - const T1& v1) { - if (pred(v1)) return AssertionSuccess(); - - return AssertionFailure() - << pred_text << "(" << e1 << ") evaluates to false, where" - << "\n" - << e1 << " evaluates to " << ::testing::PrintToString(v1); -} - -// Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT1. -// Don't use this in your code. -#define GTEST_PRED_FORMAT1_(pred_format, v1, on_failure)\ - GTEST_ASSERT_(pred_format(#v1, v1), \ - on_failure) - -// Internal macro for implementing {EXPECT|ASSERT}_PRED1. Don't use -// this in your code. -#define GTEST_PRED1_(pred, v1, on_failure)\ - GTEST_ASSERT_(::testing::AssertPred1Helper(#pred, \ - #v1, \ - pred, \ - v1), on_failure) - -// Unary predicate assertion macros. -#define EXPECT_PRED_FORMAT1(pred_format, v1) \ - GTEST_PRED_FORMAT1_(pred_format, v1, GTEST_NONFATAL_FAILURE_) -#define EXPECT_PRED1(pred, v1) \ - GTEST_PRED1_(pred, v1, GTEST_NONFATAL_FAILURE_) -#define ASSERT_PRED_FORMAT1(pred_format, v1) \ - GTEST_PRED_FORMAT1_(pred_format, v1, GTEST_FATAL_FAILURE_) -#define ASSERT_PRED1(pred, v1) \ - GTEST_PRED1_(pred, v1, GTEST_FATAL_FAILURE_) - - - -// Helper function for implementing {EXPECT|ASSERT}_PRED2. Don't use -// this in your code. -template -AssertionResult AssertPred2Helper(const char* pred_text, - const char* e1, - const char* e2, - Pred pred, - const T1& v1, - const T2& v2) { - if (pred(v1, v2)) return AssertionSuccess(); - - return AssertionFailure() - << pred_text << "(" << e1 << ", " << e2 - << ") evaluates to false, where" - << "\n" - << e1 << " evaluates to " << ::testing::PrintToString(v1) << "\n" - << e2 << " evaluates to " << ::testing::PrintToString(v2); -} - -// Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT2. -// Don't use this in your code. -#define GTEST_PRED_FORMAT2_(pred_format, v1, v2, on_failure)\ - GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), \ - on_failure) - -// Internal macro for implementing {EXPECT|ASSERT}_PRED2. Don't use -// this in your code. -#define GTEST_PRED2_(pred, v1, v2, on_failure)\ - GTEST_ASSERT_(::testing::AssertPred2Helper(#pred, \ - #v1, \ - #v2, \ - pred, \ - v1, \ - v2), on_failure) - -// Binary predicate assertion macros. -#define EXPECT_PRED_FORMAT2(pred_format, v1, v2) \ - GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_NONFATAL_FAILURE_) -#define EXPECT_PRED2(pred, v1, v2) \ - GTEST_PRED2_(pred, v1, v2, GTEST_NONFATAL_FAILURE_) -#define ASSERT_PRED_FORMAT2(pred_format, v1, v2) \ - GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_) -#define ASSERT_PRED2(pred, v1, v2) \ - GTEST_PRED2_(pred, v1, v2, GTEST_FATAL_FAILURE_) - - - -// Helper function for implementing {EXPECT|ASSERT}_PRED3. Don't use -// this in your code. -template -AssertionResult AssertPred3Helper(const char* pred_text, - const char* e1, - const char* e2, - const char* e3, - Pred pred, - const T1& v1, - const T2& v2, - const T3& v3) { - if (pred(v1, v2, v3)) return AssertionSuccess(); - - return AssertionFailure() - << pred_text << "(" << e1 << ", " << e2 << ", " << e3 - << ") evaluates to false, where" - << "\n" - << e1 << " evaluates to " << ::testing::PrintToString(v1) << "\n" - << e2 << " evaluates to " << ::testing::PrintToString(v2) << "\n" - << e3 << " evaluates to " << ::testing::PrintToString(v3); -} - -// Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT3. -// Don't use this in your code. -#define GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, on_failure)\ - GTEST_ASSERT_(pred_format(#v1, #v2, #v3, v1, v2, v3), \ - on_failure) - -// Internal macro for implementing {EXPECT|ASSERT}_PRED3. Don't use -// this in your code. -#define GTEST_PRED3_(pred, v1, v2, v3, on_failure)\ - GTEST_ASSERT_(::testing::AssertPred3Helper(#pred, \ - #v1, \ - #v2, \ - #v3, \ - pred, \ - v1, \ - v2, \ - v3), on_failure) - -// Ternary predicate assertion macros. -#define EXPECT_PRED_FORMAT3(pred_format, v1, v2, v3) \ - GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, GTEST_NONFATAL_FAILURE_) -#define EXPECT_PRED3(pred, v1, v2, v3) \ - GTEST_PRED3_(pred, v1, v2, v3, GTEST_NONFATAL_FAILURE_) -#define ASSERT_PRED_FORMAT3(pred_format, v1, v2, v3) \ - GTEST_PRED_FORMAT3_(pred_format, v1, v2, v3, GTEST_FATAL_FAILURE_) -#define ASSERT_PRED3(pred, v1, v2, v3) \ - GTEST_PRED3_(pred, v1, v2, v3, GTEST_FATAL_FAILURE_) - - - -// Helper function for implementing {EXPECT|ASSERT}_PRED4. Don't use -// this in your code. -template -AssertionResult AssertPred4Helper(const char* pred_text, - const char* e1, - const char* e2, - const char* e3, - const char* e4, - Pred pred, - const T1& v1, - const T2& v2, - const T3& v3, - const T4& v4) { - if (pred(v1, v2, v3, v4)) return AssertionSuccess(); - - return AssertionFailure() - << pred_text << "(" << e1 << ", " << e2 << ", " << e3 << ", " << e4 - << ") evaluates to false, where" - << "\n" - << e1 << " evaluates to " << ::testing::PrintToString(v1) << "\n" - << e2 << " evaluates to " << ::testing::PrintToString(v2) << "\n" - << e3 << " evaluates to " << ::testing::PrintToString(v3) << "\n" - << e4 << " evaluates to " << ::testing::PrintToString(v4); -} - -// Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT4. -// Don't use this in your code. -#define GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, on_failure)\ - GTEST_ASSERT_(pred_format(#v1, #v2, #v3, #v4, v1, v2, v3, v4), \ - on_failure) - -// Internal macro for implementing {EXPECT|ASSERT}_PRED4. Don't use -// this in your code. -#define GTEST_PRED4_(pred, v1, v2, v3, v4, on_failure)\ - GTEST_ASSERT_(::testing::AssertPred4Helper(#pred, \ - #v1, \ - #v2, \ - #v3, \ - #v4, \ - pred, \ - v1, \ - v2, \ - v3, \ - v4), on_failure) - -// 4-ary predicate assertion macros. -#define EXPECT_PRED_FORMAT4(pred_format, v1, v2, v3, v4) \ - GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, GTEST_NONFATAL_FAILURE_) -#define EXPECT_PRED4(pred, v1, v2, v3, v4) \ - GTEST_PRED4_(pred, v1, v2, v3, v4, GTEST_NONFATAL_FAILURE_) -#define ASSERT_PRED_FORMAT4(pred_format, v1, v2, v3, v4) \ - GTEST_PRED_FORMAT4_(pred_format, v1, v2, v3, v4, GTEST_FATAL_FAILURE_) -#define ASSERT_PRED4(pred, v1, v2, v3, v4) \ - GTEST_PRED4_(pred, v1, v2, v3, v4, GTEST_FATAL_FAILURE_) - - - -// Helper function for implementing {EXPECT|ASSERT}_PRED5. Don't use -// this in your code. -template -AssertionResult AssertPred5Helper(const char* pred_text, - const char* e1, - const char* e2, - const char* e3, - const char* e4, - const char* e5, - Pred pred, - const T1& v1, - const T2& v2, - const T3& v3, - const T4& v4, - const T5& v5) { - if (pred(v1, v2, v3, v4, v5)) return AssertionSuccess(); - - return AssertionFailure() - << pred_text << "(" << e1 << ", " << e2 << ", " << e3 << ", " << e4 - << ", " << e5 << ") evaluates to false, where" - << "\n" - << e1 << " evaluates to " << ::testing::PrintToString(v1) << "\n" - << e2 << " evaluates to " << ::testing::PrintToString(v2) << "\n" - << e3 << " evaluates to " << ::testing::PrintToString(v3) << "\n" - << e4 << " evaluates to " << ::testing::PrintToString(v4) << "\n" - << e5 << " evaluates to " << ::testing::PrintToString(v5); -} - -// Internal macro for implementing {EXPECT|ASSERT}_PRED_FORMAT5. -// Don't use this in your code. -#define GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, on_failure)\ - GTEST_ASSERT_(pred_format(#v1, #v2, #v3, #v4, #v5, v1, v2, v3, v4, v5), \ - on_failure) - -// Internal macro for implementing {EXPECT|ASSERT}_PRED5. Don't use -// this in your code. -#define GTEST_PRED5_(pred, v1, v2, v3, v4, v5, on_failure)\ - GTEST_ASSERT_(::testing::AssertPred5Helper(#pred, \ - #v1, \ - #v2, \ - #v3, \ - #v4, \ - #v5, \ - pred, \ - v1, \ - v2, \ - v3, \ - v4, \ - v5), on_failure) - -// 5-ary predicate assertion macros. -#define EXPECT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5) \ - GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, GTEST_NONFATAL_FAILURE_) -#define EXPECT_PRED5(pred, v1, v2, v3, v4, v5) \ - GTEST_PRED5_(pred, v1, v2, v3, v4, v5, GTEST_NONFATAL_FAILURE_) -#define ASSERT_PRED_FORMAT5(pred_format, v1, v2, v3, v4, v5) \ - GTEST_PRED_FORMAT5_(pred_format, v1, v2, v3, v4, v5, GTEST_FATAL_FAILURE_) -#define ASSERT_PRED5(pred, v1, v2, v3, v4, v5) \ - GTEST_PRED5_(pred, v1, v2, v3, v4, v5, GTEST_FATAL_FAILURE_) - - - -} // namespace testing - -#endif // GTEST_INCLUDE_GTEST_GTEST_PRED_IMPL_H_ diff --git a/include/gtest/gtest_prod.h b/include/gtest/gtest_prod.h deleted file mode 100644 index e651671..0000000 --- a/include/gtest/gtest_prod.h +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2006, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// -// Google C++ Testing and Mocking Framework definitions useful in production code. -// GOOGLETEST_CM0003 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_GTEST_PROD_H_ -#define GTEST_INCLUDE_GTEST_GTEST_PROD_H_ - -// When you need to test the private or protected members of a class, -// use the FRIEND_TEST macro to declare your tests as friends of the -// class. For example: -// -// class MyClass { -// private: -// void PrivateMethod(); -// FRIEND_TEST(MyClassTest, PrivateMethodWorks); -// }; -// -// class MyClassTest : public testing::Test { -// // ... -// }; -// -// TEST_F(MyClassTest, PrivateMethodWorks) { -// // Can call MyClass::PrivateMethod() here. -// } -// -// Note: The test class must be in the same namespace as the class being tested. -// For example, putting MyClassTest in an anonymous namespace will not work. - -#define FRIEND_TEST(test_case_name, test_name)\ -friend class test_case_name##_##test_name##_Test - -#endif // GTEST_INCLUDE_GTEST_GTEST_PROD_H_ diff --git a/include/gtest/internal/custom/README.md b/include/gtest/internal/custom/README.md deleted file mode 100644 index ff391fb..0000000 --- a/include/gtest/internal/custom/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# Customization Points - -The custom directory is an injection point for custom user configurations. - -## Header `gtest.h` - -### The following macros can be defined: - -* `GTEST_OS_STACK_TRACE_GETTER_` - The name of an implementation of - `OsStackTraceGetterInterface`. -* `GTEST_CUSTOM_TEMPDIR_FUNCTION_` - An override for `testing::TempDir()`. See - `testing::TempDir` for semantics and signature. - -## Header `gtest-port.h` - -The following macros can be defined: - -### Flag related macros: - -* `GTEST_FLAG(flag_name)` -* `GTEST_USE_OWN_FLAGFILE_FLAG_` - Define to 0 when the system provides its - own flagfile flag parsing. -* `GTEST_DECLARE_bool_(name)` -* `GTEST_DECLARE_int32_(name)` -* `GTEST_DECLARE_string_(name)` -* `GTEST_DEFINE_bool_(name, default_val, doc)` -* `GTEST_DEFINE_int32_(name, default_val, doc)` -* `GTEST_DEFINE_string_(name, default_val, doc)` - -### Logging: - -* `GTEST_LOG_(severity)` -* `GTEST_CHECK_(condition)` -* Functions `LogToStderr()` and `FlushInfoLog()` have to be provided too. - -### Threading: - -* `GTEST_HAS_NOTIFICATION_` - Enabled if Notification is already provided. -* `GTEST_HAS_MUTEX_AND_THREAD_LOCAL_` - Enabled if `Mutex` and `ThreadLocal` - are already provided. Must also provide `GTEST_DECLARE_STATIC_MUTEX_(mutex)` - and `GTEST_DEFINE_STATIC_MUTEX_(mutex)` -* `GTEST_EXCLUSIVE_LOCK_REQUIRED_(locks)` -* `GTEST_LOCK_EXCLUDED_(locks)` - -### Underlying library support features - -* `GTEST_HAS_CXXABI_H_` - -### Exporting API symbols: - -* `GTEST_API_` - Specifier for exported symbols. - -## Header `gtest-printers.h` - -* See documentation at `gtest/gtest-printers.h` for details on how to define a - custom printer. diff --git a/include/gtest/internal/custom/gtest-port.h b/include/gtest/internal/custom/gtest-port.h deleted file mode 100644 index cd85d95..0000000 --- a/include/gtest/internal/custom/gtest-port.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2015, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Injection point for custom user configurations. See README for details -// -// ** Custom implementation starts here ** - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PORT_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PORT_H_ - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PORT_H_ diff --git a/include/gtest/internal/custom/gtest-printers.h b/include/gtest/internal/custom/gtest-printers.h deleted file mode 100644 index eb4467a..0000000 --- a/include/gtest/internal/custom/gtest-printers.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2015, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// This file provides an injection point for custom printers in a local -// installation of gTest. -// It will be included from gtest-printers.h and the overrides in this file -// will be visible to everyone. -// -// Injection point for custom user configurations. See README for details -// -// ** Custom implementation starts here ** - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_ - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_ diff --git a/include/gtest/internal/custom/gtest.h b/include/gtest/internal/custom/gtest.h deleted file mode 100644 index 4c8e07b..0000000 --- a/include/gtest/internal/custom/gtest.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2015, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Injection point for custom user configurations. See README for details -// -// ** Custom implementation starts here ** - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_ - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_ diff --git a/include/gtest/internal/gtest-death-test-internal.h b/include/gtest/internal/gtest-death-test-internal.h deleted file mode 100644 index 68bd353..0000000 --- a/include/gtest/internal/gtest-death-test-internal.h +++ /dev/null @@ -1,304 +0,0 @@ -// Copyright 2005, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// The Google C++ Testing and Mocking Framework (Google Test) -// -// This header file defines internal utilities needed for implementing -// death tests. They are subject to change without notice. -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_DEATH_TEST_INTERNAL_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_DEATH_TEST_INTERNAL_H_ - -#include "gtest/gtest-matchers.h" -#include "gtest/internal/gtest-internal.h" - -#include -#include - -namespace testing { -namespace internal { - -GTEST_DECLARE_string_(internal_run_death_test); - -// Names of the flags (needed for parsing Google Test flags). -const char kDeathTestStyleFlag[] = "death_test_style"; -const char kDeathTestUseFork[] = "death_test_use_fork"; -const char kInternalRunDeathTestFlag[] = "internal_run_death_test"; - -#if GTEST_HAS_DEATH_TEST - -GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \ -/* class A needs to have dll-interface to be used by clients of class B */) - -// DeathTest is a class that hides much of the complexity of the -// GTEST_DEATH_TEST_ macro. It is abstract; its static Create method -// returns a concrete class that depends on the prevailing death test -// style, as defined by the --gtest_death_test_style and/or -// --gtest_internal_run_death_test flags. - -// In describing the results of death tests, these terms are used with -// the corresponding definitions: -// -// exit status: The integer exit information in the format specified -// by wait(2) -// exit code: The integer code passed to exit(3), _exit(2), or -// returned from main() -class GTEST_API_ DeathTest { - public: - // Create returns false if there was an error determining the - // appropriate action to take for the current death test; for example, - // if the gtest_death_test_style flag is set to an invalid value. - // The LastMessage method will return a more detailed message in that - // case. Otherwise, the DeathTest pointer pointed to by the "test" - // argument is set. If the death test should be skipped, the pointer - // is set to NULL; otherwise, it is set to the address of a new concrete - // DeathTest object that controls the execution of the current test. - static bool Create(const char* statement, Matcher matcher, - const char* file, int line, DeathTest** test); - DeathTest(); - virtual ~DeathTest() { } - - // A helper class that aborts a death test when it's deleted. - class ReturnSentinel { - public: - explicit ReturnSentinel(DeathTest* test) : test_(test) { } - ~ReturnSentinel() { test_->Abort(TEST_ENCOUNTERED_RETURN_STATEMENT); } - private: - DeathTest* const test_; - GTEST_DISALLOW_COPY_AND_ASSIGN_(ReturnSentinel); - } GTEST_ATTRIBUTE_UNUSED_; - - // An enumeration of possible roles that may be taken when a death - // test is encountered. EXECUTE means that the death test logic should - // be executed immediately. OVERSEE means that the program should prepare - // the appropriate environment for a child process to execute the death - // test, then wait for it to complete. - enum TestRole { OVERSEE_TEST, EXECUTE_TEST }; - - // An enumeration of the three reasons that a test might be aborted. - enum AbortReason { - TEST_ENCOUNTERED_RETURN_STATEMENT, - TEST_THREW_EXCEPTION, - TEST_DID_NOT_DIE - }; - - // Assumes one of the above roles. - virtual TestRole AssumeRole() = 0; - - // Waits for the death test to finish and returns its status. - virtual int Wait() = 0; - - // Returns true if the death test passed; that is, the test process - // exited during the test, its exit status matches a user-supplied - // predicate, and its stderr output matches a user-supplied regular - // expression. - // The user-supplied predicate may be a macro expression rather - // than a function pointer or functor, or else Wait and Passed could - // be combined. - virtual bool Passed(bool exit_status_ok) = 0; - - // Signals that the death test did not die as expected. - virtual void Abort(AbortReason reason) = 0; - - // Returns a human-readable outcome message regarding the outcome of - // the last death test. - static const char* LastMessage(); - - static void set_last_death_test_message(const std::string& message); - - private: - // A string containing a description of the outcome of the last death test. - static std::string last_death_test_message_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(DeathTest); -}; - -GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251 - -// Factory interface for death tests. May be mocked out for testing. -class DeathTestFactory { - public: - virtual ~DeathTestFactory() { } - virtual bool Create(const char* statement, - Matcher matcher, const char* file, - int line, DeathTest** test) = 0; -}; - -// A concrete DeathTestFactory implementation for normal use. -class DefaultDeathTestFactory : public DeathTestFactory { - public: - bool Create(const char* statement, Matcher matcher, - const char* file, int line, DeathTest** test) override; -}; - -// Returns true if exit_status describes a process that was terminated -// by a signal, or exited normally with a nonzero exit code. -GTEST_API_ bool ExitedUnsuccessfully(int exit_status); - -// A string passed to EXPECT_DEATH (etc.) is caught by one of these overloads -// and interpreted as a regex (rather than an Eq matcher) for legacy -// compatibility. -inline Matcher MakeDeathTestMatcher( - ::testing::internal::RE regex) { - return ContainsRegex(regex.pattern()); -} -inline Matcher MakeDeathTestMatcher(const char* regex) { - return ContainsRegex(regex); -} -inline Matcher MakeDeathTestMatcher( - const ::std::string& regex) { - return ContainsRegex(regex); -} - -// If a Matcher is passed to EXPECT_DEATH (etc.), it's -// used directly. -inline Matcher MakeDeathTestMatcher( - Matcher matcher) { - return matcher; -} - -// Traps C++ exceptions escaping statement and reports them as test -// failures. Note that trapping SEH exceptions is not implemented here. -# if GTEST_HAS_EXCEPTIONS -# define GTEST_EXECUTE_DEATH_TEST_STATEMENT_(statement, death_test) \ - try { \ - GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ - } catch (const ::std::exception& gtest_exception) { \ - fprintf(\ - stderr, \ - "\n%s: Caught std::exception-derived exception escaping the " \ - "death test statement. Exception message: %s\n", \ - ::testing::internal::FormatFileLocation(__FILE__, __LINE__).c_str(), \ - gtest_exception.what()); \ - fflush(stderr); \ - death_test->Abort(::testing::internal::DeathTest::TEST_THREW_EXCEPTION); \ - } catch (...) { \ - death_test->Abort(::testing::internal::DeathTest::TEST_THREW_EXCEPTION); \ - } - -# else -# define GTEST_EXECUTE_DEATH_TEST_STATEMENT_(statement, death_test) \ - GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement) - -# endif - -// This macro is for implementing ASSERT_DEATH*, EXPECT_DEATH*, -// ASSERT_EXIT*, and EXPECT_EXIT*. -#define GTEST_DEATH_TEST_(statement, predicate, regex_or_matcher, fail) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (::testing::internal::AlwaysTrue()) { \ - ::testing::internal::DeathTest* gtest_dt; \ - if (!::testing::internal::DeathTest::Create( \ - #statement, \ - ::testing::internal::MakeDeathTestMatcher(regex_or_matcher), \ - __FILE__, __LINE__, >est_dt)) { \ - goto GTEST_CONCAT_TOKEN_(gtest_label_, __LINE__); \ - } \ - if (gtest_dt != nullptr) { \ - std::unique_ptr< ::testing::internal::DeathTest> gtest_dt_ptr(gtest_dt); \ - switch (gtest_dt->AssumeRole()) { \ - case ::testing::internal::DeathTest::OVERSEE_TEST: \ - if (!gtest_dt->Passed(predicate(gtest_dt->Wait()))) { \ - goto GTEST_CONCAT_TOKEN_(gtest_label_, __LINE__); \ - } \ - break; \ - case ::testing::internal::DeathTest::EXECUTE_TEST: { \ - ::testing::internal::DeathTest::ReturnSentinel gtest_sentinel( \ - gtest_dt); \ - GTEST_EXECUTE_DEATH_TEST_STATEMENT_(statement, gtest_dt); \ - gtest_dt->Abort(::testing::internal::DeathTest::TEST_DID_NOT_DIE); \ - break; \ - } \ - default: \ - break; \ - } \ - } \ - } else \ - GTEST_CONCAT_TOKEN_(gtest_label_, __LINE__) \ - : fail(::testing::internal::DeathTest::LastMessage()) -// The symbol "fail" here expands to something into which a message -// can be streamed. - -// This macro is for implementing ASSERT/EXPECT_DEBUG_DEATH when compiled in -// NDEBUG mode. In this case we need the statements to be executed and the macro -// must accept a streamed message even though the message is never printed. -// The regex object is not evaluated, but it is used to prevent "unused" -// warnings and to avoid an expression that doesn't compile in debug mode. -#define GTEST_EXECUTE_STATEMENT_(statement, regex_or_matcher) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (::testing::internal::AlwaysTrue()) { \ - GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ - } else if (!::testing::internal::AlwaysTrue()) { \ - ::testing::internal::MakeDeathTestMatcher(regex_or_matcher); \ - } else \ - ::testing::Message() - -// A class representing the parsed contents of the -// --gtest_internal_run_death_test flag, as it existed when -// RUN_ALL_TESTS was called. -class InternalRunDeathTestFlag { - public: - InternalRunDeathTestFlag(const std::string& a_file, - int a_line, - int an_index, - int a_write_fd) - : file_(a_file), line_(a_line), index_(an_index), - write_fd_(a_write_fd) {} - - ~InternalRunDeathTestFlag() { - if (write_fd_ >= 0) - posix::Close(write_fd_); - } - - const std::string& file() const { return file_; } - int line() const { return line_; } - int index() const { return index_; } - int write_fd() const { return write_fd_; } - - private: - std::string file_; - int line_; - int index_; - int write_fd_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(InternalRunDeathTestFlag); -}; - -// Returns a newly created InternalRunDeathTestFlag object with fields -// initialized from the GTEST_FLAG(internal_run_death_test) flag if -// the flag is specified; otherwise returns NULL. -InternalRunDeathTestFlag* ParseInternalRunDeathTestFlag(); - -#endif // GTEST_HAS_DEATH_TEST - -} // namespace internal -} // namespace testing - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_DEATH_TEST_INTERNAL_H_ diff --git a/include/gtest/internal/gtest-filepath.h b/include/gtest/internal/gtest-filepath.h deleted file mode 100644 index c11b101..0000000 --- a/include/gtest/internal/gtest-filepath.h +++ /dev/null @@ -1,211 +0,0 @@ -// Copyright 2008, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Google Test filepath utilities -// -// This header file declares classes and functions used internally by -// Google Test. They are subject to change without notice. -// -// This file is #included in gtest/internal/gtest-internal.h. -// Do not include this header file separately! - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ - -#include "gtest/internal/gtest-string.h" - -GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \ -/* class A needs to have dll-interface to be used by clients of class B */) - -namespace testing { -namespace internal { - -// FilePath - a class for file and directory pathname manipulation which -// handles platform-specific conventions (like the pathname separator). -// Used for helper functions for naming files in a directory for xml output. -// Except for Set methods, all methods are const or static, which provides an -// "immutable value object" -- useful for peace of mind. -// A FilePath with a value ending in a path separator ("like/this/") represents -// a directory, otherwise it is assumed to represent a file. In either case, -// it may or may not represent an actual file or directory in the file system. -// Names are NOT checked for syntax correctness -- no checking for illegal -// characters, malformed paths, etc. - -class GTEST_API_ FilePath { - public: - FilePath() : pathname_("") { } - FilePath(const FilePath& rhs) : pathname_(rhs.pathname_) { } - - explicit FilePath(const std::string& pathname) : pathname_(pathname) { - Normalize(); - } - - FilePath& operator=(const FilePath& rhs) { - Set(rhs); - return *this; - } - - void Set(const FilePath& rhs) { - pathname_ = rhs.pathname_; - } - - const std::string& string() const { return pathname_; } - const char* c_str() const { return pathname_.c_str(); } - - // Returns the current working directory, or "" if unsuccessful. - static FilePath GetCurrentDir(); - - // Given directory = "dir", base_name = "test", number = 0, - // extension = "xml", returns "dir/test.xml". If number is greater - // than zero (e.g., 12), returns "dir/test_12.xml". - // On Windows platform, uses \ as the separator rather than /. - static FilePath MakeFileName(const FilePath& directory, - const FilePath& base_name, - int number, - const char* extension); - - // Given directory = "dir", relative_path = "test.xml", - // returns "dir/test.xml". - // On Windows, uses \ as the separator rather than /. - static FilePath ConcatPaths(const FilePath& directory, - const FilePath& relative_path); - - // Returns a pathname for a file that does not currently exist. The pathname - // will be directory/base_name.extension or - // directory/base_name_.extension if directory/base_name.extension - // already exists. The number will be incremented until a pathname is found - // that does not already exist. - // Examples: 'dir/foo_test.xml' or 'dir/foo_test_1.xml'. - // There could be a race condition if two or more processes are calling this - // function at the same time -- they could both pick the same filename. - static FilePath GenerateUniqueFileName(const FilePath& directory, - const FilePath& base_name, - const char* extension); - - // Returns true if and only if the path is "". - bool IsEmpty() const { return pathname_.empty(); } - - // If input name has a trailing separator character, removes it and returns - // the name, otherwise return the name string unmodified. - // On Windows platform, uses \ as the separator, other platforms use /. - FilePath RemoveTrailingPathSeparator() const; - - // Returns a copy of the FilePath with the directory part removed. - // Example: FilePath("path/to/file").RemoveDirectoryName() returns - // FilePath("file"). If there is no directory part ("just_a_file"), it returns - // the FilePath unmodified. If there is no file part ("just_a_dir/") it - // returns an empty FilePath (""). - // On Windows platform, '\' is the path separator, otherwise it is '/'. - FilePath RemoveDirectoryName() const; - - // RemoveFileName returns the directory path with the filename removed. - // Example: FilePath("path/to/file").RemoveFileName() returns "path/to/". - // If the FilePath is "a_file" or "/a_file", RemoveFileName returns - // FilePath("./") or, on Windows, FilePath(".\\"). If the filepath does - // not have a file, like "just/a/dir/", it returns the FilePath unmodified. - // On Windows platform, '\' is the path separator, otherwise it is '/'. - FilePath RemoveFileName() const; - - // Returns a copy of the FilePath with the case-insensitive extension removed. - // Example: FilePath("dir/file.exe").RemoveExtension("EXE") returns - // FilePath("dir/file"). If a case-insensitive extension is not - // found, returns a copy of the original FilePath. - FilePath RemoveExtension(const char* extension) const; - - // Creates directories so that path exists. Returns true if successful or if - // the directories already exist; returns false if unable to create - // directories for any reason. Will also return false if the FilePath does - // not represent a directory (that is, it doesn't end with a path separator). - bool CreateDirectoriesRecursively() const; - - // Create the directory so that path exists. Returns true if successful or - // if the directory already exists; returns false if unable to create the - // directory for any reason, including if the parent directory does not - // exist. Not named "CreateDirectory" because that's a macro on Windows. - bool CreateFolder() const; - - // Returns true if FilePath describes something in the file-system, - // either a file, directory, or whatever, and that something exists. - bool FileOrDirectoryExists() const; - - // Returns true if pathname describes a directory in the file-system - // that exists. - bool DirectoryExists() const; - - // Returns true if FilePath ends with a path separator, which indicates that - // it is intended to represent a directory. Returns false otherwise. - // This does NOT check that a directory (or file) actually exists. - bool IsDirectory() const; - - // Returns true if pathname describes a root directory. (Windows has one - // root directory per disk drive.) - bool IsRootDirectory() const; - - // Returns true if pathname describes an absolute path. - bool IsAbsolutePath() const; - - private: - // Replaces multiple consecutive separators with a single separator. - // For example, "bar///foo" becomes "bar/foo". Does not eliminate other - // redundancies that might be in a pathname involving "." or "..". - // - // A pathname with multiple consecutive separators may occur either through - // user error or as a result of some scripts or APIs that generate a pathname - // with a trailing separator. On other platforms the same API or script - // may NOT generate a pathname with a trailing "/". Then elsewhere that - // pathname may have another "/" and pathname components added to it, - // without checking for the separator already being there. - // The script language and operating system may allow paths like "foo//bar" - // but some of the functions in FilePath will not handle that correctly. In - // particular, RemoveTrailingPathSeparator() only removes one separator, and - // it is called in CreateDirectoriesRecursively() assuming that it will change - // a pathname from directory syntax (trailing separator) to filename syntax. - // - // On Windows this method also replaces the alternate path separator '/' with - // the primary path separator '\\', so that for example "bar\\/\\foo" becomes - // "bar\\foo". - - void Normalize(); - - // Returns a pointer to the last occurence of a valid path separator in - // the FilePath. On Windows, for example, both '/' and '\' are valid path - // separators. Returns NULL if no path separator was found. - const char* FindLastPathSeparator() const; - - std::string pathname_; -}; // class FilePath - -} // namespace internal -} // namespace testing - -GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251 - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ diff --git a/include/gtest/internal/gtest-internal.h b/include/gtest/internal/gtest-internal.h deleted file mode 100644 index 94c816a..0000000 --- a/include/gtest/internal/gtest-internal.h +++ /dev/null @@ -1,1380 +0,0 @@ -// Copyright 2005, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// The Google C++ Testing and Mocking Framework (Google Test) -// -// This header file declares functions and macros used internally by -// Google Test. They are subject to change without notice. - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_INTERNAL_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_INTERNAL_H_ - -#include "gtest/internal/gtest-port.h" - -#if GTEST_OS_LINUX -# include -# include -# include -# include -#endif // GTEST_OS_LINUX - -#if GTEST_HAS_EXCEPTIONS -# include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "gtest/gtest-message.h" -#include "gtest/internal/gtest-filepath.h" -#include "gtest/internal/gtest-string.h" -#include "gtest/internal/gtest-type-util.h" - -// Due to C++ preprocessor weirdness, we need double indirection to -// concatenate two tokens when one of them is __LINE__. Writing -// -// foo ## __LINE__ -// -// will result in the token foo__LINE__, instead of foo followed by -// the current line number. For more details, see -// http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.6 -#define GTEST_CONCAT_TOKEN_(foo, bar) GTEST_CONCAT_TOKEN_IMPL_(foo, bar) -#define GTEST_CONCAT_TOKEN_IMPL_(foo, bar) foo ## bar - -// Stringifies its argument. -#define GTEST_STRINGIFY_(name) #name - -namespace proto2 { class Message; } - -namespace testing { - -// Forward declarations. - -class AssertionResult; // Result of an assertion. -class Message; // Represents a failure message. -class Test; // Represents a test. -class TestInfo; // Information about a test. -class TestPartResult; // Result of a test part. -class UnitTest; // A collection of test suites. - -template -::std::string PrintToString(const T& value); - -namespace internal { - -struct TraceInfo; // Information about a trace point. -class TestInfoImpl; // Opaque implementation of TestInfo -class UnitTestImpl; // Opaque implementation of UnitTest - -// The text used in failure messages to indicate the start of the -// stack trace. -GTEST_API_ extern const char kStackTraceMarker[]; - -// An IgnoredValue object can be implicitly constructed from ANY value. -class IgnoredValue { - struct Sink {}; - public: - // This constructor template allows any value to be implicitly - // converted to IgnoredValue. The object has no data member and - // doesn't try to remember anything about the argument. We - // deliberately omit the 'explicit' keyword in order to allow the - // conversion to be implicit. - // Disable the conversion if T already has a magical conversion operator. - // Otherwise we get ambiguity. - template ::value, - int>::type = 0> - IgnoredValue(const T& /* ignored */) {} // NOLINT(runtime/explicit) -}; - -// Appends the user-supplied message to the Google-Test-generated message. -GTEST_API_ std::string AppendUserMessage( - const std::string& gtest_msg, const Message& user_msg); - -#if GTEST_HAS_EXCEPTIONS - -GTEST_DISABLE_MSC_WARNINGS_PUSH_(4275 \ -/* an exported class was derived from a class that was not exported */) - -// This exception is thrown by (and only by) a failed Google Test -// assertion when GTEST_FLAG(throw_on_failure) is true (if exceptions -// are enabled). We derive it from std::runtime_error, which is for -// errors presumably detectable only at run time. Since -// std::runtime_error inherits from std::exception, many testing -// frameworks know how to extract and print the message inside it. -class GTEST_API_ GoogleTestFailureException : public ::std::runtime_error { - public: - explicit GoogleTestFailureException(const TestPartResult& failure); -}; - -GTEST_DISABLE_MSC_WARNINGS_POP_() // 4275 - -#endif // GTEST_HAS_EXCEPTIONS - -namespace edit_distance { -// Returns the optimal edits to go from 'left' to 'right'. -// All edits cost the same, with replace having lower priority than -// add/remove. -// Simple implementation of the Wagner-Fischer algorithm. -// See http://en.wikipedia.org/wiki/Wagner-Fischer_algorithm -enum EditType { kMatch, kAdd, kRemove, kReplace }; -GTEST_API_ std::vector CalculateOptimalEdits( - const std::vector& left, const std::vector& right); - -// Same as above, but the input is represented as strings. -GTEST_API_ std::vector CalculateOptimalEdits( - const std::vector& left, - const std::vector& right); - -// Create a diff of the input strings in Unified diff format. -GTEST_API_ std::string CreateUnifiedDiff(const std::vector& left, - const std::vector& right, - size_t context = 2); - -} // namespace edit_distance - -// Calculate the diff between 'left' and 'right' and return it in unified diff -// format. -// If not null, stores in 'total_line_count' the total number of lines found -// in left + right. -GTEST_API_ std::string DiffStrings(const std::string& left, - const std::string& right, - size_t* total_line_count); - -// Constructs and returns the message for an equality assertion -// (e.g. ASSERT_EQ, EXPECT_STREQ, etc) failure. -// -// The first four parameters are the expressions used in the assertion -// and their values, as strings. For example, for ASSERT_EQ(foo, bar) -// where foo is 5 and bar is 6, we have: -// -// expected_expression: "foo" -// actual_expression: "bar" -// expected_value: "5" -// actual_value: "6" -// -// The ignoring_case parameter is true if and only if the assertion is a -// *_STRCASEEQ*. When it's true, the string " (ignoring case)" will -// be inserted into the message. -GTEST_API_ AssertionResult EqFailure(const char* expected_expression, - const char* actual_expression, - const std::string& expected_value, - const std::string& actual_value, - bool ignoring_case); - -// Constructs a failure message for Boolean assertions such as EXPECT_TRUE. -GTEST_API_ std::string GetBoolAssertionFailureMessage( - const AssertionResult& assertion_result, - const char* expression_text, - const char* actual_predicate_value, - const char* expected_predicate_value); - -// This template class represents an IEEE floating-point number -// (either single-precision or double-precision, depending on the -// template parameters). -// -// The purpose of this class is to do more sophisticated number -// comparison. (Due to round-off error, etc, it's very unlikely that -// two floating-points will be equal exactly. Hence a naive -// comparison by the == operation often doesn't work.) -// -// Format of IEEE floating-point: -// -// The most-significant bit being the leftmost, an IEEE -// floating-point looks like -// -// sign_bit exponent_bits fraction_bits -// -// Here, sign_bit is a single bit that designates the sign of the -// number. -// -// For float, there are 8 exponent bits and 23 fraction bits. -// -// For double, there are 11 exponent bits and 52 fraction bits. -// -// More details can be found at -// http://en.wikipedia.org/wiki/IEEE_floating-point_standard. -// -// Template parameter: -// -// RawType: the raw floating-point type (either float or double) -template -class FloatingPoint { - public: - // Defines the unsigned integer type that has the same size as the - // floating point number. - typedef typename TypeWithSize::UInt Bits; - - // Constants. - - // # of bits in a number. - static const size_t kBitCount = 8*sizeof(RawType); - - // # of fraction bits in a number. - static const size_t kFractionBitCount = - std::numeric_limits::digits - 1; - - // # of exponent bits in a number. - static const size_t kExponentBitCount = kBitCount - 1 - kFractionBitCount; - - // The mask for the sign bit. - static const Bits kSignBitMask = static_cast(1) << (kBitCount - 1); - - // The mask for the fraction bits. - static const Bits kFractionBitMask = - ~static_cast(0) >> (kExponentBitCount + 1); - - // The mask for the exponent bits. - static const Bits kExponentBitMask = ~(kSignBitMask | kFractionBitMask); - - // How many ULP's (Units in the Last Place) we want to tolerate when - // comparing two numbers. The larger the value, the more error we - // allow. A 0 value means that two numbers must be exactly the same - // to be considered equal. - // - // The maximum error of a single floating-point operation is 0.5 - // units in the last place. On Intel CPU's, all floating-point - // calculations are done with 80-bit precision, while double has 64 - // bits. Therefore, 4 should be enough for ordinary use. - // - // See the following article for more details on ULP: - // http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ - static const size_t kMaxUlps = 4; - - // Constructs a FloatingPoint from a raw floating-point number. - // - // On an Intel CPU, passing a non-normalized NAN (Not a Number) - // around may change its bits, although the new value is guaranteed - // to be also a NAN. Therefore, don't expect this constructor to - // preserve the bits in x when x is a NAN. - explicit FloatingPoint(const RawType& x) { u_.value_ = x; } - - // Static methods - - // Reinterprets a bit pattern as a floating-point number. - // - // This function is needed to test the AlmostEquals() method. - static RawType ReinterpretBits(const Bits bits) { - FloatingPoint fp(0); - fp.u_.bits_ = bits; - return fp.u_.value_; - } - - // Returns the floating-point number that represent positive infinity. - static RawType Infinity() { - return ReinterpretBits(kExponentBitMask); - } - - // Returns the maximum representable finite floating-point number. - static RawType Max(); - - // Non-static methods - - // Returns the bits that represents this number. - const Bits &bits() const { return u_.bits_; } - - // Returns the exponent bits of this number. - Bits exponent_bits() const { return kExponentBitMask & u_.bits_; } - - // Returns the fraction bits of this number. - Bits fraction_bits() const { return kFractionBitMask & u_.bits_; } - - // Returns the sign bit of this number. - Bits sign_bit() const { return kSignBitMask & u_.bits_; } - - // Returns true if and only if this is NAN (not a number). - bool is_nan() const { - // It's a NAN if the exponent bits are all ones and the fraction - // bits are not entirely zeros. - return (exponent_bits() == kExponentBitMask) && (fraction_bits() != 0); - } - - // Returns true if and only if this number is at most kMaxUlps ULP's away - // from rhs. In particular, this function: - // - // - returns false if either number is (or both are) NAN. - // - treats really large numbers as almost equal to infinity. - // - thinks +0.0 and -0.0 are 0 DLP's apart. - bool AlmostEquals(const FloatingPoint& rhs) const { - // The IEEE standard says that any comparison operation involving - // a NAN must return false. - if (is_nan() || rhs.is_nan()) return false; - - return DistanceBetweenSignAndMagnitudeNumbers(u_.bits_, rhs.u_.bits_) - <= kMaxUlps; - } - - private: - // The data type used to store the actual floating-point number. - union FloatingPointUnion { - RawType value_; // The raw floating-point number. - Bits bits_; // The bits that represent the number. - }; - - // Converts an integer from the sign-and-magnitude representation to - // the biased representation. More precisely, let N be 2 to the - // power of (kBitCount - 1), an integer x is represented by the - // unsigned number x + N. - // - // For instance, - // - // -N + 1 (the most negative number representable using - // sign-and-magnitude) is represented by 1; - // 0 is represented by N; and - // N - 1 (the biggest number representable using - // sign-and-magnitude) is represented by 2N - 1. - // - // Read http://en.wikipedia.org/wiki/Signed_number_representations - // for more details on signed number representations. - static Bits SignAndMagnitudeToBiased(const Bits &sam) { - if (kSignBitMask & sam) { - // sam represents a negative number. - return ~sam + 1; - } else { - // sam represents a positive number. - return kSignBitMask | sam; - } - } - - // Given two numbers in the sign-and-magnitude representation, - // returns the distance between them as an unsigned number. - static Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits &sam1, - const Bits &sam2) { - const Bits biased1 = SignAndMagnitudeToBiased(sam1); - const Bits biased2 = SignAndMagnitudeToBiased(sam2); - return (biased1 >= biased2) ? (biased1 - biased2) : (biased2 - biased1); - } - - FloatingPointUnion u_; -}; - -// We cannot use std::numeric_limits::max() as it clashes with the max() -// macro defined by . -template <> -inline float FloatingPoint::Max() { return FLT_MAX; } -template <> -inline double FloatingPoint::Max() { return DBL_MAX; } - -// Typedefs the instances of the FloatingPoint template class that we -// care to use. -typedef FloatingPoint Float; -typedef FloatingPoint Double; - -// In order to catch the mistake of putting tests that use different -// test fixture classes in the same test suite, we need to assign -// unique IDs to fixture classes and compare them. The TypeId type is -// used to hold such IDs. The user should treat TypeId as an opaque -// type: the only operation allowed on TypeId values is to compare -// them for equality using the == operator. -typedef const void* TypeId; - -template -class TypeIdHelper { - public: - // dummy_ must not have a const type. Otherwise an overly eager - // compiler (e.g. MSVC 7.1 & 8.0) may try to merge - // TypeIdHelper::dummy_ for different Ts as an "optimization". - static bool dummy_; -}; - -template -bool TypeIdHelper::dummy_ = false; - -// GetTypeId() returns the ID of type T. Different values will be -// returned for different types. Calling the function twice with the -// same type argument is guaranteed to return the same ID. -template -TypeId GetTypeId() { - // The compiler is required to allocate a different - // TypeIdHelper::dummy_ variable for each T used to instantiate - // the template. Therefore, the address of dummy_ is guaranteed to - // be unique. - return &(TypeIdHelper::dummy_); -} - -// Returns the type ID of ::testing::Test. Always call this instead -// of GetTypeId< ::testing::Test>() to get the type ID of -// ::testing::Test, as the latter may give the wrong result due to a -// suspected linker bug when compiling Google Test as a Mac OS X -// framework. -GTEST_API_ TypeId GetTestTypeId(); - -// Defines the abstract factory interface that creates instances -// of a Test object. -class TestFactoryBase { - public: - virtual ~TestFactoryBase() {} - - // Creates a test instance to run. The instance is both created and destroyed - // within TestInfoImpl::Run() - virtual Test* CreateTest() = 0; - - protected: - TestFactoryBase() {} - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(TestFactoryBase); -}; - -// This class provides implementation of TeastFactoryBase interface. -// It is used in TEST and TEST_F macros. -template -class TestFactoryImpl : public TestFactoryBase { - public: - Test* CreateTest() override { return new TestClass; } -}; - -#if GTEST_OS_WINDOWS - -// Predicate-formatters for implementing the HRESULT checking macros -// {ASSERT|EXPECT}_HRESULT_{SUCCEEDED|FAILED} -// We pass a long instead of HRESULT to avoid causing an -// include dependency for the HRESULT type. -GTEST_API_ AssertionResult IsHRESULTSuccess(const char* expr, - long hr); // NOLINT -GTEST_API_ AssertionResult IsHRESULTFailure(const char* expr, - long hr); // NOLINT - -#endif // GTEST_OS_WINDOWS - -// Types of SetUpTestSuite() and TearDownTestSuite() functions. -using SetUpTestSuiteFunc = void (*)(); -using TearDownTestSuiteFunc = void (*)(); - -struct CodeLocation { - CodeLocation(const std::string& a_file, int a_line) - : file(a_file), line(a_line) {} - - std::string file; - int line; -}; - -// Helper to identify which setup function for TestCase / TestSuite to call. -// Only one function is allowed, either TestCase or TestSute but not both. - -// Utility functions to help SuiteApiResolver -using SetUpTearDownSuiteFuncType = void (*)(); - -inline SetUpTearDownSuiteFuncType GetNotDefaultOrNull( - SetUpTearDownSuiteFuncType a, SetUpTearDownSuiteFuncType def) { - return a == def ? nullptr : a; -} - -template -// Note that SuiteApiResolver inherits from T because -// SetUpTestSuite()/TearDownTestSuite() could be protected. Ths way -// SuiteApiResolver can access them. -struct SuiteApiResolver : T { - // testing::Test is only forward declared at this point. So we make it a - // dependend class for the compiler to be OK with it. - using Test = - typename std::conditional::type; - - static SetUpTearDownSuiteFuncType GetSetUpCaseOrSuite(const char* filename, - int line_num) { - SetUpTearDownSuiteFuncType test_case_fp = - GetNotDefaultOrNull(&T::SetUpTestCase, &Test::SetUpTestCase); - SetUpTearDownSuiteFuncType test_suite_fp = - GetNotDefaultOrNull(&T::SetUpTestSuite, &Test::SetUpTestSuite); - - GTEST_CHECK_(!test_case_fp || !test_suite_fp) - << "Test can not provide both SetUpTestSuite and SetUpTestCase, please " - "make sure there is only one present at " - << filename << ":" << line_num; - - return test_case_fp != nullptr ? test_case_fp : test_suite_fp; - } - - static SetUpTearDownSuiteFuncType GetTearDownCaseOrSuite(const char* filename, - int line_num) { - SetUpTearDownSuiteFuncType test_case_fp = - GetNotDefaultOrNull(&T::TearDownTestCase, &Test::TearDownTestCase); - SetUpTearDownSuiteFuncType test_suite_fp = - GetNotDefaultOrNull(&T::TearDownTestSuite, &Test::TearDownTestSuite); - - GTEST_CHECK_(!test_case_fp || !test_suite_fp) - << "Test can not provide both TearDownTestSuite and TearDownTestCase," - " please make sure there is only one present at" - << filename << ":" << line_num; - - return test_case_fp != nullptr ? test_case_fp : test_suite_fp; - } -}; - -// Creates a new TestInfo object and registers it with Google Test; -// returns the created object. -// -// Arguments: -// -// test_suite_name: name of the test suite -// name: name of the test -// type_param the name of the test's type parameter, or NULL if -// this is not a typed or a type-parameterized test. -// value_param text representation of the test's value parameter, -// or NULL if this is not a type-parameterized test. -// code_location: code location where the test is defined -// fixture_class_id: ID of the test fixture class -// set_up_tc: pointer to the function that sets up the test suite -// tear_down_tc: pointer to the function that tears down the test suite -// factory: pointer to the factory that creates a test object. -// The newly created TestInfo instance will assume -// ownership of the factory object. -GTEST_API_ TestInfo* MakeAndRegisterTestInfo( - const char* test_suite_name, const char* name, const char* type_param, - const char* value_param, CodeLocation code_location, - TypeId fixture_class_id, SetUpTestSuiteFunc set_up_tc, - TearDownTestSuiteFunc tear_down_tc, TestFactoryBase* factory); - -// If *pstr starts with the given prefix, modifies *pstr to be right -// past the prefix and returns true; otherwise leaves *pstr unchanged -// and returns false. None of pstr, *pstr, and prefix can be NULL. -GTEST_API_ bool SkipPrefix(const char* prefix, const char** pstr); - -#if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P - -GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \ -/* class A needs to have dll-interface to be used by clients of class B */) - -// State of the definition of a type-parameterized test suite. -class GTEST_API_ TypedTestSuitePState { - public: - TypedTestSuitePState() : registered_(false) {} - - // Adds the given test name to defined_test_names_ and return true - // if the test suite hasn't been registered; otherwise aborts the - // program. - bool AddTestName(const char* file, int line, const char* case_name, - const char* test_name) { - if (registered_) { - fprintf(stderr, - "%s Test %s must be defined before " - "REGISTER_TYPED_TEST_SUITE_P(%s, ...).\n", - FormatFileLocation(file, line).c_str(), test_name, case_name); - fflush(stderr); - posix::Abort(); - } - registered_tests_.insert( - ::std::make_pair(test_name, CodeLocation(file, line))); - return true; - } - - bool TestExists(const std::string& test_name) const { - return registered_tests_.count(test_name) > 0; - } - - const CodeLocation& GetCodeLocation(const std::string& test_name) const { - RegisteredTestsMap::const_iterator it = registered_tests_.find(test_name); - GTEST_CHECK_(it != registered_tests_.end()); - return it->second; - } - - // Verifies that registered_tests match the test names in - // defined_test_names_; returns registered_tests if successful, or - // aborts the program otherwise. - const char* VerifyRegisteredTestNames( - const char* file, int line, const char* registered_tests); - - private: - typedef ::std::map RegisteredTestsMap; - - bool registered_; - RegisteredTestsMap registered_tests_; -}; - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ -using TypedTestCasePState = TypedTestSuitePState; -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - -GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251 - -// Skips to the first non-space char after the first comma in 'str'; -// returns NULL if no comma is found in 'str'. -inline const char* SkipComma(const char* str) { - const char* comma = strchr(str, ','); - if (comma == nullptr) { - return nullptr; - } - while (IsSpace(*(++comma))) {} - return comma; -} - -// Returns the prefix of 'str' before the first comma in it; returns -// the entire string if it contains no comma. -inline std::string GetPrefixUntilComma(const char* str) { - const char* comma = strchr(str, ','); - return comma == nullptr ? str : std::string(str, comma); -} - -// Splits a given string on a given delimiter, populating a given -// vector with the fields. -void SplitString(const ::std::string& str, char delimiter, - ::std::vector< ::std::string>* dest); - -// The default argument to the template below for the case when the user does -// not provide a name generator. -struct DefaultNameGenerator { - template - static std::string GetName(int i) { - return StreamableToString(i); - } -}; - -template -struct NameGeneratorSelector { - typedef Provided type; -}; - -template -void GenerateNamesRecursively(Types0, std::vector*, int) {} - -template -void GenerateNamesRecursively(Types, std::vector* result, int i) { - result->push_back(NameGenerator::template GetName(i)); - GenerateNamesRecursively(typename Types::Tail(), result, - i + 1); -} - -template -std::vector GenerateNames() { - std::vector result; - GenerateNamesRecursively(Types(), &result, 0); - return result; -} - -// TypeParameterizedTest::Register() -// registers a list of type-parameterized tests with Google Test. The -// return value is insignificant - we just need to return something -// such that we can call this function in a namespace scope. -// -// Implementation note: The GTEST_TEMPLATE_ macro declares a template -// template parameter. It's defined in gtest-type-util.h. -template -class TypeParameterizedTest { - public: - // 'index' is the index of the test in the type list 'Types' - // specified in INSTANTIATE_TYPED_TEST_SUITE_P(Prefix, TestSuite, - // Types). Valid values for 'index' are [0, N - 1] where N is the - // length of Types. - static bool Register(const char* prefix, const CodeLocation& code_location, - const char* case_name, const char* test_names, int index, - const std::vector& type_names = - GenerateNames()) { - typedef typename Types::Head Type; - typedef Fixture FixtureClass; - typedef typename GTEST_BIND_(TestSel, Type) TestClass; - - // First, registers the first type-parameterized test in the type - // list. - MakeAndRegisterTestInfo( - (std::string(prefix) + (prefix[0] == '\0' ? "" : "/") + case_name + - "/" + type_names[static_cast(index)]) - .c_str(), - StripTrailingSpaces(GetPrefixUntilComma(test_names)).c_str(), - GetTypeName().c_str(), - nullptr, // No value parameter. - code_location, GetTypeId(), - SuiteApiResolver::GetSetUpCaseOrSuite( - code_location.file.c_str(), code_location.line), - SuiteApiResolver::GetTearDownCaseOrSuite( - code_location.file.c_str(), code_location.line), - new TestFactoryImpl); - - // Next, recurses (at compile time) with the tail of the type list. - return TypeParameterizedTest::Register(prefix, - code_location, - case_name, - test_names, - index + 1, - type_names); - } -}; - -// The base case for the compile time recursion. -template -class TypeParameterizedTest { - public: - static bool Register(const char* /*prefix*/, const CodeLocation&, - const char* /*case_name*/, const char* /*test_names*/, - int /*index*/, - const std::vector& = - std::vector() /*type_names*/) { - return true; - } -}; - -// TypeParameterizedTestSuite::Register() -// registers *all combinations* of 'Tests' and 'Types' with Google -// Test. The return value is insignificant - we just need to return -// something such that we can call this function in a namespace scope. -template -class TypeParameterizedTestSuite { - public: - static bool Register(const char* prefix, CodeLocation code_location, - const TypedTestSuitePState* state, const char* case_name, - const char* test_names, - const std::vector& type_names = - GenerateNames()) { - std::string test_name = StripTrailingSpaces( - GetPrefixUntilComma(test_names)); - if (!state->TestExists(test_name)) { - fprintf(stderr, "Failed to get code location for test %s.%s at %s.", - case_name, test_name.c_str(), - FormatFileLocation(code_location.file.c_str(), - code_location.line).c_str()); - fflush(stderr); - posix::Abort(); - } - const CodeLocation& test_location = state->GetCodeLocation(test_name); - - typedef typename Tests::Head Head; - - // First, register the first test in 'Test' for each type in 'Types'. - TypeParameterizedTest::Register( - prefix, test_location, case_name, test_names, 0, type_names); - - // Next, recurses (at compile time) with the tail of the test list. - return TypeParameterizedTestSuite::Register(prefix, code_location, - state, case_name, - SkipComma(test_names), - type_names); - } -}; - -// The base case for the compile time recursion. -template -class TypeParameterizedTestSuite { - public: - static bool Register(const char* /*prefix*/, const CodeLocation&, - const TypedTestSuitePState* /*state*/, - const char* /*case_name*/, const char* /*test_names*/, - const std::vector& = - std::vector() /*type_names*/) { - return true; - } -}; - -#endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P - -// Returns the current OS stack trace as an std::string. -// -// The maximum number of stack frames to be included is specified by -// the gtest_stack_trace_depth flag. The skip_count parameter -// specifies the number of top frames to be skipped, which doesn't -// count against the number of frames to be included. -// -// For example, if Foo() calls Bar(), which in turn calls -// GetCurrentOsStackTraceExceptTop(..., 1), Foo() will be included in -// the trace but Bar() and GetCurrentOsStackTraceExceptTop() won't. -GTEST_API_ std::string GetCurrentOsStackTraceExceptTop( - UnitTest* unit_test, int skip_count); - -// Helpers for suppressing warnings on unreachable code or constant -// condition. - -// Always returns true. -GTEST_API_ bool AlwaysTrue(); - -// Always returns false. -inline bool AlwaysFalse() { return !AlwaysTrue(); } - -// Helper for suppressing false warning from Clang on a const char* -// variable declared in a conditional expression always being NULL in -// the else branch. -struct GTEST_API_ ConstCharPtr { - ConstCharPtr(const char* str) : value(str) {} - operator bool() const { return true; } - const char* value; -}; - -// A simple Linear Congruential Generator for generating random -// numbers with a uniform distribution. Unlike rand() and srand(), it -// doesn't use global state (and therefore can't interfere with user -// code). Unlike rand_r(), it's portable. An LCG isn't very random, -// but it's good enough for our purposes. -class GTEST_API_ Random { - public: - static const UInt32 kMaxRange = 1u << 31; - - explicit Random(UInt32 seed) : state_(seed) {} - - void Reseed(UInt32 seed) { state_ = seed; } - - // Generates a random number from [0, range). Crashes if 'range' is - // 0 or greater than kMaxRange. - UInt32 Generate(UInt32 range); - - private: - UInt32 state_; - GTEST_DISALLOW_COPY_AND_ASSIGN_(Random); -}; - -// Turns const U&, U&, const U, and U all into U. -#define GTEST_REMOVE_REFERENCE_AND_CONST_(T) \ - typename std::remove_const::type>::type - -// IsAProtocolMessage::value is a compile-time bool constant that's -// true if and only if T is type proto2::Message or a subclass of it. -template -struct IsAProtocolMessage - : public bool_constant< - std::is_convertible::value> {}; - -// When the compiler sees expression IsContainerTest(0), if C is an -// STL-style container class, the first overload of IsContainerTest -// will be viable (since both C::iterator* and C::const_iterator* are -// valid types and NULL can be implicitly converted to them). It will -// be picked over the second overload as 'int' is a perfect match for -// the type of argument 0. If C::iterator or C::const_iterator is not -// a valid type, the first overload is not viable, and the second -// overload will be picked. Therefore, we can determine whether C is -// a container class by checking the type of IsContainerTest(0). -// The value of the expression is insignificant. -// -// In C++11 mode we check the existence of a const_iterator and that an -// iterator is properly implemented for the container. -// -// For pre-C++11 that we look for both C::iterator and C::const_iterator. -// The reason is that C++ injects the name of a class as a member of the -// class itself (e.g. you can refer to class iterator as either -// 'iterator' or 'iterator::iterator'). If we look for C::iterator -// only, for example, we would mistakenly think that a class named -// iterator is an STL container. -// -// Also note that the simpler approach of overloading -// IsContainerTest(typename C::const_iterator*) and -// IsContainerTest(...) doesn't work with Visual Age C++ and Sun C++. -typedef int IsContainer; -template ().begin()), - class = decltype(::std::declval().end()), - class = decltype(++::std::declval()), - class = decltype(*::std::declval()), - class = typename C::const_iterator> -IsContainer IsContainerTest(int /* dummy */) { - return 0; -} - -typedef char IsNotContainer; -template -IsNotContainer IsContainerTest(long /* dummy */) { return '\0'; } - -// Trait to detect whether a type T is a hash table. -// The heuristic used is that the type contains an inner type `hasher` and does -// not contain an inner type `reverse_iterator`. -// If the container is iterable in reverse, then order might actually matter. -template -struct IsHashTable { - private: - template - static char test(typename U::hasher*, typename U::reverse_iterator*); - template - static int test(typename U::hasher*, ...); - template - static char test(...); - - public: - static const bool value = sizeof(test(nullptr, nullptr)) == sizeof(int); -}; - -template -const bool IsHashTable::value; - -template (0)) == sizeof(IsContainer)> -struct IsRecursiveContainerImpl; - -template -struct IsRecursiveContainerImpl : public std::false_type {}; - -// Since the IsRecursiveContainerImpl depends on the IsContainerTest we need to -// obey the same inconsistencies as the IsContainerTest, namely check if -// something is a container is relying on only const_iterator in C++11 and -// is relying on both const_iterator and iterator otherwise -template -struct IsRecursiveContainerImpl { - using value_type = decltype(*std::declval()); - using type = - std::is_same::type>::type, - C>; -}; - -// IsRecursiveContainer is a unary compile-time predicate that -// evaluates whether C is a recursive container type. A recursive container -// type is a container type whose value_type is equal to the container type -// itself. An example for a recursive container type is -// boost::filesystem::path, whose iterator has a value_type that is equal to -// boost::filesystem::path. -template -struct IsRecursiveContainer : public IsRecursiveContainerImpl::type {}; - -// Utilities for native arrays. - -// ArrayEq() compares two k-dimensional native arrays using the -// elements' operator==, where k can be any integer >= 0. When k is -// 0, ArrayEq() degenerates into comparing a single pair of values. - -template -bool ArrayEq(const T* lhs, size_t size, const U* rhs); - -// This generic version is used when k is 0. -template -inline bool ArrayEq(const T& lhs, const U& rhs) { return lhs == rhs; } - -// This overload is used when k >= 1. -template -inline bool ArrayEq(const T(&lhs)[N], const U(&rhs)[N]) { - return internal::ArrayEq(lhs, N, rhs); -} - -// This helper reduces code bloat. If we instead put its logic inside -// the previous ArrayEq() function, arrays with different sizes would -// lead to different copies of the template code. -template -bool ArrayEq(const T* lhs, size_t size, const U* rhs) { - for (size_t i = 0; i != size; i++) { - if (!internal::ArrayEq(lhs[i], rhs[i])) - return false; - } - return true; -} - -// Finds the first element in the iterator range [begin, end) that -// equals elem. Element may be a native array type itself. -template -Iter ArrayAwareFind(Iter begin, Iter end, const Element& elem) { - for (Iter it = begin; it != end; ++it) { - if (internal::ArrayEq(*it, elem)) - return it; - } - return end; -} - -// CopyArray() copies a k-dimensional native array using the elements' -// operator=, where k can be any integer >= 0. When k is 0, -// CopyArray() degenerates into copying a single value. - -template -void CopyArray(const T* from, size_t size, U* to); - -// This generic version is used when k is 0. -template -inline void CopyArray(const T& from, U* to) { *to = from; } - -// This overload is used when k >= 1. -template -inline void CopyArray(const T(&from)[N], U(*to)[N]) { - internal::CopyArray(from, N, *to); -} - -// This helper reduces code bloat. If we instead put its logic inside -// the previous CopyArray() function, arrays with different sizes -// would lead to different copies of the template code. -template -void CopyArray(const T* from, size_t size, U* to) { - for (size_t i = 0; i != size; i++) { - internal::CopyArray(from[i], to + i); - } -} - -// The relation between an NativeArray object (see below) and the -// native array it represents. -// We use 2 different structs to allow non-copyable types to be used, as long -// as RelationToSourceReference() is passed. -struct RelationToSourceReference {}; -struct RelationToSourceCopy {}; - -// Adapts a native array to a read-only STL-style container. Instead -// of the complete STL container concept, this adaptor only implements -// members useful for Google Mock's container matchers. New members -// should be added as needed. To simplify the implementation, we only -// support Element being a raw type (i.e. having no top-level const or -// reference modifier). It's the client's responsibility to satisfy -// this requirement. Element can be an array type itself (hence -// multi-dimensional arrays are supported). -template -class NativeArray { - public: - // STL-style container typedefs. - typedef Element value_type; - typedef Element* iterator; - typedef const Element* const_iterator; - - // Constructs from a native array. References the source. - NativeArray(const Element* array, size_t count, RelationToSourceReference) { - InitRef(array, count); - } - - // Constructs from a native array. Copies the source. - NativeArray(const Element* array, size_t count, RelationToSourceCopy) { - InitCopy(array, count); - } - - // Copy constructor. - NativeArray(const NativeArray& rhs) { - (this->*rhs.clone_)(rhs.array_, rhs.size_); - } - - ~NativeArray() { - if (clone_ != &NativeArray::InitRef) - delete[] array_; - } - - // STL-style container methods. - size_t size() const { return size_; } - const_iterator begin() const { return array_; } - const_iterator end() const { return array_ + size_; } - bool operator==(const NativeArray& rhs) const { - return size() == rhs.size() && - ArrayEq(begin(), size(), rhs.begin()); - } - - private: - static_assert(!std::is_const::value, "Type must not be const"); - static_assert(!std::is_reference::value, - "Type must not be a reference"); - - // Initializes this object with a copy of the input. - void InitCopy(const Element* array, size_t a_size) { - Element* const copy = new Element[a_size]; - CopyArray(array, a_size, copy); - array_ = copy; - size_ = a_size; - clone_ = &NativeArray::InitCopy; - } - - // Initializes this object with a reference of the input. - void InitRef(const Element* array, size_t a_size) { - array_ = array; - size_ = a_size; - clone_ = &NativeArray::InitRef; - } - - const Element* array_; - size_t size_; - void (NativeArray::*clone_)(const Element*, size_t); - - GTEST_DISALLOW_ASSIGN_(NativeArray); -}; - -// Backport of std::index_sequence. -template -struct IndexSequence { - using type = IndexSequence; -}; - -// Double the IndexSequence, and one if plus_one is true. -template -struct DoubleSequence; -template -struct DoubleSequence, sizeofT> { - using type = IndexSequence; -}; -template -struct DoubleSequence, sizeofT> { - using type = IndexSequence; -}; - -// Backport of std::make_index_sequence. -// It uses O(ln(N)) instantiation depth. -template -struct MakeIndexSequence - : DoubleSequence::type, - N / 2>::type {}; - -template <> -struct MakeIndexSequence<0> : IndexSequence<> {}; - -// FIXME: This implementation of ElemFromList is O(1) in instantiation depth, -// but it is O(N^2) in total instantiations. Not sure if this is the best -// tradeoff, as it will make it somewhat slow to compile. -template -struct ElemFromListImpl {}; - -template -struct ElemFromListImpl { - using type = T; -}; - -// Get the Nth element from T... -// It uses O(1) instantiation depth. -template -struct ElemFromList; - -template -struct ElemFromList, T...> - : ElemFromListImpl... {}; - -template -class FlatTuple; - -template -struct FlatTupleElemBase; - -template -struct FlatTupleElemBase, I> { - using value_type = - typename ElemFromList::type, - T...>::type; - FlatTupleElemBase() = default; - explicit FlatTupleElemBase(value_type t) : value(std::move(t)) {} - value_type value; -}; - -template -struct FlatTupleBase; - -template -struct FlatTupleBase, IndexSequence> - : FlatTupleElemBase, Idx>... { - using Indices = IndexSequence; - FlatTupleBase() = default; - explicit FlatTupleBase(T... t) - : FlatTupleElemBase, Idx>(std::move(t))... {} -}; - -// Analog to std::tuple but with different tradeoffs. -// This class minimizes the template instantiation depth, thus allowing more -// elements that std::tuple would. std::tuple has been seen to require an -// instantiation depth of more than 10x the number of elements in some -// implementations. -// FlatTuple and ElemFromList are not recursive and have a fixed depth -// regardless of T... -// MakeIndexSequence, on the other hand, it is recursive but with an -// instantiation depth of O(ln(N)). -template -class FlatTuple - : private FlatTupleBase, - typename MakeIndexSequence::type> { - using Indices = typename FlatTuple::FlatTupleBase::Indices; - - public: - FlatTuple() = default; - explicit FlatTuple(T... t) : FlatTuple::FlatTupleBase(std::move(t)...) {} - - template - const typename ElemFromList::type& Get() const { - return static_cast*>(this)->value; - } - - template - typename ElemFromList::type& Get() { - return static_cast*>(this)->value; - } -}; - -// Utility functions to be called with static_assert to induce deprecation -// warnings. -GTEST_INTERNAL_DEPRECATED( - "INSTANTIATE_TEST_CASE_P is deprecated, please use " - "INSTANTIATE_TEST_SUITE_P") -constexpr bool InstantiateTestCase_P_IsDeprecated() { return true; } - -GTEST_INTERNAL_DEPRECATED( - "TYPED_TEST_CASE_P is deprecated, please use " - "TYPED_TEST_SUITE_P") -constexpr bool TypedTestCase_P_IsDeprecated() { return true; } - -GTEST_INTERNAL_DEPRECATED( - "TYPED_TEST_CASE is deprecated, please use " - "TYPED_TEST_SUITE") -constexpr bool TypedTestCaseIsDeprecated() { return true; } - -GTEST_INTERNAL_DEPRECATED( - "REGISTER_TYPED_TEST_CASE_P is deprecated, please use " - "REGISTER_TYPED_TEST_SUITE_P") -constexpr bool RegisterTypedTestCase_P_IsDeprecated() { return true; } - -GTEST_INTERNAL_DEPRECATED( - "INSTANTIATE_TYPED_TEST_CASE_P is deprecated, please use " - "INSTANTIATE_TYPED_TEST_SUITE_P") -constexpr bool InstantiateTypedTestCase_P_IsDeprecated() { return true; } - -} // namespace internal -} // namespace testing - -#define GTEST_MESSAGE_AT_(file, line, message, result_type) \ - ::testing::internal::AssertHelper(result_type, file, line, message) \ - = ::testing::Message() - -#define GTEST_MESSAGE_(message, result_type) \ - GTEST_MESSAGE_AT_(__FILE__, __LINE__, message, result_type) - -#define GTEST_FATAL_FAILURE_(message) \ - return GTEST_MESSAGE_(message, ::testing::TestPartResult::kFatalFailure) - -#define GTEST_NONFATAL_FAILURE_(message) \ - GTEST_MESSAGE_(message, ::testing::TestPartResult::kNonFatalFailure) - -#define GTEST_SUCCESS_(message) \ - GTEST_MESSAGE_(message, ::testing::TestPartResult::kSuccess) - -#define GTEST_SKIP_(message) \ - return GTEST_MESSAGE_(message, ::testing::TestPartResult::kSkip) - -// Suppress MSVC warning 4072 (unreachable code) for the code following -// statement if it returns or throws (or doesn't return or throw in some -// situations). -#define GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement) \ - if (::testing::internal::AlwaysTrue()) { statement; } - -#define GTEST_TEST_THROW_(statement, expected_exception, fail) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (::testing::internal::ConstCharPtr gtest_msg = "") { \ - bool gtest_caught_expected = false; \ - try { \ - GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ - } \ - catch (expected_exception const&) { \ - gtest_caught_expected = true; \ - } \ - catch (...) { \ - gtest_msg.value = \ - "Expected: " #statement " throws an exception of type " \ - #expected_exception ".\n Actual: it throws a different type."; \ - goto GTEST_CONCAT_TOKEN_(gtest_label_testthrow_, __LINE__); \ - } \ - if (!gtest_caught_expected) { \ - gtest_msg.value = \ - "Expected: " #statement " throws an exception of type " \ - #expected_exception ".\n Actual: it throws nothing."; \ - goto GTEST_CONCAT_TOKEN_(gtest_label_testthrow_, __LINE__); \ - } \ - } else \ - GTEST_CONCAT_TOKEN_(gtest_label_testthrow_, __LINE__): \ - fail(gtest_msg.value) - -#define GTEST_TEST_NO_THROW_(statement, fail) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (::testing::internal::AlwaysTrue()) { \ - try { \ - GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ - } \ - catch (...) { \ - goto GTEST_CONCAT_TOKEN_(gtest_label_testnothrow_, __LINE__); \ - } \ - } else \ - GTEST_CONCAT_TOKEN_(gtest_label_testnothrow_, __LINE__): \ - fail("Expected: " #statement " doesn't throw an exception.\n" \ - " Actual: it throws.") - -#define GTEST_TEST_ANY_THROW_(statement, fail) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (::testing::internal::AlwaysTrue()) { \ - bool gtest_caught_any = false; \ - try { \ - GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ - } \ - catch (...) { \ - gtest_caught_any = true; \ - } \ - if (!gtest_caught_any) { \ - goto GTEST_CONCAT_TOKEN_(gtest_label_testanythrow_, __LINE__); \ - } \ - } else \ - GTEST_CONCAT_TOKEN_(gtest_label_testanythrow_, __LINE__): \ - fail("Expected: " #statement " throws an exception.\n" \ - " Actual: it doesn't.") - - -// Implements Boolean test assertions such as EXPECT_TRUE. expression can be -// either a boolean expression or an AssertionResult. text is a textual -// represenation of expression as it was passed into the EXPECT_TRUE. -#define GTEST_TEST_BOOLEAN_(expression, text, actual, expected, fail) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (const ::testing::AssertionResult gtest_ar_ = \ - ::testing::AssertionResult(expression)) \ - ; \ - else \ - fail(::testing::internal::GetBoolAssertionFailureMessage(\ - gtest_ar_, text, #actual, #expected).c_str()) - -#define GTEST_TEST_NO_FATAL_FAILURE_(statement, fail) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (::testing::internal::AlwaysTrue()) { \ - ::testing::internal::HasNewFatalFailureHelper gtest_fatal_failure_checker; \ - GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ - if (gtest_fatal_failure_checker.has_new_fatal_failure()) { \ - goto GTEST_CONCAT_TOKEN_(gtest_label_testnofatal_, __LINE__); \ - } \ - } else \ - GTEST_CONCAT_TOKEN_(gtest_label_testnofatal_, __LINE__): \ - fail("Expected: " #statement " doesn't generate new fatal " \ - "failures in the current thread.\n" \ - " Actual: it does.") - -// Expands to the name of the class that implements the given test. -#define GTEST_TEST_CLASS_NAME_(test_suite_name, test_name) \ - test_suite_name##_##test_name##_Test - -// Helper macro for defining tests. -#define GTEST_TEST_(test_suite_name, test_name, parent_class, parent_id) \ - static_assert(sizeof(GTEST_STRINGIFY_(test_suite_name)) > 1, \ - "test_suite_name must not be empty"); \ - static_assert(sizeof(GTEST_STRINGIFY_(test_name)) > 1, \ - "test_name must not be empty"); \ - class GTEST_TEST_CLASS_NAME_(test_suite_name, test_name) \ - : public parent_class { \ - public: \ - GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)() {} \ - \ - private: \ - virtual void TestBody(); \ - static ::testing::TestInfo* const test_info_ GTEST_ATTRIBUTE_UNUSED_; \ - GTEST_DISALLOW_COPY_AND_ASSIGN_(GTEST_TEST_CLASS_NAME_(test_suite_name, \ - test_name)); \ - }; \ - \ - ::testing::TestInfo* const GTEST_TEST_CLASS_NAME_(test_suite_name, \ - test_name)::test_info_ = \ - ::testing::internal::MakeAndRegisterTestInfo( \ - #test_suite_name, #test_name, nullptr, nullptr, \ - ::testing::internal::CodeLocation(__FILE__, __LINE__), (parent_id), \ - ::testing::internal::SuiteApiResolver< \ - parent_class>::GetSetUpCaseOrSuite(__FILE__, __LINE__), \ - ::testing::internal::SuiteApiResolver< \ - parent_class>::GetTearDownCaseOrSuite(__FILE__, __LINE__), \ - new ::testing::internal::TestFactoryImpl); \ - void GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)::TestBody() - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_INTERNAL_H_ diff --git a/include/gtest/internal/gtest-param-util.h b/include/gtest/internal/gtest-param-util.h deleted file mode 100644 index 9753399..0000000 --- a/include/gtest/internal/gtest-param-util.h +++ /dev/null @@ -1,883 +0,0 @@ -// Copyright 2008 Google Inc. -// All Rights Reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -// Type and function utilities for implementing parameterized tests. - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_ - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include "gtest/internal/gtest-internal.h" -#include "gtest/internal/gtest-port.h" -#include "gtest/gtest-printers.h" - -namespace testing { -// Input to a parameterized test name generator, describing a test parameter. -// Consists of the parameter value and the integer parameter index. -template -struct TestParamInfo { - TestParamInfo(const ParamType& a_param, size_t an_index) : - param(a_param), - index(an_index) {} - ParamType param; - size_t index; -}; - -// A builtin parameterized test name generator which returns the result of -// testing::PrintToString. -struct PrintToStringParamName { - template - std::string operator()(const TestParamInfo& info) const { - return PrintToString(info.param); - } -}; - -namespace internal { - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// Utility Functions - -// Outputs a message explaining invalid registration of different -// fixture class for the same test suite. This may happen when -// TEST_P macro is used to define two tests with the same name -// but in different namespaces. -GTEST_API_ void ReportInvalidTestSuiteType(const char* test_suite_name, - CodeLocation code_location); - -template class ParamGeneratorInterface; -template class ParamGenerator; - -// Interface for iterating over elements provided by an implementation -// of ParamGeneratorInterface. -template -class ParamIteratorInterface { - public: - virtual ~ParamIteratorInterface() {} - // A pointer to the base generator instance. - // Used only for the purposes of iterator comparison - // to make sure that two iterators belong to the same generator. - virtual const ParamGeneratorInterface* BaseGenerator() const = 0; - // Advances iterator to point to the next element - // provided by the generator. The caller is responsible - // for not calling Advance() on an iterator equal to - // BaseGenerator()->End(). - virtual void Advance() = 0; - // Clones the iterator object. Used for implementing copy semantics - // of ParamIterator. - virtual ParamIteratorInterface* Clone() const = 0; - // Dereferences the current iterator and provides (read-only) access - // to the pointed value. It is the caller's responsibility not to call - // Current() on an iterator equal to BaseGenerator()->End(). - // Used for implementing ParamGenerator::operator*(). - virtual const T* Current() const = 0; - // Determines whether the given iterator and other point to the same - // element in the sequence generated by the generator. - // Used for implementing ParamGenerator::operator==(). - virtual bool Equals(const ParamIteratorInterface& other) const = 0; -}; - -// Class iterating over elements provided by an implementation of -// ParamGeneratorInterface. It wraps ParamIteratorInterface -// and implements the const forward iterator concept. -template -class ParamIterator { - public: - typedef T value_type; - typedef const T& reference; - typedef ptrdiff_t difference_type; - - // ParamIterator assumes ownership of the impl_ pointer. - ParamIterator(const ParamIterator& other) : impl_(other.impl_->Clone()) {} - ParamIterator& operator=(const ParamIterator& other) { - if (this != &other) - impl_.reset(other.impl_->Clone()); - return *this; - } - - const T& operator*() const { return *impl_->Current(); } - const T* operator->() const { return impl_->Current(); } - // Prefix version of operator++. - ParamIterator& operator++() { - impl_->Advance(); - return *this; - } - // Postfix version of operator++. - ParamIterator operator++(int /*unused*/) { - ParamIteratorInterface* clone = impl_->Clone(); - impl_->Advance(); - return ParamIterator(clone); - } - bool operator==(const ParamIterator& other) const { - return impl_.get() == other.impl_.get() || impl_->Equals(*other.impl_); - } - bool operator!=(const ParamIterator& other) const { - return !(*this == other); - } - - private: - friend class ParamGenerator; - explicit ParamIterator(ParamIteratorInterface* impl) : impl_(impl) {} - std::unique_ptr > impl_; -}; - -// ParamGeneratorInterface is the binary interface to access generators -// defined in other translation units. -template -class ParamGeneratorInterface { - public: - typedef T ParamType; - - virtual ~ParamGeneratorInterface() {} - - // Generator interface definition - virtual ParamIteratorInterface* Begin() const = 0; - virtual ParamIteratorInterface* End() const = 0; -}; - -// Wraps ParamGeneratorInterface and provides general generator syntax -// compatible with the STL Container concept. -// This class implements copy initialization semantics and the contained -// ParamGeneratorInterface instance is shared among all copies -// of the original object. This is possible because that instance is immutable. -template -class ParamGenerator { - public: - typedef ParamIterator iterator; - - explicit ParamGenerator(ParamGeneratorInterface* impl) : impl_(impl) {} - ParamGenerator(const ParamGenerator& other) : impl_(other.impl_) {} - - ParamGenerator& operator=(const ParamGenerator& other) { - impl_ = other.impl_; - return *this; - } - - iterator begin() const { return iterator(impl_->Begin()); } - iterator end() const { return iterator(impl_->End()); } - - private: - std::shared_ptr > impl_; -}; - -// Generates values from a range of two comparable values. Can be used to -// generate sequences of user-defined types that implement operator+() and -// operator<(). -// This class is used in the Range() function. -template -class RangeGenerator : public ParamGeneratorInterface { - public: - RangeGenerator(T begin, T end, IncrementT step) - : begin_(begin), end_(end), - step_(step), end_index_(CalculateEndIndex(begin, end, step)) {} - ~RangeGenerator() override {} - - ParamIteratorInterface* Begin() const override { - return new Iterator(this, begin_, 0, step_); - } - ParamIteratorInterface* End() const override { - return new Iterator(this, end_, end_index_, step_); - } - - private: - class Iterator : public ParamIteratorInterface { - public: - Iterator(const ParamGeneratorInterface* base, T value, int index, - IncrementT step) - : base_(base), value_(value), index_(index), step_(step) {} - ~Iterator() override {} - - const ParamGeneratorInterface* BaseGenerator() const override { - return base_; - } - void Advance() override { - value_ = static_cast(value_ + step_); - index_++; - } - ParamIteratorInterface* Clone() const override { - return new Iterator(*this); - } - const T* Current() const override { return &value_; } - bool Equals(const ParamIteratorInterface& other) const override { - // Having the same base generator guarantees that the other - // iterator is of the same type and we can downcast. - GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) - << "The program attempted to compare iterators " - << "from different generators." << std::endl; - const int other_index = - CheckedDowncastToActualType(&other)->index_; - return index_ == other_index; - } - - private: - Iterator(const Iterator& other) - : ParamIteratorInterface(), - base_(other.base_), value_(other.value_), index_(other.index_), - step_(other.step_) {} - - // No implementation - assignment is unsupported. - void operator=(const Iterator& other); - - const ParamGeneratorInterface* const base_; - T value_; - int index_; - const IncrementT step_; - }; // class RangeGenerator::Iterator - - static int CalculateEndIndex(const T& begin, - const T& end, - const IncrementT& step) { - int end_index = 0; - for (T i = begin; i < end; i = static_cast(i + step)) - end_index++; - return end_index; - } - - // No implementation - assignment is unsupported. - void operator=(const RangeGenerator& other); - - const T begin_; - const T end_; - const IncrementT step_; - // The index for the end() iterator. All the elements in the generated - // sequence are indexed (0-based) to aid iterator comparison. - const int end_index_; -}; // class RangeGenerator - - -// Generates values from a pair of STL-style iterators. Used in the -// ValuesIn() function. The elements are copied from the source range -// since the source can be located on the stack, and the generator -// is likely to persist beyond that stack frame. -template -class ValuesInIteratorRangeGenerator : public ParamGeneratorInterface { - public: - template - ValuesInIteratorRangeGenerator(ForwardIterator begin, ForwardIterator end) - : container_(begin, end) {} - ~ValuesInIteratorRangeGenerator() override {} - - ParamIteratorInterface* Begin() const override { - return new Iterator(this, container_.begin()); - } - ParamIteratorInterface* End() const override { - return new Iterator(this, container_.end()); - } - - private: - typedef typename ::std::vector ContainerType; - - class Iterator : public ParamIteratorInterface { - public: - Iterator(const ParamGeneratorInterface* base, - typename ContainerType::const_iterator iterator) - : base_(base), iterator_(iterator) {} - ~Iterator() override {} - - const ParamGeneratorInterface* BaseGenerator() const override { - return base_; - } - void Advance() override { - ++iterator_; - value_.reset(); - } - ParamIteratorInterface* Clone() const override { - return new Iterator(*this); - } - // We need to use cached value referenced by iterator_ because *iterator_ - // can return a temporary object (and of type other then T), so just - // having "return &*iterator_;" doesn't work. - // value_ is updated here and not in Advance() because Advance() - // can advance iterator_ beyond the end of the range, and we cannot - // detect that fact. The client code, on the other hand, is - // responsible for not calling Current() on an out-of-range iterator. - const T* Current() const override { - if (value_.get() == nullptr) value_.reset(new T(*iterator_)); - return value_.get(); - } - bool Equals(const ParamIteratorInterface& other) const override { - // Having the same base generator guarantees that the other - // iterator is of the same type and we can downcast. - GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) - << "The program attempted to compare iterators " - << "from different generators." << std::endl; - return iterator_ == - CheckedDowncastToActualType(&other)->iterator_; - } - - private: - Iterator(const Iterator& other) - // The explicit constructor call suppresses a false warning - // emitted by gcc when supplied with the -Wextra option. - : ParamIteratorInterface(), - base_(other.base_), - iterator_(other.iterator_) {} - - const ParamGeneratorInterface* const base_; - typename ContainerType::const_iterator iterator_; - // A cached value of *iterator_. We keep it here to allow access by - // pointer in the wrapping iterator's operator->(). - // value_ needs to be mutable to be accessed in Current(). - // Use of std::unique_ptr helps manage cached value's lifetime, - // which is bound by the lifespan of the iterator itself. - mutable std::unique_ptr value_; - }; // class ValuesInIteratorRangeGenerator::Iterator - - // No implementation - assignment is unsupported. - void operator=(const ValuesInIteratorRangeGenerator& other); - - const ContainerType container_; -}; // class ValuesInIteratorRangeGenerator - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// Default parameterized test name generator, returns a string containing the -// integer test parameter index. -template -std::string DefaultParamName(const TestParamInfo& info) { - Message name_stream; - name_stream << info.index; - return name_stream.GetString(); -} - -template -void TestNotEmpty() { - static_assert(sizeof(T) == 0, "Empty arguments are not allowed."); -} -template -void TestNotEmpty(const T&) {} - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// Stores a parameter value and later creates tests parameterized with that -// value. -template -class ParameterizedTestFactory : public TestFactoryBase { - public: - typedef typename TestClass::ParamType ParamType; - explicit ParameterizedTestFactory(ParamType parameter) : - parameter_(parameter) {} - Test* CreateTest() override { - TestClass::SetParam(¶meter_); - return new TestClass(); - } - - private: - const ParamType parameter_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestFactory); -}; - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// TestMetaFactoryBase is a base class for meta-factories that create -// test factories for passing into MakeAndRegisterTestInfo function. -template -class TestMetaFactoryBase { - public: - virtual ~TestMetaFactoryBase() {} - - virtual TestFactoryBase* CreateTestFactory(ParamType parameter) = 0; -}; - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// TestMetaFactory creates test factories for passing into -// MakeAndRegisterTestInfo function. Since MakeAndRegisterTestInfo receives -// ownership of test factory pointer, same factory object cannot be passed -// into that method twice. But ParameterizedTestSuiteInfo is going to call -// it for each Test/Parameter value combination. Thus it needs meta factory -// creator class. -template -class TestMetaFactory - : public TestMetaFactoryBase { - public: - using ParamType = typename TestSuite::ParamType; - - TestMetaFactory() {} - - TestFactoryBase* CreateTestFactory(ParamType parameter) override { - return new ParameterizedTestFactory(parameter); - } - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(TestMetaFactory); -}; - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// ParameterizedTestSuiteInfoBase is a generic interface -// to ParameterizedTestSuiteInfo classes. ParameterizedTestSuiteInfoBase -// accumulates test information provided by TEST_P macro invocations -// and generators provided by INSTANTIATE_TEST_SUITE_P macro invocations -// and uses that information to register all resulting test instances -// in RegisterTests method. The ParameterizeTestSuiteRegistry class holds -// a collection of pointers to the ParameterizedTestSuiteInfo objects -// and calls RegisterTests() on each of them when asked. -class ParameterizedTestSuiteInfoBase { - public: - virtual ~ParameterizedTestSuiteInfoBase() {} - - // Base part of test suite name for display purposes. - virtual const std::string& GetTestSuiteName() const = 0; - // Test case id to verify identity. - virtual TypeId GetTestSuiteTypeId() const = 0; - // UnitTest class invokes this method to register tests in this - // test suite right before running them in RUN_ALL_TESTS macro. - // This method should not be called more than once on any single - // instance of a ParameterizedTestSuiteInfoBase derived class. - virtual void RegisterTests() = 0; - - protected: - ParameterizedTestSuiteInfoBase() {} - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestSuiteInfoBase); -}; - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// ParameterizedTestSuiteInfo accumulates tests obtained from TEST_P -// macro invocations for a particular test suite and generators -// obtained from INSTANTIATE_TEST_SUITE_P macro invocations for that -// test suite. It registers tests with all values generated by all -// generators when asked. -template -class ParameterizedTestSuiteInfo : public ParameterizedTestSuiteInfoBase { - public: - // ParamType and GeneratorCreationFunc are private types but are required - // for declarations of public methods AddTestPattern() and - // AddTestSuiteInstantiation(). - using ParamType = typename TestSuite::ParamType; - // A function that returns an instance of appropriate generator type. - typedef ParamGenerator(GeneratorCreationFunc)(); - using ParamNameGeneratorFunc = std::string(const TestParamInfo&); - - explicit ParameterizedTestSuiteInfo(const char* name, - CodeLocation code_location) - : test_suite_name_(name), code_location_(code_location) {} - - // Test case base name for display purposes. - const std::string& GetTestSuiteName() const override { - return test_suite_name_; - } - // Test case id to verify identity. - TypeId GetTestSuiteTypeId() const override { return GetTypeId(); } - // TEST_P macro uses AddTestPattern() to record information - // about a single test in a LocalTestInfo structure. - // test_suite_name is the base name of the test suite (without invocation - // prefix). test_base_name is the name of an individual test without - // parameter index. For the test SequenceA/FooTest.DoBar/1 FooTest is - // test suite base name and DoBar is test base name. - void AddTestPattern(const char* test_suite_name, const char* test_base_name, - TestMetaFactoryBase* meta_factory) { - tests_.push_back(std::shared_ptr( - new TestInfo(test_suite_name, test_base_name, meta_factory))); - } - // INSTANTIATE_TEST_SUITE_P macro uses AddGenerator() to record information - // about a generator. - int AddTestSuiteInstantiation(const std::string& instantiation_name, - GeneratorCreationFunc* func, - ParamNameGeneratorFunc* name_func, - const char* file, int line) { - instantiations_.push_back( - InstantiationInfo(instantiation_name, func, name_func, file, line)); - return 0; // Return value used only to run this method in namespace scope. - } - // UnitTest class invokes this method to register tests in this test suite - // test suites right before running tests in RUN_ALL_TESTS macro. - // This method should not be called more than once on any single - // instance of a ParameterizedTestSuiteInfoBase derived class. - // UnitTest has a guard to prevent from calling this method more than once. - void RegisterTests() override { - for (typename TestInfoContainer::iterator test_it = tests_.begin(); - test_it != tests_.end(); ++test_it) { - std::shared_ptr test_info = *test_it; - for (typename InstantiationContainer::iterator gen_it = - instantiations_.begin(); gen_it != instantiations_.end(); - ++gen_it) { - const std::string& instantiation_name = gen_it->name; - ParamGenerator generator((*gen_it->generator)()); - ParamNameGeneratorFunc* name_func = gen_it->name_func; - const char* file = gen_it->file; - int line = gen_it->line; - - std::string test_suite_name; - if ( !instantiation_name.empty() ) - test_suite_name = instantiation_name + "/"; - test_suite_name += test_info->test_suite_base_name; - - size_t i = 0; - std::set test_param_names; - for (typename ParamGenerator::iterator param_it = - generator.begin(); - param_it != generator.end(); ++param_it, ++i) { - Message test_name_stream; - - std::string param_name = name_func( - TestParamInfo(*param_it, i)); - - GTEST_CHECK_(IsValidParamName(param_name)) - << "Parameterized test name '" << param_name - << "' is invalid, in " << file - << " line " << line << std::endl; - - GTEST_CHECK_(test_param_names.count(param_name) == 0) - << "Duplicate parameterized test name '" << param_name - << "', in " << file << " line " << line << std::endl; - - test_param_names.insert(param_name); - - if (!test_info->test_base_name.empty()) { - test_name_stream << test_info->test_base_name << "/"; - } - test_name_stream << param_name; - MakeAndRegisterTestInfo( - test_suite_name.c_str(), test_name_stream.GetString().c_str(), - nullptr, // No type parameter. - PrintToString(*param_it).c_str(), code_location_, - GetTestSuiteTypeId(), - SuiteApiResolver::GetSetUpCaseOrSuite(file, line), - SuiteApiResolver::GetTearDownCaseOrSuite(file, line), - test_info->test_meta_factory->CreateTestFactory(*param_it)); - } // for param_it - } // for gen_it - } // for test_it - } // RegisterTests - - private: - // LocalTestInfo structure keeps information about a single test registered - // with TEST_P macro. - struct TestInfo { - TestInfo(const char* a_test_suite_base_name, const char* a_test_base_name, - TestMetaFactoryBase* a_test_meta_factory) - : test_suite_base_name(a_test_suite_base_name), - test_base_name(a_test_base_name), - test_meta_factory(a_test_meta_factory) {} - - const std::string test_suite_base_name; - const std::string test_base_name; - const std::unique_ptr > test_meta_factory; - }; - using TestInfoContainer = ::std::vector >; - // Records data received from INSTANTIATE_TEST_SUITE_P macros: - // - struct InstantiationInfo { - InstantiationInfo(const std::string &name_in, - GeneratorCreationFunc* generator_in, - ParamNameGeneratorFunc* name_func_in, - const char* file_in, - int line_in) - : name(name_in), - generator(generator_in), - name_func(name_func_in), - file(file_in), - line(line_in) {} - - std::string name; - GeneratorCreationFunc* generator; - ParamNameGeneratorFunc* name_func; - const char* file; - int line; - }; - typedef ::std::vector InstantiationContainer; - - static bool IsValidParamName(const std::string& name) { - // Check for empty string - if (name.empty()) - return false; - - // Check for invalid characters - for (std::string::size_type index = 0; index < name.size(); ++index) { - if (!isalnum(name[index]) && name[index] != '_') - return false; - } - - return true; - } - - const std::string test_suite_name_; - CodeLocation code_location_; - TestInfoContainer tests_; - InstantiationContainer instantiations_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestSuiteInfo); -}; // class ParameterizedTestSuiteInfo - -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ -template -using ParameterizedTestCaseInfo = ParameterizedTestSuiteInfo; -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// ParameterizedTestSuiteRegistry contains a map of -// ParameterizedTestSuiteInfoBase classes accessed by test suite names. TEST_P -// and INSTANTIATE_TEST_SUITE_P macros use it to locate their corresponding -// ParameterizedTestSuiteInfo descriptors. -class ParameterizedTestSuiteRegistry { - public: - ParameterizedTestSuiteRegistry() {} - ~ParameterizedTestSuiteRegistry() { - for (auto& test_suite_info : test_suite_infos_) { - delete test_suite_info; - } - } - - // Looks up or creates and returns a structure containing information about - // tests and instantiations of a particular test suite. - template - ParameterizedTestSuiteInfo* GetTestSuitePatternHolder( - const char* test_suite_name, CodeLocation code_location) { - ParameterizedTestSuiteInfo* typed_test_info = nullptr; - for (auto& test_suite_info : test_suite_infos_) { - if (test_suite_info->GetTestSuiteName() == test_suite_name) { - if (test_suite_info->GetTestSuiteTypeId() != GetTypeId()) { - // Complain about incorrect usage of Google Test facilities - // and terminate the program since we cannot guaranty correct - // test suite setup and tear-down in this case. - ReportInvalidTestSuiteType(test_suite_name, code_location); - posix::Abort(); - } else { - // At this point we are sure that the object we found is of the same - // type we are looking for, so we downcast it to that type - // without further checks. - typed_test_info = CheckedDowncastToActualType< - ParameterizedTestSuiteInfo >(test_suite_info); - } - break; - } - } - if (typed_test_info == nullptr) { - typed_test_info = new ParameterizedTestSuiteInfo( - test_suite_name, code_location); - test_suite_infos_.push_back(typed_test_info); - } - return typed_test_info; - } - void RegisterTests() { - for (auto& test_suite_info : test_suite_infos_) { - test_suite_info->RegisterTests(); - } - } -// Legacy API is deprecated but still available -#ifndef GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - template - ParameterizedTestCaseInfo* GetTestCasePatternHolder( - const char* test_case_name, CodeLocation code_location) { - return GetTestSuitePatternHolder(test_case_name, code_location); - } - -#endif // GTEST_REMOVE_LEGACY_TEST_CASEAPI_ - - private: - using TestSuiteInfoContainer = ::std::vector; - - TestSuiteInfoContainer test_suite_infos_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestSuiteRegistry); -}; - -} // namespace internal - -// Forward declarations of ValuesIn(), which is implemented in -// include/gtest/gtest-param-test.h. -template -internal::ParamGenerator ValuesIn( - const Container& container); - -namespace internal { -// Used in the Values() function to provide polymorphic capabilities. - -template -class ValueArray { - public: - ValueArray(Ts... v) : v_{std::move(v)...} {} - - template - operator ParamGenerator() const { // NOLINT - return ValuesIn(MakeVector(MakeIndexSequence())); - } - - private: - template - std::vector MakeVector(IndexSequence) const { - return std::vector{static_cast(v_.template Get())...}; - } - - FlatTuple v_; -}; - -template -class CartesianProductGenerator - : public ParamGeneratorInterface<::std::tuple> { - public: - typedef ::std::tuple ParamType; - - CartesianProductGenerator(const std::tuple...>& g) - : generators_(g) {} - ~CartesianProductGenerator() override {} - - ParamIteratorInterface* Begin() const override { - return new Iterator(this, generators_, false); - } - ParamIteratorInterface* End() const override { - return new Iterator(this, generators_, true); - } - - private: - template - class IteratorImpl; - template - class IteratorImpl> - : public ParamIteratorInterface { - public: - IteratorImpl(const ParamGeneratorInterface* base, - const std::tuple...>& generators, bool is_end) - : base_(base), - begin_(std::get(generators).begin()...), - end_(std::get(generators).end()...), - current_(is_end ? end_ : begin_) { - ComputeCurrentValue(); - } - ~IteratorImpl() override {} - - const ParamGeneratorInterface* BaseGenerator() const override { - return base_; - } - // Advance should not be called on beyond-of-range iterators - // so no component iterators must be beyond end of range, either. - void Advance() override { - assert(!AtEnd()); - // Advance the last iterator. - ++std::get(current_); - // if that reaches end, propagate that up. - AdvanceIfEnd(); - ComputeCurrentValue(); - } - ParamIteratorInterface* Clone() const override { - return new IteratorImpl(*this); - } - - const ParamType* Current() const override { return current_value_.get(); } - - bool Equals(const ParamIteratorInterface& other) const override { - // Having the same base generator guarantees that the other - // iterator is of the same type and we can downcast. - GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) - << "The program attempted to compare iterators " - << "from different generators." << std::endl; - const IteratorImpl* typed_other = - CheckedDowncastToActualType(&other); - - // We must report iterators equal if they both point beyond their - // respective ranges. That can happen in a variety of fashions, - // so we have to consult AtEnd(). - if (AtEnd() && typed_other->AtEnd()) return true; - - bool same = true; - bool dummy[] = { - (same = same && std::get(current_) == - std::get(typed_other->current_))...}; - (void)dummy; - return same; - } - - private: - template - void AdvanceIfEnd() { - if (std::get(current_) != std::get(end_)) return; - - bool last = ThisI == 0; - if (last) { - // We are done. Nothing else to propagate. - return; - } - - constexpr size_t NextI = ThisI - (ThisI != 0); - std::get(current_) = std::get(begin_); - ++std::get(current_); - AdvanceIfEnd(); - } - - void ComputeCurrentValue() { - if (!AtEnd()) - current_value_ = std::make_shared(*std::get(current_)...); - } - bool AtEnd() const { - bool at_end = false; - bool dummy[] = { - (at_end = at_end || std::get(current_) == std::get(end_))...}; - (void)dummy; - return at_end; - } - - const ParamGeneratorInterface* const base_; - std::tuple::iterator...> begin_; - std::tuple::iterator...> end_; - std::tuple::iterator...> current_; - std::shared_ptr current_value_; - }; - - using Iterator = IteratorImpl::type>; - - std::tuple...> generators_; -}; - -template -class CartesianProductHolder { - public: - CartesianProductHolder(const Gen&... g) : generators_(g...) {} - template - operator ParamGenerator<::std::tuple>() const { - return ParamGenerator<::std::tuple>( - new CartesianProductGenerator(generators_)); - } - - private: - std::tuple generators_; -}; - -} // namespace internal -} // namespace testing - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_ diff --git a/include/gtest/internal/gtest-port-arch.h b/include/gtest/internal/gtest-port-arch.h deleted file mode 100644 index cece93d..0000000 --- a/include/gtest/internal/gtest-port-arch.h +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2015, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// The Google C++ Testing and Mocking Framework (Google Test) -// -// This header file defines the GTEST_OS_* macro. -// It is separate from gtest-port.h so that custom/gtest-port.h can include it. - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ - -// Determines the platform on which Google Test is compiled. -#ifdef __CYGWIN__ -# define GTEST_OS_CYGWIN 1 -# elif defined(__MINGW__) || defined(__MINGW32__) || defined(__MINGW64__) -# define GTEST_OS_WINDOWS_MINGW 1 -# define GTEST_OS_WINDOWS 1 -#elif defined _WIN32 -# define GTEST_OS_WINDOWS 1 -# ifdef _WIN32_WCE -# define GTEST_OS_WINDOWS_MOBILE 1 -# elif defined(WINAPI_FAMILY) -# include -# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) -# define GTEST_OS_WINDOWS_DESKTOP 1 -# elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_PHONE_APP) -# define GTEST_OS_WINDOWS_PHONE 1 -# elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) -# define GTEST_OS_WINDOWS_RT 1 -# elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_TV_TITLE) -# define GTEST_OS_WINDOWS_PHONE 1 -# define GTEST_OS_WINDOWS_TV_TITLE 1 -# else - // WINAPI_FAMILY defined but no known partition matched. - // Default to desktop. -# define GTEST_OS_WINDOWS_DESKTOP 1 -# endif -# else -# define GTEST_OS_WINDOWS_DESKTOP 1 -# endif // _WIN32_WCE -#elif defined __OS2__ -# define GTEST_OS_OS2 1 -#elif defined __APPLE__ -# define GTEST_OS_MAC 1 -# if TARGET_OS_IPHONE -# define GTEST_OS_IOS 1 -# endif -#elif defined __DragonFly__ -# define GTEST_OS_DRAGONFLY 1 -#elif defined __FreeBSD__ -# define GTEST_OS_FREEBSD 1 -#elif defined __Fuchsia__ -# define GTEST_OS_FUCHSIA 1 -#elif defined(__GLIBC__) && defined(__FreeBSD_kernel__) -# define GTEST_OS_GNU_KFREEBSD 1 -#elif defined __linux__ -# define GTEST_OS_LINUX 1 -# if defined __ANDROID__ -# define GTEST_OS_LINUX_ANDROID 1 -# endif -#elif defined __MVS__ -# define GTEST_OS_ZOS 1 -#elif defined(__sun) && defined(__SVR4) -# define GTEST_OS_SOLARIS 1 -#elif defined(_AIX) -# define GTEST_OS_AIX 1 -#elif defined(__hpux) -# define GTEST_OS_HPUX 1 -#elif defined __native_client__ -# define GTEST_OS_NACL 1 -#elif defined __NetBSD__ -# define GTEST_OS_NETBSD 1 -#elif defined __OpenBSD__ -# define GTEST_OS_OPENBSD 1 -#elif defined __QNX__ -# define GTEST_OS_QNX 1 -#elif defined(__HAIKU__) -#define GTEST_OS_HAIKU 1 -#endif // __CYGWIN__ - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_ARCH_H_ diff --git a/include/gtest/internal/gtest-port.h b/include/gtest/internal/gtest-port.h deleted file mode 100644 index 063fcb1..0000000 --- a/include/gtest/internal/gtest-port.h +++ /dev/null @@ -1,2231 +0,0 @@ -// Copyright 2005, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Low-level types and utilities for porting Google Test to various -// platforms. All macros ending with _ and symbols defined in an -// internal namespace are subject to change without notice. Code -// outside Google Test MUST NOT USE THEM DIRECTLY. Macros that don't -// end with _ are part of Google Test's public API and can be used by -// code outside Google Test. -// -// This file is fundamental to Google Test. All other Google Test source -// files are expected to #include this. Therefore, it cannot #include -// any other Google Test header. - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_ - -// Environment-describing macros -// ----------------------------- -// -// Google Test can be used in many different environments. Macros in -// this section tell Google Test what kind of environment it is being -// used in, such that Google Test can provide environment-specific -// features and implementations. -// -// Google Test tries to automatically detect the properties of its -// environment, so users usually don't need to worry about these -// macros. However, the automatic detection is not perfect. -// Sometimes it's necessary for a user to define some of the following -// macros in the build script to override Google Test's decisions. -// -// If the user doesn't define a macro in the list, Google Test will -// provide a default definition. After this header is #included, all -// macros in this list will be defined to either 1 or 0. -// -// Notes to maintainers: -// - Each macro here is a user-tweakable knob; do not grow the list -// lightly. -// - Use #if to key off these macros. Don't use #ifdef or "#if -// defined(...)", which will not work as these macros are ALWAYS -// defined. -// -// GTEST_HAS_CLONE - Define it to 1/0 to indicate that clone(2) -// is/isn't available. -// GTEST_HAS_EXCEPTIONS - Define it to 1/0 to indicate that exceptions -// are enabled. -// GTEST_HAS_POSIX_RE - Define it to 1/0 to indicate that POSIX regular -// expressions are/aren't available. -// GTEST_HAS_PTHREAD - Define it to 1/0 to indicate that -// is/isn't available. -// GTEST_HAS_RTTI - Define it to 1/0 to indicate that RTTI is/isn't -// enabled. -// GTEST_HAS_STD_WSTRING - Define it to 1/0 to indicate that -// std::wstring does/doesn't work (Google Test can -// be used where std::wstring is unavailable). -// GTEST_HAS_SEH - Define it to 1/0 to indicate whether the -// compiler supports Microsoft's "Structured -// Exception Handling". -// GTEST_HAS_STREAM_REDIRECTION -// - Define it to 1/0 to indicate whether the -// platform supports I/O stream redirection using -// dup() and dup2(). -// GTEST_LINKED_AS_SHARED_LIBRARY -// - Define to 1 when compiling tests that use -// Google Test as a shared library (known as -// DLL on Windows). -// GTEST_CREATE_SHARED_LIBRARY -// - Define to 1 when compiling Google Test itself -// as a shared library. -// GTEST_DEFAULT_DEATH_TEST_STYLE -// - The default value of --gtest_death_test_style. -// The legacy default has been "fast" in the open -// source version since 2008. The recommended value -// is "threadsafe", and can be set in -// custom/gtest-port.h. - -// Platform-indicating macros -// -------------------------- -// -// Macros indicating the platform on which Google Test is being used -// (a macro is defined to 1 if compiled on the given platform; -// otherwise UNDEFINED -- it's never defined to 0.). Google Test -// defines these macros automatically. Code outside Google Test MUST -// NOT define them. -// -// GTEST_OS_AIX - IBM AIX -// GTEST_OS_CYGWIN - Cygwin -// GTEST_OS_DRAGONFLY - DragonFlyBSD -// GTEST_OS_FREEBSD - FreeBSD -// GTEST_OS_FUCHSIA - Fuchsia -// GTEST_OS_GNU_KFREEBSD - GNU/kFreeBSD -// GTEST_OS_HAIKU - Haiku -// GTEST_OS_HPUX - HP-UX -// GTEST_OS_LINUX - Linux -// GTEST_OS_LINUX_ANDROID - Google Android -// GTEST_OS_MAC - Mac OS X -// GTEST_OS_IOS - iOS -// GTEST_OS_NACL - Google Native Client (NaCl) -// GTEST_OS_NETBSD - NetBSD -// GTEST_OS_OPENBSD - OpenBSD -// GTEST_OS_OS2 - OS/2 -// GTEST_OS_QNX - QNX -// GTEST_OS_SOLARIS - Sun Solaris -// GTEST_OS_WINDOWS - Windows (Desktop, MinGW, or Mobile) -// GTEST_OS_WINDOWS_DESKTOP - Windows Desktop -// GTEST_OS_WINDOWS_MINGW - MinGW -// GTEST_OS_WINDOWS_MOBILE - Windows Mobile -// GTEST_OS_WINDOWS_PHONE - Windows Phone -// GTEST_OS_WINDOWS_RT - Windows Store App/WinRT -// GTEST_OS_ZOS - z/OS -// -// Among the platforms, Cygwin, Linux, Mac OS X, and Windows have the -// most stable support. Since core members of the Google Test project -// don't have access to other platforms, support for them may be less -// stable. If you notice any problems on your platform, please notify -// googletestframework@googlegroups.com (patches for fixing them are -// even more welcome!). -// -// It is possible that none of the GTEST_OS_* macros are defined. - -// Feature-indicating macros -// ------------------------- -// -// Macros indicating which Google Test features are available (a macro -// is defined to 1 if the corresponding feature is supported; -// otherwise UNDEFINED -- it's never defined to 0.). Google Test -// defines these macros automatically. Code outside Google Test MUST -// NOT define them. -// -// These macros are public so that portable tests can be written. -// Such tests typically surround code using a feature with an #if -// which controls that code. For example: -// -// #if GTEST_HAS_DEATH_TEST -// EXPECT_DEATH(DoSomethingDeadly()); -// #endif -// -// GTEST_HAS_DEATH_TEST - death tests -// GTEST_HAS_TYPED_TEST - typed tests -// GTEST_HAS_TYPED_TEST_P - type-parameterized tests -// GTEST_IS_THREADSAFE - Google Test is thread-safe. -// GOOGLETEST_CM0007 DO NOT DELETE -// GTEST_USES_POSIX_RE - enhanced POSIX regex is used. Do not confuse with -// GTEST_HAS_POSIX_RE (see above) which users can -// define themselves. -// GTEST_USES_SIMPLE_RE - our own simple regex is used; -// the above RE\b(s) are mutually exclusive. - -// Misc public macros -// ------------------ -// -// GTEST_FLAG(flag_name) - references the variable corresponding to -// the given Google Test flag. - -// Internal utilities -// ------------------ -// -// The following macros and utilities are for Google Test's INTERNAL -// use only. Code outside Google Test MUST NOT USE THEM DIRECTLY. -// -// Macros for basic C++ coding: -// GTEST_AMBIGUOUS_ELSE_BLOCKER_ - for disabling a gcc warning. -// GTEST_ATTRIBUTE_UNUSED_ - declares that a class' instances or a -// variable don't have to be used. -// GTEST_DISALLOW_ASSIGN_ - disables operator=. -// GTEST_DISALLOW_COPY_AND_ASSIGN_ - disables copy ctor and operator=. -// GTEST_MUST_USE_RESULT_ - declares that a function's result must be used. -// GTEST_INTENTIONAL_CONST_COND_PUSH_ - start code section where MSVC C4127 is -// suppressed (constant conditional). -// GTEST_INTENTIONAL_CONST_COND_POP_ - finish code section where MSVC C4127 -// is suppressed. -// -// Synchronization: -// Mutex, MutexLock, ThreadLocal, GetThreadCount() -// - synchronization primitives. -// -// Regular expressions: -// RE - a simple regular expression class using the POSIX -// Extended Regular Expression syntax on UNIX-like platforms -// GOOGLETEST_CM0008 DO NOT DELETE -// or a reduced regular exception syntax on other -// platforms, including Windows. -// Logging: -// GTEST_LOG_() - logs messages at the specified severity level. -// LogToStderr() - directs all log messages to stderr. -// FlushInfoLog() - flushes informational log messages. -// -// Stdout and stderr capturing: -// CaptureStdout() - starts capturing stdout. -// GetCapturedStdout() - stops capturing stdout and returns the captured -// string. -// CaptureStderr() - starts capturing stderr. -// GetCapturedStderr() - stops capturing stderr and returns the captured -// string. -// -// Integer types: -// TypeWithSize - maps an integer to a int type. -// Int32, UInt32, Int64, UInt64, TimeInMillis -// - integers of known sizes. -// BiggestInt - the biggest signed integer type. -// -// Command-line utilities: -// GTEST_DECLARE_*() - declares a flag. -// GTEST_DEFINE_*() - defines a flag. -// GetInjectableArgvs() - returns the command line as a vector of strings. -// -// Environment variable utilities: -// GetEnv() - gets the value of an environment variable. -// BoolFromGTestEnv() - parses a bool environment variable. -// Int32FromGTestEnv() - parses an Int32 environment variable. -// StringFromGTestEnv() - parses a string environment variable. -// -// Deprecation warnings: -// GTEST_INTERNAL_DEPRECATED(message) - attribute marking a function as -// deprecated; calling a marked function -// should generate a compiler warning - -#include // for isspace, etc -#include // for ptrdiff_t -#include -#include -#include -#include -#include - -#ifndef _WIN32_WCE -# include -# include -#endif // !_WIN32_WCE - -#if defined __APPLE__ -# include -# include -#endif - -#include // NOLINT -#include // NOLINT -#include // NOLINT -#include // NOLINT -#include -#include -#include // NOLINT - -#include "gtest/internal/gtest-port-arch.h" -#include "gtest/internal/custom/gtest-port.h" - -#if !defined(GTEST_DEV_EMAIL_) -# define GTEST_DEV_EMAIL_ "googletestframework@@googlegroups.com" -# define GTEST_FLAG_PREFIX_ "gtest_" -# define GTEST_FLAG_PREFIX_DASH_ "gtest-" -# define GTEST_FLAG_PREFIX_UPPER_ "GTEST_" -# define GTEST_NAME_ "Google Test" -# define GTEST_PROJECT_URL_ "https://github.com/google/googletest/" -#endif // !defined(GTEST_DEV_EMAIL_) - -#if !defined(GTEST_INIT_GOOGLE_TEST_NAME_) -# define GTEST_INIT_GOOGLE_TEST_NAME_ "testing::InitGoogleTest" -#endif // !defined(GTEST_INIT_GOOGLE_TEST_NAME_) - -// Determines the version of gcc that is used to compile this. -#ifdef __GNUC__ -// 40302 means version 4.3.2. -# define GTEST_GCC_VER_ \ - (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__) -#endif // __GNUC__ - -// Macros for disabling Microsoft Visual C++ warnings. -// -// GTEST_DISABLE_MSC_WARNINGS_PUSH_(4800 4385) -// /* code that triggers warnings C4800 and C4385 */ -// GTEST_DISABLE_MSC_WARNINGS_POP_() -#if defined(_MSC_VER) -# define GTEST_DISABLE_MSC_WARNINGS_PUSH_(warnings) \ - __pragma(warning(push)) \ - __pragma(warning(disable: warnings)) -# define GTEST_DISABLE_MSC_WARNINGS_POP_() \ - __pragma(warning(pop)) -#else -// Not all compilers are MSVC -# define GTEST_DISABLE_MSC_WARNINGS_PUSH_(warnings) -# define GTEST_DISABLE_MSC_WARNINGS_POP_() -#endif - -// Clang on Windows does not understand MSVC's pragma warning. -// We need clang-specific way to disable function deprecation warning. -#ifdef __clang__ -# define GTEST_DISABLE_MSC_DEPRECATED_PUSH_() \ - _Pragma("clang diagnostic push") \ - _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") \ - _Pragma("clang diagnostic ignored \"-Wdeprecated-implementations\"") -#define GTEST_DISABLE_MSC_DEPRECATED_POP_() \ - _Pragma("clang diagnostic pop") -#else -# define GTEST_DISABLE_MSC_DEPRECATED_PUSH_() \ - GTEST_DISABLE_MSC_WARNINGS_PUSH_(4996) -# define GTEST_DISABLE_MSC_DEPRECATED_POP_() \ - GTEST_DISABLE_MSC_WARNINGS_POP_() -#endif - -// Brings in definitions for functions used in the testing::internal::posix -// namespace (read, write, close, chdir, isatty, stat). We do not currently -// use them on Windows Mobile. -#if GTEST_OS_WINDOWS -# if !GTEST_OS_WINDOWS_MOBILE -# include -# include -# endif -// In order to avoid having to include , use forward declaration -#if GTEST_OS_WINDOWS_MINGW && !defined(__MINGW64_VERSION_MAJOR) -// MinGW defined _CRITICAL_SECTION and _RTL_CRITICAL_SECTION as two -// separate (equivalent) structs, instead of using typedef -typedef struct _CRITICAL_SECTION GTEST_CRITICAL_SECTION; -#else -// Assume CRITICAL_SECTION is a typedef of _RTL_CRITICAL_SECTION. -// This assumption is verified by -// WindowsTypesTest.CRITICAL_SECTIONIs_RTL_CRITICAL_SECTION. -typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION; -#endif -#else -// This assumes that non-Windows OSes provide unistd.h. For OSes where this -// is not the case, we need to include headers that provide the functions -// mentioned above. -# include -# include -#endif // GTEST_OS_WINDOWS - -#if GTEST_OS_LINUX_ANDROID -// Used to define __ANDROID_API__ matching the target NDK API level. -# include // NOLINT -#endif - -// Defines this to true if and only if Google Test can use POSIX regular -// expressions. -#ifndef GTEST_HAS_POSIX_RE -# if GTEST_OS_LINUX_ANDROID -// On Android, is only available starting with Gingerbread. -# define GTEST_HAS_POSIX_RE (__ANDROID_API__ >= 9) -# else -# define GTEST_HAS_POSIX_RE (!GTEST_OS_WINDOWS) -# endif -#endif - -#if GTEST_USES_PCRE -// The appropriate headers have already been included. - -#elif GTEST_HAS_POSIX_RE - -// On some platforms, needs someone to define size_t, and -// won't compile otherwise. We can #include it here as we already -// included , which is guaranteed to define size_t through -// . -# include // NOLINT - -# define GTEST_USES_POSIX_RE 1 - -#elif GTEST_OS_WINDOWS - -// is not available on Windows. Use our own simple regex -// implementation instead. -# define GTEST_USES_SIMPLE_RE 1 - -#else - -// may not be available on this platform. Use our own -// simple regex implementation instead. -# define GTEST_USES_SIMPLE_RE 1 - -#endif // GTEST_USES_PCRE - -#ifndef GTEST_HAS_EXCEPTIONS -// The user didn't tell us whether exceptions are enabled, so we need -// to figure it out. -# if defined(_MSC_VER) && defined(_CPPUNWIND) -// MSVC defines _CPPUNWIND to 1 if and only if exceptions are enabled. -# define GTEST_HAS_EXCEPTIONS 1 -# elif defined(__BORLANDC__) -// C++Builder's implementation of the STL uses the _HAS_EXCEPTIONS -// macro to enable exceptions, so we'll do the same. -// Assumes that exceptions are enabled by default. -# ifndef _HAS_EXCEPTIONS -# define _HAS_EXCEPTIONS 1 -# endif // _HAS_EXCEPTIONS -# define GTEST_HAS_EXCEPTIONS _HAS_EXCEPTIONS -# elif defined(__clang__) -// clang defines __EXCEPTIONS if and only if exceptions are enabled before clang -// 220714, but if and only if cleanups are enabled after that. In Obj-C++ files, -// there can be cleanups for ObjC exceptions which also need cleanups, even if -// C++ exceptions are disabled. clang has __has_feature(cxx_exceptions) which -// checks for C++ exceptions starting at clang r206352, but which checked for -// cleanups prior to that. To reliably check for C++ exception availability with -// clang, check for -// __EXCEPTIONS && __has_feature(cxx_exceptions). -# define GTEST_HAS_EXCEPTIONS (__EXCEPTIONS && __has_feature(cxx_exceptions)) -# elif defined(__GNUC__) && __EXCEPTIONS -// gcc defines __EXCEPTIONS to 1 if and only if exceptions are enabled. -# define GTEST_HAS_EXCEPTIONS 1 -# elif defined(__SUNPRO_CC) -// Sun Pro CC supports exceptions. However, there is no compile-time way of -// detecting whether they are enabled or not. Therefore, we assume that -// they are enabled unless the user tells us otherwise. -# define GTEST_HAS_EXCEPTIONS 1 -# elif defined(__IBMCPP__) && __EXCEPTIONS -// xlC defines __EXCEPTIONS to 1 if and only if exceptions are enabled. -# define GTEST_HAS_EXCEPTIONS 1 -# elif defined(__HP_aCC) -// Exception handling is in effect by default in HP aCC compiler. It has to -// be turned of by +noeh compiler option if desired. -# define GTEST_HAS_EXCEPTIONS 1 -# else -// For other compilers, we assume exceptions are disabled to be -// conservative. -# define GTEST_HAS_EXCEPTIONS 0 -# endif // defined(_MSC_VER) || defined(__BORLANDC__) -#endif // GTEST_HAS_EXCEPTIONS - -#if !defined(GTEST_HAS_STD_STRING) -// Even though we don't use this macro any longer, we keep it in case -// some clients still depend on it. -# define GTEST_HAS_STD_STRING 1 -#elif !GTEST_HAS_STD_STRING -// The user told us that ::std::string isn't available. -# error "::std::string isn't available." -#endif // !defined(GTEST_HAS_STD_STRING) - -#ifndef GTEST_HAS_STD_WSTRING -// The user didn't tell us whether ::std::wstring is available, so we need -// to figure it out. -// Cygwin 1.7 and below doesn't support ::std::wstring. -// Solaris' libc++ doesn't support it either. Android has -// no support for it at least as recent as Froyo (2.2). -#define GTEST_HAS_STD_WSTRING \ - (!(GTEST_OS_LINUX_ANDROID || GTEST_OS_CYGWIN || GTEST_OS_SOLARIS || \ - GTEST_OS_HAIKU)) - -#endif // GTEST_HAS_STD_WSTRING - -// Determines whether RTTI is available. -#ifndef GTEST_HAS_RTTI -// The user didn't tell us whether RTTI is enabled, so we need to -// figure it out. - -# ifdef _MSC_VER - -#ifdef _CPPRTTI // MSVC defines this macro if and only if RTTI is enabled. -# define GTEST_HAS_RTTI 1 -# else -# define GTEST_HAS_RTTI 0 -# endif - -// Starting with version 4.3.2, gcc defines __GXX_RTTI if and only if RTTI is -// enabled. -# elif defined(__GNUC__) - -# ifdef __GXX_RTTI -// When building against STLport with the Android NDK and with -// -frtti -fno-exceptions, the build fails at link time with undefined -// references to __cxa_bad_typeid. Note sure if STL or toolchain bug, -// so disable RTTI when detected. -# if GTEST_OS_LINUX_ANDROID && defined(_STLPORT_MAJOR) && \ - !defined(__EXCEPTIONS) -# define GTEST_HAS_RTTI 0 -# else -# define GTEST_HAS_RTTI 1 -# endif // GTEST_OS_LINUX_ANDROID && __STLPORT_MAJOR && !__EXCEPTIONS -# else -# define GTEST_HAS_RTTI 0 -# endif // __GXX_RTTI - -// Clang defines __GXX_RTTI starting with version 3.0, but its manual recommends -// using has_feature instead. has_feature(cxx_rtti) is supported since 2.7, the -// first version with C++ support. -# elif defined(__clang__) - -# define GTEST_HAS_RTTI __has_feature(cxx_rtti) - -// Starting with version 9.0 IBM Visual Age defines __RTTI_ALL__ to 1 if -// both the typeid and dynamic_cast features are present. -# elif defined(__IBMCPP__) && (__IBMCPP__ >= 900) - -# ifdef __RTTI_ALL__ -# define GTEST_HAS_RTTI 1 -# else -# define GTEST_HAS_RTTI 0 -# endif - -# else - -// For all other compilers, we assume RTTI is enabled. -# define GTEST_HAS_RTTI 1 - -# endif // _MSC_VER - -#endif // GTEST_HAS_RTTI - -// It's this header's responsibility to #include when RTTI -// is enabled. -#if GTEST_HAS_RTTI -# include -#endif - -// Determines whether Google Test can use the pthreads library. -#ifndef GTEST_HAS_PTHREAD -// The user didn't tell us explicitly, so we make reasonable assumptions about -// which platforms have pthreads support. -// -// To disable threading support in Google Test, add -DGTEST_HAS_PTHREAD=0 -// to your compiler flags. -#define GTEST_HAS_PTHREAD \ - (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_HPUX || GTEST_OS_QNX || \ - GTEST_OS_FREEBSD || GTEST_OS_NACL || GTEST_OS_NETBSD || GTEST_OS_FUCHSIA || \ - GTEST_OS_DRAGONFLY || GTEST_OS_GNU_KFREEBSD || GTEST_OS_OPENBSD || \ - GTEST_OS_HAIKU) -#endif // GTEST_HAS_PTHREAD - -#if GTEST_HAS_PTHREAD -// gtest-port.h guarantees to #include when GTEST_HAS_PTHREAD is -// true. -# include // NOLINT - -// For timespec and nanosleep, used below. -# include // NOLINT -#endif - -// Determines whether clone(2) is supported. -// Usually it will only be available on Linux, excluding -// Linux on the Itanium architecture. -// Also see http://linux.die.net/man/2/clone. -#ifndef GTEST_HAS_CLONE -// The user didn't tell us, so we need to figure it out. - -# if GTEST_OS_LINUX && !defined(__ia64__) -# if GTEST_OS_LINUX_ANDROID -// On Android, clone() became available at different API levels for each 32-bit -// architecture. -# if defined(__LP64__) || \ - (defined(__arm__) && __ANDROID_API__ >= 9) || \ - (defined(__mips__) && __ANDROID_API__ >= 12) || \ - (defined(__i386__) && __ANDROID_API__ >= 17) -# define GTEST_HAS_CLONE 1 -# else -# define GTEST_HAS_CLONE 0 -# endif -# else -# define GTEST_HAS_CLONE 1 -# endif -# else -# define GTEST_HAS_CLONE 0 -# endif // GTEST_OS_LINUX && !defined(__ia64__) - -#endif // GTEST_HAS_CLONE - -// Determines whether to support stream redirection. This is used to test -// output correctness and to implement death tests. -#ifndef GTEST_HAS_STREAM_REDIRECTION -// By default, we assume that stream redirection is supported on all -// platforms except known mobile ones. -# if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_WINDOWS_PHONE || GTEST_OS_WINDOWS_RT -# define GTEST_HAS_STREAM_REDIRECTION 0 -# else -# define GTEST_HAS_STREAM_REDIRECTION 1 -# endif // !GTEST_OS_WINDOWS_MOBILE -#endif // GTEST_HAS_STREAM_REDIRECTION - -// Determines whether to support death tests. -// pops up a dialog window that cannot be suppressed programmatically. -#if (GTEST_OS_LINUX || GTEST_OS_CYGWIN || GTEST_OS_SOLARIS || \ - (GTEST_OS_MAC && !GTEST_OS_IOS) || \ - (GTEST_OS_WINDOWS_DESKTOP && _MSC_VER) || GTEST_OS_WINDOWS_MINGW || \ - GTEST_OS_AIX || GTEST_OS_HPUX || GTEST_OS_OPENBSD || GTEST_OS_QNX || \ - GTEST_OS_FREEBSD || GTEST_OS_NETBSD || GTEST_OS_FUCHSIA || \ - GTEST_OS_DRAGONFLY || GTEST_OS_GNU_KFREEBSD || GTEST_OS_HAIKU) -# define GTEST_HAS_DEATH_TEST 1 -#endif - -// Determines whether to support type-driven tests. - -// Typed tests need and variadic macros, which GCC, VC++ 8.0, -// Sun Pro CC, IBM Visual Age, and HP aCC support. -#if defined(__GNUC__) || defined(_MSC_VER) || defined(__SUNPRO_CC) || \ - defined(__IBMCPP__) || defined(__HP_aCC) -# define GTEST_HAS_TYPED_TEST 1 -# define GTEST_HAS_TYPED_TEST_P 1 -#endif - -// Determines whether the system compiler uses UTF-16 for encoding wide strings. -#define GTEST_WIDE_STRING_USES_UTF16_ \ - (GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_AIX || GTEST_OS_OS2) - -// Determines whether test results can be streamed to a socket. -#if GTEST_OS_LINUX || GTEST_OS_GNU_KFREEBSD || GTEST_OS_DRAGONFLY || \ - GTEST_OS_FREEBSD || GTEST_OS_NETBSD || GTEST_OS_OPENBSD -# define GTEST_CAN_STREAM_RESULTS_ 1 -#endif - -// Defines some utility macros. - -// The GNU compiler emits a warning if nested "if" statements are followed by -// an "else" statement and braces are not used to explicitly disambiguate the -// "else" binding. This leads to problems with code like: -// -// if (gate) -// ASSERT_*(condition) << "Some message"; -// -// The "switch (0) case 0:" idiom is used to suppress this. -#ifdef __INTEL_COMPILER -# define GTEST_AMBIGUOUS_ELSE_BLOCKER_ -#else -# define GTEST_AMBIGUOUS_ELSE_BLOCKER_ switch (0) case 0: default: // NOLINT -#endif - -// Use this annotation at the end of a struct/class definition to -// prevent the compiler from optimizing away instances that are never -// used. This is useful when all interesting logic happens inside the -// c'tor and / or d'tor. Example: -// -// struct Foo { -// Foo() { ... } -// } GTEST_ATTRIBUTE_UNUSED_; -// -// Also use it after a variable or parameter declaration to tell the -// compiler the variable/parameter does not have to be used. -#if defined(__GNUC__) && !defined(COMPILER_ICC) -# define GTEST_ATTRIBUTE_UNUSED_ __attribute__ ((unused)) -#elif defined(__clang__) -# if __has_attribute(unused) -# define GTEST_ATTRIBUTE_UNUSED_ __attribute__ ((unused)) -# endif -#endif -#ifndef GTEST_ATTRIBUTE_UNUSED_ -# define GTEST_ATTRIBUTE_UNUSED_ -#endif - -// Use this annotation before a function that takes a printf format string. -#if (defined(__GNUC__) || defined(__clang__)) && !defined(COMPILER_ICC) -# if defined(__MINGW_PRINTF_FORMAT) -// MinGW has two different printf implementations. Ensure the format macro -// matches the selected implementation. See -// https://sourceforge.net/p/mingw-w64/wiki2/gnu%20printf/. -# define GTEST_ATTRIBUTE_PRINTF_(string_index, first_to_check) \ - __attribute__((__format__(__MINGW_PRINTF_FORMAT, string_index, \ - first_to_check))) -# else -# define GTEST_ATTRIBUTE_PRINTF_(string_index, first_to_check) \ - __attribute__((__format__(__printf__, string_index, first_to_check))) -# endif -#else -# define GTEST_ATTRIBUTE_PRINTF_(string_index, first_to_check) -#endif - - -// A macro to disallow operator= -// This should be used in the private: declarations for a class. -#define GTEST_DISALLOW_ASSIGN_(type) \ - void operator=(type const &) = delete - -// A macro to disallow copy constructor and operator= -// This should be used in the private: declarations for a class. -#define GTEST_DISALLOW_COPY_AND_ASSIGN_(type) \ - type(type const &) = delete; \ - GTEST_DISALLOW_ASSIGN_(type) - -// Tell the compiler to warn about unused return values for functions declared -// with this macro. The macro should be used on function declarations -// following the argument list: -// -// Sprocket* AllocateSprocket() GTEST_MUST_USE_RESULT_; -#if defined(__GNUC__) && !defined(COMPILER_ICC) -# define GTEST_MUST_USE_RESULT_ __attribute__ ((warn_unused_result)) -#else -# define GTEST_MUST_USE_RESULT_ -#endif // __GNUC__ && !COMPILER_ICC - -// MS C++ compiler emits warning when a conditional expression is compile time -// constant. In some contexts this warning is false positive and needs to be -// suppressed. Use the following two macros in such cases: -// -// GTEST_INTENTIONAL_CONST_COND_PUSH_() -// while (true) { -// GTEST_INTENTIONAL_CONST_COND_POP_() -// } -# define GTEST_INTENTIONAL_CONST_COND_PUSH_() \ - GTEST_DISABLE_MSC_WARNINGS_PUSH_(4127) -# define GTEST_INTENTIONAL_CONST_COND_POP_() \ - GTEST_DISABLE_MSC_WARNINGS_POP_() - -// Determine whether the compiler supports Microsoft's Structured Exception -// Handling. This is supported by several Windows compilers but generally -// does not exist on any other system. -#ifndef GTEST_HAS_SEH -// The user didn't tell us, so we need to figure it out. - -# if defined(_MSC_VER) || defined(__BORLANDC__) -// These two compilers are known to support SEH. -# define GTEST_HAS_SEH 1 -# else -// Assume no SEH. -# define GTEST_HAS_SEH 0 -# endif - -#endif // GTEST_HAS_SEH - -#ifndef GTEST_IS_THREADSAFE - -#define GTEST_IS_THREADSAFE \ - (GTEST_HAS_MUTEX_AND_THREAD_LOCAL_ || \ - (GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT) || \ - GTEST_HAS_PTHREAD) - -#endif // GTEST_IS_THREADSAFE - -// GTEST_API_ qualifies all symbols that must be exported. The definitions below -// are guarded by #ifndef to give embedders a chance to define GTEST_API_ in -// gtest/internal/custom/gtest-port.h -#ifndef GTEST_API_ - -#ifdef _MSC_VER -# if GTEST_LINKED_AS_SHARED_LIBRARY -# define GTEST_API_ __declspec(dllimport) -# elif GTEST_CREATE_SHARED_LIBRARY -# define GTEST_API_ __declspec(dllexport) -# endif -#elif __GNUC__ >= 4 || defined(__clang__) -# define GTEST_API_ __attribute__((visibility ("default"))) -#endif // _MSC_VER - -#endif // GTEST_API_ - -#ifndef GTEST_API_ -# define GTEST_API_ -#endif // GTEST_API_ - -#ifndef GTEST_DEFAULT_DEATH_TEST_STYLE -# define GTEST_DEFAULT_DEATH_TEST_STYLE "fast" -#endif // GTEST_DEFAULT_DEATH_TEST_STYLE - -#ifdef __GNUC__ -// Ask the compiler to never inline a given function. -# define GTEST_NO_INLINE_ __attribute__((noinline)) -#else -# define GTEST_NO_INLINE_ -#endif - -// _LIBCPP_VERSION is defined by the libc++ library from the LLVM project. -#if !defined(GTEST_HAS_CXXABI_H_) -# if defined(__GLIBCXX__) || (defined(_LIBCPP_VERSION) && !defined(_MSC_VER)) -# define GTEST_HAS_CXXABI_H_ 1 -# else -# define GTEST_HAS_CXXABI_H_ 0 -# endif -#endif - -// A function level attribute to disable checking for use of uninitialized -// memory when built with MemorySanitizer. -#if defined(__clang__) -# if __has_feature(memory_sanitizer) -# define GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_ \ - __attribute__((no_sanitize_memory)) -# else -# define GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_ -# endif // __has_feature(memory_sanitizer) -#else -# define GTEST_ATTRIBUTE_NO_SANITIZE_MEMORY_ -#endif // __clang__ - -// A function level attribute to disable AddressSanitizer instrumentation. -#if defined(__clang__) -# if __has_feature(address_sanitizer) -# define GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_ \ - __attribute__((no_sanitize_address)) -# else -# define GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_ -# endif // __has_feature(address_sanitizer) -#else -# define GTEST_ATTRIBUTE_NO_SANITIZE_ADDRESS_ -#endif // __clang__ - -// A function level attribute to disable HWAddressSanitizer instrumentation. -#if defined(__clang__) -# if __has_feature(hwaddress_sanitizer) -# define GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_ \ - __attribute__((no_sanitize("hwaddress"))) -# else -# define GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_ -# endif // __has_feature(hwaddress_sanitizer) -#else -# define GTEST_ATTRIBUTE_NO_SANITIZE_HWADDRESS_ -#endif // __clang__ - -// A function level attribute to disable ThreadSanitizer instrumentation. -#if defined(__clang__) -# if __has_feature(thread_sanitizer) -# define GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_ \ - __attribute__((no_sanitize_thread)) -# else -# define GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_ -# endif // __has_feature(thread_sanitizer) -#else -# define GTEST_ATTRIBUTE_NO_SANITIZE_THREAD_ -#endif // __clang__ - -namespace testing { - -class Message; - -// Legacy imports for backwards compatibility. -// New code should use std:: names directly. -using std::get; -using std::make_tuple; -using std::tuple; -using std::tuple_element; -using std::tuple_size; - -namespace internal { - -// A secret type that Google Test users don't know about. It has no -// definition on purpose. Therefore it's impossible to create a -// Secret object, which is what we want. -class Secret; - -// The GTEST_COMPILE_ASSERT_ is a legacy macro used to verify that a compile -// time expression is true (in new code, use static_assert instead). For -// example, you could use it to verify the size of a static array: -// -// GTEST_COMPILE_ASSERT_(GTEST_ARRAY_SIZE_(names) == NUM_NAMES, -// names_incorrect_size); -// -// The second argument to the macro must be a valid C++ identifier. If the -// expression is false, compiler will issue an error containing this identifier. -#define GTEST_COMPILE_ASSERT_(expr, msg) static_assert(expr, #msg) - -// Evaluates to the number of elements in 'array'. -#define GTEST_ARRAY_SIZE_(array) (sizeof(array) / sizeof(array[0])) - -// A helper for suppressing warnings on constant condition. It just -// returns 'condition'. -GTEST_API_ bool IsTrue(bool condition); - -// Defines RE. - -#if GTEST_USES_PCRE -// if used, PCRE is injected by custom/gtest-port.h -#elif GTEST_USES_POSIX_RE || GTEST_USES_SIMPLE_RE - -// A simple C++ wrapper for . It uses the POSIX Extended -// Regular Expression syntax. -class GTEST_API_ RE { - public: - // A copy constructor is required by the Standard to initialize object - // references from r-values. - RE(const RE& other) { Init(other.pattern()); } - - // Constructs an RE from a string. - RE(const ::std::string& regex) { Init(regex.c_str()); } // NOLINT - - RE(const char* regex) { Init(regex); } // NOLINT - ~RE(); - - // Returns the string representation of the regex. - const char* pattern() const { return pattern_; } - - // FullMatch(str, re) returns true if and only if regular expression re - // matches the entire str. - // PartialMatch(str, re) returns true if and only if regular expression re - // matches a substring of str (including str itself). - static bool FullMatch(const ::std::string& str, const RE& re) { - return FullMatch(str.c_str(), re); - } - static bool PartialMatch(const ::std::string& str, const RE& re) { - return PartialMatch(str.c_str(), re); - } - - static bool FullMatch(const char* str, const RE& re); - static bool PartialMatch(const char* str, const RE& re); - - private: - void Init(const char* regex); - const char* pattern_; - bool is_valid_; - -# if GTEST_USES_POSIX_RE - - regex_t full_regex_; // For FullMatch(). - regex_t partial_regex_; // For PartialMatch(). - -# else // GTEST_USES_SIMPLE_RE - - const char* full_pattern_; // For FullMatch(); - -# endif - - GTEST_DISALLOW_ASSIGN_(RE); -}; - -#endif // GTEST_USES_PCRE - -// Formats a source file path and a line number as they would appear -// in an error message from the compiler used to compile this code. -GTEST_API_ ::std::string FormatFileLocation(const char* file, int line); - -// Formats a file location for compiler-independent XML output. -// Although this function is not platform dependent, we put it next to -// FormatFileLocation in order to contrast the two functions. -GTEST_API_ ::std::string FormatCompilerIndependentFileLocation(const char* file, - int line); - -// Defines logging utilities: -// GTEST_LOG_(severity) - logs messages at the specified severity level. The -// message itself is streamed into the macro. -// LogToStderr() - directs all log messages to stderr. -// FlushInfoLog() - flushes informational log messages. - -enum GTestLogSeverity { - GTEST_INFO, - GTEST_WARNING, - GTEST_ERROR, - GTEST_FATAL -}; - -// Formats log entry severity, provides a stream object for streaming the -// log message, and terminates the message with a newline when going out of -// scope. -class GTEST_API_ GTestLog { - public: - GTestLog(GTestLogSeverity severity, const char* file, int line); - - // Flushes the buffers and, if severity is GTEST_FATAL, aborts the program. - ~GTestLog(); - - ::std::ostream& GetStream() { return ::std::cerr; } - - private: - const GTestLogSeverity severity_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(GTestLog); -}; - -#if !defined(GTEST_LOG_) - -# define GTEST_LOG_(severity) \ - ::testing::internal::GTestLog(::testing::internal::GTEST_##severity, \ - __FILE__, __LINE__).GetStream() - -inline void LogToStderr() {} -inline void FlushInfoLog() { fflush(nullptr); } - -#endif // !defined(GTEST_LOG_) - -#if !defined(GTEST_CHECK_) -// INTERNAL IMPLEMENTATION - DO NOT USE. -// -// GTEST_CHECK_ is an all-mode assert. It aborts the program if the condition -// is not satisfied. -// Synopsys: -// GTEST_CHECK_(boolean_condition); -// or -// GTEST_CHECK_(boolean_condition) << "Additional message"; -// -// This checks the condition and if the condition is not satisfied -// it prints message about the condition violation, including the -// condition itself, plus additional message streamed into it, if any, -// and then it aborts the program. It aborts the program irrespective of -// whether it is built in the debug mode or not. -# define GTEST_CHECK_(condition) \ - GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ - if (::testing::internal::IsTrue(condition)) \ - ; \ - else \ - GTEST_LOG_(FATAL) << "Condition " #condition " failed. " -#endif // !defined(GTEST_CHECK_) - -// An all-mode assert to verify that the given POSIX-style function -// call returns 0 (indicating success). Known limitation: this -// doesn't expand to a balanced 'if' statement, so enclose the macro -// in {} if you need to use it as the only statement in an 'if' -// branch. -#define GTEST_CHECK_POSIX_SUCCESS_(posix_call) \ - if (const int gtest_error = (posix_call)) \ - GTEST_LOG_(FATAL) << #posix_call << "failed with error " \ - << gtest_error - -// Transforms "T" into "const T&" according to standard reference collapsing -// rules (this is only needed as a backport for C++98 compilers that do not -// support reference collapsing). Specifically, it transforms: -// -// char ==> const char& -// const char ==> const char& -// char& ==> char& -// const char& ==> const char& -// -// Note that the non-const reference will not have "const" added. This is -// standard, and necessary so that "T" can always bind to "const T&". -template -struct ConstRef { typedef const T& type; }; -template -struct ConstRef { typedef T& type; }; - -// The argument T must depend on some template parameters. -#define GTEST_REFERENCE_TO_CONST_(T) \ - typename ::testing::internal::ConstRef::type - -// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. -// -// Use ImplicitCast_ as a safe version of static_cast for upcasting in -// the type hierarchy (e.g. casting a Foo* to a SuperclassOfFoo* or a -// const Foo*). When you use ImplicitCast_, the compiler checks that -// the cast is safe. Such explicit ImplicitCast_s are necessary in -// surprisingly many situations where C++ demands an exact type match -// instead of an argument type convertable to a target type. -// -// The syntax for using ImplicitCast_ is the same as for static_cast: -// -// ImplicitCast_(expr) -// -// ImplicitCast_ would have been part of the C++ standard library, -// but the proposal was submitted too late. It will probably make -// its way into the language in the future. -// -// This relatively ugly name is intentional. It prevents clashes with -// similar functions users may have (e.g., implicit_cast). The internal -// namespace alone is not enough because the function can be found by ADL. -template -inline To ImplicitCast_(To x) { return x; } - -// When you upcast (that is, cast a pointer from type Foo to type -// SuperclassOfFoo), it's fine to use ImplicitCast_<>, since upcasts -// always succeed. When you downcast (that is, cast a pointer from -// type Foo to type SubclassOfFoo), static_cast<> isn't safe, because -// how do you know the pointer is really of type SubclassOfFoo? It -// could be a bare Foo, or of type DifferentSubclassOfFoo. Thus, -// when you downcast, you should use this macro. In debug mode, we -// use dynamic_cast<> to double-check the downcast is legal (we die -// if it's not). In normal mode, we do the efficient static_cast<> -// instead. Thus, it's important to test in debug mode to make sure -// the cast is legal! -// This is the only place in the code we should use dynamic_cast<>. -// In particular, you SHOULDN'T be using dynamic_cast<> in order to -// do RTTI (eg code like this: -// if (dynamic_cast(foo)) HandleASubclass1Object(foo); -// if (dynamic_cast(foo)) HandleASubclass2Object(foo); -// You should design the code some other way not to need this. -// -// This relatively ugly name is intentional. It prevents clashes with -// similar functions users may have (e.g., down_cast). The internal -// namespace alone is not enough because the function can be found by ADL. -template // use like this: DownCast_(foo); -inline To DownCast_(From* f) { // so we only accept pointers - // Ensures that To is a sub-type of From *. This test is here only - // for compile-time type checking, and has no overhead in an - // optimized build at run-time, as it will be optimized away - // completely. - GTEST_INTENTIONAL_CONST_COND_PUSH_() - if (false) { - GTEST_INTENTIONAL_CONST_COND_POP_() - const To to = nullptr; - ::testing::internal::ImplicitCast_(to); - } - -#if GTEST_HAS_RTTI - // RTTI: debug mode only! - GTEST_CHECK_(f == nullptr || dynamic_cast(f) != nullptr); -#endif - return static_cast(f); -} - -// Downcasts the pointer of type Base to Derived. -// Derived must be a subclass of Base. The parameter MUST -// point to a class of type Derived, not any subclass of it. -// When RTTI is available, the function performs a runtime -// check to enforce this. -template -Derived* CheckedDowncastToActualType(Base* base) { -#if GTEST_HAS_RTTI - GTEST_CHECK_(typeid(*base) == typeid(Derived)); -#endif - -#if GTEST_HAS_DOWNCAST_ - return ::down_cast(base); -#elif GTEST_HAS_RTTI - return dynamic_cast(base); // NOLINT -#else - return static_cast(base); // Poor man's downcast. -#endif -} - -#if GTEST_HAS_STREAM_REDIRECTION - -// Defines the stderr capturer: -// CaptureStdout - starts capturing stdout. -// GetCapturedStdout - stops capturing stdout and returns the captured string. -// CaptureStderr - starts capturing stderr. -// GetCapturedStderr - stops capturing stderr and returns the captured string. -// -GTEST_API_ void CaptureStdout(); -GTEST_API_ std::string GetCapturedStdout(); -GTEST_API_ void CaptureStderr(); -GTEST_API_ std::string GetCapturedStderr(); - -#endif // GTEST_HAS_STREAM_REDIRECTION -// Returns the size (in bytes) of a file. -GTEST_API_ size_t GetFileSize(FILE* file); - -// Reads the entire content of a file as a string. -GTEST_API_ std::string ReadEntireFile(FILE* file); - -// All command line arguments. -GTEST_API_ std::vector GetArgvs(); - -#if GTEST_HAS_DEATH_TEST - -std::vector GetInjectableArgvs(); -// Deprecated: pass the args vector by value instead. -void SetInjectableArgvs(const std::vector* new_argvs); -void SetInjectableArgvs(const std::vector& new_argvs); -void ClearInjectableArgvs(); - -#endif // GTEST_HAS_DEATH_TEST - -// Defines synchronization primitives. -#if GTEST_IS_THREADSAFE -# if GTEST_HAS_PTHREAD -// Sleeps for (roughly) n milliseconds. This function is only for testing -// Google Test's own constructs. Don't use it in user tests, either -// directly or indirectly. -inline void SleepMilliseconds(int n) { - const timespec time = { - 0, // 0 seconds. - n * 1000L * 1000L, // And n ms. - }; - nanosleep(&time, nullptr); -} -# endif // GTEST_HAS_PTHREAD - -# if GTEST_HAS_NOTIFICATION_ -// Notification has already been imported into the namespace. -// Nothing to do here. - -# elif GTEST_HAS_PTHREAD -// Allows a controller thread to pause execution of newly created -// threads until notified. Instances of this class must be created -// and destroyed in the controller thread. -// -// This class is only for testing Google Test's own constructs. Do not -// use it in user tests, either directly or indirectly. -class Notification { - public: - Notification() : notified_(false) { - GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_init(&mutex_, nullptr)); - } - ~Notification() { - pthread_mutex_destroy(&mutex_); - } - - // Notifies all threads created with this notification to start. Must - // be called from the controller thread. - void Notify() { - pthread_mutex_lock(&mutex_); - notified_ = true; - pthread_mutex_unlock(&mutex_); - } - - // Blocks until the controller thread notifies. Must be called from a test - // thread. - void WaitForNotification() { - for (;;) { - pthread_mutex_lock(&mutex_); - const bool notified = notified_; - pthread_mutex_unlock(&mutex_); - if (notified) - break; - SleepMilliseconds(10); - } - } - - private: - pthread_mutex_t mutex_; - bool notified_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(Notification); -}; - -# elif GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT - -GTEST_API_ void SleepMilliseconds(int n); - -// Provides leak-safe Windows kernel handle ownership. -// Used in death tests and in threading support. -class GTEST_API_ AutoHandle { - public: - // Assume that Win32 HANDLE type is equivalent to void*. Doing so allows us to - // avoid including in this header file. Including is - // undesirable because it defines a lot of symbols and macros that tend to - // conflict with client code. This assumption is verified by - // WindowsTypesTest.HANDLEIsVoidStar. - typedef void* Handle; - AutoHandle(); - explicit AutoHandle(Handle handle); - - ~AutoHandle(); - - Handle Get() const; - void Reset(); - void Reset(Handle handle); - - private: - // Returns true if and only if the handle is a valid handle object that can be - // closed. - bool IsCloseable() const; - - Handle handle_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(AutoHandle); -}; - -// Allows a controller thread to pause execution of newly created -// threads until notified. Instances of this class must be created -// and destroyed in the controller thread. -// -// This class is only for testing Google Test's own constructs. Do not -// use it in user tests, either directly or indirectly. -class GTEST_API_ Notification { - public: - Notification(); - void Notify(); - void WaitForNotification(); - - private: - AutoHandle event_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(Notification); -}; -# endif // GTEST_HAS_NOTIFICATION_ - -// On MinGW, we can have both GTEST_OS_WINDOWS and GTEST_HAS_PTHREAD -// defined, but we don't want to use MinGW's pthreads implementation, which -// has conformance problems with some versions of the POSIX standard. -# if GTEST_HAS_PTHREAD && !GTEST_OS_WINDOWS_MINGW - -// As a C-function, ThreadFuncWithCLinkage cannot be templated itself. -// Consequently, it cannot select a correct instantiation of ThreadWithParam -// in order to call its Run(). Introducing ThreadWithParamBase as a -// non-templated base class for ThreadWithParam allows us to bypass this -// problem. -class ThreadWithParamBase { - public: - virtual ~ThreadWithParamBase() {} - virtual void Run() = 0; -}; - -// pthread_create() accepts a pointer to a function type with the C linkage. -// According to the Standard (7.5/1), function types with different linkages -// are different even if they are otherwise identical. Some compilers (for -// example, SunStudio) treat them as different types. Since class methods -// cannot be defined with C-linkage we need to define a free C-function to -// pass into pthread_create(). -extern "C" inline void* ThreadFuncWithCLinkage(void* thread) { - static_cast(thread)->Run(); - return nullptr; -} - -// Helper class for testing Google Test's multi-threading constructs. -// To use it, write: -// -// void ThreadFunc(int param) { /* Do things with param */ } -// Notification thread_can_start; -// ... -// // The thread_can_start parameter is optional; you can supply NULL. -// ThreadWithParam thread(&ThreadFunc, 5, &thread_can_start); -// thread_can_start.Notify(); -// -// These classes are only for testing Google Test's own constructs. Do -// not use them in user tests, either directly or indirectly. -template -class ThreadWithParam : public ThreadWithParamBase { - public: - typedef void UserThreadFunc(T); - - ThreadWithParam(UserThreadFunc* func, T param, Notification* thread_can_start) - : func_(func), - param_(param), - thread_can_start_(thread_can_start), - finished_(false) { - ThreadWithParamBase* const base = this; - // The thread can be created only after all fields except thread_ - // have been initialized. - GTEST_CHECK_POSIX_SUCCESS_( - pthread_create(&thread_, nullptr, &ThreadFuncWithCLinkage, base)); - } - ~ThreadWithParam() override { Join(); } - - void Join() { - if (!finished_) { - GTEST_CHECK_POSIX_SUCCESS_(pthread_join(thread_, nullptr)); - finished_ = true; - } - } - - void Run() override { - if (thread_can_start_ != nullptr) thread_can_start_->WaitForNotification(); - func_(param_); - } - - private: - UserThreadFunc* const func_; // User-supplied thread function. - const T param_; // User-supplied parameter to the thread function. - // When non-NULL, used to block execution until the controller thread - // notifies. - Notification* const thread_can_start_; - bool finished_; // true if and only if we know that the thread function has - // finished. - pthread_t thread_; // The native thread object. - - GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadWithParam); -}; -# endif // !GTEST_OS_WINDOWS && GTEST_HAS_PTHREAD || - // GTEST_HAS_MUTEX_AND_THREAD_LOCAL_ - -# if GTEST_HAS_MUTEX_AND_THREAD_LOCAL_ -// Mutex and ThreadLocal have already been imported into the namespace. -// Nothing to do here. - -# elif GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT - -// Mutex implements mutex on Windows platforms. It is used in conjunction -// with class MutexLock: -// -// Mutex mutex; -// ... -// MutexLock lock(&mutex); // Acquires the mutex and releases it at the -// // end of the current scope. -// -// A static Mutex *must* be defined or declared using one of the following -// macros: -// GTEST_DEFINE_STATIC_MUTEX_(g_some_mutex); -// GTEST_DECLARE_STATIC_MUTEX_(g_some_mutex); -// -// (A non-static Mutex is defined/declared in the usual way). -class GTEST_API_ Mutex { - public: - enum MutexType { kStatic = 0, kDynamic = 1 }; - // We rely on kStaticMutex being 0 as it is to what the linker initializes - // type_ in static mutexes. critical_section_ will be initialized lazily - // in ThreadSafeLazyInit(). - enum StaticConstructorSelector { kStaticMutex = 0 }; - - // This constructor intentionally does nothing. It relies on type_ being - // statically initialized to 0 (effectively setting it to kStatic) and on - // ThreadSafeLazyInit() to lazily initialize the rest of the members. - explicit Mutex(StaticConstructorSelector /*dummy*/) {} - - Mutex(); - ~Mutex(); - - void Lock(); - - void Unlock(); - - // Does nothing if the current thread holds the mutex. Otherwise, crashes - // with high probability. - void AssertHeld(); - - private: - // Initializes owner_thread_id_ and critical_section_ in static mutexes. - void ThreadSafeLazyInit(); - - // Per https://blogs.msdn.microsoft.com/oldnewthing/20040223-00/?p=40503, - // we assume that 0 is an invalid value for thread IDs. - unsigned int owner_thread_id_; - - // For static mutexes, we rely on these members being initialized to zeros - // by the linker. - MutexType type_; - long critical_section_init_phase_; // NOLINT - GTEST_CRITICAL_SECTION* critical_section_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(Mutex); -}; - -# define GTEST_DECLARE_STATIC_MUTEX_(mutex) \ - extern ::testing::internal::Mutex mutex - -# define GTEST_DEFINE_STATIC_MUTEX_(mutex) \ - ::testing::internal::Mutex mutex(::testing::internal::Mutex::kStaticMutex) - -// We cannot name this class MutexLock because the ctor declaration would -// conflict with a macro named MutexLock, which is defined on some -// platforms. That macro is used as a defensive measure to prevent against -// inadvertent misuses of MutexLock like "MutexLock(&mu)" rather than -// "MutexLock l(&mu)". Hence the typedef trick below. -class GTestMutexLock { - public: - explicit GTestMutexLock(Mutex* mutex) - : mutex_(mutex) { mutex_->Lock(); } - - ~GTestMutexLock() { mutex_->Unlock(); } - - private: - Mutex* const mutex_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(GTestMutexLock); -}; - -typedef GTestMutexLock MutexLock; - -// Base class for ValueHolder. Allows a caller to hold and delete a value -// without knowing its type. -class ThreadLocalValueHolderBase { - public: - virtual ~ThreadLocalValueHolderBase() {} -}; - -// Provides a way for a thread to send notifications to a ThreadLocal -// regardless of its parameter type. -class ThreadLocalBase { - public: - // Creates a new ValueHolder object holding a default value passed to - // this ThreadLocal's constructor and returns it. It is the caller's - // responsibility not to call this when the ThreadLocal instance already - // has a value on the current thread. - virtual ThreadLocalValueHolderBase* NewValueForCurrentThread() const = 0; - - protected: - ThreadLocalBase() {} - virtual ~ThreadLocalBase() {} - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocalBase); -}; - -// Maps a thread to a set of ThreadLocals that have values instantiated on that -// thread and notifies them when the thread exits. A ThreadLocal instance is -// expected to persist until all threads it has values on have terminated. -class GTEST_API_ ThreadLocalRegistry { - public: - // Registers thread_local_instance as having value on the current thread. - // Returns a value that can be used to identify the thread from other threads. - static ThreadLocalValueHolderBase* GetValueOnCurrentThread( - const ThreadLocalBase* thread_local_instance); - - // Invoked when a ThreadLocal instance is destroyed. - static void OnThreadLocalDestroyed( - const ThreadLocalBase* thread_local_instance); -}; - -class GTEST_API_ ThreadWithParamBase { - public: - void Join(); - - protected: - class Runnable { - public: - virtual ~Runnable() {} - virtual void Run() = 0; - }; - - ThreadWithParamBase(Runnable *runnable, Notification* thread_can_start); - virtual ~ThreadWithParamBase(); - - private: - AutoHandle thread_; -}; - -// Helper class for testing Google Test's multi-threading constructs. -template -class ThreadWithParam : public ThreadWithParamBase { - public: - typedef void UserThreadFunc(T); - - ThreadWithParam(UserThreadFunc* func, T param, Notification* thread_can_start) - : ThreadWithParamBase(new RunnableImpl(func, param), thread_can_start) { - } - virtual ~ThreadWithParam() {} - - private: - class RunnableImpl : public Runnable { - public: - RunnableImpl(UserThreadFunc* func, T param) - : func_(func), - param_(param) { - } - virtual ~RunnableImpl() {} - virtual void Run() { - func_(param_); - } - - private: - UserThreadFunc* const func_; - const T param_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(RunnableImpl); - }; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadWithParam); -}; - -// Implements thread-local storage on Windows systems. -// -// // Thread 1 -// ThreadLocal tl(100); // 100 is the default value for each thread. -// -// // Thread 2 -// tl.set(150); // Changes the value for thread 2 only. -// EXPECT_EQ(150, tl.get()); -// -// // Thread 1 -// EXPECT_EQ(100, tl.get()); // In thread 1, tl has the original value. -// tl.set(200); -// EXPECT_EQ(200, tl.get()); -// -// The template type argument T must have a public copy constructor. -// In addition, the default ThreadLocal constructor requires T to have -// a public default constructor. -// -// The users of a TheadLocal instance have to make sure that all but one -// threads (including the main one) using that instance have exited before -// destroying it. Otherwise, the per-thread objects managed for them by the -// ThreadLocal instance are not guaranteed to be destroyed on all platforms. -// -// Google Test only uses global ThreadLocal objects. That means they -// will die after main() has returned. Therefore, no per-thread -// object managed by Google Test will be leaked as long as all threads -// using Google Test have exited when main() returns. -template -class ThreadLocal : public ThreadLocalBase { - public: - ThreadLocal() : default_factory_(new DefaultValueHolderFactory()) {} - explicit ThreadLocal(const T& value) - : default_factory_(new InstanceValueHolderFactory(value)) {} - - ~ThreadLocal() { ThreadLocalRegistry::OnThreadLocalDestroyed(this); } - - T* pointer() { return GetOrCreateValue(); } - const T* pointer() const { return GetOrCreateValue(); } - const T& get() const { return *pointer(); } - void set(const T& value) { *pointer() = value; } - - private: - // Holds a value of T. Can be deleted via its base class without the caller - // knowing the type of T. - class ValueHolder : public ThreadLocalValueHolderBase { - public: - ValueHolder() : value_() {} - explicit ValueHolder(const T& value) : value_(value) {} - - T* pointer() { return &value_; } - - private: - T value_; - GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolder); - }; - - - T* GetOrCreateValue() const { - return static_cast( - ThreadLocalRegistry::GetValueOnCurrentThread(this))->pointer(); - } - - virtual ThreadLocalValueHolderBase* NewValueForCurrentThread() const { - return default_factory_->MakeNewHolder(); - } - - class ValueHolderFactory { - public: - ValueHolderFactory() {} - virtual ~ValueHolderFactory() {} - virtual ValueHolder* MakeNewHolder() const = 0; - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolderFactory); - }; - - class DefaultValueHolderFactory : public ValueHolderFactory { - public: - DefaultValueHolderFactory() {} - virtual ValueHolder* MakeNewHolder() const { return new ValueHolder(); } - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(DefaultValueHolderFactory); - }; - - class InstanceValueHolderFactory : public ValueHolderFactory { - public: - explicit InstanceValueHolderFactory(const T& value) : value_(value) {} - virtual ValueHolder* MakeNewHolder() const { - return new ValueHolder(value_); - } - - private: - const T value_; // The value for each thread. - - GTEST_DISALLOW_COPY_AND_ASSIGN_(InstanceValueHolderFactory); - }; - - std::unique_ptr default_factory_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocal); -}; - -# elif GTEST_HAS_PTHREAD - -// MutexBase and Mutex implement mutex on pthreads-based platforms. -class MutexBase { - public: - // Acquires this mutex. - void Lock() { - GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_lock(&mutex_)); - owner_ = pthread_self(); - has_owner_ = true; - } - - // Releases this mutex. - void Unlock() { - // Since the lock is being released the owner_ field should no longer be - // considered valid. We don't protect writing to has_owner_ here, as it's - // the caller's responsibility to ensure that the current thread holds the - // mutex when this is called. - has_owner_ = false; - GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_unlock(&mutex_)); - } - - // Does nothing if the current thread holds the mutex. Otherwise, crashes - // with high probability. - void AssertHeld() const { - GTEST_CHECK_(has_owner_ && pthread_equal(owner_, pthread_self())) - << "The current thread is not holding the mutex @" << this; - } - - // A static mutex may be used before main() is entered. It may even - // be used before the dynamic initialization stage. Therefore we - // must be able to initialize a static mutex object at link time. - // This means MutexBase has to be a POD and its member variables - // have to be public. - public: - pthread_mutex_t mutex_; // The underlying pthread mutex. - // has_owner_ indicates whether the owner_ field below contains a valid thread - // ID and is therefore safe to inspect (e.g., to use in pthread_equal()). All - // accesses to the owner_ field should be protected by a check of this field. - // An alternative might be to memset() owner_ to all zeros, but there's no - // guarantee that a zero'd pthread_t is necessarily invalid or even different - // from pthread_self(). - bool has_owner_; - pthread_t owner_; // The thread holding the mutex. -}; - -// Forward-declares a static mutex. -# define GTEST_DECLARE_STATIC_MUTEX_(mutex) \ - extern ::testing::internal::MutexBase mutex - -// Defines and statically (i.e. at link time) initializes a static mutex. -// The initialization list here does not explicitly initialize each field, -// instead relying on default initialization for the unspecified fields. In -// particular, the owner_ field (a pthread_t) is not explicitly initialized. -// This allows initialization to work whether pthread_t is a scalar or struct. -// The flag -Wmissing-field-initializers must not be specified for this to work. -#define GTEST_DEFINE_STATIC_MUTEX_(mutex) \ - ::testing::internal::MutexBase mutex = {PTHREAD_MUTEX_INITIALIZER, false, 0} - -// The Mutex class can only be used for mutexes created at runtime. It -// shares its API with MutexBase otherwise. -class Mutex : public MutexBase { - public: - Mutex() { - GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_init(&mutex_, nullptr)); - has_owner_ = false; - } - ~Mutex() { - GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_destroy(&mutex_)); - } - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(Mutex); -}; - -// We cannot name this class MutexLock because the ctor declaration would -// conflict with a macro named MutexLock, which is defined on some -// platforms. That macro is used as a defensive measure to prevent against -// inadvertent misuses of MutexLock like "MutexLock(&mu)" rather than -// "MutexLock l(&mu)". Hence the typedef trick below. -class GTestMutexLock { - public: - explicit GTestMutexLock(MutexBase* mutex) - : mutex_(mutex) { mutex_->Lock(); } - - ~GTestMutexLock() { mutex_->Unlock(); } - - private: - MutexBase* const mutex_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(GTestMutexLock); -}; - -typedef GTestMutexLock MutexLock; - -// Helpers for ThreadLocal. - -// pthread_key_create() requires DeleteThreadLocalValue() to have -// C-linkage. Therefore it cannot be templatized to access -// ThreadLocal. Hence the need for class -// ThreadLocalValueHolderBase. -class ThreadLocalValueHolderBase { - public: - virtual ~ThreadLocalValueHolderBase() {} -}; - -// Called by pthread to delete thread-local data stored by -// pthread_setspecific(). -extern "C" inline void DeleteThreadLocalValue(void* value_holder) { - delete static_cast(value_holder); -} - -// Implements thread-local storage on pthreads-based systems. -template -class GTEST_API_ ThreadLocal { - public: - ThreadLocal() - : key_(CreateKey()), default_factory_(new DefaultValueHolderFactory()) {} - explicit ThreadLocal(const T& value) - : key_(CreateKey()), - default_factory_(new InstanceValueHolderFactory(value)) {} - - ~ThreadLocal() { - // Destroys the managed object for the current thread, if any. - DeleteThreadLocalValue(pthread_getspecific(key_)); - - // Releases resources associated with the key. This will *not* - // delete managed objects for other threads. - GTEST_CHECK_POSIX_SUCCESS_(pthread_key_delete(key_)); - } - - T* pointer() { return GetOrCreateValue(); } - const T* pointer() const { return GetOrCreateValue(); } - const T& get() const { return *pointer(); } - void set(const T& value) { *pointer() = value; } - - private: - // Holds a value of type T. - class ValueHolder : public ThreadLocalValueHolderBase { - public: - ValueHolder() : value_() {} - explicit ValueHolder(const T& value) : value_(value) {} - - T* pointer() { return &value_; } - - private: - T value_; - GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolder); - }; - - static pthread_key_t CreateKey() { - pthread_key_t key; - // When a thread exits, DeleteThreadLocalValue() will be called on - // the object managed for that thread. - GTEST_CHECK_POSIX_SUCCESS_( - pthread_key_create(&key, &DeleteThreadLocalValue)); - return key; - } - - T* GetOrCreateValue() const { - ThreadLocalValueHolderBase* const holder = - static_cast(pthread_getspecific(key_)); - if (holder != nullptr) { - return CheckedDowncastToActualType(holder)->pointer(); - } - - ValueHolder* const new_holder = default_factory_->MakeNewHolder(); - ThreadLocalValueHolderBase* const holder_base = new_holder; - GTEST_CHECK_POSIX_SUCCESS_(pthread_setspecific(key_, holder_base)); - return new_holder->pointer(); - } - - class ValueHolderFactory { - public: - ValueHolderFactory() {} - virtual ~ValueHolderFactory() {} - virtual ValueHolder* MakeNewHolder() const = 0; - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(ValueHolderFactory); - }; - - class DefaultValueHolderFactory : public ValueHolderFactory { - public: - DefaultValueHolderFactory() {} - virtual ValueHolder* MakeNewHolder() const { return new ValueHolder(); } - - private: - GTEST_DISALLOW_COPY_AND_ASSIGN_(DefaultValueHolderFactory); - }; - - class InstanceValueHolderFactory : public ValueHolderFactory { - public: - explicit InstanceValueHolderFactory(const T& value) : value_(value) {} - virtual ValueHolder* MakeNewHolder() const { - return new ValueHolder(value_); - } - - private: - const T value_; // The value for each thread. - - GTEST_DISALLOW_COPY_AND_ASSIGN_(InstanceValueHolderFactory); - }; - - // A key pthreads uses for looking up per-thread values. - const pthread_key_t key_; - std::unique_ptr default_factory_; - - GTEST_DISALLOW_COPY_AND_ASSIGN_(ThreadLocal); -}; - -# endif // GTEST_HAS_MUTEX_AND_THREAD_LOCAL_ - -#else // GTEST_IS_THREADSAFE - -// A dummy implementation of synchronization primitives (mutex, lock, -// and thread-local variable). Necessary for compiling Google Test where -// mutex is not supported - using Google Test in multiple threads is not -// supported on such platforms. - -class Mutex { - public: - Mutex() {} - void Lock() {} - void Unlock() {} - void AssertHeld() const {} -}; - -# define GTEST_DECLARE_STATIC_MUTEX_(mutex) \ - extern ::testing::internal::Mutex mutex - -# define GTEST_DEFINE_STATIC_MUTEX_(mutex) ::testing::internal::Mutex mutex - -// We cannot name this class MutexLock because the ctor declaration would -// conflict with a macro named MutexLock, which is defined on some -// platforms. That macro is used as a defensive measure to prevent against -// inadvertent misuses of MutexLock like "MutexLock(&mu)" rather than -// "MutexLock l(&mu)". Hence the typedef trick below. -class GTestMutexLock { - public: - explicit GTestMutexLock(Mutex*) {} // NOLINT -}; - -typedef GTestMutexLock MutexLock; - -template -class GTEST_API_ ThreadLocal { - public: - ThreadLocal() : value_() {} - explicit ThreadLocal(const T& value) : value_(value) {} - T* pointer() { return &value_; } - const T* pointer() const { return &value_; } - const T& get() const { return value_; } - void set(const T& value) { value_ = value; } - private: - T value_; -}; - -#endif // GTEST_IS_THREADSAFE - -// Returns the number of threads running in the process, or 0 to indicate that -// we cannot detect it. -GTEST_API_ size_t GetThreadCount(); - -template -using bool_constant = std::integral_constant; - -#if GTEST_OS_WINDOWS -# define GTEST_PATH_SEP_ "\\" -# define GTEST_HAS_ALT_PATH_SEP_ 1 -// The biggest signed integer type the compiler supports. -typedef __int64 BiggestInt; -#else -# define GTEST_PATH_SEP_ "/" -# define GTEST_HAS_ALT_PATH_SEP_ 0 -typedef long long BiggestInt; // NOLINT -#endif // GTEST_OS_WINDOWS - -// Utilities for char. - -// isspace(int ch) and friends accept an unsigned char or EOF. char -// may be signed, depending on the compiler (or compiler flags). -// Therefore we need to cast a char to unsigned char before calling -// isspace(), etc. - -inline bool IsAlpha(char ch) { - return isalpha(static_cast(ch)) != 0; -} -inline bool IsAlNum(char ch) { - return isalnum(static_cast(ch)) != 0; -} -inline bool IsDigit(char ch) { - return isdigit(static_cast(ch)) != 0; -} -inline bool IsLower(char ch) { - return islower(static_cast(ch)) != 0; -} -inline bool IsSpace(char ch) { - return isspace(static_cast(ch)) != 0; -} -inline bool IsUpper(char ch) { - return isupper(static_cast(ch)) != 0; -} -inline bool IsXDigit(char ch) { - return isxdigit(static_cast(ch)) != 0; -} -inline bool IsXDigit(wchar_t ch) { - const unsigned char low_byte = static_cast(ch); - return ch == low_byte && isxdigit(low_byte) != 0; -} - -inline char ToLower(char ch) { - return static_cast(tolower(static_cast(ch))); -} -inline char ToUpper(char ch) { - return static_cast(toupper(static_cast(ch))); -} - -inline std::string StripTrailingSpaces(std::string str) { - std::string::iterator it = str.end(); - while (it != str.begin() && IsSpace(*--it)) - it = str.erase(it); - return str; -} - -// The testing::internal::posix namespace holds wrappers for common -// POSIX functions. These wrappers hide the differences between -// Windows/MSVC and POSIX systems. Since some compilers define these -// standard functions as macros, the wrapper cannot have the same name -// as the wrapped function. - -namespace posix { - -// Functions with a different name on Windows. - -#if GTEST_OS_WINDOWS - -typedef struct _stat StatStruct; - -# ifdef __BORLANDC__ -inline int IsATTY(int fd) { return isatty(fd); } -inline int StrCaseCmp(const char* s1, const char* s2) { - return stricmp(s1, s2); -} -inline char* StrDup(const char* src) { return strdup(src); } -# else // !__BORLANDC__ -# if GTEST_OS_WINDOWS_MOBILE -inline int IsATTY(int /* fd */) { return 0; } -# else -inline int IsATTY(int fd) { return _isatty(fd); } -# endif // GTEST_OS_WINDOWS_MOBILE -inline int StrCaseCmp(const char* s1, const char* s2) { - return _stricmp(s1, s2); -} -inline char* StrDup(const char* src) { return _strdup(src); } -# endif // __BORLANDC__ - -# if GTEST_OS_WINDOWS_MOBILE -inline int FileNo(FILE* file) { return reinterpret_cast(_fileno(file)); } -// Stat(), RmDir(), and IsDir() are not needed on Windows CE at this -// time and thus not defined there. -# else -inline int FileNo(FILE* file) { return _fileno(file); } -inline int Stat(const char* path, StatStruct* buf) { return _stat(path, buf); } -inline int RmDir(const char* dir) { return _rmdir(dir); } -inline bool IsDir(const StatStruct& st) { - return (_S_IFDIR & st.st_mode) != 0; -} -# endif // GTEST_OS_WINDOWS_MOBILE - -#else - -typedef struct stat StatStruct; - -inline int FileNo(FILE* file) { return fileno(file); } -inline int IsATTY(int fd) { return isatty(fd); } -inline int Stat(const char* path, StatStruct* buf) { return stat(path, buf); } -inline int StrCaseCmp(const char* s1, const char* s2) { - return strcasecmp(s1, s2); -} -inline char* StrDup(const char* src) { return strdup(src); } -inline int RmDir(const char* dir) { return rmdir(dir); } -inline bool IsDir(const StatStruct& st) { return S_ISDIR(st.st_mode); } - -#endif // GTEST_OS_WINDOWS - -// Functions deprecated by MSVC 8.0. - -GTEST_DISABLE_MSC_DEPRECATED_PUSH_() - -inline const char* StrNCpy(char* dest, const char* src, size_t n) { - return strncpy(dest, src, n); -} - -// ChDir(), FReopen(), FDOpen(), Read(), Write(), Close(), and -// StrError() aren't needed on Windows CE at this time and thus not -// defined there. - -#if !GTEST_OS_WINDOWS_MOBILE && !GTEST_OS_WINDOWS_PHONE && !GTEST_OS_WINDOWS_RT -inline int ChDir(const char* dir) { return chdir(dir); } -#endif -inline FILE* FOpen(const char* path, const char* mode) { - return fopen(path, mode); -} -#if !GTEST_OS_WINDOWS_MOBILE -inline FILE *FReopen(const char* path, const char* mode, FILE* stream) { - return freopen(path, mode, stream); -} -inline FILE* FDOpen(int fd, const char* mode) { return fdopen(fd, mode); } -#endif -inline int FClose(FILE* fp) { return fclose(fp); } -#if !GTEST_OS_WINDOWS_MOBILE -inline int Read(int fd, void* buf, unsigned int count) { - return static_cast(read(fd, buf, count)); -} -inline int Write(int fd, const void* buf, unsigned int count) { - return static_cast(write(fd, buf, count)); -} -inline int Close(int fd) { return close(fd); } -inline const char* StrError(int errnum) { return strerror(errnum); } -#endif -inline const char* GetEnv(const char* name) { -#if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_WINDOWS_PHONE || GTEST_OS_WINDOWS_RT - // We are on Windows CE, which has no environment variables. - static_cast(name); // To prevent 'unused argument' warning. - return nullptr; -#elif defined(__BORLANDC__) || defined(__SunOS_5_8) || defined(__SunOS_5_9) - // Environment variables which we programmatically clear will be set to the - // empty string rather than unset (NULL). Handle that case. - const char* const env = getenv(name); - return (env != nullptr && env[0] != '\0') ? env : nullptr; -#else - return getenv(name); -#endif -} - -GTEST_DISABLE_MSC_DEPRECATED_POP_() - -#if GTEST_OS_WINDOWS_MOBILE -// Windows CE has no C library. The abort() function is used in -// several places in Google Test. This implementation provides a reasonable -// imitation of standard behaviour. -[[noreturn]] void Abort(); -#else -[[noreturn]] inline void Abort() { abort(); } -#endif // GTEST_OS_WINDOWS_MOBILE - -} // namespace posix - -// MSVC "deprecates" snprintf and issues warnings wherever it is used. In -// order to avoid these warnings, we need to use _snprintf or _snprintf_s on -// MSVC-based platforms. We map the GTEST_SNPRINTF_ macro to the appropriate -// function in order to achieve that. We use macro definition here because -// snprintf is a variadic function. -#if _MSC_VER && !GTEST_OS_WINDOWS_MOBILE -// MSVC 2005 and above support variadic macros. -# define GTEST_SNPRINTF_(buffer, size, format, ...) \ - _snprintf_s(buffer, size, size, format, __VA_ARGS__) -#elif defined(_MSC_VER) -// Windows CE does not define _snprintf_s -# define GTEST_SNPRINTF_ _snprintf -#else -# define GTEST_SNPRINTF_ snprintf -#endif - -// The maximum number a BiggestInt can represent. This definition -// works no matter BiggestInt is represented in one's complement or -// two's complement. -// -// We cannot rely on numeric_limits in STL, as __int64 and long long -// are not part of standard C++ and numeric_limits doesn't need to be -// defined for them. -const BiggestInt kMaxBiggestInt = - ~(static_cast(1) << (8*sizeof(BiggestInt) - 1)); - -// This template class serves as a compile-time function from size to -// type. It maps a size in bytes to a primitive type with that -// size. e.g. -// -// TypeWithSize<4>::UInt -// -// is typedef-ed to be unsigned int (unsigned integer made up of 4 -// bytes). -// -// Such functionality should belong to STL, but I cannot find it -// there. -// -// Google Test uses this class in the implementation of floating-point -// comparison. -// -// For now it only handles UInt (unsigned int) as that's all Google Test -// needs. Other types can be easily added in the future if need -// arises. -template -class TypeWithSize { - public: - // This prevents the user from using TypeWithSize with incorrect - // values of N. - typedef void UInt; -}; - -// The specialization for size 4. -template <> -class TypeWithSize<4> { - public: - // unsigned int has size 4 in both gcc and MSVC. - // - // As base/basictypes.h doesn't compile on Windows, we cannot use - // uint32, uint64, and etc here. - typedef int Int; - typedef unsigned int UInt; -}; - -// The specialization for size 8. -template <> -class TypeWithSize<8> { - public: -#if GTEST_OS_WINDOWS - typedef __int64 Int; - typedef unsigned __int64 UInt; -#else - typedef long long Int; // NOLINT - typedef unsigned long long UInt; // NOLINT -#endif // GTEST_OS_WINDOWS -}; - -// Integer types of known sizes. -typedef TypeWithSize<4>::Int Int32; -typedef TypeWithSize<4>::UInt UInt32; -typedef TypeWithSize<8>::Int Int64; -typedef TypeWithSize<8>::UInt UInt64; -typedef TypeWithSize<8>::Int TimeInMillis; // Represents time in milliseconds. - -// Utilities for command line flags and environment variables. - -// Macro for referencing flags. -#if !defined(GTEST_FLAG) -# define GTEST_FLAG(name) FLAGS_gtest_##name -#endif // !defined(GTEST_FLAG) - -#if !defined(GTEST_USE_OWN_FLAGFILE_FLAG_) -# define GTEST_USE_OWN_FLAGFILE_FLAG_ 1 -#endif // !defined(GTEST_USE_OWN_FLAGFILE_FLAG_) - -#if !defined(GTEST_DECLARE_bool_) -# define GTEST_FLAG_SAVER_ ::testing::internal::GTestFlagSaver - -// Macros for declaring flags. -# define GTEST_DECLARE_bool_(name) GTEST_API_ extern bool GTEST_FLAG(name) -# define GTEST_DECLARE_int32_(name) \ - GTEST_API_ extern ::testing::internal::Int32 GTEST_FLAG(name) -# define GTEST_DECLARE_string_(name) \ - GTEST_API_ extern ::std::string GTEST_FLAG(name) - -// Macros for defining flags. -# define GTEST_DEFINE_bool_(name, default_val, doc) \ - GTEST_API_ bool GTEST_FLAG(name) = (default_val) -# define GTEST_DEFINE_int32_(name, default_val, doc) \ - GTEST_API_ ::testing::internal::Int32 GTEST_FLAG(name) = (default_val) -# define GTEST_DEFINE_string_(name, default_val, doc) \ - GTEST_API_ ::std::string GTEST_FLAG(name) = (default_val) - -#endif // !defined(GTEST_DECLARE_bool_) - -// Thread annotations -#if !defined(GTEST_EXCLUSIVE_LOCK_REQUIRED_) -# define GTEST_EXCLUSIVE_LOCK_REQUIRED_(locks) -# define GTEST_LOCK_EXCLUDED_(locks) -#endif // !defined(GTEST_EXCLUSIVE_LOCK_REQUIRED_) - -// Parses 'str' for a 32-bit signed integer. If successful, writes the result -// to *value and returns true; otherwise leaves *value unchanged and returns -// false. -bool ParseInt32(const Message& src_text, const char* str, Int32* value); - -// Parses a bool/Int32/string from the environment variable -// corresponding to the given Google Test flag. -bool BoolFromGTestEnv(const char* flag, bool default_val); -GTEST_API_ Int32 Int32FromGTestEnv(const char* flag, Int32 default_val); -std::string OutputFlagAlsoCheckEnvVar(); -const char* StringFromGTestEnv(const char* flag, const char* default_val); - -} // namespace internal -} // namespace testing - -#if !defined(GTEST_INTERNAL_DEPRECATED) - -// Internal Macro to mark an API deprecated, for googletest usage only -// Usage: class GTEST_INTERNAL_DEPRECATED(message) MyClass or -// GTEST_INTERNAL_DEPRECATED(message) myFunction(); Every usage of -// a deprecated entity will trigger a warning when compiled with -// `-Wdeprecated-declarations` option (clang, gcc, any __GNUC__ compiler). -// For msvc /W3 option will need to be used -// Note that for 'other' compilers this macro evaluates to nothing to prevent -// compilations errors. -#if defined(_MSC_VER) -#define GTEST_INTERNAL_DEPRECATED(message) __declspec(deprecated(message)) -#elif defined(__GNUC__) -#define GTEST_INTERNAL_DEPRECATED(message) __attribute__((deprecated(message))) -#else -#define GTEST_INTERNAL_DEPRECATED(message) -#endif - -#endif // !defined(GTEST_INTERNAL_DEPRECATED) - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PORT_H_ diff --git a/include/gtest/internal/gtest-string.h b/include/gtest/internal/gtest-string.h deleted file mode 100644 index 82aaa63..0000000 --- a/include/gtest/internal/gtest-string.h +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright 2005, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// The Google C++ Testing and Mocking Framework (Google Test) -// -// This header file declares the String class and functions used internally by -// Google Test. They are subject to change without notice. They should not used -// by code external to Google Test. -// -// This header file is #included by gtest-internal.h. -// It should not be #included by other files. - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_ - -#ifdef __BORLANDC__ -// string.h is not guaranteed to provide strcpy on C++ Builder. -# include -#endif - -#include -#include - -#include "gtest/internal/gtest-port.h" - -namespace testing { -namespace internal { - -// String - an abstract class holding static string utilities. -class GTEST_API_ String { - public: - // Static utility methods - - // Clones a 0-terminated C string, allocating memory using new. The - // caller is responsible for deleting the return value using - // delete[]. Returns the cloned string, or NULL if the input is - // NULL. - // - // This is different from strdup() in string.h, which allocates - // memory using malloc(). - static const char* CloneCString(const char* c_str); - -#if GTEST_OS_WINDOWS_MOBILE - // Windows CE does not have the 'ANSI' versions of Win32 APIs. To be - // able to pass strings to Win32 APIs on CE we need to convert them - // to 'Unicode', UTF-16. - - // Creates a UTF-16 wide string from the given ANSI string, allocating - // memory using new. The caller is responsible for deleting the return - // value using delete[]. Returns the wide string, or NULL if the - // input is NULL. - // - // The wide string is created using the ANSI codepage (CP_ACP) to - // match the behaviour of the ANSI versions of Win32 calls and the - // C runtime. - static LPCWSTR AnsiToUtf16(const char* c_str); - - // Creates an ANSI string from the given wide string, allocating - // memory using new. The caller is responsible for deleting the return - // value using delete[]. Returns the ANSI string, or NULL if the - // input is NULL. - // - // The returned string is created using the ANSI codepage (CP_ACP) to - // match the behaviour of the ANSI versions of Win32 calls and the - // C runtime. - static const char* Utf16ToAnsi(LPCWSTR utf16_str); -#endif - - // Compares two C strings. Returns true if and only if they have the same - // content. - // - // Unlike strcmp(), this function can handle NULL argument(s). A - // NULL C string is considered different to any non-NULL C string, - // including the empty string. - static bool CStringEquals(const char* lhs, const char* rhs); - - // Converts a wide C string to a String using the UTF-8 encoding. - // NULL will be converted to "(null)". If an error occurred during - // the conversion, "(failed to convert from wide string)" is - // returned. - static std::string ShowWideCString(const wchar_t* wide_c_str); - - // Compares two wide C strings. Returns true if and only if they have the - // same content. - // - // Unlike wcscmp(), this function can handle NULL argument(s). A - // NULL C string is considered different to any non-NULL C string, - // including the empty string. - static bool WideCStringEquals(const wchar_t* lhs, const wchar_t* rhs); - - // Compares two C strings, ignoring case. Returns true if and only if - // they have the same content. - // - // Unlike strcasecmp(), this function can handle NULL argument(s). - // A NULL C string is considered different to any non-NULL C string, - // including the empty string. - static bool CaseInsensitiveCStringEquals(const char* lhs, - const char* rhs); - - // Compares two wide C strings, ignoring case. Returns true if and only if - // they have the same content. - // - // Unlike wcscasecmp(), this function can handle NULL argument(s). - // A NULL C string is considered different to any non-NULL wide C string, - // including the empty string. - // NB: The implementations on different platforms slightly differ. - // On windows, this method uses _wcsicmp which compares according to LC_CTYPE - // environment variable. On GNU platform this method uses wcscasecmp - // which compares according to LC_CTYPE category of the current locale. - // On MacOS X, it uses towlower, which also uses LC_CTYPE category of the - // current locale. - static bool CaseInsensitiveWideCStringEquals(const wchar_t* lhs, - const wchar_t* rhs); - - // Returns true if and only if the given string ends with the given suffix, - // ignoring case. Any string is considered to end with an empty suffix. - static bool EndsWithCaseInsensitive( - const std::string& str, const std::string& suffix); - - // Formats an int value as "%02d". - static std::string FormatIntWidth2(int value); // "%02d" for width == 2 - - // Formats an int value as "%X". - static std::string FormatHexInt(int value); - - // Formats an int value as "%X". - static std::string FormatHexUInt32(UInt32 value); - - // Formats a byte as "%02X". - static std::string FormatByte(unsigned char value); - - private: - String(); // Not meant to be instantiated. -}; // class String - -// Gets the content of the stringstream's buffer as an std::string. Each '\0' -// character in the buffer is replaced with "\\0". -GTEST_API_ std::string StringStreamToString(::std::stringstream* stream); - -} // namespace internal -} // namespace testing - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_ diff --git a/include/gtest/internal/gtest-type-util.h b/include/gtest/internal/gtest-type-util.h deleted file mode 100644 index 3d7542d..0000000 --- a/include/gtest/internal/gtest-type-util.h +++ /dev/null @@ -1,3335 +0,0 @@ -// This file was GENERATED by command: -// pump.py gtest-type-util.h.pump -// DO NOT EDIT BY HAND!!! - -// Copyright 2008 Google Inc. -// All Rights Reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Type utilities needed for implementing typed and type-parameterized -// tests. This file is generated by a SCRIPT. DO NOT EDIT BY HAND! -// -// Currently we support at most 50 types in a list, and at most 50 -// type-parameterized tests in one type-parameterized test suite. -// Please contact googletestframework@googlegroups.com if you need -// more. - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ - -#include "gtest/internal/gtest-port.h" - -// #ifdef __GNUC__ is too general here. It is possible to use gcc without using -// libstdc++ (which is where cxxabi.h comes from). -# if GTEST_HAS_CXXABI_H_ -# include -# elif defined(__HP_aCC) -# include -# endif // GTEST_HASH_CXXABI_H_ - -namespace testing { -namespace internal { - -// Canonicalizes a given name with respect to the Standard C++ Library. -// This handles removing the inline namespace within `std` that is -// used by various standard libraries (e.g., `std::__1`). Names outside -// of namespace std are returned unmodified. -inline std::string CanonicalizeForStdLibVersioning(std::string s) { - static const char prefix[] = "std::__"; - if (s.compare(0, strlen(prefix), prefix) == 0) { - std::string::size_type end = s.find("::", strlen(prefix)); - if (end != s.npos) { - // Erase everything between the initial `std` and the second `::`. - s.erase(strlen("std"), end - strlen("std")); - } - } - return s; -} - -// GetTypeName() returns a human-readable name of type T. -// NB: This function is also used in Google Mock, so don't move it inside of -// the typed-test-only section below. -template -std::string GetTypeName() { -# if GTEST_HAS_RTTI - - const char* const name = typeid(T).name(); -# if GTEST_HAS_CXXABI_H_ || defined(__HP_aCC) - int status = 0; - // gcc's implementation of typeid(T).name() mangles the type name, - // so we have to demangle it. -# if GTEST_HAS_CXXABI_H_ - using abi::__cxa_demangle; -# endif // GTEST_HAS_CXXABI_H_ - char* const readable_name = __cxa_demangle(name, nullptr, nullptr, &status); - const std::string name_str(status == 0 ? readable_name : name); - free(readable_name); - return CanonicalizeForStdLibVersioning(name_str); -# else - return name; -# endif // GTEST_HAS_CXXABI_H_ || __HP_aCC - -# else - - return ""; - -# endif // GTEST_HAS_RTTI -} - -#if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P - -// A unique type used as the default value for the arguments of class -// template Types. This allows us to simulate variadic templates -// (e.g. Types, Type, and etc), which C++ doesn't -// support directly. -struct None {}; - -// The following family of struct and struct templates are used to -// represent type lists. In particular, TypesN -// represents a type list with N types (T1, T2, ..., and TN) in it. -// Except for Types0, every struct in the family has two member types: -// Head for the first type in the list, and Tail for the rest of the -// list. - -// The empty type list. -struct Types0 {}; - -// Type lists of length 1, 2, 3, and so on. - -template -struct Types1 { - typedef T1 Head; - typedef Types0 Tail; -}; -template -struct Types2 { - typedef T1 Head; - typedef Types1 Tail; -}; - -template -struct Types3 { - typedef T1 Head; - typedef Types2 Tail; -}; - -template -struct Types4 { - typedef T1 Head; - typedef Types3 Tail; -}; - -template -struct Types5 { - typedef T1 Head; - typedef Types4 Tail; -}; - -template -struct Types6 { - typedef T1 Head; - typedef Types5 Tail; -}; - -template -struct Types7 { - typedef T1 Head; - typedef Types6 Tail; -}; - -template -struct Types8 { - typedef T1 Head; - typedef Types7 Tail; -}; - -template -struct Types9 { - typedef T1 Head; - typedef Types8 Tail; -}; - -template -struct Types10 { - typedef T1 Head; - typedef Types9 Tail; -}; - -template -struct Types11 { - typedef T1 Head; - typedef Types10 Tail; -}; - -template -struct Types12 { - typedef T1 Head; - typedef Types11 Tail; -}; - -template -struct Types13 { - typedef T1 Head; - typedef Types12 Tail; -}; - -template -struct Types14 { - typedef T1 Head; - typedef Types13 Tail; -}; - -template -struct Types15 { - typedef T1 Head; - typedef Types14 Tail; -}; - -template -struct Types16 { - typedef T1 Head; - typedef Types15 Tail; -}; - -template -struct Types17 { - typedef T1 Head; - typedef Types16 Tail; -}; - -template -struct Types18 { - typedef T1 Head; - typedef Types17 Tail; -}; - -template -struct Types19 { - typedef T1 Head; - typedef Types18 Tail; -}; - -template -struct Types20 { - typedef T1 Head; - typedef Types19 Tail; -}; - -template -struct Types21 { - typedef T1 Head; - typedef Types20 Tail; -}; - -template -struct Types22 { - typedef T1 Head; - typedef Types21 Tail; -}; - -template -struct Types23 { - typedef T1 Head; - typedef Types22 Tail; -}; - -template -struct Types24 { - typedef T1 Head; - typedef Types23 Tail; -}; - -template -struct Types25 { - typedef T1 Head; - typedef Types24 Tail; -}; - -template -struct Types26 { - typedef T1 Head; - typedef Types25 Tail; -}; - -template -struct Types27 { - typedef T1 Head; - typedef Types26 Tail; -}; - -template -struct Types28 { - typedef T1 Head; - typedef Types27 Tail; -}; - -template -struct Types29 { - typedef T1 Head; - typedef Types28 Tail; -}; - -template -struct Types30 { - typedef T1 Head; - typedef Types29 Tail; -}; - -template -struct Types31 { - typedef T1 Head; - typedef Types30 Tail; -}; - -template -struct Types32 { - typedef T1 Head; - typedef Types31 Tail; -}; - -template -struct Types33 { - typedef T1 Head; - typedef Types32 Tail; -}; - -template -struct Types34 { - typedef T1 Head; - typedef Types33 Tail; -}; - -template -struct Types35 { - typedef T1 Head; - typedef Types34 Tail; -}; - -template -struct Types36 { - typedef T1 Head; - typedef Types35 Tail; -}; - -template -struct Types37 { - typedef T1 Head; - typedef Types36 Tail; -}; - -template -struct Types38 { - typedef T1 Head; - typedef Types37 Tail; -}; - -template -struct Types39 { - typedef T1 Head; - typedef Types38 Tail; -}; - -template -struct Types40 { - typedef T1 Head; - typedef Types39 Tail; -}; - -template -struct Types41 { - typedef T1 Head; - typedef Types40 Tail; -}; - -template -struct Types42 { - typedef T1 Head; - typedef Types41 Tail; -}; - -template -struct Types43 { - typedef T1 Head; - typedef Types42 Tail; -}; - -template -struct Types44 { - typedef T1 Head; - typedef Types43 Tail; -}; - -template -struct Types45 { - typedef T1 Head; - typedef Types44 Tail; -}; - -template -struct Types46 { - typedef T1 Head; - typedef Types45 Tail; -}; - -template -struct Types47 { - typedef T1 Head; - typedef Types46 Tail; -}; - -template -struct Types48 { - typedef T1 Head; - typedef Types47 Tail; -}; - -template -struct Types49 { - typedef T1 Head; - typedef Types48 Tail; -}; - -template -struct Types50 { - typedef T1 Head; - typedef Types49 Tail; -}; - - -} // namespace internal - -// We don't want to require the users to write TypesN<...> directly, -// as that would require them to count the length. Types<...> is much -// easier to write, but generates horrible messages when there is a -// compiler error, as gcc insists on printing out each template -// argument, even if it has the default value (this means Types -// will appear as Types in the compiler -// errors). -// -// Our solution is to combine the best part of the two approaches: a -// user would write Types, and Google Test will translate -// that to TypesN internally to make error messages -// readable. The translation is done by the 'type' member of the -// Types template. -template -struct Types { - typedef internal::Types50 type; -}; - -template <> -struct Types { - typedef internal::Types0 type; -}; -template -struct Types { - typedef internal::Types1 type; -}; -template -struct Types { - typedef internal::Types2 type; -}; -template -struct Types { - typedef internal::Types3 type; -}; -template -struct Types { - typedef internal::Types4 type; -}; -template -struct Types { - typedef internal::Types5 type; -}; -template -struct Types { - typedef internal::Types6 type; -}; -template -struct Types { - typedef internal::Types7 type; -}; -template -struct Types { - typedef internal::Types8 type; -}; -template -struct Types { - typedef internal::Types9 type; -}; -template -struct Types { - typedef internal::Types10 type; -}; -template -struct Types { - typedef internal::Types11 type; -}; -template -struct Types { - typedef internal::Types12 type; -}; -template -struct Types { - typedef internal::Types13 type; -}; -template -struct Types { - typedef internal::Types14 type; -}; -template -struct Types { - typedef internal::Types15 type; -}; -template -struct Types { - typedef internal::Types16 type; -}; -template -struct Types { - typedef internal::Types17 type; -}; -template -struct Types { - typedef internal::Types18 type; -}; -template -struct Types { - typedef internal::Types19 type; -}; -template -struct Types { - typedef internal::Types20 type; -}; -template -struct Types { - typedef internal::Types21 type; -}; -template -struct Types { - typedef internal::Types22 type; -}; -template -struct Types { - typedef internal::Types23 type; -}; -template -struct Types { - typedef internal::Types24 type; -}; -template -struct Types { - typedef internal::Types25 type; -}; -template -struct Types { - typedef internal::Types26 type; -}; -template -struct Types { - typedef internal::Types27 type; -}; -template -struct Types { - typedef internal::Types28 type; -}; -template -struct Types { - typedef internal::Types29 type; -}; -template -struct Types { - typedef internal::Types30 type; -}; -template -struct Types { - typedef internal::Types31 type; -}; -template -struct Types { - typedef internal::Types32 type; -}; -template -struct Types { - typedef internal::Types33 type; -}; -template -struct Types { - typedef internal::Types34 type; -}; -template -struct Types { - typedef internal::Types35 type; -}; -template -struct Types { - typedef internal::Types36 type; -}; -template -struct Types { - typedef internal::Types37 type; -}; -template -struct Types { - typedef internal::Types38 type; -}; -template -struct Types { - typedef internal::Types39 type; -}; -template -struct Types { - typedef internal::Types40 type; -}; -template -struct Types { - typedef internal::Types41 type; -}; -template -struct Types { - typedef internal::Types42 type; -}; -template -struct Types { - typedef internal::Types43 type; -}; -template -struct Types { - typedef internal::Types44 type; -}; -template -struct Types { - typedef internal::Types45 type; -}; -template -struct Types { - typedef internal::Types46 type; -}; -template -struct Types { - typedef internal::Types47 type; -}; -template -struct Types { - typedef internal::Types48 type; -}; -template -struct Types { - typedef internal::Types49 type; -}; - -namespace internal { - -# define GTEST_TEMPLATE_ template class - -// The template "selector" struct TemplateSel is used to -// represent Tmpl, which must be a class template with one type -// parameter, as a type. TemplateSel::Bind::type is defined -// as the type Tmpl. This allows us to actually instantiate the -// template "selected" by TemplateSel. -// -// This trick is necessary for simulating typedef for class templates, -// which C++ doesn't support directly. -template -struct TemplateSel { - template - struct Bind { - typedef Tmpl type; - }; -}; - -# define GTEST_BIND_(TmplSel, T) \ - TmplSel::template Bind::type - -// A unique struct template used as the default value for the -// arguments of class template Templates. This allows us to simulate -// variadic templates (e.g. Templates, Templates, -// and etc), which C++ doesn't support directly. -template -struct NoneT {}; - -// The following family of struct and struct templates are used to -// represent template lists. In particular, TemplatesN represents a list of N templates (T1, T2, ..., and TN). Except -// for Templates0, every struct in the family has two member types: -// Head for the selector of the first template in the list, and Tail -// for the rest of the list. - -// The empty template list. -struct Templates0 {}; - -// Template lists of length 1, 2, 3, and so on. - -template -struct Templates1 { - typedef TemplateSel Head; - typedef Templates0 Tail; -}; -template -struct Templates2 { - typedef TemplateSel Head; - typedef Templates1 Tail; -}; - -template -struct Templates3 { - typedef TemplateSel Head; - typedef Templates2 Tail; -}; - -template -struct Templates4 { - typedef TemplateSel Head; - typedef Templates3 Tail; -}; - -template -struct Templates5 { - typedef TemplateSel Head; - typedef Templates4 Tail; -}; - -template -struct Templates6 { - typedef TemplateSel Head; - typedef Templates5 Tail; -}; - -template -struct Templates7 { - typedef TemplateSel Head; - typedef Templates6 Tail; -}; - -template -struct Templates8 { - typedef TemplateSel Head; - typedef Templates7 Tail; -}; - -template -struct Templates9 { - typedef TemplateSel Head; - typedef Templates8 Tail; -}; - -template -struct Templates10 { - typedef TemplateSel Head; - typedef Templates9 Tail; -}; - -template -struct Templates11 { - typedef TemplateSel Head; - typedef Templates10 Tail; -}; - -template -struct Templates12 { - typedef TemplateSel Head; - typedef Templates11 Tail; -}; - -template -struct Templates13 { - typedef TemplateSel Head; - typedef Templates12 Tail; -}; - -template -struct Templates14 { - typedef TemplateSel Head; - typedef Templates13 Tail; -}; - -template -struct Templates15 { - typedef TemplateSel Head; - typedef Templates14 Tail; -}; - -template -struct Templates16 { - typedef TemplateSel Head; - typedef Templates15 Tail; -}; - -template -struct Templates17 { - typedef TemplateSel Head; - typedef Templates16 Tail; -}; - -template -struct Templates18 { - typedef TemplateSel Head; - typedef Templates17 Tail; -}; - -template -struct Templates19 { - typedef TemplateSel Head; - typedef Templates18 Tail; -}; - -template -struct Templates20 { - typedef TemplateSel Head; - typedef Templates19 Tail; -}; - -template -struct Templates21 { - typedef TemplateSel Head; - typedef Templates20 Tail; -}; - -template -struct Templates22 { - typedef TemplateSel Head; - typedef Templates21 Tail; -}; - -template -struct Templates23 { - typedef TemplateSel Head; - typedef Templates22 Tail; -}; - -template -struct Templates24 { - typedef TemplateSel Head; - typedef Templates23 Tail; -}; - -template -struct Templates25 { - typedef TemplateSel Head; - typedef Templates24 Tail; -}; - -template -struct Templates26 { - typedef TemplateSel Head; - typedef Templates25 Tail; -}; - -template -struct Templates27 { - typedef TemplateSel Head; - typedef Templates26 Tail; -}; - -template -struct Templates28 { - typedef TemplateSel Head; - typedef Templates27 Tail; -}; - -template -struct Templates29 { - typedef TemplateSel Head; - typedef Templates28 Tail; -}; - -template -struct Templates30 { - typedef TemplateSel Head; - typedef Templates29 Tail; -}; - -template -struct Templates31 { - typedef TemplateSel Head; - typedef Templates30 Tail; -}; - -template -struct Templates32 { - typedef TemplateSel Head; - typedef Templates31 Tail; -}; - -template -struct Templates33 { - typedef TemplateSel Head; - typedef Templates32 Tail; -}; - -template -struct Templates34 { - typedef TemplateSel Head; - typedef Templates33 Tail; -}; - -template -struct Templates35 { - typedef TemplateSel Head; - typedef Templates34 Tail; -}; - -template -struct Templates36 { - typedef TemplateSel Head; - typedef Templates35 Tail; -}; - -template -struct Templates37 { - typedef TemplateSel Head; - typedef Templates36 Tail; -}; - -template -struct Templates38 { - typedef TemplateSel Head; - typedef Templates37 Tail; -}; - -template -struct Templates39 { - typedef TemplateSel Head; - typedef Templates38 Tail; -}; - -template -struct Templates40 { - typedef TemplateSel Head; - typedef Templates39 Tail; -}; - -template -struct Templates41 { - typedef TemplateSel Head; - typedef Templates40 Tail; -}; - -template -struct Templates42 { - typedef TemplateSel Head; - typedef Templates41 Tail; -}; - -template -struct Templates43 { - typedef TemplateSel Head; - typedef Templates42 Tail; -}; - -template -struct Templates44 { - typedef TemplateSel Head; - typedef Templates43 Tail; -}; - -template -struct Templates45 { - typedef TemplateSel Head; - typedef Templates44 Tail; -}; - -template -struct Templates46 { - typedef TemplateSel Head; - typedef Templates45 Tail; -}; - -template -struct Templates47 { - typedef TemplateSel Head; - typedef Templates46 Tail; -}; - -template -struct Templates48 { - typedef TemplateSel Head; - typedef Templates47 Tail; -}; - -template -struct Templates49 { - typedef TemplateSel Head; - typedef Templates48 Tail; -}; - -template -struct Templates50 { - typedef TemplateSel Head; - typedef Templates49 Tail; -}; - - -// We don't want to require the users to write TemplatesN<...> directly, -// as that would require them to count the length. Templates<...> is much -// easier to write, but generates horrible messages when there is a -// compiler error, as gcc insists on printing out each template -// argument, even if it has the default value (this means Templates -// will appear as Templates in the compiler -// errors). -// -// Our solution is to combine the best part of the two approaches: a -// user would write Templates, and Google Test will translate -// that to TemplatesN internally to make error messages -// readable. The translation is done by the 'type' member of the -// Templates template. -template -struct Templates { - typedef Templates50 type; -}; - -template <> -struct Templates { - typedef Templates0 type; -}; -template -struct Templates { - typedef Templates1 type; -}; -template -struct Templates { - typedef Templates2 type; -}; -template -struct Templates { - typedef Templates3 type; -}; -template -struct Templates { - typedef Templates4 type; -}; -template -struct Templates { - typedef Templates5 type; -}; -template -struct Templates { - typedef Templates6 type; -}; -template -struct Templates { - typedef Templates7 type; -}; -template -struct Templates { - typedef Templates8 type; -}; -template -struct Templates { - typedef Templates9 type; -}; -template -struct Templates { - typedef Templates10 type; -}; -template -struct Templates { - typedef Templates11 type; -}; -template -struct Templates { - typedef Templates12 type; -}; -template -struct Templates { - typedef Templates13 type; -}; -template -struct Templates { - typedef Templates14 type; -}; -template -struct Templates { - typedef Templates15 type; -}; -template -struct Templates { - typedef Templates16 type; -}; -template -struct Templates { - typedef Templates17 type; -}; -template -struct Templates { - typedef Templates18 type; -}; -template -struct Templates { - typedef Templates19 type; -}; -template -struct Templates { - typedef Templates20 type; -}; -template -struct Templates { - typedef Templates21 type; -}; -template -struct Templates { - typedef Templates22 type; -}; -template -struct Templates { - typedef Templates23 type; -}; -template -struct Templates { - typedef Templates24 type; -}; -template -struct Templates { - typedef Templates25 type; -}; -template -struct Templates { - typedef Templates26 type; -}; -template -struct Templates { - typedef Templates27 type; -}; -template -struct Templates { - typedef Templates28 type; -}; -template -struct Templates { - typedef Templates29 type; -}; -template -struct Templates { - typedef Templates30 type; -}; -template -struct Templates { - typedef Templates31 type; -}; -template -struct Templates { - typedef Templates32 type; -}; -template -struct Templates { - typedef Templates33 type; -}; -template -struct Templates { - typedef Templates34 type; -}; -template -struct Templates { - typedef Templates35 type; -}; -template -struct Templates { - typedef Templates36 type; -}; -template -struct Templates { - typedef Templates37 type; -}; -template -struct Templates { - typedef Templates38 type; -}; -template -struct Templates { - typedef Templates39 type; -}; -template -struct Templates { - typedef Templates40 type; -}; -template -struct Templates { - typedef Templates41 type; -}; -template -struct Templates { - typedef Templates42 type; -}; -template -struct Templates { - typedef Templates43 type; -}; -template -struct Templates { - typedef Templates44 type; -}; -template -struct Templates { - typedef Templates45 type; -}; -template -struct Templates { - typedef Templates46 type; -}; -template -struct Templates { - typedef Templates47 type; -}; -template -struct Templates { - typedef Templates48 type; -}; -template -struct Templates { - typedef Templates49 type; -}; - -// The TypeList template makes it possible to use either a single type -// or a Types<...> list in TYPED_TEST_SUITE() and -// INSTANTIATE_TYPED_TEST_SUITE_P(). - -template -struct TypeList { - typedef Types1 type; -}; - -template -struct TypeList > { - typedef typename Types::type type; -}; - -#endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P - -} // namespace internal -} // namespace testing - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ diff --git a/include/gtest/internal/gtest-type-util.h.pump b/include/gtest/internal/gtest-type-util.h.pump deleted file mode 100644 index 5e31b7b..0000000 --- a/include/gtest/internal/gtest-type-util.h.pump +++ /dev/null @@ -1,302 +0,0 @@ -$$ -*- mode: c++; -*- -$var n = 50 $$ Maximum length of type lists we want to support. -// Copyright 2008 Google Inc. -// All Rights Reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -// Type utilities needed for implementing typed and type-parameterized -// tests. This file is generated by a SCRIPT. DO NOT EDIT BY HAND! -// -// Currently we support at most $n types in a list, and at most $n -// type-parameterized tests in one type-parameterized test suite. -// Please contact googletestframework@googlegroups.com if you need -// more. - -// GOOGLETEST_CM0001 DO NOT DELETE - -#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ -#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ - -#include "gtest/internal/gtest-port.h" - -// #ifdef __GNUC__ is too general here. It is possible to use gcc without using -// libstdc++ (which is where cxxabi.h comes from). -# if GTEST_HAS_CXXABI_H_ -# include -# elif defined(__HP_aCC) -# include -# endif // GTEST_HASH_CXXABI_H_ - -namespace testing { -namespace internal { - -// Canonicalizes a given name with respect to the Standard C++ Library. -// This handles removing the inline namespace within `std` that is -// used by various standard libraries (e.g., `std::__1`). Names outside -// of namespace std are returned unmodified. -inline std::string CanonicalizeForStdLibVersioning(std::string s) { - static const char prefix[] = "std::__"; - if (s.compare(0, strlen(prefix), prefix) == 0) { - std::string::size_type end = s.find("::", strlen(prefix)); - if (end != s.npos) { - // Erase everything between the initial `std` and the second `::`. - s.erase(strlen("std"), end - strlen("std")); - } - } - return s; -} - -// GetTypeName() returns a human-readable name of type T. -// NB: This function is also used in Google Mock, so don't move it inside of -// the typed-test-only section below. -template -std::string GetTypeName() { -# if GTEST_HAS_RTTI - - const char* const name = typeid(T).name(); -# if GTEST_HAS_CXXABI_H_ || defined(__HP_aCC) - int status = 0; - // gcc's implementation of typeid(T).name() mangles the type name, - // so we have to demangle it. -# if GTEST_HAS_CXXABI_H_ - using abi::__cxa_demangle; -# endif // GTEST_HAS_CXXABI_H_ - char* const readable_name = __cxa_demangle(name, nullptr, nullptr, &status); - const std::string name_str(status == 0 ? readable_name : name); - free(readable_name); - return CanonicalizeForStdLibVersioning(name_str); -# else - return name; -# endif // GTEST_HAS_CXXABI_H_ || __HP_aCC - -# else - - return ""; - -# endif // GTEST_HAS_RTTI -} - -#if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P - -// A unique type used as the default value for the arguments of class -// template Types. This allows us to simulate variadic templates -// (e.g. Types, Type, and etc), which C++ doesn't -// support directly. -struct None {}; - -// The following family of struct and struct templates are used to -// represent type lists. In particular, TypesN -// represents a type list with N types (T1, T2, ..., and TN) in it. -// Except for Types0, every struct in the family has two member types: -// Head for the first type in the list, and Tail for the rest of the -// list. - -// The empty type list. -struct Types0 {}; - -// Type lists of length 1, 2, 3, and so on. - -template -struct Types1 { - typedef T1 Head; - typedef Types0 Tail; -}; - -$range i 2..n - -$for i [[ -$range j 1..i -$range k 2..i -template <$for j, [[typename T$j]]> -struct Types$i { - typedef T1 Head; - typedef Types$(i-1)<$for k, [[T$k]]> Tail; -}; - - -]] - -} // namespace internal - -// We don't want to require the users to write TypesN<...> directly, -// as that would require them to count the length. Types<...> is much -// easier to write, but generates horrible messages when there is a -// compiler error, as gcc insists on printing out each template -// argument, even if it has the default value (this means Types -// will appear as Types in the compiler -// errors). -// -// Our solution is to combine the best part of the two approaches: a -// user would write Types, and Google Test will translate -// that to TypesN internally to make error messages -// readable. The translation is done by the 'type' member of the -// Types template. - -$range i 1..n -template <$for i, [[typename T$i = internal::None]]> -struct Types { - typedef internal::Types$n<$for i, [[T$i]]> type; -}; - -template <> -struct Types<$for i, [[internal::None]]> { - typedef internal::Types0 type; -}; - -$range i 1..n-1 -$for i [[ -$range j 1..i -$range k i+1..n -template <$for j, [[typename T$j]]> -struct Types<$for j, [[T$j]]$for k[[, internal::None]]> { - typedef internal::Types$i<$for j, [[T$j]]> type; -}; - -]] - -namespace internal { - -# define GTEST_TEMPLATE_ template class - -// The template "selector" struct TemplateSel is used to -// represent Tmpl, which must be a class template with one type -// parameter, as a type. TemplateSel::Bind::type is defined -// as the type Tmpl. This allows us to actually instantiate the -// template "selected" by TemplateSel. -// -// This trick is necessary for simulating typedef for class templates, -// which C++ doesn't support directly. -template -struct TemplateSel { - template - struct Bind { - typedef Tmpl type; - }; -}; - -# define GTEST_BIND_(TmplSel, T) \ - TmplSel::template Bind::type - -// A unique struct template used as the default value for the -// arguments of class template Templates. This allows us to simulate -// variadic templates (e.g. Templates, Templates, -// and etc), which C++ doesn't support directly. -template -struct NoneT {}; - -// The following family of struct and struct templates are used to -// represent template lists. In particular, TemplatesN represents a list of N templates (T1, T2, ..., and TN). Except -// for Templates0, every struct in the family has two member types: -// Head for the selector of the first template in the list, and Tail -// for the rest of the list. - -// The empty template list. -struct Templates0 {}; - -// Template lists of length 1, 2, 3, and so on. - -template -struct Templates1 { - typedef TemplateSel Head; - typedef Templates0 Tail; -}; - -$range i 2..n - -$for i [[ -$range j 1..i -$range k 2..i -template <$for j, [[GTEST_TEMPLATE_ T$j]]> -struct Templates$i { - typedef TemplateSel Head; - typedef Templates$(i-1)<$for k, [[T$k]]> Tail; -}; - - -]] - -// We don't want to require the users to write TemplatesN<...> directly, -// as that would require them to count the length. Templates<...> is much -// easier to write, but generates horrible messages when there is a -// compiler error, as gcc insists on printing out each template -// argument, even if it has the default value (this means Templates -// will appear as Templates in the compiler -// errors). -// -// Our solution is to combine the best part of the two approaches: a -// user would write Templates, and Google Test will translate -// that to TemplatesN internally to make error messages -// readable. The translation is done by the 'type' member of the -// Templates template. - -$range i 1..n -template <$for i, [[GTEST_TEMPLATE_ T$i = NoneT]]> -struct Templates { - typedef Templates$n<$for i, [[T$i]]> type; -}; - -template <> -struct Templates<$for i, [[NoneT]]> { - typedef Templates0 type; -}; - -$range i 1..n-1 -$for i [[ -$range j 1..i -$range k i+1..n -template <$for j, [[GTEST_TEMPLATE_ T$j]]> -struct Templates<$for j, [[T$j]]$for k[[, NoneT]]> { - typedef Templates$i<$for j, [[T$j]]> type; -}; - -]] - -// The TypeList template makes it possible to use either a single type -// or a Types<...> list in TYPED_TEST_SUITE() and -// INSTANTIATE_TYPED_TEST_SUITE_P(). - -template -struct TypeList { - typedef Types1 type; -}; - - -$range i 1..n -template <$for i, [[typename T$i]]> -struct TypeList > { - typedef typename Types<$for i, [[T$i]]>::type type; -}; - -#endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P - -} // namespace internal -} // namespace testing - -#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ diff --git a/include/hiredis/adapters/ae.h b/include/hiredis/adapters/ae.h deleted file mode 100644 index 660d82e..0000000 --- a/include/hiredis/adapters/ae.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (c) 2010-2011, Pieter Noordhuis - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Redis nor the names of its contributors may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __HIREDIS_AE_H__ -#define __HIREDIS_AE_H__ -#include -#include -#include "../hiredis.h" -#include "../async.h" - -typedef struct redisAeEvents { - redisAsyncContext *context; - aeEventLoop *loop; - int fd; - int reading, writing; -} redisAeEvents; - -static void redisAeReadEvent(aeEventLoop *el, int fd, void *privdata, int mask) { - ((void)el); ((void)fd); ((void)mask); - - redisAeEvents *e = (redisAeEvents*)privdata; - redisAsyncHandleRead(e->context); -} - -static void redisAeWriteEvent(aeEventLoop *el, int fd, void *privdata, int mask) { - ((void)el); ((void)fd); ((void)mask); - - redisAeEvents *e = (redisAeEvents*)privdata; - redisAsyncHandleWrite(e->context); -} - -static void redisAeAddRead(void *privdata) { - redisAeEvents *e = (redisAeEvents*)privdata; - aeEventLoop *loop = e->loop; - if (!e->reading) { - e->reading = 1; - aeCreateFileEvent(loop,e->fd,AE_READABLE,redisAeReadEvent,e); - } -} - -static void redisAeDelRead(void *privdata) { - redisAeEvents *e = (redisAeEvents*)privdata; - aeEventLoop *loop = e->loop; - if (e->reading) { - e->reading = 0; - aeDeleteFileEvent(loop,e->fd,AE_READABLE); - } -} - -static void redisAeAddWrite(void *privdata) { - redisAeEvents *e = (redisAeEvents*)privdata; - aeEventLoop *loop = e->loop; - if (!e->writing) { - e->writing = 1; - aeCreateFileEvent(loop,e->fd,AE_WRITABLE,redisAeWriteEvent,e); - } -} - -static void redisAeDelWrite(void *privdata) { - redisAeEvents *e = (redisAeEvents*)privdata; - aeEventLoop *loop = e->loop; - if (e->writing) { - e->writing = 0; - aeDeleteFileEvent(loop,e->fd,AE_WRITABLE); - } -} - -static void redisAeCleanup(void *privdata) { - redisAeEvents *e = (redisAeEvents*)privdata; - redisAeDelRead(privdata); - redisAeDelWrite(privdata); - hi_free(e); -} - -static int redisAeAttach(aeEventLoop *loop, redisAsyncContext *ac) { - redisContext *c = &(ac->c); - redisAeEvents *e; - - /* Nothing should be attached when something is already attached */ - if (ac->ev.data != NULL) - return REDIS_ERR; - - /* Create container for context and r/w events */ - e = (redisAeEvents*)hi_malloc(sizeof(*e)); - if (e == NULL) - return REDIS_ERR; - - e->context = ac; - e->loop = loop; - e->fd = c->fd; - e->reading = e->writing = 0; - - /* Register functions to start/stop listening for events */ - ac->ev.addRead = redisAeAddRead; - ac->ev.delRead = redisAeDelRead; - ac->ev.addWrite = redisAeAddWrite; - ac->ev.delWrite = redisAeDelWrite; - ac->ev.cleanup = redisAeCleanup; - ac->ev.data = e; - - return REDIS_OK; -} -#endif diff --git a/include/hiredis/adapters/glib.h b/include/hiredis/adapters/glib.h deleted file mode 100644 index ad59dd1..0000000 --- a/include/hiredis/adapters/glib.h +++ /dev/null @@ -1,156 +0,0 @@ -#ifndef __HIREDIS_GLIB_H__ -#define __HIREDIS_GLIB_H__ - -#include - -#include "../hiredis.h" -#include "../async.h" - -typedef struct -{ - GSource source; - redisAsyncContext *ac; - GPollFD poll_fd; -} RedisSource; - -static void -redis_source_add_read (gpointer data) -{ - RedisSource *source = (RedisSource *)data; - g_return_if_fail(source); - source->poll_fd.events |= G_IO_IN; - g_main_context_wakeup(g_source_get_context((GSource *)data)); -} - -static void -redis_source_del_read (gpointer data) -{ - RedisSource *source = (RedisSource *)data; - g_return_if_fail(source); - source->poll_fd.events &= ~G_IO_IN; - g_main_context_wakeup(g_source_get_context((GSource *)data)); -} - -static void -redis_source_add_write (gpointer data) -{ - RedisSource *source = (RedisSource *)data; - g_return_if_fail(source); - source->poll_fd.events |= G_IO_OUT; - g_main_context_wakeup(g_source_get_context((GSource *)data)); -} - -static void -redis_source_del_write (gpointer data) -{ - RedisSource *source = (RedisSource *)data; - g_return_if_fail(source); - source->poll_fd.events &= ~G_IO_OUT; - g_main_context_wakeup(g_source_get_context((GSource *)data)); -} - -static void -redis_source_cleanup (gpointer data) -{ - RedisSource *source = (RedisSource *)data; - - g_return_if_fail(source); - - redis_source_del_read(source); - redis_source_del_write(source); - /* - * It is not our responsibility to remove ourself from the - * current main loop. However, we will remove the GPollFD. - */ - if (source->poll_fd.fd >= 0) { - g_source_remove_poll((GSource *)data, &source->poll_fd); - source->poll_fd.fd = -1; - } -} - -static gboolean -redis_source_prepare (GSource *source, - gint *timeout_) -{ - RedisSource *redis = (RedisSource *)source; - *timeout_ = -1; - return !!(redis->poll_fd.events & redis->poll_fd.revents); -} - -static gboolean -redis_source_check (GSource *source) -{ - RedisSource *redis = (RedisSource *)source; - return !!(redis->poll_fd.events & redis->poll_fd.revents); -} - -static gboolean -redis_source_dispatch (GSource *source, - GSourceFunc callback, - gpointer user_data) -{ - RedisSource *redis = (RedisSource *)source; - - if ((redis->poll_fd.revents & G_IO_OUT)) { - redisAsyncHandleWrite(redis->ac); - redis->poll_fd.revents &= ~G_IO_OUT; - } - - if ((redis->poll_fd.revents & G_IO_IN)) { - redisAsyncHandleRead(redis->ac); - redis->poll_fd.revents &= ~G_IO_IN; - } - - if (callback) { - return callback(user_data); - } - - return TRUE; -} - -static void -redis_source_finalize (GSource *source) -{ - RedisSource *redis = (RedisSource *)source; - - if (redis->poll_fd.fd >= 0) { - g_source_remove_poll(source, &redis->poll_fd); - redis->poll_fd.fd = -1; - } -} - -static GSource * -redis_source_new (redisAsyncContext *ac) -{ - static GSourceFuncs source_funcs = { - .prepare = redis_source_prepare, - .check = redis_source_check, - .dispatch = redis_source_dispatch, - .finalize = redis_source_finalize, - }; - redisContext *c = &ac->c; - RedisSource *source; - - g_return_val_if_fail(ac != NULL, NULL); - - source = (RedisSource *)g_source_new(&source_funcs, sizeof *source); - if (source == NULL) - return NULL; - - source->ac = ac; - source->poll_fd.fd = c->fd; - source->poll_fd.events = 0; - source->poll_fd.revents = 0; - g_source_add_poll((GSource *)source, &source->poll_fd); - - ac->ev.addRead = redis_source_add_read; - ac->ev.delRead = redis_source_del_read; - ac->ev.addWrite = redis_source_add_write; - ac->ev.delWrite = redis_source_del_write; - ac->ev.cleanup = redis_source_cleanup; - ac->ev.data = source; - - return (GSource *)source; -} - -#endif /* __HIREDIS_GLIB_H__ */ diff --git a/include/hiredis/adapters/ivykis.h b/include/hiredis/adapters/ivykis.h deleted file mode 100644 index 179f6ab..0000000 --- a/include/hiredis/adapters/ivykis.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef __HIREDIS_IVYKIS_H__ -#define __HIREDIS_IVYKIS_H__ -#include -#include "../hiredis.h" -#include "../async.h" - -typedef struct redisIvykisEvents { - redisAsyncContext *context; - struct iv_fd fd; -} redisIvykisEvents; - -static void redisIvykisReadEvent(void *arg) { - redisAsyncContext *context = (redisAsyncContext *)arg; - redisAsyncHandleRead(context); -} - -static void redisIvykisWriteEvent(void *arg) { - redisAsyncContext *context = (redisAsyncContext *)arg; - redisAsyncHandleWrite(context); -} - -static void redisIvykisAddRead(void *privdata) { - redisIvykisEvents *e = (redisIvykisEvents*)privdata; - iv_fd_set_handler_in(&e->fd, redisIvykisReadEvent); -} - -static void redisIvykisDelRead(void *privdata) { - redisIvykisEvents *e = (redisIvykisEvents*)privdata; - iv_fd_set_handler_in(&e->fd, NULL); -} - -static void redisIvykisAddWrite(void *privdata) { - redisIvykisEvents *e = (redisIvykisEvents*)privdata; - iv_fd_set_handler_out(&e->fd, redisIvykisWriteEvent); -} - -static void redisIvykisDelWrite(void *privdata) { - redisIvykisEvents *e = (redisIvykisEvents*)privdata; - iv_fd_set_handler_out(&e->fd, NULL); -} - -static void redisIvykisCleanup(void *privdata) { - redisIvykisEvents *e = (redisIvykisEvents*)privdata; - - iv_fd_unregister(&e->fd); - hi_free(e); -} - -static int redisIvykisAttach(redisAsyncContext *ac) { - redisContext *c = &(ac->c); - redisIvykisEvents *e; - - /* Nothing should be attached when something is already attached */ - if (ac->ev.data != NULL) - return REDIS_ERR; - - /* Create container for context and r/w events */ - e = (redisIvykisEvents*)hi_malloc(sizeof(*e)); - if (e == NULL) - return REDIS_ERR; - - e->context = ac; - - /* Register functions to start/stop listening for events */ - ac->ev.addRead = redisIvykisAddRead; - ac->ev.delRead = redisIvykisDelRead; - ac->ev.addWrite = redisIvykisAddWrite; - ac->ev.delWrite = redisIvykisDelWrite; - ac->ev.cleanup = redisIvykisCleanup; - ac->ev.data = e; - - /* Initialize and install read/write events */ - IV_FD_INIT(&e->fd); - e->fd.fd = c->fd; - e->fd.handler_in = redisIvykisReadEvent; - e->fd.handler_out = redisIvykisWriteEvent; - e->fd.handler_err = NULL; - e->fd.cookie = e->context; - - iv_fd_register(&e->fd); - - return REDIS_OK; -} -#endif diff --git a/include/hiredis/adapters/libev.h b/include/hiredis/adapters/libev.h deleted file mode 100644 index 6191543..0000000 --- a/include/hiredis/adapters/libev.h +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (c) 2010-2011, Pieter Noordhuis - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Redis nor the names of its contributors may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __HIREDIS_LIBEV_H__ -#define __HIREDIS_LIBEV_H__ -#include -#include -#include -#include "../hiredis.h" -#include "../async.h" - -typedef struct redisLibevEvents { - redisAsyncContext *context; - struct ev_loop *loop; - int reading, writing; - ev_io rev, wev; - ev_timer timer; -} redisLibevEvents; - -static void redisLibevReadEvent(EV_P_ ev_io *watcher, int revents) { -#if EV_MULTIPLICITY - ((void)EV_A); -#endif - ((void)revents); - - redisLibevEvents *e = (redisLibevEvents*)watcher->data; - redisAsyncHandleRead(e->context); -} - -static void redisLibevWriteEvent(EV_P_ ev_io *watcher, int revents) { -#if EV_MULTIPLICITY - ((void)EV_A); -#endif - ((void)revents); - - redisLibevEvents *e = (redisLibevEvents*)watcher->data; - redisAsyncHandleWrite(e->context); -} - -static void redisLibevAddRead(void *privdata) { - redisLibevEvents *e = (redisLibevEvents*)privdata; - struct ev_loop *loop = e->loop; - ((void)loop); - if (!e->reading) { - e->reading = 1; - ev_io_start(EV_A_ &e->rev); - } -} - -static void redisLibevDelRead(void *privdata) { - redisLibevEvents *e = (redisLibevEvents*)privdata; - struct ev_loop *loop = e->loop; - ((void)loop); - if (e->reading) { - e->reading = 0; - ev_io_stop(EV_A_ &e->rev); - } -} - -static void redisLibevAddWrite(void *privdata) { - redisLibevEvents *e = (redisLibevEvents*)privdata; - struct ev_loop *loop = e->loop; - ((void)loop); - if (!e->writing) { - e->writing = 1; - ev_io_start(EV_A_ &e->wev); - } -} - -static void redisLibevDelWrite(void *privdata) { - redisLibevEvents *e = (redisLibevEvents*)privdata; - struct ev_loop *loop = e->loop; - ((void)loop); - if (e->writing) { - e->writing = 0; - ev_io_stop(EV_A_ &e->wev); - } -} - -static void redisLibevStopTimer(void *privdata) { - redisLibevEvents *e = (redisLibevEvents*)privdata; - struct ev_loop *loop = e->loop; - ((void)loop); - ev_timer_stop(EV_A_ &e->timer); -} - -static void redisLibevCleanup(void *privdata) { - redisLibevEvents *e = (redisLibevEvents*)privdata; - redisLibevDelRead(privdata); - redisLibevDelWrite(privdata); - redisLibevStopTimer(privdata); - hi_free(e); -} - -static void redisLibevTimeout(EV_P_ ev_timer *timer, int revents) { - ((void)revents); - redisLibevEvents *e = (redisLibevEvents*)timer->data; - redisAsyncHandleTimeout(e->context); -} - -static void redisLibevSetTimeout(void *privdata, struct timeval tv) { - redisLibevEvents *e = (redisLibevEvents*)privdata; - struct ev_loop *loop = e->loop; - ((void)loop); - - if (!ev_is_active(&e->timer)) { - ev_init(&e->timer, redisLibevTimeout); - e->timer.data = e; - } - - e->timer.repeat = tv.tv_sec + tv.tv_usec / 1000000.00; - ev_timer_again(EV_A_ &e->timer); -} - -static int redisLibevAttach(EV_P_ redisAsyncContext *ac) { - redisContext *c = &(ac->c); - redisLibevEvents *e; - - /* Nothing should be attached when something is already attached */ - if (ac->ev.data != NULL) - return REDIS_ERR; - - /* Create container for context and r/w events */ - e = (redisLibevEvents*)hi_calloc(1, sizeof(*e)); - if (e == NULL) - return REDIS_ERR; - - e->context = ac; -#if EV_MULTIPLICITY - e->loop = EV_A; -#else - e->loop = NULL; -#endif - e->rev.data = e; - e->wev.data = e; - - /* Register functions to start/stop listening for events */ - ac->ev.addRead = redisLibevAddRead; - ac->ev.delRead = redisLibevDelRead; - ac->ev.addWrite = redisLibevAddWrite; - ac->ev.delWrite = redisLibevDelWrite; - ac->ev.cleanup = redisLibevCleanup; - ac->ev.scheduleTimer = redisLibevSetTimeout; - ac->ev.data = e; - - /* Initialize read/write events */ - ev_io_init(&e->rev,redisLibevReadEvent,c->fd,EV_READ); - ev_io_init(&e->wev,redisLibevWriteEvent,c->fd,EV_WRITE); - return REDIS_OK; -} - -#endif diff --git a/include/hiredis/adapters/libevent.h b/include/hiredis/adapters/libevent.h deleted file mode 100644 index 9150979..0000000 --- a/include/hiredis/adapters/libevent.h +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright (c) 2010-2011, Pieter Noordhuis - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Redis nor the names of its contributors may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __HIREDIS_LIBEVENT_H__ -#define __HIREDIS_LIBEVENT_H__ -#include -#include "../hiredis.h" -#include "../async.h" - -#define REDIS_LIBEVENT_DELETED 0x01 -#define REDIS_LIBEVENT_ENTERED 0x02 - -typedef struct redisLibeventEvents { - redisAsyncContext *context; - struct event *ev; - struct event_base *base; - struct timeval tv; - short flags; - short state; -} redisLibeventEvents; - -static void redisLibeventDestroy(redisLibeventEvents *e) { - hi_free(e); -} - -static void redisLibeventHandler(int fd, short event, void *arg) { - ((void)fd); - redisLibeventEvents *e = (redisLibeventEvents*)arg; - e->state |= REDIS_LIBEVENT_ENTERED; - - #define CHECK_DELETED() if (e->state & REDIS_LIBEVENT_DELETED) {\ - redisLibeventDestroy(e);\ - return; \ - } - - if ((event & EV_TIMEOUT) && (e->state & REDIS_LIBEVENT_DELETED) == 0) { - redisAsyncHandleTimeout(e->context); - CHECK_DELETED(); - } - - if ((event & EV_READ) && e->context && (e->state & REDIS_LIBEVENT_DELETED) == 0) { - redisAsyncHandleRead(e->context); - CHECK_DELETED(); - } - - if ((event & EV_WRITE) && e->context && (e->state & REDIS_LIBEVENT_DELETED) == 0) { - redisAsyncHandleWrite(e->context); - CHECK_DELETED(); - } - - e->state &= ~REDIS_LIBEVENT_ENTERED; - #undef CHECK_DELETED -} - -static void redisLibeventUpdate(void *privdata, short flag, int isRemove) { - redisLibeventEvents *e = (redisLibeventEvents *)privdata; - const struct timeval *tv = e->tv.tv_sec || e->tv.tv_usec ? &e->tv : NULL; - - if (isRemove) { - if ((e->flags & flag) == 0) { - return; - } else { - e->flags &= ~flag; - } - } else { - if (e->flags & flag) { - return; - } else { - e->flags |= flag; - } - } - - event_del(e->ev); - event_assign(e->ev, e->base, e->context->c.fd, e->flags | EV_PERSIST, - redisLibeventHandler, privdata); - event_add(e->ev, tv); -} - -static void redisLibeventAddRead(void *privdata) { - redisLibeventUpdate(privdata, EV_READ, 0); -} - -static void redisLibeventDelRead(void *privdata) { - redisLibeventUpdate(privdata, EV_READ, 1); -} - -static void redisLibeventAddWrite(void *privdata) { - redisLibeventUpdate(privdata, EV_WRITE, 0); -} - -static void redisLibeventDelWrite(void *privdata) { - redisLibeventUpdate(privdata, EV_WRITE, 1); -} - -static void redisLibeventCleanup(void *privdata) { - redisLibeventEvents *e = (redisLibeventEvents*)privdata; - if (!e) { - return; - } - event_del(e->ev); - event_free(e->ev); - e->ev = NULL; - - if (e->state & REDIS_LIBEVENT_ENTERED) { - e->state |= REDIS_LIBEVENT_DELETED; - } else { - redisLibeventDestroy(e); - } -} - -static void redisLibeventSetTimeout(void *privdata, struct timeval tv) { - redisLibeventEvents *e = (redisLibeventEvents *)privdata; - short flags = e->flags; - e->flags = 0; - e->tv = tv; - redisLibeventUpdate(e, flags, 0); -} - -static int redisLibeventAttach(redisAsyncContext *ac, struct event_base *base) { - redisContext *c = &(ac->c); - redisLibeventEvents *e; - - /* Nothing should be attached when something is already attached */ - if (ac->ev.data != NULL) - return REDIS_ERR; - - /* Create container for context and r/w events */ - e = (redisLibeventEvents*)hi_calloc(1, sizeof(*e)); - if (e == NULL) - return REDIS_ERR; - - e->context = ac; - - /* Register functions to start/stop listening for events */ - ac->ev.addRead = redisLibeventAddRead; - ac->ev.delRead = redisLibeventDelRead; - ac->ev.addWrite = redisLibeventAddWrite; - ac->ev.delWrite = redisLibeventDelWrite; - ac->ev.cleanup = redisLibeventCleanup; - ac->ev.scheduleTimer = redisLibeventSetTimeout; - ac->ev.data = e; - - /* Initialize and install read/write events */ - e->ev = event_new(base, c->fd, EV_READ | EV_WRITE, redisLibeventHandler, e); - e->base = base; - return REDIS_OK; -} -#endif diff --git a/include/hiredis/adapters/libuv.h b/include/hiredis/adapters/libuv.h deleted file mode 100644 index c120b1b..0000000 --- a/include/hiredis/adapters/libuv.h +++ /dev/null @@ -1,117 +0,0 @@ -#ifndef __HIREDIS_LIBUV_H__ -#define __HIREDIS_LIBUV_H__ -#include -#include -#include "../hiredis.h" -#include "../async.h" -#include - -typedef struct redisLibuvEvents { - redisAsyncContext* context; - uv_poll_t handle; - int events; -} redisLibuvEvents; - - -static void redisLibuvPoll(uv_poll_t* handle, int status, int events) { - redisLibuvEvents* p = (redisLibuvEvents*)handle->data; - int ev = (status ? p->events : events); - - if (p->context != NULL && (ev & UV_READABLE)) { - redisAsyncHandleRead(p->context); - } - if (p->context != NULL && (ev & UV_WRITABLE)) { - redisAsyncHandleWrite(p->context); - } -} - - -static void redisLibuvAddRead(void *privdata) { - redisLibuvEvents* p = (redisLibuvEvents*)privdata; - - p->events |= UV_READABLE; - - uv_poll_start(&p->handle, p->events, redisLibuvPoll); -} - - -static void redisLibuvDelRead(void *privdata) { - redisLibuvEvents* p = (redisLibuvEvents*)privdata; - - p->events &= ~UV_READABLE; - - if (p->events) { - uv_poll_start(&p->handle, p->events, redisLibuvPoll); - } else { - uv_poll_stop(&p->handle); - } -} - - -static void redisLibuvAddWrite(void *privdata) { - redisLibuvEvents* p = (redisLibuvEvents*)privdata; - - p->events |= UV_WRITABLE; - - uv_poll_start(&p->handle, p->events, redisLibuvPoll); -} - - -static void redisLibuvDelWrite(void *privdata) { - redisLibuvEvents* p = (redisLibuvEvents*)privdata; - - p->events &= ~UV_WRITABLE; - - if (p->events) { - uv_poll_start(&p->handle, p->events, redisLibuvPoll); - } else { - uv_poll_stop(&p->handle); - } -} - - -static void on_close(uv_handle_t* handle) { - redisLibuvEvents* p = (redisLibuvEvents*)handle->data; - - hi_free(p); -} - - -static void redisLibuvCleanup(void *privdata) { - redisLibuvEvents* p = (redisLibuvEvents*)privdata; - - p->context = NULL; // indicate that context might no longer exist - uv_close((uv_handle_t*)&p->handle, on_close); -} - - -static int redisLibuvAttach(redisAsyncContext* ac, uv_loop_t* loop) { - redisContext *c = &(ac->c); - - if (ac->ev.data != NULL) { - return REDIS_ERR; - } - - ac->ev.addRead = redisLibuvAddRead; - ac->ev.delRead = redisLibuvDelRead; - ac->ev.addWrite = redisLibuvAddWrite; - ac->ev.delWrite = redisLibuvDelWrite; - ac->ev.cleanup = redisLibuvCleanup; - - redisLibuvEvents* p = (redisLibuvEvents*)hi_malloc(sizeof(*p)); - if (p == NULL) - return REDIS_ERR; - - memset(p, 0, sizeof(*p)); - - if (uv_poll_init_socket(loop, &p->handle, c->fd) != 0) { - return REDIS_ERR; - } - - ac->ev.data = p; - p->handle.data = p; - p->context = ac; - - return REDIS_OK; -} -#endif diff --git a/include/hiredis/adapters/macosx.h b/include/hiredis/adapters/macosx.h deleted file mode 100644 index 3c87f1b..0000000 --- a/include/hiredis/adapters/macosx.h +++ /dev/null @@ -1,115 +0,0 @@ -// -// Created by 袛屑懈褌褉懈泄 袘邪褏胁邪谢芯胁 on 13.07.15. -// Copyright (c) 2015 Dmitry Bakhvalov. All rights reserved. -// - -#ifndef __HIREDIS_MACOSX_H__ -#define __HIREDIS_MACOSX_H__ - -#include - -#include "../hiredis.h" -#include "../async.h" - -typedef struct { - redisAsyncContext *context; - CFSocketRef socketRef; - CFRunLoopSourceRef sourceRef; -} RedisRunLoop; - -static int freeRedisRunLoop(RedisRunLoop* redisRunLoop) { - if( redisRunLoop != NULL ) { - if( redisRunLoop->sourceRef != NULL ) { - CFRunLoopSourceInvalidate(redisRunLoop->sourceRef); - CFRelease(redisRunLoop->sourceRef); - } - if( redisRunLoop->socketRef != NULL ) { - CFSocketInvalidate(redisRunLoop->socketRef); - CFRelease(redisRunLoop->socketRef); - } - hi_free(redisRunLoop); - } - return REDIS_ERR; -} - -static void redisMacOSAddRead(void *privdata) { - RedisRunLoop *redisRunLoop = (RedisRunLoop*)privdata; - CFSocketEnableCallBacks(redisRunLoop->socketRef, kCFSocketReadCallBack); -} - -static void redisMacOSDelRead(void *privdata) { - RedisRunLoop *redisRunLoop = (RedisRunLoop*)privdata; - CFSocketDisableCallBacks(redisRunLoop->socketRef, kCFSocketReadCallBack); -} - -static void redisMacOSAddWrite(void *privdata) { - RedisRunLoop *redisRunLoop = (RedisRunLoop*)privdata; - CFSocketEnableCallBacks(redisRunLoop->socketRef, kCFSocketWriteCallBack); -} - -static void redisMacOSDelWrite(void *privdata) { - RedisRunLoop *redisRunLoop = (RedisRunLoop*)privdata; - CFSocketDisableCallBacks(redisRunLoop->socketRef, kCFSocketWriteCallBack); -} - -static void redisMacOSCleanup(void *privdata) { - RedisRunLoop *redisRunLoop = (RedisRunLoop*)privdata; - freeRedisRunLoop(redisRunLoop); -} - -static void redisMacOSAsyncCallback(CFSocketRef __unused s, CFSocketCallBackType callbackType, CFDataRef __unused address, const void __unused *data, void *info) { - redisAsyncContext* context = (redisAsyncContext*) info; - - switch (callbackType) { - case kCFSocketReadCallBack: - redisAsyncHandleRead(context); - break; - - case kCFSocketWriteCallBack: - redisAsyncHandleWrite(context); - break; - - default: - break; - } -} - -static int redisMacOSAttach(redisAsyncContext *redisAsyncCtx, CFRunLoopRef runLoop) { - redisContext *redisCtx = &(redisAsyncCtx->c); - - /* Nothing should be attached when something is already attached */ - if( redisAsyncCtx->ev.data != NULL ) return REDIS_ERR; - - RedisRunLoop* redisRunLoop = (RedisRunLoop*) hi_calloc(1, sizeof(RedisRunLoop)); - if (redisRunLoop == NULL) - return REDIS_ERR; - - /* Setup redis stuff */ - redisRunLoop->context = redisAsyncCtx; - - redisAsyncCtx->ev.addRead = redisMacOSAddRead; - redisAsyncCtx->ev.delRead = redisMacOSDelRead; - redisAsyncCtx->ev.addWrite = redisMacOSAddWrite; - redisAsyncCtx->ev.delWrite = redisMacOSDelWrite; - redisAsyncCtx->ev.cleanup = redisMacOSCleanup; - redisAsyncCtx->ev.data = redisRunLoop; - - /* Initialize and install read/write events */ - CFSocketContext socketCtx = { 0, redisAsyncCtx, NULL, NULL, NULL }; - - redisRunLoop->socketRef = CFSocketCreateWithNative(NULL, redisCtx->fd, - kCFSocketReadCallBack | kCFSocketWriteCallBack, - redisMacOSAsyncCallback, - &socketCtx); - if( !redisRunLoop->socketRef ) return freeRedisRunLoop(redisRunLoop); - - redisRunLoop->sourceRef = CFSocketCreateRunLoopSource(NULL, redisRunLoop->socketRef, 0); - if( !redisRunLoop->sourceRef ) return freeRedisRunLoop(redisRunLoop); - - CFRunLoopAddSource(runLoop, redisRunLoop->sourceRef, kCFRunLoopDefaultMode); - - return REDIS_OK; -} - -#endif - diff --git a/include/hiredis/adapters/qt.h b/include/hiredis/adapters/qt.h deleted file mode 100644 index 5cc02e6..0000000 --- a/include/hiredis/adapters/qt.h +++ /dev/null @@ -1,135 +0,0 @@ -/*- - * Copyright (C) 2014 Pietro Cerutti - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef __HIREDIS_QT_H__ -#define __HIREDIS_QT_H__ -#include -#include "../async.h" - -static void RedisQtAddRead(void *); -static void RedisQtDelRead(void *); -static void RedisQtAddWrite(void *); -static void RedisQtDelWrite(void *); -static void RedisQtCleanup(void *); - -class RedisQtAdapter : public QObject { - - Q_OBJECT - - friend - void RedisQtAddRead(void * adapter) { - RedisQtAdapter * a = static_cast(adapter); - a->addRead(); - } - - friend - void RedisQtDelRead(void * adapter) { - RedisQtAdapter * a = static_cast(adapter); - a->delRead(); - } - - friend - void RedisQtAddWrite(void * adapter) { - RedisQtAdapter * a = static_cast(adapter); - a->addWrite(); - } - - friend - void RedisQtDelWrite(void * adapter) { - RedisQtAdapter * a = static_cast(adapter); - a->delWrite(); - } - - friend - void RedisQtCleanup(void * adapter) { - RedisQtAdapter * a = static_cast(adapter); - a->cleanup(); - } - - public: - RedisQtAdapter(QObject * parent = 0) - : QObject(parent), m_ctx(0), m_read(0), m_write(0) { } - - ~RedisQtAdapter() { - if (m_ctx != 0) { - m_ctx->ev.data = NULL; - } - } - - int setContext(redisAsyncContext * ac) { - if (ac->ev.data != NULL) { - return REDIS_ERR; - } - m_ctx = ac; - m_ctx->ev.data = this; - m_ctx->ev.addRead = RedisQtAddRead; - m_ctx->ev.delRead = RedisQtDelRead; - m_ctx->ev.addWrite = RedisQtAddWrite; - m_ctx->ev.delWrite = RedisQtDelWrite; - m_ctx->ev.cleanup = RedisQtCleanup; - return REDIS_OK; - } - - private: - void addRead() { - if (m_read) return; - m_read = new QSocketNotifier(m_ctx->c.fd, QSocketNotifier::Read, 0); - connect(m_read, SIGNAL(activated(int)), this, SLOT(read())); - } - - void delRead() { - if (!m_read) return; - delete m_read; - m_read = 0; - } - - void addWrite() { - if (m_write) return; - m_write = new QSocketNotifier(m_ctx->c.fd, QSocketNotifier::Write, 0); - connect(m_write, SIGNAL(activated(int)), this, SLOT(write())); - } - - void delWrite() { - if (!m_write) return; - delete m_write; - m_write = 0; - } - - void cleanup() { - delRead(); - delWrite(); - } - - private slots: - void read() { redisAsyncHandleRead(m_ctx); } - void write() { redisAsyncHandleWrite(m_ctx); } - - private: - redisAsyncContext * m_ctx; - QSocketNotifier * m_read; - QSocketNotifier * m_write; -}; - -#endif /* !__HIREDIS_QT_H__ */ diff --git a/include/hiredis/alloc.h b/include/hiredis/alloc.h deleted file mode 100644 index 34a05f4..0000000 --- a/include/hiredis/alloc.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2020, Michael Grunder - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Redis nor the names of its contributors may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef HIREDIS_ALLOC_H -#define HIREDIS_ALLOC_H - -#include /* for size_t */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* Structure pointing to our actually configured allocators */ -typedef struct hiredisAllocFuncs { - void *(*mallocFn)(size_t); - void *(*callocFn)(size_t,size_t); - void *(*reallocFn)(void*,size_t); - char *(*strdupFn)(const char*); - void (*freeFn)(void*); -} hiredisAllocFuncs; - -hiredisAllocFuncs hiredisSetAllocators(hiredisAllocFuncs *ha); -void hiredisResetAllocators(void); - -#ifndef _WIN32 - -/* Hiredis' configured allocator function pointer struct */ -extern hiredisAllocFuncs hiredisAllocFns; - -static inline void *hi_malloc(size_t size) { - return hiredisAllocFns.mallocFn(size); -} - -static inline void *hi_calloc(size_t nmemb, size_t size) { - return hiredisAllocFns.callocFn(nmemb, size); -} - -static inline void *hi_realloc(void *ptr, size_t size) { - return hiredisAllocFns.reallocFn(ptr, size); -} - -static inline char *hi_strdup(const char *str) { - return hiredisAllocFns.strdupFn(str); -} - -static inline void hi_free(void *ptr) { - hiredisAllocFns.freeFn(ptr); -} - -#else - -void *hi_malloc(size_t size); -void *hi_calloc(size_t nmemb, size_t size); -void *hi_realloc(void *ptr, size_t size); -char *hi_strdup(const char *str); -void hi_free(void *ptr); - -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* HIREDIS_ALLOC_H */ diff --git a/include/hiredis/async.h b/include/hiredis/async.h deleted file mode 100644 index b1d2cb2..0000000 --- a/include/hiredis/async.h +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright (c) 2009-2011, Salvatore Sanfilippo - * Copyright (c) 2010-2011, Pieter Noordhuis - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Redis nor the names of its contributors may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __HIREDIS_ASYNC_H -#define __HIREDIS_ASYNC_H -#include "hiredis.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct redisAsyncContext; /* need forward declaration of redisAsyncContext */ -struct dict; /* dictionary header is included in async.c */ - -/* Reply callback prototype and container */ -typedef void (redisCallbackFn)(struct redisAsyncContext*, void*, void*); -typedef struct redisCallback { - struct redisCallback *next; /* simple singly linked list */ - redisCallbackFn *fn; - int pending_subs; - void *privdata; -} redisCallback; - -/* List of callbacks for either regular replies or pub/sub */ -typedef struct redisCallbackList { - redisCallback *head, *tail; -} redisCallbackList; - -/* Connection callback prototypes */ -typedef void (redisDisconnectCallback)(const struct redisAsyncContext*, int status); -typedef void (redisConnectCallback)(const struct redisAsyncContext*, int status); -typedef void(redisTimerCallback)(void *timer, void *privdata); - -/* Context for an async connection to Redis */ -typedef struct redisAsyncContext { - /* Hold the regular context, so it can be realloc'ed. */ - redisContext c; - - /* Setup error flags so they can be used directly. */ - int err; - char *errstr; - - /* Not used by hiredis */ - void *data; - void (*dataCleanup)(void *privdata); - - /* Event library data and hooks */ - struct { - void *data; - - /* Hooks that are called when the library expects to start - * reading/writing. These functions should be idempotent. */ - void (*addRead)(void *privdata); - void (*delRead)(void *privdata); - void (*addWrite)(void *privdata); - void (*delWrite)(void *privdata); - void (*cleanup)(void *privdata); - void (*scheduleTimer)(void *privdata, struct timeval tv); - } ev; - - /* Called when either the connection is terminated due to an error or per - * user request. The status is set accordingly (REDIS_OK, REDIS_ERR). */ - redisDisconnectCallback *onDisconnect; - - /* Called when the first write event was received. */ - redisConnectCallback *onConnect; - - /* Regular command callbacks */ - redisCallbackList replies; - - /* Address used for connect() */ - struct sockaddr *saddr; - size_t addrlen; - - /* Subscription callbacks */ - struct { - redisCallbackList invalid; - struct dict *channels; - struct dict *patterns; - } sub; - - /* Any configured RESP3 PUSH handler */ - redisAsyncPushFn *push_cb; -} redisAsyncContext; - -/* Functions that proxy to hiredis */ -redisAsyncContext *redisAsyncConnectWithOptions(const redisOptions *options); -redisAsyncContext *redisAsyncConnect(const char *ip, int port); -redisAsyncContext *redisAsyncConnectBind(const char *ip, int port, const char *source_addr); -redisAsyncContext *redisAsyncConnectBindWithReuse(const char *ip, int port, - const char *source_addr); -redisAsyncContext *redisAsyncConnectUnix(const char *path); -int redisAsyncSetConnectCallback(redisAsyncContext *ac, redisConnectCallback *fn); -int redisAsyncSetDisconnectCallback(redisAsyncContext *ac, redisDisconnectCallback *fn); - -redisAsyncPushFn *redisAsyncSetPushCallback(redisAsyncContext *ac, redisAsyncPushFn *fn); -int redisAsyncSetTimeout(redisAsyncContext *ac, struct timeval tv); -void redisAsyncDisconnect(redisAsyncContext *ac); -void redisAsyncFree(redisAsyncContext *ac); - -/* Handle read/write events */ -void redisAsyncHandleRead(redisAsyncContext *ac); -void redisAsyncHandleWrite(redisAsyncContext *ac); -void redisAsyncHandleTimeout(redisAsyncContext *ac); -void redisAsyncRead(redisAsyncContext *ac); -void redisAsyncWrite(redisAsyncContext *ac); - -/* Command functions for an async context. Write the command to the - * output buffer and register the provided callback. */ -int redisvAsyncCommand(redisAsyncContext *ac, redisCallbackFn *fn, void *privdata, const char *format, va_list ap); -int redisAsyncCommand(redisAsyncContext *ac, redisCallbackFn *fn, void *privdata, const char *format, ...); -int redisAsyncCommandArgv(redisAsyncContext *ac, redisCallbackFn *fn, void *privdata, int argc, const char **argv, const size_t *argvlen); -int redisAsyncFormattedCommand(redisAsyncContext *ac, redisCallbackFn *fn, void *privdata, const char *cmd, size_t len); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/hiredis/hiredis.h b/include/hiredis/hiredis.h deleted file mode 100644 index e77a88a..0000000 --- a/include/hiredis/hiredis.h +++ /dev/null @@ -1,337 +0,0 @@ -/* - * Copyright (c) 2009-2011, Salvatore Sanfilippo - * Copyright (c) 2010-2014, Pieter Noordhuis - * Copyright (c) 2015, Matt Stancliff , - * Jan-Erik Rediger - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Redis nor the names of its contributors may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __HIREDIS_H -#define __HIREDIS_H -#include "read.h" -#include /* for va_list */ -#ifndef _MSC_VER -#include /* for struct timeval */ -#else -struct timeval; /* forward declaration */ -typedef long long ssize_t; -#endif -#include /* uintXX_t, etc */ -#include "sds.h" /* for sds */ -#include "alloc.h" /* for allocation wrappers */ - -#define HIREDIS_MAJOR 1 -#define HIREDIS_MINOR 0 -#define HIREDIS_PATCH 1 -#define HIREDIS_SONAME 1.0.1-dev - -/* Connection type can be blocking or non-blocking and is set in the - * least significant bit of the flags field in redisContext. */ -#define REDIS_BLOCK 0x1 - -/* Connection may be disconnected before being free'd. The second bit - * in the flags field is set when the context is connected. */ -#define REDIS_CONNECTED 0x2 - -/* The async API might try to disconnect cleanly and flush the output - * buffer and read all subsequent replies before disconnecting. - * This flag means no new commands can come in and the connection - * should be terminated once all replies have been read. */ -#define REDIS_DISCONNECTING 0x4 - -/* Flag specific to the async API which means that the context should be clean - * up as soon as possible. */ -#define REDIS_FREEING 0x8 - -/* Flag that is set when an async callback is executed. */ -#define REDIS_IN_CALLBACK 0x10 - -/* Flag that is set when the async context has one or more subscriptions. */ -#define REDIS_SUBSCRIBED 0x20 - -/* Flag that is set when monitor mode is active */ -#define REDIS_MONITORING 0x40 - -/* Flag that is set when we should set SO_REUSEADDR before calling bind() */ -#define REDIS_REUSEADDR 0x80 - -/** - * Flag that indicates the user does not want the context to - * be automatically freed upon error - */ -#define REDIS_NO_AUTO_FREE 0x200 - -#define REDIS_KEEPALIVE_INTERVAL 15 /* seconds */ - -/* number of times we retry to connect in the case of EADDRNOTAVAIL and - * SO_REUSEADDR is being used. */ -#define REDIS_CONNECT_RETRIES 10 - -/* Forward declarations for structs defined elsewhere */ -struct redisAsyncContext; -struct redisContext; - -/* RESP3 push helpers and callback prototypes */ -#define redisIsPushReply(r) (((redisReply*)(r))->type == REDIS_REPLY_PUSH) -typedef void (redisPushFn)(void *, void *); -typedef void (redisAsyncPushFn)(struct redisAsyncContext *, void *); - -#ifdef __cplusplus -extern "C" { -#endif - -/* This is the reply object returned by redisCommand() */ -typedef struct redisReply { - int type; /* REDIS_REPLY_* */ - long long integer; /* The integer when type is REDIS_REPLY_INTEGER */ - double dval; /* The double when type is REDIS_REPLY_DOUBLE */ - size_t len; /* Length of string */ - char *str; /* Used for REDIS_REPLY_ERROR, REDIS_REPLY_STRING - REDIS_REPLY_VERB, REDIS_REPLY_DOUBLE (in additional to dval), - and REDIS_REPLY_BIGNUM. */ - char vtype[4]; /* Used for REDIS_REPLY_VERB, contains the null - terminated 3 character content type, such as "txt". */ - size_t elements; /* number of elements, for REDIS_REPLY_ARRAY */ - struct redisReply **element; /* elements vector for REDIS_REPLY_ARRAY */ -} redisReply; - -redisReader *redisReaderCreate(void); - -/* Function to free the reply objects hiredis returns by default. */ -void freeReplyObject(void *reply); - -/* Functions to format a command according to the protocol. */ -int redisvFormatCommand(char **target, const char *format, va_list ap); -int redisFormatCommand(char **target, const char *format, ...); -int redisFormatCommandArgv(char **target, int argc, const char **argv, const size_t *argvlen); -int redisFormatSdsCommandArgv(sds *target, int argc, const char ** argv, const size_t *argvlen); -void redisFreeCommand(char *cmd); -void redisFreeSdsCommand(sds cmd); - -enum redisConnectionType { - REDIS_CONN_TCP, - REDIS_CONN_UNIX, - REDIS_CONN_USERFD -}; - -struct redisSsl; - -#define REDIS_OPT_NONBLOCK 0x01 -#define REDIS_OPT_REUSEADDR 0x02 - -/** - * Don't automatically free the async object on a connection failure, - * or other implicit conditions. Only free on an explicit call to disconnect() or free() - */ -#define REDIS_OPT_NOAUTOFREE 0x04 - -/* Don't automatically intercept and free RESP3 PUSH replies. */ -#define REDIS_OPT_NO_PUSH_AUTOFREE 0x08 - -/* In Unix systems a file descriptor is a regular signed int, with -1 - * representing an invalid descriptor. In Windows it is a SOCKET - * (32- or 64-bit unsigned integer depending on the architecture), where - * all bits set (~0) is INVALID_SOCKET. */ -#ifndef _WIN32 -typedef int redisFD; -#define REDIS_INVALID_FD -1 -#else -#ifdef _WIN64 -typedef unsigned long long redisFD; /* SOCKET = 64-bit UINT_PTR */ -#else -typedef unsigned long redisFD; /* SOCKET = 32-bit UINT_PTR */ -#endif -#define REDIS_INVALID_FD ((redisFD)(~0)) /* INVALID_SOCKET */ -#endif - -typedef struct { - /* - * the type of connection to use. This also indicates which - * `endpoint` member field to use - */ - int type; - /* bit field of REDIS_OPT_xxx */ - int options; - /* timeout value for connect operation. If NULL, no timeout is used */ - const struct timeval *connect_timeout; - /* timeout value for commands. If NULL, no timeout is used. This can be - * updated at runtime with redisSetTimeout/redisAsyncSetTimeout. */ - const struct timeval *command_timeout; - union { - /** use this field for tcp/ip connections */ - struct { - const char *source_addr; - const char *ip; - int port; - } tcp; - /** use this field for unix domain sockets */ - const char *unix_socket; - /** - * use this field to have hiredis operate an already-open - * file descriptor */ - redisFD fd; - } endpoint; - - /* Optional user defined data/destructor */ - void *privdata; - void (*free_privdata)(void *); - - /* A user defined PUSH message callback */ - redisPushFn *push_cb; - redisAsyncPushFn *async_push_cb; -} redisOptions; - -/** - * Helper macros to initialize options to their specified fields. - */ -#define REDIS_OPTIONS_SET_TCP(opts, ip_, port_) \ - (opts)->type = REDIS_CONN_TCP; \ - (opts)->endpoint.tcp.ip = ip_; \ - (opts)->endpoint.tcp.port = port_; - -#define REDIS_OPTIONS_SET_UNIX(opts, path) \ - (opts)->type = REDIS_CONN_UNIX; \ - (opts)->endpoint.unix_socket = path; - -#define REDIS_OPTIONS_SET_PRIVDATA(opts, data, dtor) \ - (opts)->privdata = data; \ - (opts)->free_privdata = dtor; \ - -typedef struct redisContextFuncs { - void (*free_privctx)(void *); - void (*async_read)(struct redisAsyncContext *); - void (*async_write)(struct redisAsyncContext *); - ssize_t (*read)(struct redisContext *, char *, size_t); - ssize_t (*write)(struct redisContext *); -} redisContextFuncs; - -/* Context for a connection to Redis */ -typedef struct redisContext { - const redisContextFuncs *funcs; /* Function table */ - - int err; /* Error flags, 0 when there is no error */ - char errstr[128]; /* String representation of error when applicable */ - redisFD fd; - int flags; - char *obuf; /* Write buffer */ - redisReader *reader; /* Protocol reader */ - - enum redisConnectionType connection_type; - struct timeval *connect_timeout; - struct timeval *command_timeout; - - struct { - char *host; - char *source_addr; - int port; - } tcp; - - struct { - char *path; - } unix_sock; - - /* For non-blocking connect */ - struct sockaddr *saddr; - size_t addrlen; - - /* Optional data and corresponding destructor users can use to provide - * context to a given redisContext. Not used by hiredis. */ - void *privdata; - void (*free_privdata)(void *); - - /* Internal context pointer presently used by hiredis to manage - * SSL connections. */ - void *privctx; - - /* An optional RESP3 PUSH handler */ - redisPushFn *push_cb; -} redisContext; - -redisContext *redisConnectWithOptions(const redisOptions *options); -redisContext *redisConnect(const char *ip, int port); -redisContext *redisConnectWithTimeout(const char *ip, int port, const struct timeval tv); -redisContext *redisConnectNonBlock(const char *ip, int port); -redisContext *redisConnectBindNonBlock(const char *ip, int port, - const char *source_addr); -redisContext *redisConnectBindNonBlockWithReuse(const char *ip, int port, - const char *source_addr); -redisContext *redisConnectUnix(const char *path); -redisContext *redisConnectUnixWithTimeout(const char *path, const struct timeval tv); -redisContext *redisConnectUnixNonBlock(const char *path); -redisContext *redisConnectFd(redisFD fd); - -/** - * Reconnect the given context using the saved information. - * - * This re-uses the exact same connect options as in the initial connection. - * host, ip (or path), timeout and bind address are reused, - * flags are used unmodified from the existing context. - * - * Returns REDIS_OK on successful connect or REDIS_ERR otherwise. - */ -int redisReconnect(redisContext *c); - -redisPushFn *redisSetPushCallback(redisContext *c, redisPushFn *fn); -int redisSetTimeout(redisContext *c, const struct timeval tv); -int redisEnableKeepAlive(redisContext *c); -void redisFree(redisContext *c); -redisFD redisFreeKeepFd(redisContext *c); -int redisBufferRead(redisContext *c); -int redisBufferWrite(redisContext *c, int *done); - -/* In a blocking context, this function first checks if there are unconsumed - * replies to return and returns one if so. Otherwise, it flushes the output - * buffer to the socket and reads until it has a reply. In a non-blocking - * context, it will return unconsumed replies until there are no more. */ -int redisGetReply(redisContext *c, void **reply); -int redisGetReplyFromReader(redisContext *c, void **reply); - -/* Write a formatted command to the output buffer. Use these functions in blocking mode - * to get a pipeline of commands. */ -int redisAppendFormattedCommand(redisContext *c, const char *cmd, size_t len); - -/* Write a command to the output buffer. Use these functions in blocking mode - * to get a pipeline of commands. */ -int redisvAppendCommand(redisContext *c, const char *format, va_list ap); -int redisAppendCommand(redisContext *c, const char *format, ...); -int redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen); - -/* Issue a command to Redis. In a blocking context, it is identical to calling - * redisAppendCommand, followed by redisGetReply. The function will return - * NULL if there was an error in performing the request, otherwise it will - * return the reply. In a non-blocking context, it is identical to calling - * only redisAppendCommand and will always return NULL. */ -void *redisvCommand(redisContext *c, const char *format, va_list ap); -void *redisCommand(redisContext *c, const char *format, ...); -void *redisCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/hiredis/read.h b/include/hiredis/read.h deleted file mode 100644 index 2d74d77..0000000 --- a/include/hiredis/read.h +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright (c) 2009-2011, Salvatore Sanfilippo - * Copyright (c) 2010-2011, Pieter Noordhuis - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Redis nor the names of its contributors may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef __HIREDIS_READ_H -#define __HIREDIS_READ_H -#include /* for size_t */ - -#define REDIS_ERR -1 -#define REDIS_OK 0 - -/* When an error occurs, the err flag in a context is set to hold the type of - * error that occurred. REDIS_ERR_IO means there was an I/O error and you - * should use the "errno" variable to find out what is wrong. - * For other values, the "errstr" field will hold a description. */ -#define REDIS_ERR_IO 1 /* Error in read or write */ -#define REDIS_ERR_EOF 3 /* End of file */ -#define REDIS_ERR_PROTOCOL 4 /* Protocol error */ -#define REDIS_ERR_OOM 5 /* Out of memory */ -#define REDIS_ERR_TIMEOUT 6 /* Timed out */ -#define REDIS_ERR_OTHER 2 /* Everything else... */ - -#define REDIS_REPLY_STRING 1 -#define REDIS_REPLY_ARRAY 2 -#define REDIS_REPLY_INTEGER 3 -#define REDIS_REPLY_NIL 4 -#define REDIS_REPLY_STATUS 5 -#define REDIS_REPLY_ERROR 6 -#define REDIS_REPLY_DOUBLE 7 -#define REDIS_REPLY_BOOL 8 -#define REDIS_REPLY_MAP 9 -#define REDIS_REPLY_SET 10 -#define REDIS_REPLY_ATTR 11 -#define REDIS_REPLY_PUSH 12 -#define REDIS_REPLY_BIGNUM 13 -#define REDIS_REPLY_VERB 14 - -/* Default max unused reader buffer. */ -#define REDIS_READER_MAX_BUF (1024*16) - -/* Default multi-bulk element limit */ -#define REDIS_READER_MAX_ARRAY_ELEMENTS ((1LL<<32) - 1) - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct redisReadTask { - int type; - long long elements; /* number of elements in multibulk container */ - int idx; /* index in parent (array) object */ - void *obj; /* holds user-generated value for a read task */ - struct redisReadTask *parent; /* parent task */ - void *privdata; /* user-settable arbitrary field */ -} redisReadTask; - -typedef struct redisReplyObjectFunctions { - void *(*createString)(const redisReadTask*, char*, size_t); - void *(*createArray)(const redisReadTask*, size_t); - void *(*createInteger)(const redisReadTask*, long long); - void *(*createDouble)(const redisReadTask*, double, char*, size_t); - void *(*createNil)(const redisReadTask*); - void *(*createBool)(const redisReadTask*, int); - void (*freeObject)(void*); -} redisReplyObjectFunctions; - -typedef struct redisReader { - int err; /* Error flags, 0 when there is no error */ - char errstr[128]; /* String representation of error when applicable */ - - char *buf; /* Read buffer */ - size_t pos; /* Buffer cursor */ - size_t len; /* Buffer length */ - size_t maxbuf; /* Max length of unused buffer */ - long long maxelements; /* Max multi-bulk elements */ - - redisReadTask **task; - int tasks; - - int ridx; /* Index of current read task */ - void *reply; /* Temporary reply pointer */ - - redisReplyObjectFunctions *fn; - void *privdata; -} redisReader; - -/* Public API for the protocol parser. */ -redisReader *redisReaderCreateWithFunctions(redisReplyObjectFunctions *fn); -void redisReaderFree(redisReader *r); -int redisReaderFeed(redisReader *r, const char *buf, size_t len); -int redisReaderGetReply(redisReader *r, void **reply); - -#define redisReaderSetPrivdata(_r, _p) (int)(((redisReader*)(_r))->privdata = (_p)) -#define redisReaderGetObject(_r) (((redisReader*)(_r))->reply) -#define redisReaderGetError(_r) (((redisReader*)(_r))->errstr) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/hiredis/sds.h b/include/hiredis/sds.h deleted file mode 100644 index eda8833..0000000 --- a/include/hiredis/sds.h +++ /dev/null @@ -1,278 +0,0 @@ -/* SDSLib 2.0 -- A C dynamic strings library - * - * Copyright (c) 2006-2015, Salvatore Sanfilippo - * Copyright (c) 2015, Oran Agra - * Copyright (c) 2015, Redis Labs, Inc - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Redis nor the names of its contributors may be used - * to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __SDS_H -#define __SDS_H - -#define SDS_MAX_PREALLOC (1024*1024) -#ifdef _MSC_VER -#define __attribute__(x) -typedef long long ssize_t; -#define SSIZE_MAX (LLONG_MAX >> 1) -#endif - -#include -#include -#include - -typedef char *sds; - -/* Note: sdshdr5 is never used, we just access the flags byte directly. - * However is here to document the layout of type 5 SDS strings. */ -struct __attribute__ ((__packed__)) sdshdr5 { - unsigned char flags; /* 3 lsb of type, and 5 msb of string length */ - char buf[]; -}; -struct __attribute__ ((__packed__)) sdshdr8 { - uint8_t len; /* used */ - uint8_t alloc; /* excluding the header and null terminator */ - unsigned char flags; /* 3 lsb of type, 5 unused bits */ - char buf[]; -}; -struct __attribute__ ((__packed__)) sdshdr16 { - uint16_t len; /* used */ - uint16_t alloc; /* excluding the header and null terminator */ - unsigned char flags; /* 3 lsb of type, 5 unused bits */ - char buf[]; -}; -struct __attribute__ ((__packed__)) sdshdr32 { - uint32_t len; /* used */ - uint32_t alloc; /* excluding the header and null terminator */ - unsigned char flags; /* 3 lsb of type, 5 unused bits */ - char buf[]; -}; -struct __attribute__ ((__packed__)) sdshdr64 { - uint64_t len; /* used */ - uint64_t alloc; /* excluding the header and null terminator */ - unsigned char flags; /* 3 lsb of type, 5 unused bits */ - char buf[]; -}; - -#define SDS_TYPE_5 0 -#define SDS_TYPE_8 1 -#define SDS_TYPE_16 2 -#define SDS_TYPE_32 3 -#define SDS_TYPE_64 4 -#define SDS_TYPE_MASK 7 -#define SDS_TYPE_BITS 3 -#define SDS_HDR_VAR(T,s) struct sdshdr##T *sh = (struct sdshdr##T *)((s)-(sizeof(struct sdshdr##T))); -#define SDS_HDR(T,s) ((struct sdshdr##T *)((s)-(sizeof(struct sdshdr##T)))) -#define SDS_TYPE_5_LEN(f) ((f)>>SDS_TYPE_BITS) - -static inline size_t sdslen(const sds s) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - return SDS_TYPE_5_LEN(flags); - case SDS_TYPE_8: - return SDS_HDR(8,s)->len; - case SDS_TYPE_16: - return SDS_HDR(16,s)->len; - case SDS_TYPE_32: - return SDS_HDR(32,s)->len; - case SDS_TYPE_64: - return SDS_HDR(64,s)->len; - } - return 0; -} - -static inline size_t sdsavail(const sds s) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: { - return 0; - } - case SDS_TYPE_8: { - SDS_HDR_VAR(8,s); - return sh->alloc - sh->len; - } - case SDS_TYPE_16: { - SDS_HDR_VAR(16,s); - return sh->alloc - sh->len; - } - case SDS_TYPE_32: { - SDS_HDR_VAR(32,s); - return sh->alloc - sh->len; - } - case SDS_TYPE_64: { - SDS_HDR_VAR(64,s); - return sh->alloc - sh->len; - } - } - return 0; -} - -static inline void sdssetlen(sds s, size_t newlen) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - { - unsigned char *fp = ((unsigned char*)s)-1; - *fp = (unsigned char)(SDS_TYPE_5 | (newlen << SDS_TYPE_BITS)); - } - break; - case SDS_TYPE_8: - SDS_HDR(8,s)->len = (uint8_t)newlen; - break; - case SDS_TYPE_16: - SDS_HDR(16,s)->len = (uint16_t)newlen; - break; - case SDS_TYPE_32: - SDS_HDR(32,s)->len = (uint32_t)newlen; - break; - case SDS_TYPE_64: - SDS_HDR(64,s)->len = (uint64_t)newlen; - break; - } -} - -static inline void sdsinclen(sds s, size_t inc) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - { - unsigned char *fp = ((unsigned char*)s)-1; - unsigned char newlen = SDS_TYPE_5_LEN(flags)+(unsigned char)inc; - *fp = SDS_TYPE_5 | (newlen << SDS_TYPE_BITS); - } - break; - case SDS_TYPE_8: - SDS_HDR(8,s)->len += (uint8_t)inc; - break; - case SDS_TYPE_16: - SDS_HDR(16,s)->len += (uint16_t)inc; - break; - case SDS_TYPE_32: - SDS_HDR(32,s)->len += (uint32_t)inc; - break; - case SDS_TYPE_64: - SDS_HDR(64,s)->len += (uint64_t)inc; - break; - } -} - -/* sdsalloc() = sdsavail() + sdslen() */ -static inline size_t sdsalloc(const sds s) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - return SDS_TYPE_5_LEN(flags); - case SDS_TYPE_8: - return SDS_HDR(8,s)->alloc; - case SDS_TYPE_16: - return SDS_HDR(16,s)->alloc; - case SDS_TYPE_32: - return SDS_HDR(32,s)->alloc; - case SDS_TYPE_64: - return SDS_HDR(64,s)->alloc; - } - return 0; -} - -static inline void sdssetalloc(sds s, size_t newlen) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - /* Nothing to do, this type has no total allocation info. */ - break; - case SDS_TYPE_8: - SDS_HDR(8,s)->alloc = (uint8_t)newlen; - break; - case SDS_TYPE_16: - SDS_HDR(16,s)->alloc = (uint16_t)newlen; - break; - case SDS_TYPE_32: - SDS_HDR(32,s)->alloc = (uint32_t)newlen; - break; - case SDS_TYPE_64: - SDS_HDR(64,s)->alloc = (uint64_t)newlen; - break; - } -} - -sds sdsnewlen(const void *init, size_t initlen); -sds sdsnew(const char *init); -sds sdsempty(void); -sds sdsdup(const sds s); -void sdsfree(sds s); -sds sdsgrowzero(sds s, size_t len); -sds sdscatlen(sds s, const void *t, size_t len); -sds sdscat(sds s, const char *t); -sds sdscatsds(sds s, const sds t); -sds sdscpylen(sds s, const char *t, size_t len); -sds sdscpy(sds s, const char *t); - -sds sdscatvprintf(sds s, const char *fmt, va_list ap); -#ifdef __GNUC__ -sds sdscatprintf(sds s, const char *fmt, ...) - __attribute__((format(printf, 2, 3))); -#else -sds sdscatprintf(sds s, const char *fmt, ...); -#endif - -sds sdscatfmt(sds s, char const *fmt, ...); -sds sdstrim(sds s, const char *cset); -int sdsrange(sds s, ssize_t start, ssize_t end); -void sdsupdatelen(sds s); -void sdsclear(sds s); -int sdscmp(const sds s1, const sds s2); -sds *sdssplitlen(const char *s, int len, const char *sep, int seplen, int *count); -void sdsfreesplitres(sds *tokens, int count); -void sdstolower(sds s); -void sdstoupper(sds s); -sds sdsfromlonglong(long long value); -sds sdscatrepr(sds s, const char *p, size_t len); -sds *sdssplitargs(const char *line, int *argc); -sds sdsmapchars(sds s, const char *from, const char *to, size_t setlen); -sds sdsjoin(char **argv, int argc, char *sep); -sds sdsjoinsds(sds *argv, int argc, const char *sep, size_t seplen); - -/* Low level functions exposed to the user API */ -sds sdsMakeRoomFor(sds s, size_t addlen); -void sdsIncrLen(sds s, int incr); -sds sdsRemoveFreeSpace(sds s); -size_t sdsAllocSize(sds s); -void *sdsAllocPtr(sds s); - -/* Export the allocator used by SDS to the program using SDS. - * Sometimes the program SDS is linked to, may use a different set of - * allocators, but may want to allocate or free things that SDS will - * respectively free or allocate. */ -void *sds_malloc(size_t size); -void *sds_realloc(void *ptr, size_t size); -void sds_free(void *ptr); - -#ifdef REDIS_TEST -int sdsTest(int argc, char *argv[]); -#endif - -#endif diff --git a/include/nettle/aes.h b/include/nettle/aes.h deleted file mode 100644 index 5a0545c..0000000 --- a/include/nettle/aes.h +++ /dev/null @@ -1,177 +0,0 @@ -/* aes.h - - The aes/rijndael block cipher. - - Copyright (C) 2001, 2013 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_AES_H_INCLUDED -#define NETTLE_AES_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define aes_set_encrypt_key nettle_aes_set_encrypt_key -#define aes_set_decrypt_key nettle_aes_set_decrypt_key -#define aes_invert_key nettle_aes_invert_key -#define aes_encrypt nettle_aes_encrypt -#define aes_decrypt nettle_aes_decrypt -#define aes128_set_encrypt_key nettle_aes128_set_encrypt_key -#define aes128_set_decrypt_key nettle_aes128_set_decrypt_key -#define aes128_invert_key nettle_aes128_invert_key -#define aes128_encrypt nettle_aes128_encrypt -#define aes128_decrypt nettle_aes128_decrypt -#define aes192_set_encrypt_key nettle_aes192_set_encrypt_key -#define aes192_set_decrypt_key nettle_aes192_set_decrypt_key -#define aes192_invert_key nettle_aes192_invert_key -#define aes192_encrypt nettle_aes192_encrypt -#define aes192_decrypt nettle_aes192_decrypt -#define aes256_set_encrypt_key nettle_aes256_set_encrypt_key -#define aes256_set_decrypt_key nettle_aes256_set_decrypt_key -#define aes256_invert_key nettle_aes256_invert_key -#define aes256_encrypt nettle_aes256_encrypt -#define aes256_decrypt nettle_aes256_decrypt - -#define AES_BLOCK_SIZE 16 - -#define AES128_KEY_SIZE 16 -#define AES192_KEY_SIZE 24 -#define AES256_KEY_SIZE 32 -#define _AES128_ROUNDS 10 -#define _AES192_ROUNDS 12 -#define _AES256_ROUNDS 14 - -/* Variable key size between 128 and 256 bits. But the only valid - * values are 16 (128 bits), 24 (192 bits) and 32 (256 bits). */ -#define AES_MIN_KEY_SIZE AES128_KEY_SIZE -#define AES_MAX_KEY_SIZE AES256_KEY_SIZE - -/* Older nettle-2.7 interface */ - -#define AES_KEY_SIZE 32 - -struct aes_ctx -{ - unsigned rounds; /* number of rounds to use for our key size */ - uint32_t keys[4*(_AES256_ROUNDS + 1)]; /* maximum size of key schedule */ -}; - -void -aes_set_encrypt_key(struct aes_ctx *ctx, - size_t length, const uint8_t *key); - -void -aes_set_decrypt_key(struct aes_ctx *ctx, - size_t length, const uint8_t *key); - -void -aes_invert_key(struct aes_ctx *dst, - const struct aes_ctx *src); - -void -aes_encrypt(const struct aes_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -aes_decrypt(const struct aes_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -struct aes128_ctx -{ - uint32_t keys[4 * (_AES128_ROUNDS + 1)]; -}; - -void -aes128_set_encrypt_key(struct aes128_ctx *ctx, const uint8_t *key); -void -aes128_set_decrypt_key(struct aes128_ctx *ctx, const uint8_t *key); -void -aes128_invert_key(struct aes128_ctx *dst, - const struct aes128_ctx *src); -void -aes128_encrypt(const struct aes128_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -aes128_decrypt(const struct aes128_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -struct aes192_ctx -{ - uint32_t keys[4 * (_AES192_ROUNDS + 1)]; -}; - -void -aes192_set_encrypt_key(struct aes192_ctx *ctx, const uint8_t *key); -void -aes192_set_decrypt_key(struct aes192_ctx *ctx, const uint8_t *key); -void -aes192_invert_key(struct aes192_ctx *dst, - const struct aes192_ctx *src); -void -aes192_encrypt(const struct aes192_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -aes192_decrypt(const struct aes192_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -struct aes256_ctx -{ - uint32_t keys[4 * (_AES256_ROUNDS + 1)]; -}; - -void -aes256_set_encrypt_key(struct aes256_ctx *ctx, const uint8_t *key); -void -aes256_set_decrypt_key(struct aes256_ctx *ctx, const uint8_t *key); -void -aes256_invert_key(struct aes256_ctx *dst, - const struct aes256_ctx *src); -void -aes256_encrypt(const struct aes256_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -aes256_decrypt(const struct aes256_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_AES_H_INCLUDED */ diff --git a/include/nettle/arcfour.h b/include/nettle/arcfour.h deleted file mode 100644 index 804b9e4..0000000 --- a/include/nettle/arcfour.h +++ /dev/null @@ -1,79 +0,0 @@ -/* arcfour.h - - The arcfour/rc4 stream cipher. - - Copyright (C) 2001, 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_ARCFOUR_H_INCLUDED -#define NETTLE_ARCFOUR_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define arcfour128_set_key nettle_arcfour128_set_key -#define arcfour_set_key nettle_arcfour_set_key -#define arcfour_crypt nettle_arcfour_crypt - -/* Minimum and maximum keysizes, and a reasonable default. In - * octets.*/ -#define ARCFOUR_MIN_KEY_SIZE 1 -#define ARCFOUR_MAX_KEY_SIZE 256 -#define ARCFOUR_KEY_SIZE 16 -#define ARCFOUR128_KEY_SIZE 16 - -struct arcfour_ctx -{ - uint8_t S[256]; - uint8_t i; - uint8_t j; -}; - -void -arcfour_set_key(struct arcfour_ctx *ctx, - size_t length, const uint8_t *key); - -void -arcfour128_set_key(struct arcfour_ctx *ctx, const uint8_t *key); - -void -arcfour_crypt(struct arcfour_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_ARCFOUR_H_INCLUDED */ - diff --git a/include/nettle/arctwo.h b/include/nettle/arctwo.h deleted file mode 100644 index 1a9b8b3..0000000 --- a/include/nettle/arctwo.h +++ /dev/null @@ -1,103 +0,0 @@ -/* arctwo.h - - The arctwo/rfc2268 block cipher. - - Copyright (C) 2004 Simon Josefsson - Copyright (C) 2002, 2004, 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_ARCTWO_H_INCLUDED -#define NETTLE_ARCTWO_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define arctwo_set_key nettle_arctwo_set_key -#define arctwo_set_key_ekb nettle_arctwo_set_key_ekb -#define arctwo_set_key_gutmann nettle_arctwo_set_key_gutmann -#define arctwo40_set_key nettle_arctwo40_set_key -#define arctwo64_set_key nettle_arctwo64_set_key -#define arctwo128_set_key nettle_arctwo128_set_key -#define arctwo128_set_key_gutmann nettle_arctwo128_set_key_gutmann -#define arctwo_encrypt nettle_arctwo_encrypt -#define arctwo_decrypt nettle_arctwo_decrypt - -#define ARCTWO_BLOCK_SIZE 8 - -/* Variable key size from 1 byte to 128 bytes. */ -#define ARCTWO_MIN_KEY_SIZE 1 -#define ARCTWO_MAX_KEY_SIZE 128 - -#define ARCTWO_KEY_SIZE 8 - -struct arctwo_ctx -{ - uint16_t S[64]; -}; - -/* Key expansion function that takes the "effective key bits", 1-1024, - as an explicit argument. 0 means maximum key bits. */ -void -arctwo_set_key_ekb (struct arctwo_ctx *ctx, - size_t length, const uint8_t * key, unsigned ekb); - -/* Equvivalent to arctwo_set_key_ekb, with ekb = 8 * length */ -void -arctwo_set_key (struct arctwo_ctx *ctx, size_t length, const uint8_t *key); -void -arctwo40_set_key (struct arctwo_ctx *ctx, const uint8_t *key); -void -arctwo64_set_key (struct arctwo_ctx *ctx, const uint8_t *key); -void -arctwo128_set_key (struct arctwo_ctx *ctx, const uint8_t *key); - -/* Equvivalent to arctwo_set_key_ekb, with ekb = 1024 */ -void -arctwo_set_key_gutmann (struct arctwo_ctx *ctx, - size_t length, const uint8_t *key); -void -arctwo128_set_key_gutmann (struct arctwo_ctx *ctx, - const uint8_t *key); - -void -arctwo_encrypt (struct arctwo_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); -void -arctwo_decrypt (struct arctwo_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_ARCTWO_H_INCLUDED */ diff --git a/include/nettle/asn1.h b/include/nettle/asn1.h deleted file mode 100644 index da2fbe5..0000000 --- a/include/nettle/asn1.h +++ /dev/null @@ -1,152 +0,0 @@ -/* asn1.h - - Limited support for ASN.1 DER decoding. - - Copyright (C) 2005 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_ASN1_H_INCLUDED -#define NETTLE_ASN1_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define asn1_der_iterator_first nettle_asn1_der_iterator_first -#define asn1_der_iterator_next nettle_asn1_der_iterator_next -#define asn1_der_decode_constructed nettle_asn1_der_decode_constructed -#define asn1_der_decode_constructed_last nettle_asn1_der_decode_constructed_last -#define asn1_der_decode_bitstring nettle_asn1_der_decode_bitstring -#define asn1_der_decode_bitstring_last nettle_asn1_der_decode_bitstring_last -#define asn1_der_get_uint32 nettle_asn1_der_get_uint32 -#define asn1_der_get_bignum nettle_asn1_der_get_bignum - - -/* enum asn1_type keeps the class number and the constructive in bits - 13-14, and the constructive flag in bit 12. The remaining 14 bits - are the tag (although currently, only tags in the range 0-30 are - supported). */ - -enum - { - ASN1_TYPE_CONSTRUCTED = 1 << 12, - - ASN1_CLASS_UNIVERSAL = 0, - ASN1_CLASS_APPLICATION = 1 << 13, - ASN1_CLASS_CONTEXT_SPECIFIC = 2 << 13, - ASN1_CLASS_PRIVATE = 3 << 13, - - ASN1_CLASS_MASK = 3 << 13, - ASN1_CLASS_SHIFT = 13, - }; - -enum asn1_type - { - ASN1_BOOLEAN = 1, - ASN1_INTEGER = 2, - ASN1_BITSTRING = 3, - ASN1_OCTETSTRING = 4, - ASN1_NULL = 5, - ASN1_IDENTIFIER = 6, - ASN1_REAL = 9, - ASN1_ENUMERATED = 10, - ASN1_UTF8STRING = 12, - ASN1_SEQUENCE = 16 | ASN1_TYPE_CONSTRUCTED, - ASN1_SET = 17 | ASN1_TYPE_CONSTRUCTED, - ASN1_PRINTABLESTRING = 19, - ASN1_TELETEXSTRING = 20, - ASN1_IA5STRING = 22, - ASN1_UTC = 23, - ASN1_UNIVERSALSTRING = 28, - ASN1_BMPSTRING = 30, - }; - -enum asn1_iterator_result - { - ASN1_ITERATOR_ERROR, - ASN1_ITERATOR_PRIMITIVE, - ASN1_ITERATOR_CONSTRUCTED, - ASN1_ITERATOR_END, - }; - -/* Parsing DER objects. */ -struct asn1_der_iterator -{ - size_t buffer_length; - const uint8_t *buffer; - - /* Next object to parse. */ - size_t pos; - - enum asn1_type type; - - /* Pointer to the current object */ - size_t length; - const uint8_t *data; -}; - -/* Initializes the iterator. */ -enum asn1_iterator_result -asn1_der_iterator_first(struct asn1_der_iterator *iterator, - size_t length, const uint8_t *input); - -enum asn1_iterator_result -asn1_der_iterator_next(struct asn1_der_iterator *iterator); - -/* Starts parsing of a constructed object. */ -enum asn1_iterator_result -asn1_der_decode_constructed(struct asn1_der_iterator *i, - struct asn1_der_iterator *contents); - -/* For the common case that we have a sequence at the end of the - object. Checks that the current object is the final one, and then - reinitializes the iterator to parse its ontents. */ -enum asn1_iterator_result -asn1_der_decode_constructed_last(struct asn1_der_iterator *i); - -enum asn1_iterator_result -asn1_der_decode_bitstring(struct asn1_der_iterator *i, - struct asn1_der_iterator *contents); - -enum asn1_iterator_result -asn1_der_decode_bitstring_last(struct asn1_der_iterator *i); - -/* All these functions return 1 on success, 0 on failure */ -int -asn1_der_get_uint32(struct asn1_der_iterator *i, - uint32_t *x); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_ASN1_H_INCLUDED */ diff --git a/include/nettle/base16.h b/include/nettle/base16.h deleted file mode 100644 index 755e6ed..0000000 --- a/include/nettle/base16.h +++ /dev/null @@ -1,110 +0,0 @@ -/* base16.h - - Hex encoding and decoding, following spki conventions (i.e. - allowing whitespace between digits). - - Copyright (C) 2002 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_BASE16_H_INCLUDED -#define NETTLE_BASE16_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define base16_encode_single nettle_base16_encode_single -#define base16_encode_update nettle_base16_encode_update -#define base16_decode_init nettle_base16_decode_init -#define base16_decode_single nettle_base16_decode_single -#define base16_decode_update nettle_base16_decode_update -#define base16_decode_final nettle_base16_decode_final - -/* Base16 encoding */ - -/* Maximum length of output for base16_encode_update. */ -#define BASE16_ENCODE_LENGTH(length) ((length) * 2) - -/* Encodes a single byte. Always stores two digits in dst[0] and dst[1]. */ -void -base16_encode_single(char *dst, - uint8_t src); - -/* Always stores BASE16_ENCODE_LENGTH(length) digits in dst. */ -void -base16_encode_update(char *dst, - size_t length, - const uint8_t *src); - - -/* Base16 decoding */ - -/* Maximum length of output for base16_decode_update. */ -/* We have at most 4 buffered bits, and a total of (length + 1) * 4 bits. */ -#define BASE16_DECODE_LENGTH(length) (((length) + 1) / 2) - -struct base16_decode_ctx -{ - unsigned char word; /* Leftover bits */ - unsigned char bits; /* Number buffered bits */ -}; - -void -base16_decode_init(struct base16_decode_ctx *ctx); - -/* Decodes a single byte. Returns amount of output (0 or 1), or -1 on - * errors. */ -int -base16_decode_single(struct base16_decode_ctx *ctx, - uint8_t *dst, - char src); - -/* Returns 1 on success, 0 on error. DST should point to an area of - * size at least BASE16_DECODE_LENGTH(length). The amount of data - * generated is returned in *DST_LENGTH. */ - -int -base16_decode_update(struct base16_decode_ctx *ctx, - size_t *dst_length, - uint8_t *dst, - size_t src_length, - const char *src); - -/* Returns 1 on success. */ -int -base16_decode_final(struct base16_decode_ctx *ctx); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_BASE16_H_INCLUDED */ diff --git a/include/nettle/base64.h b/include/nettle/base64.h deleted file mode 100644 index 8e69adb..0000000 --- a/include/nettle/base64.h +++ /dev/null @@ -1,172 +0,0 @@ -/* base64.h - - Base-64 encoding and decoding. - - Copyright (C) 2002 Niels M枚ller, Dan Egnor - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_BASE64_H_INCLUDED -#define NETTLE_BASE64_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define base64_encode_init nettle_base64_encode_init -#define base64url_encode_init nettle_base64url_encode_init -#define base64_encode_single nettle_base64_encode_single -#define base64_encode_update nettle_base64_encode_update -#define base64_encode_final nettle_base64_encode_final -#define base64_encode_raw nettle_base64_encode_raw -#define base64_encode_group nettle_base64_encode_group -#define base64_decode_init nettle_base64_decode_init -#define base64url_decode_init nettle_base64url_decode_init -#define base64_decode_single nettle_base64_decode_single -#define base64_decode_update nettle_base64_decode_update -#define base64_decode_final nettle_base64_decode_final - -#define BASE64_BINARY_BLOCK_SIZE 3 -#define BASE64_TEXT_BLOCK_SIZE 4 - -/* Base64 encoding */ - -/* Maximum length of output for base64_encode_update. NOTE: Doesn't - * include any padding that base64_encode_final may add. */ -/* We have at most 4 buffered bits, and a total of (4 + length * 8) bits. */ -#define BASE64_ENCODE_LENGTH(length) (((length) * 8 + 4)/6) - -/* Maximum length of output generated by base64_encode_final. */ -#define BASE64_ENCODE_FINAL_LENGTH 3 - -/* Exact length of output generated by base64_encode_raw, including - * padding. */ -#define BASE64_ENCODE_RAW_LENGTH(length) ((((length) + 2)/3)*4) - -struct base64_encode_ctx -{ - const char *alphabet; /* Alphabet to use for encoding */ - unsigned short word; /* Leftover bits */ - unsigned char bits; /* Number of bits, always 0, 2, or 4. */ -}; - -/* Initialize encoding context for base-64 */ -void -base64_encode_init(struct base64_encode_ctx *ctx); - -/* Initialize encoding context for URL safe alphabet, RFC 4648. */ -void -base64url_encode_init(struct base64_encode_ctx *ctx); - -/* Encodes a single byte. Returns amount of output (always 1 or 2). */ -size_t -base64_encode_single(struct base64_encode_ctx *ctx, - char *dst, - uint8_t src); - -/* Returns the number of output characters. DST should point to an - * area of size at least BASE64_ENCODE_LENGTH(length). */ -size_t -base64_encode_update(struct base64_encode_ctx *ctx, - char *dst, - size_t length, - const uint8_t *src); - -/* DST should point to an area of size at least - * BASE64_ENCODE_FINAL_LENGTH */ -size_t -base64_encode_final(struct base64_encode_ctx *ctx, - char *dst); - -/* Lower level functions */ - -/* Encodes a string in one go, including any padding at the end. - * Generates exactly BASE64_ENCODE_RAW_LENGTH(length) bytes of output. - * Supports overlapped operation, if src <= dst. FIXME: Use of overlap - * is deprecated, if needed there should be a separate public fucntion - * to do that.*/ -void -base64_encode_raw(char *dst, size_t length, const uint8_t *src); - -void -base64_encode_group(char *dst, uint32_t group); - - -/* Base64 decoding */ - -/* Maximum length of output for base64_decode_update. */ -/* We have at most 6 buffered bits, and a total of (length + 1) * 6 bits. */ -#define BASE64_DECODE_LENGTH(length) ((((length) + 1) * 6) / 8) - -struct base64_decode_ctx -{ - const signed char *table; /* Decoding table */ - unsigned short word; /* Leftover bits */ - unsigned char bits; /* Number buffered bits */ - - /* Number of padding characters encountered */ - unsigned char padding; -}; - -/* Initialize decoding context for base-64 */ -void -base64_decode_init(struct base64_decode_ctx *ctx); - -/* Initialize encoding context for URL safe alphabet, RFC 4648. */ -void -base64url_decode_init(struct base64_decode_ctx *ctx); - -/* Decodes a single byte. Returns amount of output (0 or 1), or -1 on - * errors. */ -int -base64_decode_single(struct base64_decode_ctx *ctx, - uint8_t *dst, - char src); - -/* Returns 1 on success, 0 on error. DST should point to an area of - * size at least BASE64_DECODE_LENGTH(length). The amount of data - * generated is returned in *DST_LENGTH. */ -int -base64_decode_update(struct base64_decode_ctx *ctx, - size_t *dst_length, - uint8_t *dst, - size_t src_length, - const char *src); - -/* Returns 1 on success. */ -int -base64_decode_final(struct base64_decode_ctx *ctx); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_BASE64_H_INCLUDED */ diff --git a/include/nettle/bignum.h b/include/nettle/bignum.h deleted file mode 100644 index 9afcd29..0000000 --- a/include/nettle/bignum.h +++ /dev/null @@ -1,140 +0,0 @@ -/* bignum.h - - Bignum operations that are missing from gmp. - - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_BIGNUM_H_INCLUDED -#define NETTLE_BIGNUM_H_INCLUDED - -#include "nettle-meta.h" - -#include "nettle-types.h" - -/* For NETTLE_USE_MINI_GMP */ -#include "version.h" - -#if NETTLE_USE_MINI_GMP -# include "mini-gmp.h" - -# define GMP_NUMB_MASK (~(mp_limb_t) 0) - -/* Function missing in older gmp versions, and checked for with ifdef */ -# define mpz_limbs_read mpz_limbs_read -/* Side-channel silent powm not available in mini-gmp. */ -# define mpz_powm_sec mpz_powm -#else -# include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Size needed for signed encoding, including extra sign byte if - * necessary. */ -size_t -nettle_mpz_sizeinbase_256_s(const mpz_t x); - -/* Size needed for unsigned encoding */ -size_t -nettle_mpz_sizeinbase_256_u(const mpz_t x); - -/* Writes an integer as length octets, using big endian byte order, - * and two's complement for negative numbers. */ -void -nettle_mpz_get_str_256(size_t length, uint8_t *s, const mpz_t x); - -/* Reads a big endian, two's complement, integer. */ -void -nettle_mpz_set_str_256_s(mpz_t x, - size_t length, const uint8_t *s); - -void -nettle_mpz_init_set_str_256_s(mpz_t x, - size_t length, const uint8_t *s); - -/* Similar, but for unsigned format. These function don't interpret - * the most significant bit as the sign. */ -void -nettle_mpz_set_str_256_u(mpz_t x, - size_t length, const uint8_t *s); - -void -nettle_mpz_init_set_str_256_u(mpz_t x, - size_t length, const uint8_t *s); - -/* Returns a uniformly distributed random number 0 <= x < 2^n */ -void -nettle_mpz_random_size(mpz_t x, - void *ctx, nettle_random_func *random, - unsigned bits); - -/* Returns a number x, almost uniformly random in the range - * 0 <= x < n. */ -void -nettle_mpz_random(mpz_t x, - void *ctx, nettle_random_func *random, - const mpz_t n); - -void -nettle_random_prime(mpz_t p, unsigned bits, int top_bits_set, - void *ctx, nettle_random_func *random, - void *progress_ctx, nettle_progress_func *progress); - -void -_nettle_generate_pocklington_prime (mpz_t p, mpz_t r, - unsigned bits, int top_bits_set, - void *ctx, nettle_random_func *random, - const mpz_t p0, - const mpz_t q, - const mpz_t p0q); - -/* sexp parsing */ -struct sexp_iterator; - -/* If LIMIT is non-zero, the number must be at most LIMIT bits. - * Implies sexp_iterator_next. */ -int -nettle_mpz_set_sexp(mpz_t x, unsigned limit, struct sexp_iterator *i); - - -/* der parsing */ -struct asn1_der_iterator; - -int -nettle_asn1_der_get_bignum(struct asn1_der_iterator *iterator, - mpz_t x, unsigned max_bits); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_BIGNUM_H_INCLUDED */ diff --git a/include/nettle/blowfish.h b/include/nettle/blowfish.h deleted file mode 100644 index bcdc7cb..0000000 --- a/include/nettle/blowfish.h +++ /dev/null @@ -1,89 +0,0 @@ -/* blowfish.h - - Blowfish block cipher. - - Copyright (C) 2014 Niels M枚ller - Copyright (C) 1998, 2001 FSF, Ray Dassen, Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_BLOWFISH_H_INCLUDED -#define NETTLE_BLOWFISH_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define blowfish_set_key nettle_blowfish_set_key -#define blowfish128_set_key nettle_blowfish128_set_key -#define blowfish_encrypt nettle_blowfish_encrypt -#define blowfish_decrypt nettle_blowfish_decrypt - -#define BLOWFISH_BLOCK_SIZE 8 - -/* Variable key size between 64 and 448 bits. */ -#define BLOWFISH_MIN_KEY_SIZE 8 -#define BLOWFISH_MAX_KEY_SIZE 56 - -/* Default to 128 bits */ -#define BLOWFISH_KEY_SIZE 16 - -#define BLOWFISH128_KEY_SIZE 16 - -#define _BLOWFISH_ROUNDS 16 - -struct blowfish_ctx -{ - uint32_t s[4][256]; - uint32_t p[_BLOWFISH_ROUNDS+2]; -}; - -/* Returns 0 for weak keys, otherwise 1. */ -int -blowfish_set_key(struct blowfish_ctx *ctx, - size_t length, const uint8_t *key); -int -blowfish128_set_key(struct blowfish_ctx *ctx, const uint8_t *key); - -void -blowfish_encrypt(const struct blowfish_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -blowfish_decrypt(const struct blowfish_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_BLOWFISH_H_INCLUDED */ diff --git a/include/nettle/buffer.h b/include/nettle/buffer.h deleted file mode 100644 index 9cbcfb1..0000000 --- a/include/nettle/buffer.h +++ /dev/null @@ -1,106 +0,0 @@ -/* buffer.h - - A bare-bones string stream. - - Copyright (C) 2002 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_BUFFER_H_INCLUDED -#define NETTLE_BUFFER_H_INCLUDED - -#include "realloc.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct nettle_buffer -{ - uint8_t *contents; - /* Allocated size */ - size_t alloc; - - void *realloc_ctx; - nettle_realloc_func *realloc; - - /* Current size */ - size_t size; -}; - -/* Initializes a buffer that uses plain realloc */ -void -nettle_buffer_init(struct nettle_buffer *buffer); - -void -nettle_buffer_init_realloc(struct nettle_buffer *buffer, - void *realloc_ctx, - nettle_realloc_func *realloc); - -/* Initializes a buffer of fix size */ -void -nettle_buffer_init_size(struct nettle_buffer *buffer, - size_t length, uint8_t *space); - -void -nettle_buffer_clear(struct nettle_buffer *buffer); - -/* Resets the buffer, without freeing the buffer space. */ -void -nettle_buffer_reset(struct nettle_buffer *buffer); - -int -nettle_buffer_grow(struct nettle_buffer *buffer, - size_t length); - -#define NETTLE_BUFFER_PUTC(buffer, c) \ -( (((buffer)->size < (buffer)->alloc) || nettle_buffer_grow((buffer), 1)) \ - && ((buffer)->contents[(buffer)->size++] = (c), 1) ) - -int -nettle_buffer_write(struct nettle_buffer *buffer, - size_t length, const uint8_t *data); - -/* Like nettle_buffer_write, but instead of copying data to the - * buffer, it returns a pointer to the area where the caller can copy - * the data. The pointer is valid only until the next call that can - * reallocate the buffer. */ -uint8_t * -nettle_buffer_space(struct nettle_buffer *buffer, - size_t length); - -/* Copy the contents of SRC to the end of DST. */ -int -nettle_buffer_copy(struct nettle_buffer *dst, - const struct nettle_buffer *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_BUFFER_H_INCLUDED */ diff --git a/include/nettle/camellia.h b/include/nettle/camellia.h deleted file mode 100644 index b035db3..0000000 --- a/include/nettle/camellia.h +++ /dev/null @@ -1,143 +0,0 @@ -/* camellia.h - - Copyright (C) 2006,2007 NTT - (Nippon Telegraph and Telephone Corporation). - - Copyright (C) 2010, 2013 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_CAMELLIA_H_INCLUDED -#define NETTLE_CAMELLIA_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define camellia128_set_encrypt_key nettle_camellia128_set_encrypt_key -#define camellia128_set_decrypt_key nettle_camellia_set_decrypt_key -#define camellia128_invert_key nettle_camellia128_invert_key -#define camellia128_crypt nettle_camellia128_crypt - -#define camellia192_set_encrypt_key nettle_camellia192_set_encrypt_key -#define camellia192_set_decrypt_key nettle_camellia192_set_decrypt_key - -#define camellia256_set_encrypt_key nettle_camellia256_set_encrypt_key -#define camellia256_set_decrypt_key nettle_camellia256_set_decrypt_key -#define camellia256_invert_key nettle_camellia256_invert_key -#define camellia256_crypt nettle_camellia256_crypt - - -#define CAMELLIA_BLOCK_SIZE 16 -/* Valid key sizes are 128, 192 or 256 bits (16, 24 or 32 bytes) */ -#define CAMELLIA128_KEY_SIZE 16 -#define CAMELLIA192_KEY_SIZE 24 -#define CAMELLIA256_KEY_SIZE 32 - -/* For 128-bit keys, there are 18 regular rounds, pre- and - post-whitening, and two FL and FLINV rounds, using a total of 26 - subkeys, each of 64 bit. For 192- and 256-bit keys, there are 6 - additional regular rounds and one additional FL and FLINV, using a - total of 34 subkeys. */ -/* The clever combination of subkeys imply one of the pre- and - post-whitening keys is folded with the round keys, so that subkey - #1 and the last one (#25 or #33) is not used. The result is that we - have only 24 or 32 subkeys at the end of key setup. */ - -#define _CAMELLIA128_NKEYS 24 -#define _CAMELLIA256_NKEYS 32 - -struct camellia128_ctx -{ - uint64_t keys[_CAMELLIA128_NKEYS]; -}; - -void -camellia128_set_encrypt_key(struct camellia128_ctx *ctx, - const uint8_t *key); - -void -camellia128_set_decrypt_key(struct camellia128_ctx *ctx, - const uint8_t *key); - -void -camellia128_invert_key(struct camellia128_ctx *dst, - const struct camellia128_ctx *src); - -void -camellia128_crypt(const struct camellia128_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -struct camellia256_ctx -{ - uint64_t keys[_CAMELLIA256_NKEYS]; -}; - -void -camellia256_set_encrypt_key(struct camellia256_ctx *ctx, - const uint8_t *key); - -void -camellia256_set_decrypt_key(struct camellia256_ctx *ctx, - const uint8_t *key); - -void -camellia256_invert_key(struct camellia256_ctx *dst, - const struct camellia256_ctx *src); - -void -camellia256_crypt(const struct camellia256_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -/* camellia192 is the same as camellia256, except for the key - schedule. */ -/* Slightly ugly with a #define on a struct tag, since it might cause - surprises if also used as a name of a variable. */ -#define camellia192_ctx camellia256_ctx - -void -camellia192_set_encrypt_key(struct camellia256_ctx *ctx, - const uint8_t *key); - -void -camellia192_set_decrypt_key(struct camellia256_ctx *ctx, - const uint8_t *key); - -#define camellia192_invert_key camellia256_invert_key -#define camellia192_crypt camellia256_crypt - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_CAMELLIA_H_INCLUDED */ diff --git a/include/nettle/cast128.h b/include/nettle/cast128.h deleted file mode 100644 index 9d099ec..0000000 --- a/include/nettle/cast128.h +++ /dev/null @@ -1,86 +0,0 @@ -/* cast128.h - - The CAST-128 block cipher. - - Copyright (C) 2001, 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_CAST128_H_INCLUDED -#define NETTLE_CAST128_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define cast5_set_key nettle_cast5_set_key -#define cast128_set_key nettle_cast128_set_key -#define cast128_encrypt nettle_cast128_encrypt -#define cast128_decrypt nettle_cast128_decrypt - -#define CAST128_BLOCK_SIZE 8 - -/* Variable key size between 40 and 128. */ -#define CAST5_MIN_KEY_SIZE 5 -#define CAST5_MAX_KEY_SIZE 16 - -#define CAST128_KEY_SIZE 16 - -struct cast128_ctx -{ - unsigned rounds; /* Number of rounds to use, 12 or 16 */ - /* Expanded key, rotations (5 bits only) and 32-bit masks. */ - unsigned char Kr[16]; - uint32_t Km[16]; -}; - -/* Using variable key size. */ -void -cast5_set_key(struct cast128_ctx *ctx, - size_t length, const uint8_t *key); - -void -cast128_set_key(struct cast128_ctx *ctx, const uint8_t *key); - -void -cast128_encrypt(const struct cast128_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -cast128_decrypt(const struct cast128_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_CAST128_H_INCLUDED */ diff --git a/include/nettle/cbc.h b/include/nettle/cbc.h deleted file mode 100644 index 93b2e73..0000000 --- a/include/nettle/cbc.h +++ /dev/null @@ -1,86 +0,0 @@ -/* cbc.h - - Cipher block chaining mode. - - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_CBC_H_INCLUDED -#define NETTLE_CBC_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define cbc_encrypt nettle_cbc_encrypt -#define cbc_decrypt nettle_cbc_decrypt - -void -cbc_encrypt(const void *ctx, nettle_cipher_func *f, - size_t block_size, uint8_t *iv, - size_t length, uint8_t *dst, - const uint8_t *src); - -void -cbc_decrypt(const void *ctx, nettle_cipher_func *f, - size_t block_size, uint8_t *iv, - size_t length, uint8_t *dst, - const uint8_t *src); - -#define CBC_CTX(type, size) \ -{ type ctx; uint8_t iv[size]; } - -#define CBC_SET_IV(ctx, data) \ -memcpy((ctx)->iv, (data), sizeof((ctx)->iv)) - -/* NOTE: Avoid using NULL, as we don't include anything defining it. */ -#define CBC_ENCRYPT(self, f, length, dst, src) \ - (0 ? ((f)(&(self)->ctx, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0)) \ - : cbc_encrypt((void *) &(self)->ctx, \ - (nettle_cipher_func *) (f), \ - sizeof((self)->iv), (self)->iv, \ - (length), (dst), (src))) - -#define CBC_DECRYPT(self, f, length, dst, src) \ - (0 ? ((f)(&(self)->ctx, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0)) \ - : cbc_decrypt((void *) &(self)->ctx, \ - (nettle_cipher_func *) (f), \ - sizeof((self)->iv), (self)->iv, \ - (length), (dst), (src))) - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_CBC_H_INCLUDED */ diff --git a/include/nettle/ccm.h b/include/nettle/ccm.h deleted file mode 100644 index 0a742a5..0000000 --- a/include/nettle/ccm.h +++ /dev/null @@ -1,302 +0,0 @@ -/* ccm.h - - Counter with CBC-MAC mode, specified by NIST, - http://csrc.nist.gov/publications/nistpubs/800-38C/SP800-38C_updated-July20_2007.pdf - - Copyright (C) 2014 Exegin Technologies Limited - Copyright (C) 2014 Owen Kirby - - Contributed to GNU Nettle by Owen Kirby - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -/* NIST SP800-38C doesn't specify the particular formatting and - * counter generation algorithm for CCM, but it does include an - * example algorithm. This example has become the de-factor standard, - * and has been adopted by both the IETF and IEEE across a wide - * variety of protocols. - */ - -#ifndef NETTLE_CCM_H_INCLUDED -#define NETTLE_CCM_H_INCLUDED - -#include "aes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define ccm_set_nonce nettle_ccm_set_nonce -#define ccm_update nettle_ccm_update -#define ccm_encrypt nettle_ccm_encrypt -#define ccm_decrypt nettle_ccm_decrypt -#define ccm_digest nettle_ccm_digest -#define ccm_encrypt_message nettle_ccm_encrypt_message -#define ccm_decrypt_message nettle_ccm_decrypt_message - -#define ccm_aes128_set_key nettle_ccm_aes128_set_key -#define ccm_aes128_set_nonce nettle_ccm_aes128_set_nonce -#define ccm_aes128_update nettle_ccm_aes128_update -#define ccm_aes128_encrypt nettle_ccm_aes128_encrypt -#define ccm_aes128_decrypt nettle_ccm_aes128_decrypt -#define ccm_aes128_digest nettle_ccm_aes128_digest -#define ccm_aes128_encrypt_message nettle_ccm_aes128_encrypt_message -#define ccm_aes128_decrypt_message nettle_ccm_aes128_decrypt_message - -#define ccm_aes192_set_key nettle_ccm_aes192_set_key -#define ccm_aes192_set_nonce nettle_ccm_aes192_set_nonce -#define ccm_aes192_update nettle_ccm_aes192_update -#define ccm_aes192_encrypt nettle_ccm_aes192_encrypt -#define ccm_aes192_decrypt nettle_ccm_aes192_decrypt -#define ccm_aes192_digest nettle_ccm_aes192_digest -#define ccm_aes192_encrypt_message nettle_ccm_aes192_encrypt_message -#define ccm_aes192_decrypt_message nettle_ccm_aes192_decrypt_message - -#define ccm_aes256_set_key nettle_ccm_aes256_set_key -#define ccm_aes256_set_nonce nettle_ccm_aes256_set_nonce -#define ccm_aes256_update nettle_ccm_aes256_update -#define ccm_aes256_encrypt nettle_ccm_aes256_encrypt -#define ccm_aes256_decrypt nettle_ccm_aes256_decrypt -#define ccm_aes256_digest nettle_ccm_aes256_digest -#define ccm_aes256_encrypt_message nettle_ccm_aes256_encrypt_message -#define ccm_aes256_decrypt_message nettle_ccm_aes256_decrypt_message - -/* For CCM, the block size of the block cipher shall be 128 bits. */ -#define CCM_BLOCK_SIZE 16 -#define CCM_DIGEST_SIZE 16 -#define CCM_MIN_NONCE_SIZE 7 -#define CCM_MAX_NONCE_SIZE 14 - -/* Maximum cleartext message size, as a function of the nonce size N. - The length field is L octets, with L = 15 - N, and then the maximum - size M = 2^{8L} - 1. */ -#define CCM_MAX_MSG_SIZE(N) \ - ((sizeof(size_t) + (N) <= 15) \ - ? ~(size_t) 0 \ - : ((size_t) 1 << (8*(15 - N))) - 1) - -/* Per-message state */ -struct ccm_ctx { - union nettle_block16 ctr; /* Counter for CTR encryption. */ - union nettle_block16 tag; /* CBC-MAC message tag. */ - /* Length of data processed by the CBC-MAC modulus the block size */ - unsigned int blength; -}; - -/* - * CCM mode requires the adata and message lengths when building the IV, which - * prevents streaming processing and it incompatible with the AEAD API. - */ -void -ccm_set_nonce(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func *f, - size_t noncelen, const uint8_t *nonce, - size_t authlen, size_t msglen, size_t taglen); - -void -ccm_update(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func *f, - size_t length, const uint8_t *data); - -void -ccm_encrypt(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func *f, - size_t length, uint8_t *dst, const uint8_t *src); - -void -ccm_decrypt(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func *f, - size_t length, uint8_t *dst, const uint8_t *src); - -void -ccm_digest(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func *f, - size_t length, uint8_t *digest); - -/* - * All-in-one encryption and decryption API: - * tlength = sizeof(digest) - * mlength = sizeof(cleartext) - * clength = sizeof(ciphertext) = mlength + tlength - * - * The ciphertext will contain the encrypted payload with the message digest - * appended to the end. - */ -void -ccm_encrypt_message(const void *cipher, nettle_cipher_func *f, - size_t nlength, const uint8_t *nonce, - size_t alength, const uint8_t *adata, - size_t tlength, - size_t clength, uint8_t *dst, const uint8_t *src); - -/* - * The decryption function will write the plaintext to dst and parse the digest - * from the final tlength bytes of the ciphertext. If the digest matched the - * value computed during decryption then this will return 1, or it will return - * 0 if the digest was invalid. - */ -int -ccm_decrypt_message(const void *cipher, nettle_cipher_func *f, - size_t nlength, const uint8_t *nonce, - size_t alength, const uint8_t *adata, - size_t tlength, - size_t mlength, uint8_t *dst, const uint8_t *src); - -/* CCM Mode with AES-128 */ -struct ccm_aes128_ctx { - struct ccm_ctx ccm; - struct aes128_ctx cipher; -}; - -void -ccm_aes128_set_key(struct ccm_aes128_ctx *ctx, const uint8_t *key); - -void -ccm_aes128_set_nonce(struct ccm_aes128_ctx *ctx, - size_t length, const uint8_t *nonce, - size_t authlen, size_t msglen, size_t taglen); - -void -ccm_aes128_update (struct ccm_aes128_ctx *ctx, - size_t length, const uint8_t *data); - -void -ccm_aes128_encrypt(struct ccm_aes128_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -ccm_aes128_decrypt(struct ccm_aes128_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -ccm_aes128_digest(struct ccm_aes128_ctx *ctx, - size_t length, uint8_t *digest); - -void -ccm_aes128_encrypt_message(struct ccm_aes128_ctx *ctx, - size_t nlength, const uint8_t *nonce, - size_t alength, const uint8_t *adata, - size_t tlength, - size_t clength, uint8_t *dst, const uint8_t *src); - -int -ccm_aes128_decrypt_message(struct ccm_aes128_ctx *ctx, - size_t nlength, const uint8_t *nonce, - size_t alength, const uint8_t *adata, - size_t tlength, - size_t mlength, uint8_t *dst, const uint8_t *src); - -struct ccm_aes192_ctx { - struct ccm_ctx ccm; - struct aes192_ctx cipher; -}; - -/* CCM Mode with AES-192 */ -void -ccm_aes192_set_key(struct ccm_aes192_ctx *ctx, const uint8_t *key); - -void -ccm_aes192_set_nonce(struct ccm_aes192_ctx *ctx, - size_t length, const uint8_t *nonce, - size_t authlen, size_t msglen, size_t taglen); - -void -ccm_aes192_update(struct ccm_aes192_ctx *ctx, - size_t length, const uint8_t *data); - -void -ccm_aes192_encrypt(struct ccm_aes192_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -ccm_aes192_decrypt(struct ccm_aes192_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -ccm_aes192_digest(struct ccm_aes192_ctx *ctx, - size_t length, uint8_t *digest); - -void -ccm_aes192_encrypt_message(struct ccm_aes192_ctx *ctx, - size_t nlength, const uint8_t *nonce, - size_t alength, const uint8_t *adata, - size_t tlength, - size_t clength, uint8_t *dst, const uint8_t *src); - -int -ccm_aes192_decrypt_message(struct ccm_aes192_ctx *ctx, - size_t nlength, const uint8_t *nonce, - size_t alength, const uint8_t *adata, - size_t tlength, - size_t mlength, uint8_t *dst, const uint8_t *src); - -/* CCM Mode with AES-256 */ -struct ccm_aes256_ctx { - struct ccm_ctx ccm; - struct aes256_ctx cipher; -}; - -void -ccm_aes256_set_key(struct ccm_aes256_ctx *ctx, const uint8_t *key); - -void -ccm_aes256_set_nonce(struct ccm_aes256_ctx *ctx, - size_t length, const uint8_t *nonce, - size_t authlen, size_t msglen, size_t taglen); - -void -ccm_aes256_update(struct ccm_aes256_ctx *ctx, - size_t length, const uint8_t *data); - -void -ccm_aes256_encrypt(struct ccm_aes256_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -ccm_aes256_decrypt(struct ccm_aes256_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -ccm_aes256_digest(struct ccm_aes256_ctx *ctx, - size_t length, uint8_t *digest); - -void -ccm_aes256_encrypt_message(struct ccm_aes256_ctx *ctx, - size_t nlength, const uint8_t *nonce, - size_t alength, const uint8_t *adata, - size_t tlength, - size_t clength, uint8_t *dst, const uint8_t *src); - -int -ccm_aes256_decrypt_message(struct ccm_aes256_ctx *ctx, - size_t nlength, const uint8_t *nonce, - size_t alength, const uint8_t *adata, - size_t tlength, - size_t mlength, uint8_t *dst, const uint8_t *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_CCM_H_INCLUDED */ diff --git a/include/nettle/cfb.h b/include/nettle/cfb.h deleted file mode 100644 index 16660df..0000000 --- a/include/nettle/cfb.h +++ /dev/null @@ -1,87 +0,0 @@ -/* cfb.h - - Cipher feedback mode. - - Copyright (C) 2015, 2017 Dmitry Eremin-Solenikov - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_CFB_H_INCLUDED -#define NETTLE_CFB_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define cfb_encrypt nettle_cfb_encrypt -#define cfb_decrypt nettle_cfb_decrypt - -void -cfb_encrypt(const void *ctx, nettle_cipher_func *f, - size_t block_size, uint8_t *iv, - size_t length, uint8_t *dst, - const uint8_t *src); - -void -cfb_decrypt(const void *ctx, nettle_cipher_func *f, - size_t block_size, uint8_t *iv, - size_t length, uint8_t *dst, - const uint8_t *src); - -#define CFB_CTX(type, size) \ -{ type ctx; uint8_t iv[size]; } - -#define CFB_SET_IV(ctx, data) \ -memcpy((ctx)->iv, (data), sizeof((ctx)->iv)) - -/* NOTE: Avoid using NULL, as we don't include anything defining it. */ -#define CFB_ENCRYPT(self, f, length, dst, src) \ - (0 ? ((f)(&(self)->ctx, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0)) \ - : cfb_encrypt((void *) &(self)->ctx, \ - (nettle_cipher_func *) (f), \ - sizeof((self)->iv), (self)->iv, \ - (length), (dst), (src))) - -#define CFB_DECRYPT(self, f, length, dst, src) \ - (0 ? ((f)(&(self)->ctx, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0)) \ - : cfb_decrypt((void *) &(self)->ctx, \ - (nettle_cipher_func *) (f), \ - sizeof((self)->iv), (self)->iv, \ - (length), (dst), (src))) - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_CFB_H_INCLUDED */ diff --git a/include/nettle/chacha-poly1305.h b/include/nettle/chacha-poly1305.h deleted file mode 100644 index ce40b77..0000000 --- a/include/nettle/chacha-poly1305.h +++ /dev/null @@ -1,98 +0,0 @@ -/* chacha-poly1305.h - - AEAD mechanism based on chacha and poly1305. - See draft-agl-tls-chacha20poly1305-04. - - Copyright (C) 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_CHACHA_POLY1305_H_INCLUDED -#define NETTLE_CHACHA_POLY1305_H_INCLUDED - -#include "chacha.h" -#include "poly1305.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define chacha_poly1305_set_key nettle_chacha_poly1305_set_key -#define chacha_poly1305_set_nonce nettle_chacha_poly1305_set_nonce -#define chacha_poly1305_update nettle_chacha_poly1305_update -#define chacha_poly1305_decrypt nettle_chacha_poly1305_decrypt -#define chacha_poly1305_encrypt nettle_chacha_poly1305_encrypt -#define chacha_poly1305_digest nettle_chacha_poly1305_digest - -#define CHACHA_POLY1305_BLOCK_SIZE 64 -/* FIXME: Any need for 128-bit variant? */ -#define CHACHA_POLY1305_KEY_SIZE 32 -#define CHACHA_POLY1305_NONCE_SIZE CHACHA_NONCE96_SIZE -#define CHACHA_POLY1305_DIGEST_SIZE 16 - -struct chacha_poly1305_ctx -{ - struct chacha_ctx chacha; - struct poly1305_ctx poly1305; - union nettle_block16 s; - uint64_t auth_size; - uint64_t data_size; - /* poly1305 block */ - uint8_t block[POLY1305_BLOCK_SIZE]; - unsigned index; -}; - -void -chacha_poly1305_set_key (struct chacha_poly1305_ctx *ctx, - const uint8_t *key); -void -chacha_poly1305_set_nonce (struct chacha_poly1305_ctx *ctx, - const uint8_t *nonce); - -void -chacha_poly1305_update (struct chacha_poly1305_ctx *ctx, - size_t length, const uint8_t *data); - -void -chacha_poly1305_encrypt (struct chacha_poly1305_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -chacha_poly1305_decrypt (struct chacha_poly1305_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -chacha_poly1305_digest (struct chacha_poly1305_ctx *ctx, - size_t length, uint8_t *digest); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_CHACHA_POLY1305_H_INCLUDED */ diff --git a/include/nettle/chacha.h b/include/nettle/chacha.h deleted file mode 100644 index 3f08283..0000000 --- a/include/nettle/chacha.h +++ /dev/null @@ -1,96 +0,0 @@ -/* chacha.h - - The ChaCha stream cipher. - - Copyright (C) 2013 Joachim Str枚mbergson - Copyright (C) 2012 Simon Josefsson - Copyright (C) 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_CHACHA_H_INCLUDED -#define NETTLE_CHACHA_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define chacha_set_key nettle_chacha_set_key -#define chacha_set_nonce nettle_chacha_set_nonce -#define chacha_set_nonce96 nettle_chacha_set_nonce96 -#define chacha_crypt nettle_chacha_crypt -#define _chacha_core _nettle_chacha_core - -/* Currently, only 256-bit keys are supported. */ -#define CHACHA_KEY_SIZE 32 -#define CHACHA_BLOCK_SIZE 64 -#define CHACHA_NONCE_SIZE 8 -#define CHACHA_NONCE96_SIZE 12 - -#define _CHACHA_STATE_LENGTH 16 - -struct chacha_ctx -{ - /* Indices 0-3 holds a constant (SIGMA or TAU). - Indices 4-11 holds the key. - Indices 12-13 holds the block counter. - Indices 14-15 holds the IV: - - This creates the state matrix: - C C C C - K K K K - K K K K - B B I I - */ - uint32_t state[_CHACHA_STATE_LENGTH]; -}; - -void -chacha_set_key(struct chacha_ctx *ctx, const uint8_t *key); - -void -chacha_set_nonce(struct chacha_ctx *ctx, const uint8_t *nonce); - -void -chacha_set_nonce96(struct chacha_ctx *ctx, const uint8_t *nonce); - -void -chacha_crypt(struct chacha_ctx *ctx, size_t length, - uint8_t *dst, const uint8_t *src); - -void -_chacha_core(uint32_t *dst, const uint32_t *src, unsigned rounds); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_CHACHA_H_INCLUDED */ diff --git a/include/nettle/ctr.h b/include/nettle/ctr.h deleted file mode 100644 index 7dd06a2..0000000 --- a/include/nettle/ctr.h +++ /dev/null @@ -1,71 +0,0 @@ -/* ctr.h - - Counter mode, using an network byte order incremented counter, - matching the testcases of NIST 800-38A. - - Copyright (C) 2005 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_CTR_H_INCLUDED -#define NETTLE_CTR_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define ctr_crypt nettle_ctr_crypt - -void -ctr_crypt(const void *ctx, nettle_cipher_func *f, - size_t block_size, uint8_t *ctr, - size_t length, uint8_t *dst, - const uint8_t *src); - -#define CTR_CTX(type, size) \ -{ type ctx; uint8_t ctr[size]; } - -#define CTR_SET_COUNTER(ctx, data) \ -memcpy((ctx)->ctr, (data), sizeof((ctx)->ctr)) - -#define CTR_CRYPT(self, f, length, dst, src) \ - (0 ? ((f)(&(self)->ctx, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0)) \ - : ctr_crypt((void *) &(self)->ctx, \ - (nettle_cipher_func *) (f), \ - sizeof((self)->ctr), (self)->ctr, \ - (length), (dst), (src))) - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_CTR_H_INCLUDED */ diff --git a/include/nettle/curve25519.h b/include/nettle/curve25519.h deleted file mode 100644 index 1dcd94d..0000000 --- a/include/nettle/curve25519.h +++ /dev/null @@ -1,60 +0,0 @@ -/* curve25519.h - - Copyright (C) 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_CURVE25519_H -#define NETTLE_CURVE25519_H - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define curve25519_mul_g nettle_curve25519_mul_g -#define curve25519_mul nettle_curve25519_mul - -#define CURVE25519_SIZE 32 - -/* Indicates that curve25519_mul conforms to RFC 7748. */ -#define NETTLE_CURVE25519_RFC7748 1 - -void -curve25519_mul_g (uint8_t *q, const uint8_t *n); - -void -curve25519_mul (uint8_t *q, const uint8_t *n, const uint8_t *p); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_CURVE25519_H */ diff --git a/include/nettle/des-compat.h b/include/nettle/des-compat.h deleted file mode 100644 index bda4e75..0000000 --- a/include/nettle/des-compat.h +++ /dev/null @@ -1,162 +0,0 @@ -/* des-compat.h - - The des block cipher, old libdes/openssl-style interface. - - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_DES_COMPAT_H_INCLUDED -#define NETTLE_DES_COMPAT_H_INCLUDED - -/* According to Assar, des_set_key, des_set_key_odd_parity, - * des_is_weak_key, plus the encryption functions (des_*_encrypt and - * des_cbc_cksum) would be a pretty useful subset. */ - -/* NOTE: This is quite experimental, and not all functions are - * implemented. Contributions, in particular test cases are welcome. */ - -#include "des.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* We use some name mangling, to avoid collisions with either other - * nettle functions or with libcrypto. */ - -#define des_ecb3_encrypt nettle_openssl_des_ecb3_encrypt -#define des_cbc_cksum nettle_openssl_des_cbc_cksum -#define des_ncbc_encrypt nettle_openssl_des_ncbc_encrypt -#define des_cbc_encrypt nettle_openssl_des_cbc_encrypt -#define des_ecb_encrypt nettle_openssl_des_ecb_encrypt -#define des_ede3_cbc_encrypt nettle_openssl_des_ede3_cbc_encrypt -#define des_set_odd_parity nettle_openssl_des_set_odd_parity -#define des_check_key nettle_openssl_des_check_key -#define des_key_sched nettle_openssl_des_key_sched -#define des_is_weak_key nettle_openssl_des_is_weak_key - -/* An extra alias */ -#undef des_set_key -#define des_set_key nettle_openssl_des_key_sched - -enum { DES_DECRYPT = 0, DES_ENCRYPT = 1 }; - -/* Types */ -typedef uint32_t DES_LONG; - -/* Note: Typedef:ed arrays should be avoided, but they're used here - * for compatibility. */ -typedef struct des_ctx des_key_schedule[1]; - -typedef uint8_t des_cblock[DES_BLOCK_SIZE]; -/* Note: The proper definition, - - typedef const uint8_t const_des_cblock[DES_BLOCK_SIZE]; - - would have worked, *if* all the prototypes had used arguments like - foo(const_des_cblock src, des_cblock dst), letting argument arrays - "decay" into pointers of type uint8_t * and const uint8_t *. - - But since openssl's prototypes use *pointers* const_des_cblock *src, - des_cblock *dst, this ends up in type conflicts, and the workaround - is to not use const at all. -*/ -#define const_des_cblock des_cblock - -/* Aliases */ -#define des_ecb2_encrypt(i,o,k1,k2,e) \ - des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) - -#define des_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ - des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) - -/* Global flag */ -extern int des_check_key; - -/* Prototypes */ - -/* Typing is a little confusing. Since both des_cblock and - des_key_schedule are typedef:ed arrays, it automatically decay to - a pointers. - - But the functions are declared taking pointers to des_cblock, i.e. - pointers to arrays. And on the other hand, they take plain - des_key_schedule arguments, which is equivalent to pointers to - struct des_ctx. */ -void -des_ecb3_encrypt(const_des_cblock *src, des_cblock *dst, - des_key_schedule k1, - des_key_schedule k2, - des_key_schedule k3, int enc); - -/* des_cbc_cksum in libdes returns a 32 bit integer, representing the - * latter half of the output block, using little endian byte order. */ -uint32_t -des_cbc_cksum(const uint8_t *src, des_cblock *dst, - long length, des_key_schedule ctx, - const_des_cblock *iv); - -/* NOTE: Doesn't update iv. */ -void -des_cbc_encrypt(const_des_cblock *src, des_cblock *dst, long length, - des_key_schedule ctx, const_des_cblock *iv, - int enc); - -/* Similar, but updates iv. */ -void -des_ncbc_encrypt(const_des_cblock *src, des_cblock *dst, long length, - des_key_schedule ctx, des_cblock *iv, - int enc); - -void -des_ecb_encrypt(const_des_cblock *src, des_cblock *dst, - des_key_schedule ctx, int enc); - -void -des_ede3_cbc_encrypt(const_des_cblock *src, des_cblock *dst, long length, - des_key_schedule k1, - des_key_schedule k2, - des_key_schedule k3, - des_cblock *iv, - int enc); - -int -des_set_odd_parity(des_cblock *key); - -int -des_key_sched(const_des_cblock *key, des_key_schedule ctx); - -int -des_is_weak_key(const_des_cblock *key); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_DES_COMPAT_H_INCLUDED */ diff --git a/include/nettle/des.h b/include/nettle/des.h deleted file mode 100644 index f8f3fea..0000000 --- a/include/nettle/des.h +++ /dev/null @@ -1,120 +0,0 @@ -/* des.h - - The des block cipher. And triple des. - - Copyright (C) 1992 Dana L. How - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -/* - * des - fast & portable DES encryption & decryption. - * Copyright (C) 1992 Dana L. How - * Please see the file `../lib/descore.README' for the complete copyright - * notice. - * - * Slightly edited by Niels M枚ller, 1997 - */ - -#ifndef NETTLE_DES_H_INCLUDED -#define NETTLE_DES_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Namespace mangling */ -#define des_set_key nettle_des_set_key -#define des_encrypt nettle_des_encrypt -#define des_decrypt nettle_des_decrypt -#define des_check_parity nettle_des_check_parity -#define des_fix_parity nettle_des_fix_parity -#define des3_set_key nettle_des3_set_key -#define des3_encrypt nettle_des3_encrypt -#define des3_decrypt nettle_des3_decrypt - -#define DES_KEY_SIZE 8 -#define DES_BLOCK_SIZE 8 - -/* Expanded key length */ -#define _DES_KEY_LENGTH 32 - -struct des_ctx -{ - uint32_t key[_DES_KEY_LENGTH]; -}; - -/* Returns 1 for good keys and 0 for weak keys. */ -int -des_set_key(struct des_ctx *ctx, const uint8_t *key); - -void -des_encrypt(const struct des_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -des_decrypt(const struct des_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -int -des_check_parity(size_t length, const uint8_t *key); - -void -des_fix_parity(size_t length, uint8_t *dst, - const uint8_t *src); - -#define DES3_KEY_SIZE 24 -#define DES3_BLOCK_SIZE DES_BLOCK_SIZE - -struct des3_ctx -{ - struct des_ctx des[3]; -}; - - -/* Returns 1 for good keys and 0 for weak keys. */ -int -des3_set_key(struct des3_ctx *ctx, const uint8_t *key); - -void -des3_encrypt(const struct des3_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -des3_decrypt(const struct des3_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_DES_H_INCLUDED */ diff --git a/include/nettle/dsa-compat.h b/include/nettle/dsa-compat.h deleted file mode 100644 index 4ec96ed..0000000 --- a/include/nettle/dsa-compat.h +++ /dev/null @@ -1,183 +0,0 @@ -/* dsa-compat.h - - Old DSA publickey interface. - - Copyright (C) 2002, 2013, 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_DSA_COMPAT_H_INCLUDED -#define NETTLE_DSA_COMPAT_H_INCLUDED - -#include "dsa.h" - -#include "sha1.h" -#include "sha2.h" - -/* Name mangling */ -#define dsa_public_key_init nettle_dsa_public_key_init -#define dsa_public_key_clear nettle_dsa_public_key_clear -#define dsa_private_key_init nettle_dsa_private_key_init -#define dsa_private_key_clear nettle_dsa_private_key_clear -#define dsa_sha1_sign nettle_dsa_sha1_sign -#define dsa_sha1_verify nettle_dsa_sha1_verify -#define dsa_sha256_sign nettle_dsa_sha256_sign -#define dsa_sha256_verify nettle_dsa_sha256_verify -#define dsa_sha1_sign_digest nettle_dsa_sha1_sign_digest -#define dsa_sha1_verify_digest nettle_dsa_sha1_verify_digest -#define dsa_sha256_sign_digest nettle_dsa_sha256_sign_digest -#define dsa_sha256_verify_digest nettle_dsa_sha256_verify_digest -#define dsa_compat_generate_keypair nettle_dsa_compat_generate_keypair - -/* Switch meaning of dsa_generate_keypair */ -#undef dsa_generate_keypair -#define dsa_generate_keypair nettle_dsa_compat_generate_keypair - -#ifdef __cplusplus -extern "C" { -#endif - -struct dsa_public_key -{ - /* Same as struct dsa_params, but can't use that struct here without - breaking backwards compatibility. Layout must be identical, since - this is cast to a struct dsa_param pointer for calling _dsa_sign - and _dsa_verify */ - mpz_t p; - mpz_t q; - mpz_t g; - - /* Public value */ - mpz_t y; -}; - -struct dsa_private_key -{ - /* Unlike an rsa public key, private key operations will need both - * the private and the public information. */ - mpz_t x; -}; - -/* Signing a message works as follows: - * - * Store the private key in a dsa_private_key struct. - * - * Initialize a hashing context, by callling - * sha1_init - * - * Hash the message by calling - * sha1_update - * - * Create the signature by calling - * dsa_sha1_sign - * - * The signature is represented as a struct dsa_signature. This call also - * resets the hashing context. - * - * When done with the key and signature, don't forget to call - * dsa_signature_clear. - */ - -/* Calls mpz_init to initialize bignum storage. */ -void -dsa_public_key_init(struct dsa_public_key *key); - -/* Calls mpz_clear to deallocate bignum storage. */ -void -dsa_public_key_clear(struct dsa_public_key *key); - - -/* Calls mpz_init to initialize bignum storage. */ -void -dsa_private_key_init(struct dsa_private_key *key); - -/* Calls mpz_clear to deallocate bignum storage. */ -void -dsa_private_key_clear(struct dsa_private_key *key); - -int -dsa_sha1_sign(const struct dsa_public_key *pub, - const struct dsa_private_key *key, - void *random_ctx, nettle_random_func *random, - struct sha1_ctx *hash, - struct dsa_signature *signature); - -int -dsa_sha256_sign(const struct dsa_public_key *pub, - const struct dsa_private_key *key, - void *random_ctx, nettle_random_func *random, - struct sha256_ctx *hash, - struct dsa_signature *signature); - -int -dsa_sha1_verify(const struct dsa_public_key *key, - struct sha1_ctx *hash, - const struct dsa_signature *signature); - -int -dsa_sha256_verify(const struct dsa_public_key *key, - struct sha256_ctx *hash, - const struct dsa_signature *signature); - -int -dsa_sha1_sign_digest(const struct dsa_public_key *pub, - const struct dsa_private_key *key, - void *random_ctx, nettle_random_func *random, - const uint8_t *digest, - struct dsa_signature *signature); -int -dsa_sha256_sign_digest(const struct dsa_public_key *pub, - const struct dsa_private_key *key, - void *random_ctx, nettle_random_func *random, - const uint8_t *digest, - struct dsa_signature *signature); - -int -dsa_sha1_verify_digest(const struct dsa_public_key *key, - const uint8_t *digest, - const struct dsa_signature *signature); - -int -dsa_sha256_verify_digest(const struct dsa_public_key *key, - const uint8_t *digest, - const struct dsa_signature *signature); - -/* Key generation */ -int -dsa_generate_keypair(struct dsa_public_key *pub, - struct dsa_private_key *key, - - void *random_ctx, nettle_random_func *random, - void *progress_ctx, nettle_progress_func *progress, - unsigned p_bits, unsigned q_bits); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_DSA_COMPAT_H_INCLUDED */ diff --git a/include/nettle/dsa.h b/include/nettle/dsa.h deleted file mode 100644 index 7aa982a..0000000 --- a/include/nettle/dsa.h +++ /dev/null @@ -1,216 +0,0 @@ -/* dsa.h - - The DSA publickey algorithm. - - Copyright (C) 2002, 2013, 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_DSA_H_INCLUDED -#define NETTLE_DSA_H_INCLUDED - -#include "nettle-types.h" -#include "bignum.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define dsa_params_init nettle_dsa_params_init -#define dsa_params_clear nettle_dsa_params_clear -#define dsa_signature_init nettle_dsa_signature_init -#define dsa_signature_clear nettle_dsa_signature_clear -#define dsa_sign nettle_dsa_sign -#define dsa_verify nettle_dsa_verify -#define dsa_generate_params nettle_dsa_generate_params -#define dsa_generate_keypair nettle_dsa_generate_keypair -#define dsa_signature_from_sexp nettle_dsa_signature_from_sexp -#define dsa_keypair_to_sexp nettle_dsa_keypair_to_sexp -#define dsa_keypair_from_sexp_alist nettle_dsa_keypair_from_sexp_alist -#define dsa_sha1_keypair_from_sexp nettle_dsa_sha1_keypair_from_sexp -#define dsa_sha256_keypair_from_sexp nettle_dsa_sha256_keypair_from_sexp -#define dsa_params_from_der_iterator nettle_dsa_params_from_der_iterator -#define dsa_public_key_from_der_iterator nettle_dsa_public_key_from_der_iterator -#define dsa_openssl_private_key_from_der_iterator nettle_dsa_openssl_private_key_from_der_iterator -#define dsa_openssl_private_key_from_der nettle_openssl_provate_key_from_der -#define _dsa_hash _nettle_dsa_hash - -/* For FIPS approved parameters */ -#define DSA_SHA1_MIN_P_BITS 512 -#define DSA_SHA1_Q_OCTETS 20 -#define DSA_SHA1_Q_BITS 160 - -#define DSA_SHA256_MIN_P_BITS 1024 -#define DSA_SHA256_Q_OCTETS 32 -#define DSA_SHA256_Q_BITS 256 - -struct dsa_params -{ - /* Modulo */ - mpz_t p; - - /* Group order */ - mpz_t q; - - /* Generator */ - mpz_t g; -}; - -void -dsa_params_init (struct dsa_params *params); - -void -dsa_params_clear (struct dsa_params *params); - -struct dsa_signature -{ - mpz_t r; - mpz_t s; -}; - -/* Calls mpz_init to initialize bignum storage. */ -void -dsa_signature_init(struct dsa_signature *signature); - -/* Calls mpz_clear to deallocate bignum storage. */ -void -dsa_signature_clear(struct dsa_signature *signature); - -int -dsa_sign(const struct dsa_params *params, - const mpz_t x, - void *random_ctx, nettle_random_func *random, - size_t digest_size, - const uint8_t *digest, - struct dsa_signature *signature); - -int -dsa_verify(const struct dsa_params *params, - const mpz_t y, - size_t digest_size, - const uint8_t *digest, - const struct dsa_signature *signature); - - -/* Key generation */ - -int -dsa_generate_params(struct dsa_params *params, - void *random_ctx, nettle_random_func *random, - void *progress_ctx, nettle_progress_func *progress, - unsigned p_bits, unsigned q_bits); - -void -dsa_generate_keypair (const struct dsa_params *params, - mpz_t pub, mpz_t key, - void *random_ctx, nettle_random_func *random); - -/* Keys in sexp form. */ - -struct nettle_buffer; - -/* Generates a public-key expression if PRIV is NULL .*/ -int -dsa_keypair_to_sexp(struct nettle_buffer *buffer, - const char *algorithm_name, /* NULL means "dsa" */ - const struct dsa_params *params, - const mpz_t pub, - const mpz_t priv); - -struct sexp_iterator; - -int -dsa_signature_from_sexp(struct dsa_signature *rs, - struct sexp_iterator *i, - unsigned q_bits); - -int -dsa_keypair_from_sexp_alist(struct dsa_params *params, - mpz_t pub, - mpz_t priv, - unsigned p_max_bits, - unsigned q_bits, - struct sexp_iterator *i); - -/* If PRIV is NULL, expect a public-key expression. If PUB is NULL, - * expect a private key expression and ignore the parts not needed for - * the public key. */ -/* Keys must be initialized before calling this function, as usual. */ -int -dsa_sha1_keypair_from_sexp(struct dsa_params *params, - mpz_t pub, - mpz_t priv, - unsigned p_max_bits, - size_t length, const uint8_t *expr); - -int -dsa_sha256_keypair_from_sexp(struct dsa_params *params, - mpz_t pub, - mpz_t priv, - unsigned p_max_bits, - size_t length, const uint8_t *expr); - -/* Keys in X.509 andd OpenSSL format. */ -struct asn1_der_iterator; - -int -dsa_params_from_der_iterator(struct dsa_params *params, - unsigned max_bits, unsigned q_bits, - struct asn1_der_iterator *i); - -int -dsa_public_key_from_der_iterator(const struct dsa_params *params, - mpz_t pub, - struct asn1_der_iterator *i); - -int -dsa_openssl_private_key_from_der_iterator(struct dsa_params *params, - mpz_t pub, - mpz_t priv, - unsigned p_max_bits, - struct asn1_der_iterator *i); - -int -dsa_openssl_private_key_from_der(struct dsa_params *params, - mpz_t pub, - mpz_t priv, - unsigned p_max_bits, - size_t length, const uint8_t *data); - - -/* Internal functions. */ -void -_dsa_hash (mpz_t h, unsigned bit_size, - size_t length, const uint8_t *digest); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_DSA_H_INCLUDED */ diff --git a/include/nettle/eax.h b/include/nettle/eax.h deleted file mode 100644 index e9747f3..0000000 --- a/include/nettle/eax.h +++ /dev/null @@ -1,185 +0,0 @@ -/* eax.h - - EAX mode, see http://www.cs.ucdavis.edu/~rogaway/papers/eax.pdf - - Copyright (C) 2013 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_EAX_H_INCLUDED -#define NETTLE_EAX_H_INCLUDED - -#include "aes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define eax_set_key nettle_eax_set_key -#define eax_set_nonce nettle_eax_set_nonce -#define eax_update nettle_eax_update -#define eax_encrypt nettle_eax_encrypt -#define eax_decrypt nettle_eax_decrypt -#define eax_digest nettle_eax_digest - -#define eax_aes128_set_key nettle_eax_aes128_set_key -#define eax_aes128_set_nonce nettle_eax_aes128_set_nonce -#define eax_aes128_update nettle_eax_aes128_update -#define eax_aes128_encrypt nettle_eax_aes128_encrypt -#define eax_aes128_decrypt nettle_eax_aes128_decrypt -#define eax_aes128_digest nettle_eax_aes128_digest - -/* Restricted to block ciphers with 128 bit block size. FIXME: Reflect - this in naming? */ - -#define EAX_BLOCK_SIZE 16 -#define EAX_DIGEST_SIZE 16 -/* FIXME: Reasonable default? */ -#define EAX_IV_SIZE 16 - -/* Values independent of message and nonce */ -struct eax_key -{ - union nettle_block16 pad_block; - union nettle_block16 pad_partial; -}; - -struct eax_ctx -{ - union nettle_block16 omac_nonce; - union nettle_block16 omac_data; - union nettle_block16 omac_message; - union nettle_block16 ctr; -}; - -void -eax_set_key (struct eax_key *key, const void *cipher, nettle_cipher_func *f); - -void -eax_set_nonce (struct eax_ctx *eax, const struct eax_key *key, - const void *cipher, nettle_cipher_func *f, - size_t nonce_length, const uint8_t *nonce); - -void -eax_update (struct eax_ctx *eax, const struct eax_key *key, - const void *cipher, nettle_cipher_func *f, - size_t data_length, const uint8_t *data); - -void -eax_encrypt (struct eax_ctx *eax, const struct eax_key *key, - const void *cipher, nettle_cipher_func *f, - size_t length, uint8_t *dst, const uint8_t *src); - -void -eax_decrypt (struct eax_ctx *eax, const struct eax_key *key, - const void *cipher, nettle_cipher_func *f, - size_t length, uint8_t *dst, const uint8_t *src); - -void -eax_digest (struct eax_ctx *eax, const struct eax_key *key, - const void *cipher, nettle_cipher_func *f, - size_t length, uint8_t *digest); - -/* Put the cipher last, to get cipher-independent offsets for the EAX - * state. */ -#define EAX_CTX(type) \ - { struct eax_key key; struct eax_ctx eax; type cipher; } - -#define EAX_SET_KEY(ctx, set_key, encrypt, data) \ - do { \ - (set_key)(&(ctx)->cipher, (data)); \ - if (0) (encrypt) (&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0); \ - eax_set_key (&(ctx)->key, &(ctx)->cipher, (nettle_cipher_func *) encrypt); \ - } while (0) - -#define EAX_SET_NONCE(ctx, encrypt, length, nonce) \ - (0 ? (encrypt) (&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0) \ - : eax_set_nonce (&(ctx)->eax, &(ctx)->key, \ - &(ctx)->cipher, (nettle_cipher_func *) (encrypt), \ - (length), (nonce))) - -#define EAX_UPDATE(ctx, encrypt, length, data) \ - (0 ? (encrypt) (&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0) \ - : eax_update (&(ctx)->eax, &(ctx)->key, \ - &(ctx)->cipher, (nettle_cipher_func *) (encrypt), \ - (length), (data))) - -#define EAX_ENCRYPT(ctx, encrypt, length, dst, src) \ - (0 ? (encrypt) (&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0) \ - : eax_encrypt (&(ctx)->eax, &(ctx)->key, \ - &(ctx)->cipher, (nettle_cipher_func *) (encrypt), \ - (length), (dst), (src))) - -#define EAX_DECRYPT(ctx, encrypt, length, dst, src) \ - (0 ? (encrypt) (&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0) \ - : eax_decrypt (&(ctx)->eax, &(ctx)->key, \ - &(ctx)->cipher, (nettle_cipher_func *) (encrypt), \ - (length), (dst), (src))) - -#define EAX_DIGEST(ctx, encrypt, length, digest) \ - (0 ? (encrypt) (&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0) \ - : eax_digest (&(ctx)->eax, &(ctx)->key, \ - &(ctx)->cipher, (nettle_cipher_func *) (encrypt), \ - (length), (digest))) - -struct eax_aes128_ctx EAX_CTX(struct aes128_ctx); - -void -eax_aes128_set_key(struct eax_aes128_ctx *ctx, const uint8_t *key); - -void -eax_aes128_set_nonce(struct eax_aes128_ctx *ctx, - size_t length, const uint8_t *iv); - -void -eax_aes128_update(struct eax_aes128_ctx *ctx, - size_t length, const uint8_t *data); - -void -eax_aes128_encrypt(struct eax_aes128_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -eax_aes128_decrypt(struct eax_aes128_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -eax_aes128_digest(struct eax_aes128_ctx *ctx, size_t length, uint8_t *digest); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_EAX_H_INCLUDED */ diff --git a/include/nettle/ecc-curve.h b/include/nettle/ecc-curve.h deleted file mode 100644 index c08479a..0000000 --- a/include/nettle/ecc-curve.h +++ /dev/null @@ -1,71 +0,0 @@ -/* ecc-curve.h - - Copyright (C) 2013 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */ - -#ifndef NETTLE_ECC_CURVE_H_INCLUDED -#define NETTLE_ECC_CURVE_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -/* The contents of this struct is internal. */ -struct ecc_curve; - -/* FIXME: Rename with leading underscore. Due to ABI subtleties, - applications should not refer to these directly, but use the below - accessor functions. */ -extern const struct ecc_curve nettle_secp_192r1; -extern const struct ecc_curve nettle_secp_224r1; -extern const struct ecc_curve nettle_secp_256r1; -extern const struct ecc_curve nettle_secp_384r1; -extern const struct ecc_curve nettle_secp_521r1; - -#ifdef __GNUC__ -#define NETTLE_PURE __attribute__((pure)) -#else -#define NETTLE_PURE -#endif - -const struct ecc_curve * NETTLE_PURE nettle_get_secp_192r1(void); -const struct ecc_curve * NETTLE_PURE nettle_get_secp_224r1(void); -const struct ecc_curve * NETTLE_PURE nettle_get_secp_256r1(void); -const struct ecc_curve * NETTLE_PURE nettle_get_secp_384r1(void); -const struct ecc_curve * NETTLE_PURE nettle_get_secp_521r1(void); - -#undef NETTLE_PURE - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_ECC_CURVE_H_INCLUDED */ diff --git a/include/nettle/ecc.h b/include/nettle/ecc.h deleted file mode 100644 index 93fc9e8..0000000 --- a/include/nettle/ecc.h +++ /dev/null @@ -1,159 +0,0 @@ -/* ecc.h - - Copyright (C) 2013 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */ - -#ifndef NETTLE_ECC_H_INCLUDED -#define NETTLE_ECC_H_INCLUDED - -#include "nettle-types.h" -#include "bignum.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define ecc_point_init nettle_ecc_point_init -#define ecc_point_clear nettle_ecc_point_clear -#define ecc_point_set nettle_ecc_point_set -#define ecc_point_get nettle_ecc_point_get -#define ecc_point_mul nettle_ecc_point_mul -#define ecc_point_mul_g nettle_ecc_point_mul_g -#define ecc_scalar_init nettle_ecc_scalar_init -#define ecc_scalar_clear nettle_ecc_scalar_clear -#define ecc_scalar_set nettle_ecc_scalar_set -#define ecc_scalar_get nettle_ecc_scalar_get -#define ecc_scalar_random nettle_ecc_scalar_random -#define ecc_point_mul nettle_ecc_point_mul -#define ecc_bit_size nettle_ecc_bit_size -#define ecc_size nettle_ecc_size -#define ecc_size_a nettle_ecc_size_a -#define ecc_size_j nettle_ecc_size_j - -struct ecc_curve; - -/* High level interface, for ECDSA, DH, etc */ - -/* Represents a point on the ECC curve */ -struct ecc_point -{ - const struct ecc_curve *ecc; - /* Allocated using the same allocation function as GMP. */ - mp_limb_t *p; -}; - -/* Represents a non-zero scalar, an element of Z_q^*, where q is the - group order of the curve. */ -struct ecc_scalar -{ - const struct ecc_curve *ecc; - /* Allocated using the same allocation function as GMP. */ - mp_limb_t *p; -}; - -void -ecc_point_init (struct ecc_point *p, const struct ecc_curve *ecc); -void -ecc_point_clear (struct ecc_point *p); - -/* Fails and returns zero if the point is not on the curve. */ -int -ecc_point_set (struct ecc_point *p, const mpz_t x, const mpz_t y); -void -ecc_point_get (const struct ecc_point *p, mpz_t x, mpz_t y); - -void -ecc_scalar_init (struct ecc_scalar *s, const struct ecc_curve *ecc); -void -ecc_scalar_clear (struct ecc_scalar *s); - -/* Fails and returns zero if the scalar is not in the proper range. */ -int -ecc_scalar_set (struct ecc_scalar *s, const mpz_t z); -void -ecc_scalar_get (const struct ecc_scalar *s, mpz_t z); -/* Generates a random scalar, suitable as an ECDSA private key or a - ECDH exponent. */ -void -ecc_scalar_random (struct ecc_scalar *s, - void *random_ctx, nettle_random_func *random); - -/* Computes r = n p */ -void -ecc_point_mul (struct ecc_point *r, const struct ecc_scalar *n, - const struct ecc_point *p); - -/* Computes r = n g */ -void -ecc_point_mul_g (struct ecc_point *r, const struct ecc_scalar *n); - - -/* Low-level interface */ - -/* Points on a curve are represented as arrays of mp_limb_t, with - curve-specific representation. For the secp curves, we use Jacobian - coordinates (possibly in Montgomery form for mod multiplication). - For curve25519 we use homogeneous coordinates on an equivalent - Edwards curve. The suffix "_h" denotes this internal - representation. - - Since we use additive notation for the groups, the infinity point - on the curve is denoted 0. The infinity point can be represented - with x = y = 0 in affine coordinates, and Z = 0 in Jacobian - coordinates. However, note that most of the ECC functions do *not* - support infinity as an input or output. -*/ - -/* Returns the bit size of a single coordinate (and of the prime p). */ -unsigned -ecc_bit_size (const struct ecc_curve *ecc); - -/* Returns the size of a single coordinate. */ -mp_size_t -ecc_size (const struct ecc_curve *ecc); - -/* Size of a point, using affine coordinates x, y. */ -mp_size_t -ecc_size_a (const struct ecc_curve *ecc); - -/* Size of a point, using jacobian coordinates X, Y and Z. */ -mp_size_t -ecc_size_j (const struct ecc_curve *ecc); - -/* FIXME: Define a generic ecc_dup, ecc_add, for any type of curve. Do - they need to handle infinity points? */ - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_ECC_H_INCLUDED */ diff --git a/include/nettle/ecdsa.h b/include/nettle/ecdsa.h deleted file mode 100644 index 693aca8..0000000 --- a/include/nettle/ecdsa.h +++ /dev/null @@ -1,103 +0,0 @@ -/* ecdsa.h - - Copyright (C) 2013 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -/* Development of Nettle's ECC support was funded by the .SE Internet Fund. */ - -#ifndef NETTLE_ECDSA_H_INCLUDED -#define NETTLE_ECDSA_H_INCLUDED - -#include "ecc.h" -#include "dsa.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define ecdsa_sign nettle_ecdsa_sign -#define ecdsa_verify nettle_ecdsa_verify -#define ecdsa_generate_keypair nettle_ecdsa_generate_keypair -#define ecc_ecdsa_sign nettle_ecc_ecdsa_sign -#define ecc_ecdsa_sign_itch nettle_ecc_ecdsa_sign_itch -#define ecc_ecdsa_verify nettle_ecc_ecdsa_verify -#define ecc_ecdsa_verify_itch nettle_ecc_ecdsa_verify_itch - -/* High level ECDSA functions. - * - * A public key is represented as a struct ecc_point, and a private - * key as a struct ecc_scalar. FIXME: Introduce some aliases? */ -void -ecdsa_sign (const struct ecc_scalar *key, - void *random_ctx, nettle_random_func *random, - size_t digest_length, - const uint8_t *digest, - struct dsa_signature *signature); - -int -ecdsa_verify (const struct ecc_point *pub, - size_t length, const uint8_t *digest, - const struct dsa_signature *signature); - -void -ecdsa_generate_keypair (struct ecc_point *pub, - struct ecc_scalar *key, - void *random_ctx, nettle_random_func *random); - -/* Low-level ECDSA functions. */ -mp_size_t -ecc_ecdsa_sign_itch (const struct ecc_curve *ecc); - -void -ecc_ecdsa_sign (const struct ecc_curve *ecc, - const mp_limb_t *zp, - /* Random nonce, must be invertible mod ecc group - order. */ - const mp_limb_t *kp, - size_t length, const uint8_t *digest, - mp_limb_t *rp, mp_limb_t *sp, - mp_limb_t *scratch); - -mp_size_t -ecc_ecdsa_verify_itch (const struct ecc_curve *ecc); - -int -ecc_ecdsa_verify (const struct ecc_curve *ecc, - const mp_limb_t *pp, /* Public key */ - size_t length, const uint8_t *digest, - const mp_limb_t *rp, const mp_limb_t *sp, - mp_limb_t *scratch); - - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_ECDSA_H_INCLUDED */ diff --git a/include/nettle/eddsa.h b/include/nettle/eddsa.h deleted file mode 100644 index 49f1a02..0000000 --- a/include/nettle/eddsa.h +++ /dev/null @@ -1,149 +0,0 @@ -/* eddsa.h - - Copyright (C) 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_EDDSA_H -#define NETTLE_EDDSA_H - -#include "nettle-types.h" - -#include "bignum.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define ed25519_sha512_set_private_key nettle_ed25519_sha512_set_private_key -#define ed25519_sha512_public_key nettle_ed25519_sha512_public_key -#define ed25519_sha512_sign nettle_ed25519_sha512_sign -#define ed25519_sha512_verify nettle_ed25519_sha512_verify - -#define _eddsa_compress _nettle_eddsa_compress -#define _eddsa_compress_itch _nettle_eddsa_compress_itch -#define _eddsa_decompress _nettle_eddsa_decompress -#define _eddsa_decompress_itch _nettle_eddsa_decompress_itch -#define _eddsa_hash _nettle_eddsa_hash -#define _eddsa_expand_key _nettle_eddsa_expand_key -#define _eddsa_sign _nettle_eddsa_sign -#define _eddsa_sign_itch _nettle_eddsa_sign_itch -#define _eddsa_verify _nettle_eddsa_verify -#define _eddsa_verify_itch _nettle_eddsa_verify_itch -#define _eddsa_public_key_itch _nettle_eddsa_public_key_itch -#define _eddsa_public_key _nettle_eddsa_public_key - -#define ED25519_KEY_SIZE 32 -#define ED25519_SIGNATURE_SIZE 64 - -void -ed25519_sha512_public_key (uint8_t *pub, const uint8_t *priv); - -void -ed25519_sha512_sign (const uint8_t *pub, - const uint8_t *priv, - size_t length, const uint8_t *msg, - uint8_t *signature); - -int -ed25519_sha512_verify (const uint8_t *pub, - size_t length, const uint8_t *msg, - const uint8_t *signature); - -/* Low-level internal functions */ - -struct ecc_curve; -struct ecc_modulo; - -mp_size_t -_eddsa_compress_itch (const struct ecc_curve *ecc); -void -_eddsa_compress (const struct ecc_curve *ecc, uint8_t *r, mp_limb_t *p, - mp_limb_t *scratch); - -mp_size_t -_eddsa_decompress_itch (const struct ecc_curve *ecc); -int -_eddsa_decompress (const struct ecc_curve *ecc, mp_limb_t *p, - const uint8_t *cp, - mp_limb_t *scratch); - -void -_eddsa_hash (const struct ecc_modulo *m, - mp_limb_t *rp, const uint8_t *digest); - -mp_size_t -_eddsa_sign_itch (const struct ecc_curve *ecc); - -void -_eddsa_sign (const struct ecc_curve *ecc, - const struct nettle_hash *H, - const uint8_t *pub, - void *ctx, - const mp_limb_t *k2, - size_t length, - const uint8_t *msg, - uint8_t *signature, - mp_limb_t *scratch); - -mp_size_t -_eddsa_verify_itch (const struct ecc_curve *ecc); - -int -_eddsa_verify (const struct ecc_curve *ecc, - const struct nettle_hash *H, - const uint8_t *pub, - const mp_limb_t *A, - void *ctx, - size_t length, - const uint8_t *msg, - const uint8_t *signature, - mp_limb_t *scratch); - -void -_eddsa_expand_key (const struct ecc_curve *ecc, - const struct nettle_hash *H, - void *ctx, - const uint8_t *key, - uint8_t *digest, - mp_limb_t *k2); - -mp_size_t -_eddsa_public_key_itch (const struct ecc_curve *ecc); - -void -_eddsa_public_key (const struct ecc_curve *ecc, - const mp_limb_t *k, uint8_t *pub, mp_limb_t *scratch); - - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_EDDSA_H */ diff --git a/include/nettle/gcm.h b/include/nettle/gcm.h deleted file mode 100644 index 766019a..0000000 --- a/include/nettle/gcm.h +++ /dev/null @@ -1,327 +0,0 @@ -/* gcm.h - - Galois counter mode, specified by NIST, - http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf - - Copyright (C) 2011 Katholieke Universiteit Leuven - Copyright (C) 2011, 2014 Niels M枚ller - - Contributed by Nikos Mavrogiannopoulos - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_GCM_H_INCLUDED -#define NETTLE_GCM_H_INCLUDED - -#include "aes.h" -#include "camellia.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define gcm_set_key nettle_gcm_set_key -#define gcm_set_iv nettle_gcm_set_iv -#define gcm_update nettle_gcm_update -#define gcm_encrypt nettle_gcm_encrypt -#define gcm_decrypt nettle_gcm_decrypt -#define gcm_digest nettle_gcm_digest - -#define gcm_aes128_set_key nettle_gcm_aes128_set_key -#define gcm_aes128_set_iv nettle_gcm_aes128_set_iv -#define gcm_aes128_update nettle_gcm_aes128_update -#define gcm_aes128_encrypt nettle_gcm_aes128_encrypt -#define gcm_aes128_decrypt nettle_gcm_aes128_decrypt -#define gcm_aes128_digest nettle_gcm_aes128_digest - -#define gcm_aes192_set_key nettle_gcm_aes192_set_key -#define gcm_aes192_set_iv nettle_gcm_aes192_set_iv -#define gcm_aes192_update nettle_gcm_aes192_update -#define gcm_aes192_encrypt nettle_gcm_aes192_encrypt -#define gcm_aes192_decrypt nettle_gcm_aes192_decrypt -#define gcm_aes192_digest nettle_gcm_aes192_digest - -#define gcm_aes256_set_key nettle_gcm_aes256_set_key -#define gcm_aes256_set_iv nettle_gcm_aes256_set_iv -#define gcm_aes256_update nettle_gcm_aes256_update -#define gcm_aes256_encrypt nettle_gcm_aes256_encrypt -#define gcm_aes256_decrypt nettle_gcm_aes256_decrypt -#define gcm_aes256_digest nettle_gcm_aes256_digest - -#define gcm_aes_set_key nettle_gcm_aes_set_key -#define gcm_aes_set_iv nettle_gcm_aes_set_iv -#define gcm_aes_update nettle_gcm_aes_update -#define gcm_aes_encrypt nettle_gcm_aes_encrypt -#define gcm_aes_decrypt nettle_gcm_aes_decrypt -#define gcm_aes_digest nettle_gcm_aes_digest - -#define gcm_camellia128_set_key nettle_gcm_camellia128_set_key -#define gcm_camellia128_set_iv nettle_gcm_camellia128_set_iv -#define gcm_camellia128_update nettle_gcm_camellia128_update -#define gcm_camellia128_encrypt nettle_gcm_camellia128_encrypt -#define gcm_camellia128_decrypt nettle_gcm_camellia128_decrypt -#define gcm_camellia128_digest nettle_gcm_camellia128_digest - -#define gcm_camellia256_set_key nettle_gcm_camellia256_set_key -#define gcm_camellia256_set_iv nettle_gcm_camellia256_set_iv -#define gcm_camellia256_update nettle_gcm_camellia256_update -#define gcm_camellia256_encrypt nettle_gcm_camellia256_encrypt -#define gcm_camellia256_decrypt nettle_gcm_camellia256_decrypt -#define gcm_camellia256_digest nettle_gcm_camellia256_digest - -#define GCM_BLOCK_SIZE 16 -#define GCM_IV_SIZE (GCM_BLOCK_SIZE - 4) -#define GCM_DIGEST_SIZE 16 -#define GCM_TABLE_BITS 8 - -/* Hashing subkey */ -struct gcm_key -{ - union nettle_block16 h[1 << GCM_TABLE_BITS]; -}; - -/* Per-message state, depending on the iv */ -struct gcm_ctx { - /* Original counter block */ - union nettle_block16 iv; - /* Updated for each block. */ - union nettle_block16 ctr; - /* Hashing state */ - union nettle_block16 x; - uint64_t auth_size; - uint64_t data_size; -}; - -void -gcm_set_key(struct gcm_key *key, - const void *cipher, nettle_cipher_func *f); - -void -gcm_set_iv(struct gcm_ctx *ctx, const struct gcm_key *key, - size_t length, const uint8_t *iv); - -void -gcm_update(struct gcm_ctx *ctx, const struct gcm_key *key, - size_t length, const uint8_t *data); - -void -gcm_encrypt(struct gcm_ctx *ctx, const struct gcm_key *key, - const void *cipher, nettle_cipher_func *f, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_decrypt(struct gcm_ctx *ctx, const struct gcm_key *key, - const void *cipher, nettle_cipher_func *f, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_digest(struct gcm_ctx *ctx, const struct gcm_key *key, - const void *cipher, nettle_cipher_func *f, - size_t length, uint8_t *digest); - -/* Convenience macrology (not sure how useful it is) */ -/* All-in-one context, with hash subkey, message state, and cipher. */ -#define GCM_CTX(type) \ - { struct gcm_key key; struct gcm_ctx gcm; type cipher; } - -/* NOTE: Avoid using NULL, as we don't include anything defining it. */ -#define GCM_SET_KEY(ctx, set_key, encrypt, gcm_key) \ - do { \ - (set_key)(&(ctx)->cipher, (gcm_key)); \ - if (0) (encrypt)(&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0); \ - gcm_set_key(&(ctx)->key, &(ctx)->cipher, \ - (nettle_cipher_func *) (encrypt)); \ - } while (0) - -#define GCM_SET_IV(ctx, length, data) \ - gcm_set_iv(&(ctx)->gcm, &(ctx)->key, (length), (data)) - -#define GCM_UPDATE(ctx, length, data) \ - gcm_update(&(ctx)->gcm, &(ctx)->key, (length), (data)) - -#define GCM_ENCRYPT(ctx, encrypt, length, dst, src) \ - (0 ? (encrypt)(&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0) \ - : gcm_encrypt(&(ctx)->gcm, &(ctx)->key, &(ctx)->cipher, \ - (nettle_cipher_func *) (encrypt), \ - (length), (dst), (src))) - -#define GCM_DECRYPT(ctx, encrypt, length, dst, src) \ - (0 ? (encrypt)(&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0) \ - : gcm_decrypt(&(ctx)->gcm, &(ctx)->key, &(ctx)->cipher, \ - (nettle_cipher_func *) (encrypt), \ - (length), (dst), (src))) - -#define GCM_DIGEST(ctx, encrypt, length, digest) \ - (0 ? (encrypt)(&(ctx)->cipher, ~(size_t) 0, \ - (uint8_t *) 0, (const uint8_t *) 0) \ - : gcm_digest(&(ctx)->gcm, &(ctx)->key, &(ctx)->cipher, \ - (nettle_cipher_func *) (encrypt), \ - (length), (digest))) - -struct gcm_aes128_ctx GCM_CTX(struct aes128_ctx); - -void -gcm_aes128_set_key(struct gcm_aes128_ctx *ctx, const uint8_t *key); - -/* FIXME: Define _update and _set_iv as some kind of aliaes, - there's nothing aes-specific. */ -void -gcm_aes128_update (struct gcm_aes128_ctx *ctx, - size_t length, const uint8_t *data); -void -gcm_aes128_set_iv (struct gcm_aes128_ctx *ctx, - size_t length, const uint8_t *iv); - -void -gcm_aes128_encrypt(struct gcm_aes128_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_aes128_decrypt(struct gcm_aes128_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_aes128_digest(struct gcm_aes128_ctx *ctx, - size_t length, uint8_t *digest); - -struct gcm_aes192_ctx GCM_CTX(struct aes192_ctx); - -void -gcm_aes192_set_key(struct gcm_aes192_ctx *ctx, const uint8_t *key); - -void -gcm_aes192_update (struct gcm_aes192_ctx *ctx, - size_t length, const uint8_t *data); -void -gcm_aes192_set_iv (struct gcm_aes192_ctx *ctx, - size_t length, const uint8_t *iv); - -void -gcm_aes192_encrypt(struct gcm_aes192_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_aes192_decrypt(struct gcm_aes192_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_aes192_digest(struct gcm_aes192_ctx *ctx, - size_t length, uint8_t *digest); - -struct gcm_aes256_ctx GCM_CTX(struct aes256_ctx); - -void -gcm_aes256_set_key(struct gcm_aes256_ctx *ctx, const uint8_t *key); - -void -gcm_aes256_update (struct gcm_aes256_ctx *ctx, - size_t length, const uint8_t *data); -void -gcm_aes256_set_iv (struct gcm_aes256_ctx *ctx, - size_t length, const uint8_t *iv); - -void -gcm_aes256_encrypt(struct gcm_aes256_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_aes256_decrypt(struct gcm_aes256_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_aes256_digest(struct gcm_aes256_ctx *ctx, - size_t length, uint8_t *digest); - -/* Old aes interface, for backwards compatibility */ -struct gcm_aes_ctx GCM_CTX(struct aes_ctx); - -void -gcm_aes_set_key(struct gcm_aes_ctx *ctx, - size_t length, const uint8_t *key); - -void -gcm_aes_set_iv(struct gcm_aes_ctx *ctx, - size_t length, const uint8_t *iv); - -void -gcm_aes_update(struct gcm_aes_ctx *ctx, - size_t length, const uint8_t *data); - -void -gcm_aes_encrypt(struct gcm_aes_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_aes_decrypt(struct gcm_aes_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); - -void -gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest); - - -struct gcm_camellia128_ctx GCM_CTX(struct camellia128_ctx); - -void gcm_camellia128_set_key(struct gcm_camellia128_ctx *ctx, - const uint8_t *key); -void gcm_camellia128_set_iv(struct gcm_camellia128_ctx *ctx, - size_t length, const uint8_t *iv); -void gcm_camellia128_update(struct gcm_camellia128_ctx *ctx, - size_t length, const uint8_t *data); -void gcm_camellia128_encrypt(struct gcm_camellia128_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); -void gcm_camellia128_decrypt(struct gcm_camellia128_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); -void gcm_camellia128_digest(struct gcm_camellia128_ctx *ctx, - size_t length, uint8_t *digest); - - -struct gcm_camellia256_ctx GCM_CTX(struct camellia256_ctx); - -void gcm_camellia256_set_key(struct gcm_camellia256_ctx *ctx, - const uint8_t *key); -void gcm_camellia256_set_iv(struct gcm_camellia256_ctx *ctx, - size_t length, const uint8_t *iv); -void gcm_camellia256_update(struct gcm_camellia256_ctx *ctx, - size_t length, const uint8_t *data); -void gcm_camellia256_encrypt(struct gcm_camellia256_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); -void gcm_camellia256_decrypt(struct gcm_camellia256_ctx *ctx, - size_t length, uint8_t *dst, const uint8_t *src); -void gcm_camellia256_digest(struct gcm_camellia256_ctx *ctx, - size_t length, uint8_t *digest); - - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_GCM_H_INCLUDED */ diff --git a/include/nettle/gosthash94.h b/include/nettle/gosthash94.h deleted file mode 100644 index 8e9d49f..0000000 --- a/include/nettle/gosthash94.h +++ /dev/null @@ -1,98 +0,0 @@ -/* gosthash94.h - - The GOST R 34.11-94 hash function, described in RFC 5831. - - Copyright (C) 2012 Nikos Mavrogiannopoulos, Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -/* Based on rhash gost.h. */ - -/* Copyright: 2009-2012 Aleksey Kravchenko - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * Ported to nettle by Nikos Mavrogiannopoulos. - */ - -#ifndef NETTLE_GOSTHASH94_H_INCLUDED -#define NETTLE_GOSTHASH94_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define gosthash94_init nettle_gosthash94_init -#define gosthash94_update nettle_gosthash94_update -#define gosthash94_digest nettle_gosthash94_digest - -#define GOSTHASH94_BLOCK_SIZE 32 -#define GOSTHASH94_DIGEST_SIZE 32 -/* For backwards compatibility */ -#define GOSTHASH94_DATA_SIZE GOSTHASH94_BLOCK_SIZE - -struct gosthash94_ctx -{ - uint32_t hash[8]; /* algorithm 256-bit state */ - uint32_t sum[8]; /* sum of processed message blocks */ - uint8_t message[GOSTHASH94_BLOCK_SIZE]; /* 256-bit buffer for leftovers */ - uint64_t length; /* number of processed bytes */ -}; - -void gosthash94_init(struct gosthash94_ctx *ctx); -void gosthash94_update(struct gosthash94_ctx *ctx, - size_t length, const uint8_t *msg); -void gosthash94_digest(struct gosthash94_ctx *ctx, - size_t length, uint8_t *result); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_GOSTHASH94_H_INCLUDED */ diff --git a/include/nettle/hkdf.h b/include/nettle/hkdf.h deleted file mode 100644 index 43b16ad..0000000 --- a/include/nettle/hkdf.h +++ /dev/null @@ -1,67 +0,0 @@ -/* hkdf.h - - TLS PRF code (RFC-5246, RFC-2246). - - Copyright (C) 2017 Red Hat, Inc. - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_HKDF_H_INCLUDED -#define NETTLE_HKDF_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Namespace mangling */ -#define hkdf_extract nettle_hkdf_extract -#define hkdf_expand nettle_hkdf_expand - -void -hkdf_extract(void *mac_ctx, - nettle_hash_update_func *update, - nettle_hash_digest_func *digest, - size_t digest_size, - size_t secret_size, const uint8_t *secret, - uint8_t *dst); - -void -hkdf_expand(void *mac_ctx, - nettle_hash_update_func *update, - nettle_hash_digest_func *digest, - size_t digest_size, - size_t info_size, const uint8_t *info, - size_t length, uint8_t *dst); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_HKDF_H_INCLUDED */ diff --git a/include/nettle/hmac.h b/include/nettle/hmac.h deleted file mode 100644 index 40a8e77..0000000 --- a/include/nettle/hmac.h +++ /dev/null @@ -1,210 +0,0 @@ -/* hmac.h - - HMAC message authentication code (RFC-2104). - - Copyright (C) 2001, 2002 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_HMAC_H_INCLUDED -#define NETTLE_HMAC_H_INCLUDED - -#include "nettle-meta.h" - -#include "md5.h" -#include "ripemd160.h" -#include "sha1.h" -#include "sha2.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Namespace mangling */ -#define hmac_set_key nettle_hmac_set_key -#define hmac_update nettle_hmac_update -#define hmac_digest nettle_hmac_digest -#define hmac_md5_set_key nettle_hmac_md5_set_key -#define hmac_md5_update nettle_hmac_md5_update -#define hmac_md5_digest nettle_hmac_md5_digest -#define hmac_ripemd160_set_key nettle_hmac_ripemd160_set_key -#define hmac_ripemd160_update nettle_hmac_ripemd160_update -#define hmac_ripemd160_digest nettle_hmac_ripemd160_digest -#define hmac_sha1_set_key nettle_hmac_sha1_set_key -#define hmac_sha1_update nettle_hmac_sha1_update -#define hmac_sha1_digest nettle_hmac_sha1_digest -#define hmac_sha224_set_key nettle_hmac_sha224_set_key -#define hmac_sha224_digest nettle_hmac_sha224_digest -#define hmac_sha256_set_key nettle_hmac_sha256_set_key -#define hmac_sha256_update nettle_hmac_sha256_update -#define hmac_sha256_digest nettle_hmac_sha256_digest -#define hmac_sha384_set_key nettle_hmac_sha384_set_key -#define hmac_sha384_digest nettle_hmac_sha384_digest -#define hmac_sha512_set_key nettle_hmac_sha512_set_key -#define hmac_sha512_update nettle_hmac_sha512_update -#define hmac_sha512_digest nettle_hmac_sha512_digest - -void -hmac_set_key(void *outer, void *inner, void *state, - const struct nettle_hash *hash, - size_t length, const uint8_t *key); - -/* This function is not strictly needed, it's s just the same as the - * hash update function. */ -void -hmac_update(void *state, - const struct nettle_hash *hash, - size_t length, const uint8_t *data); - -void -hmac_digest(const void *outer, const void *inner, void *state, - const struct nettle_hash *hash, - size_t length, uint8_t *digest); - - -#define HMAC_CTX(type) \ -{ type outer; type inner; type state; } - -#define HMAC_SET_KEY(ctx, hash, length, key) \ - hmac_set_key( &(ctx)->outer, &(ctx)->inner, &(ctx)->state, \ - (hash), (length), (key) ) - -#define HMAC_DIGEST(ctx, hash, length, digest) \ - hmac_digest( &(ctx)->outer, &(ctx)->inner, &(ctx)->state, \ - (hash), (length), (digest) ) - -/* HMAC using specific hash functions */ - -/* hmac-md5 */ -struct hmac_md5_ctx HMAC_CTX(struct md5_ctx); - -void -hmac_md5_set_key(struct hmac_md5_ctx *ctx, - size_t key_length, const uint8_t *key); - -void -hmac_md5_update(struct hmac_md5_ctx *ctx, - size_t length, const uint8_t *data); - -void -hmac_md5_digest(struct hmac_md5_ctx *ctx, - size_t length, uint8_t *digest); - - -/* hmac-ripemd160 */ -struct hmac_ripemd160_ctx HMAC_CTX(struct ripemd160_ctx); - -void -hmac_ripemd160_set_key(struct hmac_ripemd160_ctx *ctx, - size_t key_length, const uint8_t *key); - -void -hmac_ripemd160_update(struct hmac_ripemd160_ctx *ctx, - size_t length, const uint8_t *data); - -void -hmac_ripemd160_digest(struct hmac_ripemd160_ctx *ctx, - size_t length, uint8_t *digest); - - -/* hmac-sha1 */ -struct hmac_sha1_ctx HMAC_CTX(struct sha1_ctx); - -void -hmac_sha1_set_key(struct hmac_sha1_ctx *ctx, - size_t key_length, const uint8_t *key); - -void -hmac_sha1_update(struct hmac_sha1_ctx *ctx, - size_t length, const uint8_t *data); - -void -hmac_sha1_digest(struct hmac_sha1_ctx *ctx, - size_t length, uint8_t *digest); - -/* hmac-sha256 */ -struct hmac_sha256_ctx HMAC_CTX(struct sha256_ctx); - -void -hmac_sha256_set_key(struct hmac_sha256_ctx *ctx, - size_t key_length, const uint8_t *key); - -void -hmac_sha256_update(struct hmac_sha256_ctx *ctx, - size_t length, const uint8_t *data); - -void -hmac_sha256_digest(struct hmac_sha256_ctx *ctx, - size_t length, uint8_t *digest); - -/* hmac-sha224 */ -#define hmac_sha224_ctx hmac_sha256_ctx - -void -hmac_sha224_set_key(struct hmac_sha224_ctx *ctx, - size_t key_length, const uint8_t *key); - -#define hmac_sha224_update nettle_hmac_sha256_update - -void -hmac_sha224_digest(struct hmac_sha224_ctx *ctx, - size_t length, uint8_t *digest); - -/* hmac-sha512 */ -struct hmac_sha512_ctx HMAC_CTX(struct sha512_ctx); - -void -hmac_sha512_set_key(struct hmac_sha512_ctx *ctx, - size_t key_length, const uint8_t *key); - -void -hmac_sha512_update(struct hmac_sha512_ctx *ctx, - size_t length, const uint8_t *data); - -void -hmac_sha512_digest(struct hmac_sha512_ctx *ctx, - size_t length, uint8_t *digest); - -/* hmac-sha384 */ -#define hmac_sha384_ctx hmac_sha512_ctx - -void -hmac_sha384_set_key(struct hmac_sha512_ctx *ctx, - size_t key_length, const uint8_t *key); - -#define hmac_sha384_update nettle_hmac_sha512_update - -void -hmac_sha384_digest(struct hmac_sha512_ctx *ctx, - size_t length, uint8_t *digest); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_HMAC_H_INCLUDED */ diff --git a/include/nettle/knuth-lfib.h b/include/nettle/knuth-lfib.h deleted file mode 100644 index df0b495..0000000 --- a/include/nettle/knuth-lfib.h +++ /dev/null @@ -1,80 +0,0 @@ -/* knuth-lfib.h - - The "lagged fibonacci" pseudorandomness generator, described in - Knuth, TAoCP, 3.6 - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -/* NOTE: This generator is totally inappropriate for cryptographic - * applications. It is useful for generating deterministic but - * random-looking test data, and is used by the Nettle testsuite. */ -#ifndef NETTLE_KNUTH_LFIB_H_INCLUDED -#define NETTLE_KNUTH_LFIB_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Namespace mangling */ -#define knuth_lfib_init nettle_knuth_lfib_init -#define knuth_lfib_get nettle_knuth_lfib_get -#define knuth_lfib_get_array nettle_knuth_lfib_get_array -#define knuth_lfib_random nettle_knuth_lfib_random - -#define _KNUTH_LFIB_KK 100 - -struct knuth_lfib_ctx -{ - uint32_t x[_KNUTH_LFIB_KK]; - unsigned index; -}; - -void -knuth_lfib_init(struct knuth_lfib_ctx *ctx, uint32_t seed); - -/* Get's a single number in the range 0 ... 2^30-1 */ -uint32_t -knuth_lfib_get(struct knuth_lfib_ctx *ctx); - -/* Get an array of numbers */ -void -knuth_lfib_get_array(struct knuth_lfib_ctx *ctx, - size_t n, uint32_t *a); - -/* Get an array of octets. */ -void -knuth_lfib_random(struct knuth_lfib_ctx *ctx, - size_t n, uint8_t *dst); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_KNUTH_LFIB_H_INCLUDED */ diff --git a/include/nettle/macros.h b/include/nettle/macros.h deleted file mode 100644 index 990d32e..0000000 --- a/include/nettle/macros.h +++ /dev/null @@ -1,245 +0,0 @@ -/* macros.h - - Copyright (C) 2001, 2010 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_MACROS_H_INCLUDED -#define NETTLE_MACROS_H_INCLUDED - -/* Reads a 64-bit integer, in network, big-endian, byte order */ -#define READ_UINT64(p) \ -( (((uint64_t) (p)[0]) << 56) \ - | (((uint64_t) (p)[1]) << 48) \ - | (((uint64_t) (p)[2]) << 40) \ - | (((uint64_t) (p)[3]) << 32) \ - | (((uint64_t) (p)[4]) << 24) \ - | (((uint64_t) (p)[5]) << 16) \ - | (((uint64_t) (p)[6]) << 8) \ - | ((uint64_t) (p)[7])) - -#define WRITE_UINT64(p, i) \ -do { \ - (p)[0] = ((i) >> 56) & 0xff; \ - (p)[1] = ((i) >> 48) & 0xff; \ - (p)[2] = ((i) >> 40) & 0xff; \ - (p)[3] = ((i) >> 32) & 0xff; \ - (p)[4] = ((i) >> 24) & 0xff; \ - (p)[5] = ((i) >> 16) & 0xff; \ - (p)[6] = ((i) >> 8) & 0xff; \ - (p)[7] = (i) & 0xff; \ -} while(0) - -/* Reads a 32-bit integer, in network, big-endian, byte order */ -#define READ_UINT32(p) \ -( (((uint32_t) (p)[0]) << 24) \ - | (((uint32_t) (p)[1]) << 16) \ - | (((uint32_t) (p)[2]) << 8) \ - | ((uint32_t) (p)[3])) - -#define WRITE_UINT32(p, i) \ -do { \ - (p)[0] = ((i) >> 24) & 0xff; \ - (p)[1] = ((i) >> 16) & 0xff; \ - (p)[2] = ((i) >> 8) & 0xff; \ - (p)[3] = (i) & 0xff; \ -} while(0) - -/* Analogous macros, for 24 and 16 bit numbers */ -#define READ_UINT24(p) \ -( (((uint32_t) (p)[0]) << 16) \ - | (((uint32_t) (p)[1]) << 8) \ - | ((uint32_t) (p)[2])) - -#define WRITE_UINT24(p, i) \ -do { \ - (p)[0] = ((i) >> 16) & 0xff; \ - (p)[1] = ((i) >> 8) & 0xff; \ - (p)[2] = (i) & 0xff; \ -} while(0) - -#define READ_UINT16(p) \ -( (((uint32_t) (p)[0]) << 8) \ - | ((uint32_t) (p)[1])) - -#define WRITE_UINT16(p, i) \ -do { \ - (p)[0] = ((i) >> 8) & 0xff; \ - (p)[1] = (i) & 0xff; \ -} while(0) - -/* And the other, little-endian, byteorder */ -#define LE_READ_UINT64(p) \ -( (((uint64_t) (p)[7]) << 56) \ - | (((uint64_t) (p)[6]) << 48) \ - | (((uint64_t) (p)[5]) << 40) \ - | (((uint64_t) (p)[4]) << 32) \ - | (((uint64_t) (p)[3]) << 24) \ - | (((uint64_t) (p)[2]) << 16) \ - | (((uint64_t) (p)[1]) << 8) \ - | ((uint64_t) (p)[0])) - -#define LE_WRITE_UINT64(p, i) \ -do { \ - (p)[7] = ((i) >> 56) & 0xff; \ - (p)[6] = ((i) >> 48) & 0xff; \ - (p)[5] = ((i) >> 40) & 0xff; \ - (p)[4] = ((i) >> 32) & 0xff; \ - (p)[3] = ((i) >> 24) & 0xff; \ - (p)[2] = ((i) >> 16) & 0xff; \ - (p)[1] = ((i) >> 8) & 0xff; \ - (p)[0] = (i) & 0xff; \ -} while (0) - -#define LE_READ_UINT32(p) \ -( (((uint32_t) (p)[3]) << 24) \ - | (((uint32_t) (p)[2]) << 16) \ - | (((uint32_t) (p)[1]) << 8) \ - | ((uint32_t) (p)[0])) - -#define LE_WRITE_UINT32(p, i) \ -do { \ - (p)[3] = ((i) >> 24) & 0xff; \ - (p)[2] = ((i) >> 16) & 0xff; \ - (p)[1] = ((i) >> 8) & 0xff; \ - (p)[0] = (i) & 0xff; \ -} while(0) - -/* Analogous macros, for 16 bit numbers */ -#define LE_READ_UINT16(p) \ - ( (((uint32_t) (p)[1]) << 8) \ - | ((uint32_t) (p)[0])) - -#define LE_WRITE_UINT16(p, i) \ - do { \ - (p)[1] = ((i) >> 8) & 0xff; \ - (p)[0] = (i) & 0xff; \ - } while(0) - -/* Macro to make it easier to loop over several blocks. */ -#define FOR_BLOCKS(length, dst, src, blocksize) \ - assert( !((length) % (blocksize))); \ - for (; (length); ((length) -= (blocksize), \ - (dst) += (blocksize), \ - (src) += (blocksize)) ) - -/* The masking of the right shift is needed to allow n == 0 (using - just 32 - n and 64 - n results in undefined behaviour). Most uses - of these macros use a constant and non-zero rotation count. */ -#define ROTL32(n,x) (((x)<<(n)) | ((x)>>((-(n)&31)))) - -#define ROTL64(n,x) (((x)<<(n)) | ((x)>>((-(n))&63))) - -/* Requires that size > 0 */ -#define INCREMENT(size, ctr) \ - do { \ - unsigned increment_i = (size) - 1; \ - if (++(ctr)[increment_i] == 0) \ - while (increment_i > 0 \ - && ++(ctr)[--increment_i] == 0 ) \ - ; \ - } while (0) - - -/* Helper macro for Merkle-Damg氓rd hash functions. Assumes the context - structs includes the following fields: - - uint8_t block[...]; // Buffer holding one block - unsigned int index; // Index into block -*/ - -/* Currently used by sha512 (and sha384) only. */ -#define MD_INCR(ctx) ((ctx)->count_high += !++(ctx)->count_low) - -/* Takes the compression function f as argument. NOTE: also clobbers - length and data. */ -#define MD_UPDATE(ctx, length, data, f, incr) \ - do { \ - if ((ctx)->index) \ - { \ - /* Try to fill partial block */ \ - unsigned __md_left = sizeof((ctx)->block) - (ctx)->index; \ - if ((length) < __md_left) \ - { \ - memcpy((ctx)->block + (ctx)->index, (data), (length)); \ - (ctx)->index += (length); \ - goto __md_done; /* Finished */ \ - } \ - else \ - { \ - memcpy((ctx)->block + (ctx)->index, (data), __md_left); \ - \ - f((ctx), (ctx)->block); \ - (incr); \ - \ - (data) += __md_left; \ - (length) -= __md_left; \ - } \ - } \ - while ((length) >= sizeof((ctx)->block)) \ - { \ - f((ctx), (data)); \ - (incr); \ - \ - (data) += sizeof((ctx)->block); \ - (length) -= sizeof((ctx)->block); \ - } \ - memcpy ((ctx)->block, (data), (length)); \ - (ctx)->index = (length); \ - __md_done: \ - ; \ - } while (0) - -/* Pads the block to a block boundary with the bit pattern 1 0*, - leaving size octets for the length field at the end. If needed, - compresses the block and starts a new one. */ -#define MD_PAD(ctx, size, f) \ - do { \ - unsigned __md_i; \ - __md_i = (ctx)->index; \ - \ - /* Set the first char of padding to 0x80. This is safe since there \ - is always at least one byte free */ \ - \ - assert(__md_i < sizeof((ctx)->block)); \ - (ctx)->block[__md_i++] = 0x80; \ - \ - if (__md_i > (sizeof((ctx)->block) - (size))) \ - { /* No room for length in this block. Process it and \ - pad with another one */ \ - memset((ctx)->block + __md_i, 0, sizeof((ctx)->block) - __md_i); \ - \ - f((ctx), (ctx)->block); \ - __md_i = 0; \ - } \ - memset((ctx)->block + __md_i, 0, \ - sizeof((ctx)->block) - (size) - __md_i); \ - \ - } while (0) - -#endif /* NETTLE_MACROS_H_INCLUDED */ diff --git a/include/nettle/md2.h b/include/nettle/md2.h deleted file mode 100644 index 560b2cb..0000000 --- a/include/nettle/md2.h +++ /dev/null @@ -1,79 +0,0 @@ -/* md2.h - - The MD2 hash function, described in RFC 1319. - - Copyright (C) 2003 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_MD2_H_INCLUDED -#define NETTLE_MD2_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define md2_init nettle_md2_init -#define md2_update nettle_md2_update -#define md2_digest nettle_md2_digest - -#define MD2_DIGEST_SIZE 16 -#define MD2_BLOCK_SIZE 16 -/* For backwards compatibility */ -#define MD2_DATA_SIZE MD2_BLOCK_SIZE - -struct md2_ctx -{ - uint8_t C[MD2_BLOCK_SIZE]; - uint8_t X[3 * MD2_BLOCK_SIZE]; - uint8_t block[MD2_BLOCK_SIZE]; /* Block buffer */ - unsigned index; /* Into buffer */ -}; - -void -md2_init(struct md2_ctx *ctx); - -void -md2_update(struct md2_ctx *ctx, - size_t length, - const uint8_t *data); - -void -md2_digest(struct md2_ctx *ctx, - size_t length, - uint8_t *digest); - - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_MD2_H_INCLUDED */ diff --git a/include/nettle/md4.h b/include/nettle/md4.h deleted file mode 100644 index f199a80..0000000 --- a/include/nettle/md4.h +++ /dev/null @@ -1,83 +0,0 @@ -/* md4.h - - The MD4 hash function, described in RFC 1320. - - Copyright (C) 2003 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_MD4_H_INCLUDED -#define NETTLE_MD4_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define md4_init nettle_md4_init -#define md4_update nettle_md4_update -#define md4_digest nettle_md4_digest - -#define MD4_DIGEST_SIZE 16 -#define MD4_BLOCK_SIZE 64 -/* For backwards compatibility */ -#define MD4_DATA_SIZE MD4_BLOCK_SIZE - -/* Digest is kept internally as 4 32-bit words. */ -#define _MD4_DIGEST_LENGTH 4 - -/* FIXME: Identical to md5_ctx */ -struct md4_ctx -{ - uint32_t state[_MD4_DIGEST_LENGTH]; - uint64_t count; /* Block count */ - uint8_t block[MD4_BLOCK_SIZE]; /* Block buffer */ - unsigned index; /* Into buffer */ -}; - -void -md4_init(struct md4_ctx *ctx); - -void -md4_update(struct md4_ctx *ctx, - size_t length, - const uint8_t *data); - -void -md4_digest(struct md4_ctx *ctx, - size_t length, - uint8_t *digest); - - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_MD4_H_INCLUDED */ diff --git a/include/nettle/md5-compat.h b/include/nettle/md5-compat.h deleted file mode 100644 index fd30982..0000000 --- a/include/nettle/md5-compat.h +++ /dev/null @@ -1,58 +0,0 @@ -/* md5-compat.h - - The md5 hash function, RFC 1321-style interface. - - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_MD5_COMPAT_H_INCLUDED -#define NETTLE_MD5_COMPAT_H_INCLUDED - -#include "md5.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define MD5Init nettle_MD5Init -#define MD5Update nettle_MD5Update -#define MD5Final nettle_MD5Final - -typedef struct md5_ctx MD5_CTX; - -void MD5Init(MD5_CTX *ctx); -void MD5Update(MD5_CTX *ctx, const unsigned char *data, unsigned int length); -void MD5Final(unsigned char *out, MD5_CTX *ctx); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_MD5_COMPAT_H_INCLUDED */ diff --git a/include/nettle/md5.h b/include/nettle/md5.h deleted file mode 100644 index 040cf9d..0000000 --- a/include/nettle/md5.h +++ /dev/null @@ -1,86 +0,0 @@ -/* md5.h - - The MD5 hash function, described in RFC 1321. - - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_MD5_H_INCLUDED -#define NETTLE_MD5_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define md5_init nettle_md5_init -#define md5_update nettle_md5_update -#define md5_digest nettle_md5_digest - -#define MD5_DIGEST_SIZE 16 -#define MD5_BLOCK_SIZE 64 -/* For backwards compatibility */ -#define MD5_DATA_SIZE MD5_BLOCK_SIZE - -/* Digest is kept internally as 4 32-bit words. */ -#define _MD5_DIGEST_LENGTH 4 - -struct md5_ctx -{ - uint32_t state[_MD5_DIGEST_LENGTH]; - uint64_t count; /* Block count */ - uint8_t block[MD5_BLOCK_SIZE]; /* Block buffer */ - unsigned index; /* Into buffer */ -}; - -void -md5_init(struct md5_ctx *ctx); - -void -md5_update(struct md5_ctx *ctx, - size_t length, - const uint8_t *data); - -void -md5_digest(struct md5_ctx *ctx, - size_t length, - uint8_t *digest); - -/* Internal compression function. STATE points to 4 uint32_t words, - and DATA points to 64 bytes of input data, possibly unaligned. */ -void -_nettle_md5_compress(uint32_t *state, const uint8_t *data); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_MD5_H_INCLUDED */ diff --git a/include/nettle/memops.h b/include/nettle/memops.h deleted file mode 100644 index 815d547..0000000 --- a/include/nettle/memops.h +++ /dev/null @@ -1,57 +0,0 @@ -/* memops.h - - Copyright (C) 2016 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_MEMOPS_H_INCLUDED -#define NETTLE_MEMOPS_H_INCLUDED - -#include "memxor.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define cnd_memcpy nettle_cnd_memcpy -#define memeql_sec nettle_memeql_sec - -int -memeql_sec (const void *a, const void *b, size_t n); - -/* Side-channel silent conditional memcpy. cnd must be 0 (nop) or 1 - (copy). */ -void -cnd_memcpy(int cnd, volatile void *dst, const volatile void *src, size_t n); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_MEMOPS_H_INCLUDED */ diff --git a/include/nettle/memxor.h b/include/nettle/memxor.h deleted file mode 100644 index b7bef09..0000000 --- a/include/nettle/memxor.h +++ /dev/null @@ -1,25 +0,0 @@ -/* memxor.h - * - */ - -#ifndef NETTLE_MEMXOR_H_INCLUDED -#define NETTLE_MEMXOR_H_INCLUDED - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define memxor nettle_memxor -#define memxor3 nettle_memxor3 - -void *memxor(void *dst, const void *src, size_t n); -void *memxor3(void *dst, const void *a, const void *b, size_t n); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_MEMXOR_H_INCLUDED */ diff --git a/include/nettle/nettle-meta.h b/include/nettle/nettle-meta.h deleted file mode 100644 index 0d16a2b..0000000 --- a/include/nettle/nettle-meta.h +++ /dev/null @@ -1,277 +0,0 @@ -/* nettle-meta.h - - Information about algorithms. - - Copyright (C) 2002, 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_META_H_INCLUDED -#define NETTLE_META_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -struct nettle_cipher -{ - const char *name; - - unsigned context_size; - - /* Zero for stream ciphers */ - unsigned block_size; - - /* Suggested key size; other sizes are sometimes possible. */ - unsigned key_size; - - nettle_set_key_func *set_encrypt_key; - nettle_set_key_func *set_decrypt_key; - - nettle_cipher_func *encrypt; - nettle_cipher_func *decrypt; -}; - -/* FIXME: Rename with leading underscore, but keep current name (and - size!) for now, for ABI compatibility with nettle-3.1, soname - libnettle.so.6. */ -/* null-terminated list of ciphers implemented by this version of nettle */ -extern const struct nettle_cipher * const nettle_ciphers[]; - -const struct nettle_cipher * const * -#ifdef __GNUC__ -__attribute__((pure)) -#endif -nettle_get_ciphers (void); - -#define nettle_ciphers (nettle_get_ciphers()) - -extern const struct nettle_cipher nettle_aes128; -extern const struct nettle_cipher nettle_aes192; -extern const struct nettle_cipher nettle_aes256; - -extern const struct nettle_cipher nettle_camellia128; -extern const struct nettle_cipher nettle_camellia192; -extern const struct nettle_cipher nettle_camellia256; - -extern const struct nettle_cipher nettle_cast128; - -extern const struct nettle_cipher nettle_serpent128; -extern const struct nettle_cipher nettle_serpent192; -extern const struct nettle_cipher nettle_serpent256; - -extern const struct nettle_cipher nettle_twofish128; -extern const struct nettle_cipher nettle_twofish192; -extern const struct nettle_cipher nettle_twofish256; - -extern const struct nettle_cipher nettle_arctwo40; -extern const struct nettle_cipher nettle_arctwo64; -extern const struct nettle_cipher nettle_arctwo128; -extern const struct nettle_cipher nettle_arctwo_gutmann128; - -struct nettle_hash -{ - const char *name; - - /* Size of the context struct */ - unsigned context_size; - - /* Size of digests */ - unsigned digest_size; - - /* Internal block size */ - unsigned block_size; - - nettle_hash_init_func *init; - nettle_hash_update_func *update; - nettle_hash_digest_func *digest; -}; - -#define _NETTLE_HASH(name, NAME) { \ - #name, \ - sizeof(struct name##_ctx), \ - NAME##_DIGEST_SIZE, \ - NAME##_BLOCK_SIZE, \ - (nettle_hash_init_func *) name##_init, \ - (nettle_hash_update_func *) name##_update, \ - (nettle_hash_digest_func *) name##_digest \ -} - -/* FIXME: Rename with leading underscore, but keep current name (and - size!) for now, for ABI compatibility with nettle-3.1, soname - libnettle.so.6. */ -/* null-terminated list of digests implemented by this version of nettle */ -extern const struct nettle_hash * const nettle_hashes[]; - -const struct nettle_hash * const * -#ifdef __GNUC__ -__attribute__((pure)) -#endif -nettle_get_hashes (void); - -#define nettle_hashes (nettle_get_hashes()) - -const struct nettle_hash * -nettle_lookup_hash (const char *name); - -extern const struct nettle_hash nettle_md2; -extern const struct nettle_hash nettle_md4; -extern const struct nettle_hash nettle_md5; -extern const struct nettle_hash nettle_gosthash94; -extern const struct nettle_hash nettle_ripemd160; -extern const struct nettle_hash nettle_sha1; -extern const struct nettle_hash nettle_sha224; -extern const struct nettle_hash nettle_sha256; -extern const struct nettle_hash nettle_sha384; -extern const struct nettle_hash nettle_sha512; -extern const struct nettle_hash nettle_sha512_224; -extern const struct nettle_hash nettle_sha512_256; -extern const struct nettle_hash nettle_sha3_224; -extern const struct nettle_hash nettle_sha3_256; -extern const struct nettle_hash nettle_sha3_384; -extern const struct nettle_hash nettle_sha3_512; - -struct nettle_aead -{ - const char *name; - - unsigned context_size; - /* Block size for encrypt and decrypt. */ - unsigned block_size; - unsigned key_size; - unsigned nonce_size; - unsigned digest_size; - - nettle_set_key_func *set_encrypt_key; - nettle_set_key_func *set_decrypt_key; - nettle_set_key_func *set_nonce; - nettle_hash_update_func *update; - nettle_crypt_func *encrypt; - nettle_crypt_func *decrypt; - /* FIXME: Drop length argument? */ - nettle_hash_digest_func *digest; -}; - -/* FIXME: Rename with leading underscore, but keep current name (and - size!) for now, for ABI compatibility with nettle-3.1, soname - libnettle.so.6. */ -/* null-terminated list of aead constructions implemented by this - version of nettle */ -extern const struct nettle_aead * const nettle_aeads[]; - -const struct nettle_aead * const * -#ifdef __GNUC__ -__attribute__((pure)) -#endif -nettle_get_aeads (void); - -#define nettle_aeads (nettle_get_aeads()) - -extern const struct nettle_aead nettle_gcm_aes128; -extern const struct nettle_aead nettle_gcm_aes192; -extern const struct nettle_aead nettle_gcm_aes256; -extern const struct nettle_aead nettle_gcm_camellia128; -extern const struct nettle_aead nettle_gcm_camellia256; -extern const struct nettle_aead nettle_eax_aes128; -extern const struct nettle_aead nettle_chacha_poly1305; - -struct nettle_armor -{ - const char *name; - unsigned encode_context_size; - unsigned decode_context_size; - - unsigned encode_final_length; - - nettle_armor_init_func *encode_init; - nettle_armor_length_func *encode_length; - nettle_armor_encode_update_func *encode_update; - nettle_armor_encode_final_func *encode_final; - - nettle_armor_init_func *decode_init; - nettle_armor_length_func *decode_length; - nettle_armor_decode_update_func *decode_update; - nettle_armor_decode_final_func *decode_final; -}; - -#define _NETTLE_ARMOR(name, NAME) { \ - #name, \ - sizeof(struct name##_encode_ctx), \ - sizeof(struct name##_decode_ctx), \ - NAME##_ENCODE_FINAL_LENGTH, \ - (nettle_armor_init_func *) name##_encode_init, \ - (nettle_armor_length_func *) name##_encode_length, \ - (nettle_armor_encode_update_func *) name##_encode_update, \ - (nettle_armor_encode_final_func *) name##_encode_final, \ - (nettle_armor_init_func *) name##_decode_init, \ - (nettle_armor_length_func *) name##_decode_length, \ - (nettle_armor_decode_update_func *) name##_decode_update, \ - (nettle_armor_decode_final_func *) name##_decode_final, \ -} - -#define _NETTLE_ARMOR_0(name, NAME) { \ - #name, \ - 0, \ - sizeof(struct name##_decode_ctx), \ - NAME##_ENCODE_FINAL_LENGTH, \ - (nettle_armor_init_func *) name##_encode_init, \ - (nettle_armor_length_func *) name##_encode_length, \ - (nettle_armor_encode_update_func *) name##_encode_update, \ - (nettle_armor_encode_final_func *) name##_encode_final, \ - (nettle_armor_init_func *) name##_decode_init, \ - (nettle_armor_length_func *) name##_decode_length, \ - (nettle_armor_decode_update_func *) name##_decode_update, \ - (nettle_armor_decode_final_func *) name##_decode_final, \ -} - -/* FIXME: Rename with leading underscore, but keep current name (and - size!) for now, for ABI compatibility with nettle-3.1, soname - libnettle.so.6. */ -/* null-terminated list of armor schemes implemented by this version of nettle */ -extern const struct nettle_armor * const nettle_armors[]; - -const struct nettle_armor * const * -#ifdef __GNUC__ -__attribute__((pure)) -#endif -nettle_get_armors (void); - -#define nettle_armors (nettle_get_armors()) - -extern const struct nettle_armor nettle_base64; -extern const struct nettle_armor nettle_base64url; -extern const struct nettle_armor nettle_base16; - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_META_H_INCLUDED */ diff --git a/include/nettle/nettle-stdint.h b/include/nettle/nettle-stdint.h deleted file mode 100644 index e09af32..0000000 --- a/include/nettle/nettle-stdint.h +++ /dev/null @@ -1,286 +0,0 @@ -#ifndef __NETTLE_STDINT_H -#define __NETTLE_STDINT_H 1 -#ifndef _GENERATED_STDINT_H -#define _GENERATED_STDINT_H " " -/* generated using gnu compiler gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 */ -#define _STDINT_HAVE_STDINT_H 1 - -/* ................... shortcircuit part ........................... */ - -#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H -#include -#else -#include - -/* .................... configured part ............................ */ - -/* whether we have a C99 compatible stdint header file */ -/* #undef _STDINT_HEADER_INTPTR */ -/* whether we have a C96 compatible inttypes header file */ -/* #undef _STDINT_HEADER_UINT32 */ -/* whether we have a BSD compatible inet types header */ -/* #undef _STDINT_HEADER_U_INT32 */ - -/* which 64bit typedef has been found */ -/* #undef _STDINT_HAVE_UINT64_T */ -/* #undef _STDINT_HAVE_U_INT64_T */ - -/* which type model has been detected */ -/* #undef _STDINT_CHAR_MODEL // skipped */ -/* #undef _STDINT_LONG_MODEL // skipped */ - -/* whether int_least types were detected */ -/* #undef _STDINT_HAVE_INT_LEAST32_T */ -/* whether int_fast types were detected */ -/* #undef _STDINT_HAVE_INT_FAST32_T */ -/* whether intmax_t type was detected */ -/* #undef _STDINT_HAVE_INTMAX_T */ - -/* .................... detections part ............................ */ - -/* whether we need to define bitspecific types from compiler base types */ -#ifndef _STDINT_HEADER_INTPTR -#ifndef _STDINT_HEADER_UINT32 -#ifndef _STDINT_HEADER_U_INT32 -#define _STDINT_NEED_INT_MODEL_T -#else -#define _STDINT_HAVE_U_INT_TYPES -#endif -#endif -#endif - -#ifdef _STDINT_HAVE_U_INT_TYPES -#undef _STDINT_NEED_INT_MODEL_T -#endif - -#ifdef _STDINT_CHAR_MODEL -#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124 -#ifndef _STDINT_BYTE_MODEL -#define _STDINT_BYTE_MODEL 12 -#endif -#endif -#endif - -#ifndef _STDINT_HAVE_INT_LEAST32_T -#define _STDINT_NEED_INT_LEAST_T -#endif - -#ifndef _STDINT_HAVE_INT_FAST32_T -#define _STDINT_NEED_INT_FAST_T -#endif - -#ifndef _STDINT_HEADER_INTPTR -#define _STDINT_NEED_INTPTR_T -#ifndef _STDINT_HAVE_INTMAX_T -#define _STDINT_NEED_INTMAX_T -#endif -#endif - - -/* .................... definition part ............................ */ - -/* some system headers have good uint64_t */ -#ifndef _HAVE_UINT64_T -#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T -#define _HAVE_UINT64_T -#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T -#define _HAVE_UINT64_T -typedef u_int64_t uint64_t; -#endif -#endif - -#ifndef _HAVE_UINT64_T -/* .. here are some common heuristics using compiler runtime specifics */ -#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L -#define _HAVE_UINT64_T -typedef long long int64_t; -typedef unsigned long long uint64_t; - -#elif !defined __STRICT_ANSI__ -#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ -#define _HAVE_UINT64_T -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; - -#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ -/* note: all ELF-systems seem to have loff-support which needs 64-bit */ -#if !defined _NO_LONGLONG -#define _HAVE_UINT64_T -typedef long long int64_t; -typedef unsigned long long uint64_t; -#endif - -#elif defined __alpha || (defined __mips && defined _ABIN32) -#if !defined _NO_LONGLONG -typedef long int64_t; -typedef unsigned long uint64_t; -#endif - /* compiler/cpu type to define int64_t */ -#endif -#endif -#endif - -#if defined _STDINT_HAVE_U_INT_TYPES -/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ -typedef u_int8_t uint8_t; -typedef u_int16_t uint16_t; -typedef u_int32_t uint32_t; - -/* glibc compatibility */ -#ifndef __int8_t_defined -#define __int8_t_defined -#endif -#endif - -#ifdef _STDINT_NEED_INT_MODEL_T -/* we must guess all the basic types. Apart from byte-adressable system, */ -/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ -/* (btw, those nibble-addressable systems are way off, or so we assume) */ - - -#if defined _STDINT_BYTE_MODEL -#if _STDINT_LONG_MODEL+0 == 242 -/* 2:4:2 = IP16 = a normal 16-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned long uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef long int32_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 -/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ -/* 4:4:4 = ILP32 = a normal 32-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 -/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ -/* 4:8:8 = LP64 = a normal 64-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -/* this system has a "long" of 64bit */ -#ifndef _HAVE_UINT64_T -#define _HAVE_UINT64_T -typedef unsigned long uint64_t; -typedef long int64_t; -#endif -#elif _STDINT_LONG_MODEL+0 == 448 -/* LLP64 a 64-bit system derived from a 32-bit system */ -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#ifndef __int8_t_defined -#define __int8_t_defined -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -#endif -/* assuming the system has a "long long" */ -#ifndef _HAVE_UINT64_T -#define _HAVE_UINT64_T -typedef unsigned long long uint64_t; -typedef long long int64_t; -#endif -#else -#define _STDINT_NO_INT32_T -#endif -#else -#define _STDINT_NO_INT8_T -#define _STDINT_NO_INT32_T -#endif -#endif - -/* - * quote from SunOS-5.8 sys/inttypes.h: - * Use at your own risk. As of February 1996, the committee is squarely - * behind the fixed sized types; the "least" and "fast" types are still being - * discussed. The probability that the "fast" types may be removed before - * the standard is finalized is high enough that they are not currently - * implemented. - */ - -#if defined _STDINT_NEED_INT_LEAST_T -typedef int8_t int_least8_t; -typedef int16_t int_least16_t; -typedef int32_t int_least32_t; -#ifdef _HAVE_UINT64_T -typedef int64_t int_least64_t; -#endif - -typedef uint8_t uint_least8_t; -typedef uint16_t uint_least16_t; -typedef uint32_t uint_least32_t; -#ifdef _HAVE_UINT64_T -typedef uint64_t uint_least64_t; -#endif - /* least types */ -#endif - -#if defined _STDINT_NEED_INT_FAST_T -typedef int8_t int_fast8_t; -typedef int int_fast16_t; -typedef int32_t int_fast32_t; -#ifdef _HAVE_UINT64_T -typedef int64_t int_fast64_t; -#endif - -typedef uint8_t uint_fast8_t; -typedef unsigned uint_fast16_t; -typedef uint32_t uint_fast32_t; -#ifdef _HAVE_UINT64_T -typedef uint64_t uint_fast64_t; -#endif - /* fast types */ -#endif - -#ifdef _STDINT_NEED_INTMAX_T -#ifdef _HAVE_UINT64_T -typedef int64_t intmax_t; -typedef uint64_t uintmax_t; -#else -typedef long intmax_t; -typedef unsigned long uintmax_t; -#endif -#endif - -#ifdef _STDINT_NEED_INTPTR_T -#ifndef __intptr_t_defined -#define __intptr_t_defined -/* we encourage using "long" to store pointer values, never use "int" ! */ -#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 -typedef unsigned int uintptr_t; -typedef int intptr_t; -#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 -typedef unsigned long uintptr_t; -typedef long intptr_t; -#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T -typedef uint64_t uintptr_t; -typedef int64_t intptr_t; -#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ -typedef unsigned long uintptr_t; -typedef long intptr_t; -#endif -#endif -#endif - - /* shortcircuit*/ -#endif - /* once */ -#endif -#endif diff --git a/include/nettle/nettle-types.h b/include/nettle/nettle-types.h deleted file mode 100644 index 84c375d..0000000 --- a/include/nettle/nettle-types.h +++ /dev/null @@ -1,110 +0,0 @@ -/* nettle-types.h - - Copyright (C) 2005, 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_TYPES_H -#define NETTLE_TYPES_H - -/* For size_t */ -#include - -/* Pretend these types always exists. Nettle doesn't use them. */ -#define _STDINT_HAVE_INT_FAST32_T 1 -#include "nettle-stdint.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* An aligned 16-byte block. */ -union nettle_block16 -{ - uint8_t b[16]; - unsigned long w[16 / sizeof(unsigned long)]; -}; - -/* Randomness. Used by key generation and dsa signature creation. */ -typedef void nettle_random_func(void *ctx, - size_t length, uint8_t *dst); - -/* Progress report function, mainly for key generation. */ -typedef void nettle_progress_func(void *ctx, int c); - -/* Realloc function, used by struct nettle_buffer. */ -typedef void *nettle_realloc_func(void *ctx, void *p, size_t length); - -/* Ciphers */ -typedef void nettle_set_key_func(void *ctx, const uint8_t *key); - -/* For block ciphers, const context. */ -typedef void nettle_cipher_func(const void *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - - -/* Uses a void * for cipher contexts. Used for crypt operations where - the internal state changes during the encryption. */ -typedef void nettle_crypt_func(void *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -/* Hash algorithms */ -typedef void nettle_hash_init_func(void *ctx); -typedef void nettle_hash_update_func(void *ctx, - size_t length, - const uint8_t *src); -typedef void nettle_hash_digest_func(void *ctx, - size_t length, uint8_t *dst); - -/* ASCII armor codecs. NOTE: Experimental and subject to change. */ - -typedef size_t nettle_armor_length_func(size_t length); -typedef void nettle_armor_init_func(void *ctx); - -typedef size_t nettle_armor_encode_update_func(void *ctx, - char *dst, - size_t src_length, - const uint8_t *src); - -typedef size_t nettle_armor_encode_final_func(void *ctx, char *dst); - -typedef int nettle_armor_decode_update_func(void *ctx, - size_t *dst_length, - uint8_t *dst, - size_t src_length, - const char *src); - -typedef int nettle_armor_decode_final_func(void *ctx); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_TYPES_H */ diff --git a/include/nettle/pbkdf2.h b/include/nettle/pbkdf2.h deleted file mode 100644 index 7b1c4c9..0000000 --- a/include/nettle/pbkdf2.h +++ /dev/null @@ -1,85 +0,0 @@ -/* pbkdf2.h - - PKCS #5 password-based key derivation function PBKDF2, see RFC 2898. - - Copyright (C) 2012 Simon Josefsson - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_PBKDF2_H_INCLUDED -#define NETTLE_PBKDF2_H_INCLUDED - -#include "nettle-meta.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -/* Namespace mangling */ -#define pbkdf2 nettle_pbkdf2 -#define pbkdf2_hmac_sha1 nettle_pbkdf2_hmac_sha1 -#define pbkdf2_hmac_sha256 nettle_pbkdf2_hmac_sha256 - -void -pbkdf2 (void *mac_ctx, - nettle_hash_update_func *update, - nettle_hash_digest_func *digest, - size_t digest_size, unsigned iterations, - size_t salt_length, const uint8_t *salt, - size_t length, uint8_t *dst); - -#define PBKDF2(ctx, update, digest, digest_size, \ - iterations, salt_length, salt, length, dst) \ - (0 ? ((update)((ctx), 0, (uint8_t *) 0), \ - (digest)((ctx), 0, (uint8_t *) 0)) \ - : pbkdf2 ((ctx), \ - (nettle_hash_update_func *)(update), \ - (nettle_hash_digest_func *)(digest), \ - (digest_size), (iterations), \ - (salt_length), (salt), (length), (dst))) - -/* PBKDF2 with specific PRFs. */ - -void -pbkdf2_hmac_sha1 (size_t key_length, const uint8_t *key, - unsigned iterations, - size_t salt_length, const uint8_t *salt, - size_t length, uint8_t *dst); - -void -pbkdf2_hmac_sha256 (size_t key_length, const uint8_t *key, - unsigned iterations, - size_t salt_length, const uint8_t *salt, - size_t length, uint8_t *dst); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_PBKDF2_H_INCLUDED */ diff --git a/include/nettle/pgp.h b/include/nettle/pgp.h deleted file mode 100644 index 4c2fd84..0000000 --- a/include/nettle/pgp.h +++ /dev/null @@ -1,248 +0,0 @@ -/* pgp.h - - PGP related functions. - - Copyright (C) 2001, 2002 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_PGP_H_INCLUDED -#define NETTLE_PGP_H_INCLUDED - -#include - -#include "nettle-types.h" -#include "bignum.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define pgp_put_uint32 nettle_pgp_put_uint32 -#define pgp_put_uint16 nettle_pgp_put_uint16 -#define pgp_put_mpi nettle_pgp_put_mpi -#define pgp_put_string nettle_pgp_put_string -#define pgp_put_length nettle_pgp_put_length -#define pgp_put_header nettle_pgp_put_header -#define pgp_put_header_length nettle_pgp_put_header_length -#define pgp_sub_packet_start nettle_pgp_sub_packet_start -#define pgp_put_sub_packet nettle_pgp_put_sub_packet -#define pgp_sub_packet_end nettle_pgp_sub_packet_end -#define pgp_put_public_rsa_key nettle_pgp_put_public_rsa_key -#define pgp_put_rsa_sha1_signature nettle_pgp_put_rsa_sha1_signature -#define pgp_put_userid nettle_pgp_put_userid -#define pgp_crc24 nettle_pgp_crc24 -#define pgp_armor nettle_pgp_armor - -struct nettle_buffer; -struct rsa_public_key; -struct rsa_private_key; -struct sha1_ctx; - -int -pgp_put_uint32(struct nettle_buffer *buffer, uint32_t i); - -int -pgp_put_uint16(struct nettle_buffer *buffer, unsigned i); - -int -pgp_put_mpi(struct nettle_buffer *buffer, const mpz_t x); - -int -pgp_put_string(struct nettle_buffer *buffer, - unsigned length, - const uint8_t *s); - -int -pgp_put_length(struct nettle_buffer *buffer, - unsigned length); - -int -pgp_put_header(struct nettle_buffer *buffer, - unsigned tag, unsigned length); - -void -pgp_put_header_length(struct nettle_buffer *buffer, - /* start of the header */ - unsigned start, - unsigned field_size); - -unsigned -pgp_sub_packet_start(struct nettle_buffer *buffer); - -int -pgp_put_sub_packet(struct nettle_buffer *buffer, - unsigned type, - unsigned length, - const uint8_t *data); - -void -pgp_sub_packet_end(struct nettle_buffer *buffer, unsigned start); - -int -pgp_put_public_rsa_key(struct nettle_buffer *, - const struct rsa_public_key *key, - time_t timestamp); - -int -pgp_put_rsa_sha1_signature(struct nettle_buffer *buffer, - const struct rsa_private_key *key, - const uint8_t *keyid, - unsigned type, - struct sha1_ctx *hash); - -int -pgp_put_userid(struct nettle_buffer *buffer, - unsigned length, - const uint8_t *name); - -uint32_t -pgp_crc24(unsigned length, const uint8_t *data); - -int -pgp_armor(struct nettle_buffer *buffer, - const char *tag, - unsigned length, - const uint8_t *data); - -/* Values that can be passed to pgp_put_header when the size of the - * length field, but not the length itself, is known. Also the minimum length - * for the given field size. */ -enum pgp_lengths - { - PGP_LENGTH_ONE_OCTET = 0, - PGP_LENGTH_TWO_OCTETS = 192, - PGP_LENGTH_FOUR_OCTETS = 8384, - }; - -enum pgp_public_key_algorithm - { - PGP_RSA = 1, - PGP_RSA_ENCRYPT = 2, - PGP_RSA_SIGN = 3, - PGP_EL_GAMAL_ENCRYPT = 16, - PGP_DSA = 17, - PGP_EL_GAMAL = 20, - }; - -enum pgp_symmetric_algorithm - { - PGP_PLAINTEXT = 0, - PGP_IDEA = 1, - PGP_3DES = 2, - PGP_CAST5 = 3, - PGP_BLOWFISH = 4, - PGP_SAFER_SK = 5, - PGP_AES128 = 7, - PGP_AES192 = 8, - PGP_AES256 = 9, - }; - -enum pgp_compression_algorithm - { - PGP_UNCOMPRESSED = 0, - PGP_ZIP = 1, - PGP_ZLIB = 2, - }; - -enum pgp_hash_algorithm - { - PGP_MD5 = 1, - PGP_SHA1 = 2, - PGP_RIPEMD = 3, - PGP_MD2 = 5, - PGP_TIGER192 = 6, - PGP_HAVAL = 7, - }; - -enum pgp_tag - { - PGP_TAG_PUBLIC_SESSION_KEY = 1, - PGP_TAG_SIGNATURE = 2, - PGP_TAG_SYMMETRIC_SESSION_KEY = 3, - PGP_TAG_ONE_PASS_SIGNATURE = 4, - PGP_TAG_SECRET_KEY = 5, - PGP_TAG_PUBLIC_KEY = 6, - PGP_TAG_SECRET_SUBKEY = 7, - PGP_TAG_COMPRESSED = 8, - PGP_TAG_ENCRYPTED = 9, - PGP_TAG_MARKER = 10, - PGP_TAG_LITERAL = 11, - PGP_TAG_TRUST = 12, - PGP_TAG_USERID = 13, - PGP_TAG_PUBLIC_SUBKEY = 14, - }; - -enum pgp_signature_type - { - PGP_SIGN_BINARY = 0, - PGP_SIGN_TEXT = 1, - PGP_SIGN_STANDALONE = 2, - PGP_SIGN_CERTIFICATION = 0x10, - PGP_SIGN_CERTIFICATION_PERSONA = 0x11, - PGP_SIGN_CERTIFICATION_CASUAL = 0x12, - PGP_SIGN_CERTIFICATION_POSITIVE = 0x13, - PGP_SIGN_SUBKEY = 0x18, - PGP_SIGN_KEY = 0x1f, - PGP_SIGN_REVOCATION = 0x20, - PGP_SIGN_REVOCATION_SUBKEY = 0x28, - PGP_SIGN_REVOCATION_CERTIFICATE = 0x30, - PGP_SIGN_TIMESTAMP = 0x40, - }; - -enum pgp_subpacket_tag - { - PGP_SUBPACKET_CREATION_TIME = 2, - PGP_SUBPACKET_SIGNATURE_EXPIRATION_TIME = 3, - PGP_SUBPACKET_EXPORTABLE_CERTIFICATION = 4, - PGP_SUBPACKET_TRUST_SIGNATURE = 5, - PGP_SUBPACKET_REGULAR_EXPRESSION = 6, - PGP_SUBPACKET_REVOCABLE = 7, - PGP_SUBPACKET_KEY_EXPIRATION_TIME = 9, - PGP_SUBPACKET_PLACEHOLDER = 10 , - PGP_SUBPACKET_PREFERRED_SYMMETRIC_ALGORITHMS = 11, - PGP_SUBPACKET_REVOCATION_KEY = 12, - PGP_SUBPACKET_ISSUER_KEY_ID = 16, - PGP_SUBPACKET_NOTATION_DATA = 20, - PGP_SUBPACKET_PREFERRED_HASH_ALGORITHMS = 21, - PGP_SUBPACKET_PREFERRED_COMPRESSION_ALGORITHMS = 22, - PGP_SUBPACKET_KEY_SERVER_PREFERENCES = 23, - PGP_SUBPACKET_PREFERRED_KEY_SERVER = 24, - PGP_SUBPACKET_PRIMARY_USER_ID = 25, - PGP_SUBPACKET_POLICY_URL = 26, - PGP_SUBPACKET_KEY_FLAGS = 27, - PGP_SUBPACKET_SIGNERS_USER_ID = 28, - PGP_SUBPACKET_REASON_FOR_REVOCATION = 29, - }; - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_PGP_H_INCLUDED */ diff --git a/include/nettle/pkcs1.h b/include/nettle/pkcs1.h deleted file mode 100644 index 70aa21f..0000000 --- a/include/nettle/pkcs1.h +++ /dev/null @@ -1,114 +0,0 @@ -/* pkcs1.h - - PKCS1 embedding. - - Copyright (C) 2003 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_PKCS1_H_INCLUDED -#define NETTLE_PKCS1_H_INCLUDED - -#include "nettle-types.h" -#include "bignum.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define _pkcs1_signature_prefix _nettle_pkcs1_signature_prefix -#define pkcs1_rsa_digest_encode nettle_pkcs1_rsa_digest_encode -#define pkcs1_rsa_md5_encode nettle_pkcs1_rsa_md5_encode -#define pkcs1_rsa_md5_encode_digest nettle_pkcs1_rsa_md5_encode_digest -#define pkcs1_rsa_sha1_encode nettle_pkcs1_rsa_sha1_encode -#define pkcs1_rsa_sha1_encode_digest nettle_pkcs1_rsa_sha1_encode_digest -#define pkcs1_rsa_sha256_encode nettle_pkcs1_rsa_sha256_encode -#define pkcs1_rsa_sha256_encode_digest nettle_pkcs1_rsa_sha256_encode_digest -#define pkcs1_rsa_sha512_encode nettle_pkcs1_rsa_sha512_encode -#define pkcs1_rsa_sha512_encode_digest nettle_pkcs1_rsa_sha512_encode_digest -#define pkcs1_encrypt nettle_pkcs1_encrypt -#define pkcs1_decrypt nettle_pkcs1_decrypt - -struct md5_ctx; -struct sha1_ctx; -struct sha256_ctx; -struct sha512_ctx; - -uint8_t * -_pkcs1_signature_prefix(unsigned key_size, - uint8_t *buffer, - unsigned id_size, - const uint8_t *id, - unsigned digest_size); - -int -pkcs1_encrypt (size_t key_size, - /* For padding */ - void *random_ctx, nettle_random_func *random, - size_t length, const uint8_t *message, - mpz_t m); - -int -pkcs1_decrypt (size_t key_size, - const mpz_t m, - size_t *length, uint8_t *message); - -int -pkcs1_rsa_digest_encode(mpz_t m, size_t key_size, - size_t di_length, const uint8_t *digest_info); - -int -pkcs1_rsa_md5_encode(mpz_t m, size_t length, struct md5_ctx *hash); - -int -pkcs1_rsa_md5_encode_digest(mpz_t m, size_t length, const uint8_t *digest); - -int -pkcs1_rsa_sha1_encode(mpz_t m, size_t length, struct sha1_ctx *hash); - -int -pkcs1_rsa_sha1_encode_digest(mpz_t m, size_t length, const uint8_t *digest); - -int -pkcs1_rsa_sha256_encode(mpz_t m, size_t length, struct sha256_ctx *hash); - -int -pkcs1_rsa_sha256_encode_digest(mpz_t m, size_t length, const uint8_t *digest); - -int -pkcs1_rsa_sha512_encode(mpz_t m, size_t length, struct sha512_ctx *hash); - -int -pkcs1_rsa_sha512_encode_digest(mpz_t m, size_t length, const uint8_t *digest); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_PKCS1_H_INCLUDED */ diff --git a/include/nettle/poly1305.h b/include/nettle/poly1305.h deleted file mode 100644 index eadc405..0000000 --- a/include/nettle/poly1305.h +++ /dev/null @@ -1,128 +0,0 @@ -/* poly1305.h - - Poly1305 message authentication code. - - Copyright (C) 2013 Nikos Mavrogiannopoulos - Copyright (C) 2013, 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_POLY1305_H_INCLUDED -#define NETTLE_POLY1305_H_INCLUDED - -#include "aes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define poly1305_set_key nettle_poly1305_set_key -#define poly1305_digest nettle_poly1305_digest -#define _poly1305_block _nettle_poly1305_block - -#define poly1305_aes_set_key nettle_poly1305_aes_set_key -#define poly1305_aes_set_nonce nettle_poly1305_aes_set_nonce -#define poly1305_aes_update nettle_poly1305_aes_update -#define poly1305_aes_digest nettle_poly1305_aes_digest - -/* Low level functions/macros for the poly1305 construction. */ - -#define POLY1305_DIGEST_SIZE 16 -#define POLY1305_BLOCK_SIZE 16 -#define POLY1305_KEY_SIZE 16 - -struct poly1305_ctx { - /* Key, 128-bit value and some cached multiples. */ - union - { - uint32_t r32[6]; - uint64_t r64[3]; - } r; - uint32_t s32[3]; - /* State, represented as words of 26, 32 or 64 bits, depending on - implementation. */ - /* High bits first, to maintain alignment. */ - uint32_t hh; - union - { - uint32_t h32[4]; - uint64_t h64[2]; - } h; -}; - -/* Low-level internal interface. */ -void poly1305_set_key(struct poly1305_ctx *ctx, const uint8_t key[POLY1305_KEY_SIZE]); -/* Extracts digest, and adds it to s, the encrypted nonce. */ -void poly1305_digest (struct poly1305_ctx *ctx, union nettle_block16 *s); -/* Internal function. Process one block. */ -void _poly1305_block (struct poly1305_ctx *ctx, const uint8_t *m, - unsigned high); - -/* poly1305-aes */ - -#define POLY1305_AES_KEY_SIZE 32 -#define POLY1305_AES_DIGEST_SIZE 16 -#define POLY1305_AES_NONCE_SIZE 16 - -struct poly1305_aes_ctx -{ - /* Keep aes context last, to make it possible to use a general - poly1305_update if other variants are added. */ - struct poly1305_ctx pctx; - uint8_t block[POLY1305_BLOCK_SIZE]; - unsigned index; - uint8_t nonce[POLY1305_BLOCK_SIZE]; - struct aes128_ctx aes; -}; - -/* Also initialize the nonce to zero. */ -void -poly1305_aes_set_key (struct poly1305_aes_ctx *ctx, const uint8_t *key); - -/* Optional, if not used, messages get incrementing nonces starting - from zero. */ -void -poly1305_aes_set_nonce (struct poly1305_aes_ctx *ctx, - const uint8_t *nonce); - -/* Update is not aes-specific, but since this is the only implemented - variant, we need no more general poly1305_update. */ -void -poly1305_aes_update (struct poly1305_aes_ctx *ctx, size_t length, const uint8_t *data); - -/* Also increments the nonce */ -void -poly1305_aes_digest (struct poly1305_aes_ctx *ctx, - size_t length, uint8_t *digest); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_POLY1305_H_INCLUDED */ diff --git a/include/nettle/pss-mgf1.h b/include/nettle/pss-mgf1.h deleted file mode 100644 index 4a29c10..0000000 --- a/include/nettle/pss-mgf1.h +++ /dev/null @@ -1,58 +0,0 @@ -/* pss-mgf1.h - - PKCS#1 mask generation function 1, used in RSA-PSS (RFC-3447). - - Copyright (C) 2017 Daiki Ueno - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_PSS_MGF1_H_INCLUDED -#define NETTLE_PSS_MGF1_H_INCLUDED - -#include "nettle-meta.h" - -#include "sha1.h" -#include "sha2.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -/* Namespace mangling */ -#define pss_mgf1 nettle_pss_mgf1 - -void -pss_mgf1(const void *seed, const struct nettle_hash *hash, - size_t length, uint8_t *mask); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_PSS_MGF1_H_INCLUDED */ diff --git a/include/nettle/pss.h b/include/nettle/pss.h deleted file mode 100644 index 7627cfe..0000000 --- a/include/nettle/pss.h +++ /dev/null @@ -1,65 +0,0 @@ -/* pss.h - - PKCS#1 RSA-PSS (RFC-3447). - - Copyright (C) 2017 Daiki Ueno - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_PSS_H_INCLUDED -#define NETTLE_PSS_H_INCLUDED - -#include "nettle-types.h" -#include "bignum.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - -/* Namespace mangling */ -#define pss_encode_mgf1 nettle_pss_encode_mgf1 -#define pss_verify_mgf1 nettle_pss_verify_mgf1 - -int -pss_encode_mgf1(mpz_t m, size_t bits, - const struct nettle_hash *hash, - size_t salt_length, const uint8_t *salt, - const uint8_t *digest); - -int -pss_verify_mgf1(const mpz_t m, size_t bits, - const struct nettle_hash *hash, - size_t salt_length, - const uint8_t *digest); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_PSS_H_INCLUDED */ diff --git a/include/nettle/realloc.h b/include/nettle/realloc.h deleted file mode 100644 index 66d376f..0000000 --- a/include/nettle/realloc.h +++ /dev/null @@ -1,48 +0,0 @@ -/* realloc.h - - Copyright (C) 2002 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_REALLOC_H_INCLUDED -#define NETTLE_REALLOC_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -nettle_realloc_func nettle_realloc; -nettle_realloc_func nettle_xrealloc; - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_REALLOC_H_INCLUDED */ diff --git a/include/nettle/ripemd160.h b/include/nettle/ripemd160.h deleted file mode 100644 index 80d1d8a..0000000 --- a/include/nettle/ripemd160.h +++ /dev/null @@ -1,88 +0,0 @@ -/* ripemd160.h - - RIPEMD-160 hash function. - - Copyright (C) 2011 Andres Mejia - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_RIPEMD160_H_INCLUDED -#define NETTLE_RIPEMD160_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -#include "nettle-types.h" - -/* Name mangling */ -#define ripemd160_init nettle_ripemd160_init -#define ripemd160_update nettle_ripemd160_update -#define ripemd160_digest nettle_ripemd160_digest - -/* RIPEMD160 */ - -#define RIPEMD160_DIGEST_SIZE 20 -#define RIPEMD160_BLOCK_SIZE 64 -/* For backwards compatibility */ -#define RIPEMD160_DATA_SIZE RIPEMD160_BLOCK_SIZE - -/* Digest is kept internally as 5 32-bit words. */ -#define _RIPEMD160_DIGEST_LENGTH 5 - -struct ripemd160_ctx -{ - uint32_t state[_RIPEMD160_DIGEST_LENGTH]; - uint64_t count; /* 64-bit block count */ - uint8_t block[RIPEMD160_BLOCK_SIZE]; - unsigned int index; -}; - -void -ripemd160_init(struct ripemd160_ctx *ctx); - -void -ripemd160_update(struct ripemd160_ctx *ctx, - size_t length, - const uint8_t *data); - -void -ripemd160_digest(struct ripemd160_ctx *ctx, - size_t length, - uint8_t *digest); - -/* Internal compression function. STATE points to 5 uint32_t words, - and DATA points to 64 bytes of input data, possibly unaligned. */ -void -_nettle_ripemd160_compress(uint32_t *state, const uint8_t *data); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_RIPEMD160_H_INCLUDED */ diff --git a/include/nettle/rsa.h b/include/nettle/rsa.h deleted file mode 100644 index 0aac6a2..0000000 --- a/include/nettle/rsa.h +++ /dev/null @@ -1,564 +0,0 @@ -/* rsa.h - - The RSA publickey algorithm. - - Copyright (C) 2001, 2002 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_RSA_H_INCLUDED -#define NETTLE_RSA_H_INCLUDED - -#include "nettle-types.h" -#include "bignum.h" - -#include "md5.h" -#include "sha1.h" -#include "sha2.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define rsa_public_key_init nettle_rsa_public_key_init -#define rsa_public_key_clear nettle_rsa_public_key_clear -#define rsa_public_key_prepare nettle_rsa_public_key_prepare -#define rsa_private_key_init nettle_rsa_private_key_init -#define rsa_private_key_clear nettle_rsa_private_key_clear -#define rsa_private_key_prepare nettle_rsa_private_key_prepare -#define rsa_pkcs1_verify nettle_rsa_pkcs1_verify -#define rsa_pkcs1_sign nettle_rsa_pkcs1_sign -#define rsa_pkcs1_sign_tr nettle_rsa_pkcs1_sign_tr -#define rsa_md5_sign nettle_rsa_md5_sign -#define rsa_md5_sign_tr nettle_rsa_md5_sign_tr -#define rsa_md5_verify nettle_rsa_md5_verify -#define rsa_sha1_sign nettle_rsa_sha1_sign -#define rsa_sha1_sign_tr nettle_rsa_sha1_sign_tr -#define rsa_sha1_verify nettle_rsa_sha1_verify -#define rsa_sha256_sign nettle_rsa_sha256_sign -#define rsa_sha256_sign_tr nettle_rsa_sha256_sign_tr -#define rsa_sha256_verify nettle_rsa_sha256_verify -#define rsa_sha512_sign nettle_rsa_sha512_sign -#define rsa_sha512_sign_tr nettle_rsa_sha512_sign_tr -#define rsa_sha512_verify nettle_rsa_sha512_verify -#define rsa_md5_sign_digest nettle_rsa_md5_sign_digest -#define rsa_md5_sign_digest_tr nettle_rsa_md5_sign_digest_tr -#define rsa_md5_verify_digest nettle_rsa_md5_verify_digest -#define rsa_sha1_sign_digest nettle_rsa_sha1_sign_digest -#define rsa_sha1_sign_digest_tr nettle_rsa_sha1_sign_digest_tr -#define rsa_sha1_verify_digest nettle_rsa_sha1_verify_digest -#define rsa_sha256_sign_digest nettle_rsa_sha256_sign_digest -#define rsa_sha256_sign_digest_tr nettle_rsa_sha256_sign_digest_tr -#define rsa_sha256_verify_digest nettle_rsa_sha256_verify_digest -#define rsa_sha512_sign_digest nettle_rsa_sha512_sign_digest -#define rsa_sha512_sign_digest_tr nettle_rsa_sha512_sign_digest_tr -#define rsa_sha512_verify_digest nettle_rsa_sha512_verify_digest -#define rsa_pss_sha256_sign_digest_tr nettle_rsa_pss_sha256_sign_digest_tr -#define rsa_pss_sha256_verify_digest nettle_rsa_pss_sha256_verify_digest -#define rsa_pss_sha384_sign_digest_tr nettle_rsa_pss_sha384_sign_digest_tr -#define rsa_pss_sha384_verify_digest nettle_rsa_pss_sha384_verify_digest -#define rsa_pss_sha512_sign_digest_tr nettle_rsa_pss_sha512_sign_digest_tr -#define rsa_pss_sha512_verify_digest nettle_rsa_pss_sha512_verify_digest -#define rsa_encrypt nettle_rsa_encrypt -#define rsa_decrypt nettle_rsa_decrypt -#define rsa_decrypt_tr nettle_rsa_decrypt_tr -#define rsa_sec_decrypt nettle_rsa_sec_decrypt -#define rsa_compute_root nettle_rsa_compute_root -#define rsa_compute_root_tr nettle_rsa_compute_root_tr -#define rsa_generate_keypair nettle_rsa_generate_keypair -#define rsa_keypair_to_sexp nettle_rsa_keypair_to_sexp -#define rsa_keypair_from_sexp_alist nettle_rsa_keypair_from_sexp_alist -#define rsa_keypair_from_sexp nettle_rsa_keypair_from_sexp -#define rsa_public_key_from_der_iterator nettle_rsa_public_key_from_der_iterator -#define rsa_private_key_from_der_iterator nettle_rsa_private_key_from_der_iterator -#define rsa_keypair_from_der nettle_rsa_keypair_from_der -#define rsa_keypair_to_openpgp nettle_rsa_keypair_to_openpgp -#define _rsa_verify _nettle_rsa_verify -#define _rsa_verify_recover _nettle_rsa_verify_recover -#define _rsa_check_size _nettle_rsa_check_size -#define _rsa_blind _nettle_rsa_blind -#define _rsa_unblind _nettle_rsa_unblind - -/* This limit is somewhat arbitrary. Technically, the smallest modulo - which makes sense at all is 15 = 3*5, phi(15) = 8, size 4 bits. But - for ridiculously small keys, not all odd e are possible (e.g., for - 5 bits, the only possible modulo is 3*7 = 21, phi(21) = 12, and e = - 3 don't work). The smallest size that makes sense with pkcs#1, and - which allows RSA encryption of one byte messages, is 12 octets, 89 - bits. */ - -#define RSA_MINIMUM_N_OCTETS 12 -#define RSA_MINIMUM_N_BITS (8*RSA_MINIMUM_N_OCTETS - 7) - -struct rsa_public_key -{ - /* Size of the modulo, in octets. This is also the size of all - * signatures that are created or verified with this key. */ - size_t size; - - /* Modulo */ - mpz_t n; - - /* Public exponent */ - mpz_t e; -}; - -struct rsa_private_key -{ - size_t size; - - /* d is filled in by the key generation function; otherwise it's - * completely unused. */ - mpz_t d; - - /* The two factors */ - mpz_t p; mpz_t q; - - /* d % (p-1), i.e. a e = 1 (mod (p-1)) */ - mpz_t a; - - /* d % (q-1), i.e. b e = 1 (mod (q-1)) */ - mpz_t b; - - /* modular inverse of q , i.e. c q = 1 (mod p) */ - mpz_t c; -}; - -/* Signing a message works as follows: - * - * Store the private key in a rsa_private_key struct. - * - * Call rsa_private_key_prepare. This initializes the size attribute - * to the length of a signature. - * - * Initialize a hashing context, by callling - * md5_init - * - * Hash the message by calling - * md5_update - * - * Create the signature by calling - * rsa_md5_sign - * - * The signature is represented as a mpz_t bignum. This call also - * resets the hashing context. - * - * When done with the key and signature, don't forget to call - * mpz_clear. - */ - -/* Calls mpz_init to initialize bignum storage. */ -void -rsa_public_key_init(struct rsa_public_key *key); - -/* Calls mpz_clear to deallocate bignum storage. */ -void -rsa_public_key_clear(struct rsa_public_key *key); - -int -rsa_public_key_prepare(struct rsa_public_key *key); - -/* Calls mpz_init to initialize bignum storage. */ -void -rsa_private_key_init(struct rsa_private_key *key); - -/* Calls mpz_clear to deallocate bignum storage. */ -void -rsa_private_key_clear(struct rsa_private_key *key); - -int -rsa_private_key_prepare(struct rsa_private_key *key); - - -/* PKCS#1 style signatures */ -int -rsa_pkcs1_sign(const struct rsa_private_key *key, - size_t length, const uint8_t *digest_info, - mpz_t s); - -int -rsa_pkcs1_sign_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - size_t length, const uint8_t *digest_info, - mpz_t s); -int -rsa_pkcs1_verify(const struct rsa_public_key *key, - size_t length, const uint8_t *digest_info, - const mpz_t signature); - -int -rsa_md5_sign(const struct rsa_private_key *key, - struct md5_ctx *hash, - mpz_t signature); - -int -rsa_md5_sign_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - struct md5_ctx *hash, mpz_t s); - - -int -rsa_md5_verify(const struct rsa_public_key *key, - struct md5_ctx *hash, - const mpz_t signature); - -int -rsa_sha1_sign(const struct rsa_private_key *key, - struct sha1_ctx *hash, - mpz_t signature); - -int -rsa_sha1_sign_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - struct sha1_ctx *hash, - mpz_t s); - -int -rsa_sha1_verify(const struct rsa_public_key *key, - struct sha1_ctx *hash, - const mpz_t signature); - -int -rsa_sha256_sign(const struct rsa_private_key *key, - struct sha256_ctx *hash, - mpz_t signature); - -int -rsa_sha256_sign_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - struct sha256_ctx *hash, - mpz_t s); - -int -rsa_sha256_verify(const struct rsa_public_key *key, - struct sha256_ctx *hash, - const mpz_t signature); - -int -rsa_sha512_sign(const struct rsa_private_key *key, - struct sha512_ctx *hash, - mpz_t signature); - -int -rsa_sha512_sign_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - struct sha512_ctx *hash, - mpz_t s); - -int -rsa_sha512_verify(const struct rsa_public_key *key, - struct sha512_ctx *hash, - const mpz_t signature); - -/* Variants taking the digest as argument. */ -int -rsa_md5_sign_digest(const struct rsa_private_key *key, - const uint8_t *digest, - mpz_t s); - -int -rsa_md5_sign_digest_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - const uint8_t *digest, mpz_t s); - -int -rsa_md5_verify_digest(const struct rsa_public_key *key, - const uint8_t *digest, - const mpz_t signature); - -int -rsa_sha1_sign_digest(const struct rsa_private_key *key, - const uint8_t *digest, - mpz_t s); - -int -rsa_sha1_sign_digest_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - const uint8_t *digest, - mpz_t s); - -int -rsa_sha1_verify_digest(const struct rsa_public_key *key, - const uint8_t *digest, - const mpz_t signature); - -int -rsa_sha256_sign_digest(const struct rsa_private_key *key, - const uint8_t *digest, - mpz_t s); - -int -rsa_sha256_sign_digest_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - const uint8_t *digest, - mpz_t s); - -int -rsa_sha256_verify_digest(const struct rsa_public_key *key, - const uint8_t *digest, - const mpz_t signature); - -int -rsa_sha512_sign_digest(const struct rsa_private_key *key, - const uint8_t *digest, - mpz_t s); - -int -rsa_sha512_sign_digest_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - const uint8_t *digest, - mpz_t s); - -int -rsa_sha512_verify_digest(const struct rsa_public_key *key, - const uint8_t *digest, - const mpz_t signature); - -/* PSS style signatures */ -int -rsa_pss_sha256_sign_digest_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - size_t salt_length, const uint8_t *salt, - const uint8_t *digest, - mpz_t s); - -int -rsa_pss_sha256_verify_digest(const struct rsa_public_key *key, - size_t salt_length, - const uint8_t *digest, - const mpz_t signature); - -int -rsa_pss_sha384_sign_digest_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - size_t salt_length, const uint8_t *salt, - const uint8_t *digest, - mpz_t s); - -int -rsa_pss_sha384_verify_digest(const struct rsa_public_key *key, - size_t salt_length, - const uint8_t *digest, - const mpz_t signature); - -int -rsa_pss_sha512_sign_digest_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - size_t salt_length, const uint8_t *salt, - const uint8_t *digest, - mpz_t s); - -int -rsa_pss_sha512_verify_digest(const struct rsa_public_key *key, - size_t salt_length, - const uint8_t *digest, - const mpz_t signature); - - -/* RSA encryption, using PKCS#1 */ -/* These functions uses the v1.5 padding. What should the v2 (OAEP) - * functions be called? */ - -/* Returns 1 on success, 0 on failure, which happens if the - * message is too long for the key. */ -int -rsa_encrypt(const struct rsa_public_key *key, - /* For padding */ - void *random_ctx, nettle_random_func *random, - size_t length, const uint8_t *cleartext, - mpz_t cipher); - -/* Message must point to a buffer of size *LENGTH. KEY->size is enough - * for all valid messages. On success, *LENGTH is updated to reflect - * the actual length of the message. Returns 1 on success, 0 on - * failure, which happens if decryption failed or if the message - * didn't fit. */ -int -rsa_decrypt(const struct rsa_private_key *key, - size_t *length, uint8_t *cleartext, - const mpz_t ciphertext); - -/* Timing-resistant version, using randomized RSA blinding. */ -int -rsa_decrypt_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - size_t *length, uint8_t *message, - const mpz_t gibberish); - -/* like rsa_decrypt_tr but with additional side-channel resistance. - * NOTE: the length of the final message must be known in advance. */ -int -rsa_sec_decrypt(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - size_t length, uint8_t *message, - const mpz_t gibberish); - -/* Compute x, the e:th root of m. Calling it with x == m is allowed. */ -void -rsa_compute_root(const struct rsa_private_key *key, - mpz_t x, const mpz_t m); - -/* Safer variant, using RSA blinding, and checking the result after - CRT. */ -int -rsa_compute_root_tr(const struct rsa_public_key *pub, - const struct rsa_private_key *key, - void *random_ctx, nettle_random_func *random, - mpz_t x, const mpz_t m); - -/* Key generation */ - -/* Note that the key structs must be initialized first. */ -int -rsa_generate_keypair(struct rsa_public_key *pub, - struct rsa_private_key *key, - - void *random_ctx, nettle_random_func *random, - void *progress_ctx, nettle_progress_func *progress, - - /* Desired size of modulo, in bits */ - unsigned n_size, - - /* Desired size of public exponent, in bits. If - * zero, the passed in value pub->e is used. */ - unsigned e_size); - - -#define RSA_SIGN(key, algorithm, ctx, length, data, signature) ( \ - algorithm##_update(ctx, length, data), \ - rsa_##algorithm##_sign(key, ctx, signature) \ -) - -#define RSA_VERIFY(key, algorithm, ctx, length, data, signature) ( \ - algorithm##_update(ctx, length, data), \ - rsa_##algorithm##_verify(key, ctx, signature) \ -) - - -/* Keys in sexp form. */ - -struct nettle_buffer; - -/* Generates a public-key expression if PRIV is NULL .*/ -int -rsa_keypair_to_sexp(struct nettle_buffer *buffer, - const char *algorithm_name, /* NULL means "rsa" */ - const struct rsa_public_key *pub, - const struct rsa_private_key *priv); - -struct sexp_iterator; - -int -rsa_keypair_from_sexp_alist(struct rsa_public_key *pub, - struct rsa_private_key *priv, - unsigned limit, - struct sexp_iterator *i); - -/* If PRIV is NULL, expect a public-key expression. If PUB is NULL, - * expect a private key expression and ignore the parts not needed for - * the public key. */ -/* Keys must be initialized before calling this function, as usual. */ -int -rsa_keypair_from_sexp(struct rsa_public_key *pub, - struct rsa_private_key *priv, - unsigned limit, - size_t length, const uint8_t *expr); - - -/* Keys in PKCS#1 format. */ -struct asn1_der_iterator; - -int -rsa_public_key_from_der_iterator(struct rsa_public_key *pub, - unsigned limit, - struct asn1_der_iterator *i); - -int -rsa_private_key_from_der_iterator(struct rsa_public_key *pub, - struct rsa_private_key *priv, - unsigned limit, - struct asn1_der_iterator *i); - -/* For public keys, use PRIV == NULL */ -int -rsa_keypair_from_der(struct rsa_public_key *pub, - struct rsa_private_key *priv, - unsigned limit, - size_t length, const uint8_t *data); - -/* OpenPGP format. Experimental interface, subject to change. */ -int -rsa_keypair_to_openpgp(struct nettle_buffer *buffer, - const struct rsa_public_key *pub, - const struct rsa_private_key *priv, - /* A single user id. NUL-terminated utf8. */ - const char *userid); - -/* Internal functions. */ -int -_rsa_verify(const struct rsa_public_key *key, - const mpz_t m, - const mpz_t s); - -int -_rsa_verify_recover(const struct rsa_public_key *key, - mpz_t m, - const mpz_t s); - -size_t -_rsa_check_size(mpz_t n); - -/* _rsa_blind and _rsa_unblind are deprecated, unused in the library, - and will likely be removed with the next ABI break. */ -void -_rsa_blind (const struct rsa_public_key *pub, - void *random_ctx, nettle_random_func *random, - mpz_t c, mpz_t ri); -void -_rsa_unblind (const struct rsa_public_key *pub, mpz_t c, const mpz_t ri); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_RSA_H_INCLUDED */ diff --git a/include/nettle/salsa20.h b/include/nettle/salsa20.h deleted file mode 100644 index 4301988..0000000 --- a/include/nettle/salsa20.h +++ /dev/null @@ -1,114 +0,0 @@ -/* salsa20.h - - The Salsa20 stream cipher. - - Copyright (C) 2012 Simon Josefsson - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_SALSA20_H_INCLUDED -#define NETTLE_SALSA20_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define salsa20_set_key nettle_salsa20_set_key -#define salsa20_128_set_key nettle_salsa20_128_set_key -#define salsa20_256_set_key nettle_salsa20_256_set_key -#define salsa20_set_nonce nettle_salsa20_set_nonce -#define salsa20_crypt nettle_salsa20_crypt -#define _salsa20_core _nettle_salsa20_core - -#define salsa20r12_crypt nettle_salsa20r12_crypt - -/* Alias for backwards compatibility */ -#define salsa20_set_iv nettle_salsa20_set_nonce - -/* In octets.*/ -#define SALSA20_128_KEY_SIZE 16 -#define SALSA20_256_KEY_SIZE 32 -#define SALSA20_BLOCK_SIZE 64 -#define SALSA20_NONCE_SIZE 8 -#define SALSA20_IV_SIZE SALSA20_NONCE_SIZE - -/* Aliases */ -#define SALSA20_MIN_KEY_SIZE 16 -#define SALSA20_MAX_KEY_SIZE 32 -#define SALSA20_KEY_SIZE 32 - -#define _SALSA20_INPUT_LENGTH 16 - -struct salsa20_ctx -{ - /* Indices 1-4 and 11-14 holds the key (two identical copies for the - shorter key size), indices 0, 5, 10, 15 are constant, indices 6, 7 - are the IV, and indices 8, 9 are the block counter: - - C K K K - K C I I - B B C K - K K K C - */ - uint32_t input[_SALSA20_INPUT_LENGTH]; -}; - -void -salsa20_128_set_key(struct salsa20_ctx *ctx, const uint8_t *key); -void -salsa20_256_set_key(struct salsa20_ctx *ctx, const uint8_t *key); - -void -salsa20_set_key(struct salsa20_ctx *ctx, - size_t length, const uint8_t *key); - -void -salsa20_set_nonce(struct salsa20_ctx *ctx, const uint8_t *nonce); - -void -salsa20_crypt(struct salsa20_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -void -salsa20r12_crypt(struct salsa20_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -void -_salsa20_core(uint32_t *dst, const uint32_t *src, unsigned rounds); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_SALSA20_H_INCLUDED */ diff --git a/include/nettle/serpent.h b/include/nettle/serpent.h deleted file mode 100644 index f1ab4b9..0000000 --- a/include/nettle/serpent.h +++ /dev/null @@ -1,102 +0,0 @@ -/* serpent.h - - The serpent block cipher. - - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -/* Serpent is a 128-bit block cipher that accepts a key size of 256 - * bits, designed by Ross Anderson, Eli Biham, and Lars Knudsen. See - * http://www.cl.cam.ac.uk/~rja14/serpent.html for details. - */ - -#ifndef NETTLE_SERPENT_H_INCLUDED -#define NETTLE_SERPENT_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define serpent_set_key nettle_serpent_set_key -#define serpent128_set_key nettle_serpent128_set_key -#define serpent192_set_key nettle_serpent192_set_key -#define serpent256_set_key nettle_serpent256_set_key -#define serpent_encrypt nettle_serpent_encrypt -#define serpent_decrypt nettle_serpent_decrypt - -#define SERPENT_BLOCK_SIZE 16 - -/* Other key lengths are possible, but the design of Serpent makes - * smaller key lengths quite pointless; they cheated with the AES - * requirements, using a 256-bit key length exclusively and just - * padding it out if the desired key length was less, so there really - * is no advantage to using key lengths less than 256 bits. */ -#define SERPENT_KEY_SIZE 32 - -/* Allow keys of size 128 <= bits <= 256 */ - -#define SERPENT_MIN_KEY_SIZE 16 -#define SERPENT_MAX_KEY_SIZE 32 - -#define SERPENT128_KEY_SIZE 16 -#define SERPENT192_KEY_SIZE 24 -#define SERPENT256_KEY_SIZE 32 - -struct serpent_ctx -{ - uint32_t keys[33][4]; /* key schedule */ -}; - -void -serpent_set_key(struct serpent_ctx *ctx, - size_t length, const uint8_t *key); -void -serpent128_set_key(struct serpent_ctx *ctx, const uint8_t *key); -void -serpent192_set_key(struct serpent_ctx *ctx, const uint8_t *key); -void -serpent256_set_key(struct serpent_ctx *ctx, const uint8_t *key); - -void -serpent_encrypt(const struct serpent_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -serpent_decrypt(const struct serpent_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_SERPENT_H_INCLUDED */ diff --git a/include/nettle/sexp.h b/include/nettle/sexp.h deleted file mode 100644 index f6b3df6..0000000 --- a/include/nettle/sexp.h +++ /dev/null @@ -1,213 +0,0 @@ -/* sexp.h - - Parsing s-expressions. - Copyright (C) 2002 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_SEXP_H_INCLUDED -#define NETTLE_SEXP_H_INCLUDED - -#include -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define sexp_iterator_first nettle_sexp_iterator_first -#define sexp_transport_iterator_first nettle_sexp_transport_iterator_first -#define sexp_iterator_next nettle_sexp_iterator_next -#define sexp_iterator_enter_list nettle_sexp_iterator_enter_list -#define sexp_iterator_exit_list nettle_sexp_iterator_exit_list -#define sexp_iterator_subexpr nettle_sexp_iterator_subexpr -#define sexp_iterator_get_uint32 nettle_sexp_iterator_get_uint32 -#define sexp_iterator_check_type nettle_sexp_iterator_check_type -#define sexp_iterator_check_types nettle_sexp_iterator_check_types -#define sexp_iterator_assoc nettle_sexp_iterator_assoc -#define sexp_format nettle_sexp_format -#define sexp_vformat nettle_sexp_vformat -#define sexp_transport_format nettle_sexp_transport_format -#define sexp_transport_vformat nettle_sexp_transport_vformat -#define sexp_token_chars nettle_sexp_token_chars - -enum sexp_type - { SEXP_ATOM, SEXP_LIST, SEXP_END }; - -struct sexp_iterator -{ - size_t length; - const uint8_t *buffer; - - /* Points at the start of the current sub expression. */ - size_t start; - /* If type is SEXP_LIST, pos points at the start of the current - * element. Otherwise, it points at the end. */ - size_t pos; - unsigned level; - - enum sexp_type type; - - size_t display_length; - const uint8_t *display; - - size_t atom_length; - const uint8_t *atom; -}; - - -/* All these functions return 1 on success, 0 on failure */ - -/* Initializes the iterator. */ -int -sexp_iterator_first(struct sexp_iterator *iterator, - size_t length, const uint8_t *input); - -/* NOTE: Decodes the input string in place */ -int -sexp_transport_iterator_first(struct sexp_iterator *iterator, - size_t length, uint8_t *input); - -int -sexp_iterator_next(struct sexp_iterator *iterator); - -/* Current element must be a list. */ -int -sexp_iterator_enter_list(struct sexp_iterator *iterator); - -/* Skips the rest of the current list */ -int -sexp_iterator_exit_list(struct sexp_iterator *iterator); - -#if 0 -/* Skips out of as many lists as necessary to get back to the given - * level. */ -int -sexp_iterator_exit_lists(struct sexp_iterator *iterator, - unsigned level); -#endif - -/* Gets start and length of the current subexpression. Implies - * sexp_iterator_next. */ -const uint8_t * -sexp_iterator_subexpr(struct sexp_iterator *iterator, - size_t *length); - -int -sexp_iterator_get_uint32(struct sexp_iterator *iterator, - uint32_t *x); - - -/* Checks the type of the current expression, which should be a list - * - * ( ...) - */ -int -sexp_iterator_check_type(struct sexp_iterator *iterator, - const char *type); - -const char * -sexp_iterator_check_types(struct sexp_iterator *iterator, - unsigned ntypes, - const char * const *types); - -/* Current element must be a list. Looks up element of type - * - * (key rest...) - * - * For a matching key, the corresponding iterator is initialized - * pointing at the start of REST. - * - * On success, exits the current list. - */ -int -sexp_iterator_assoc(struct sexp_iterator *iterator, - unsigned nkeys, - const char * const *keys, - struct sexp_iterator *values); - - -/* Output functions. What is a reasonable API for this? It seems - * ugly to have to reimplement string streams. */ - -/* Declared for real in buffer.h */ -struct nettle_buffer; - -/* Returns the number of output characters, or 0 on out of memory. If - * buffer == NULL, just compute length. - * - * Format strings can contained matched parentheses, tokens ("foo" in - * the format string is formatted as "3:foo"), whitespace (which - * separates tokens but is otherwise ignored) and the following - * formatting specifiers: - * - * %s String represented as size_t length, const uint8_t *data. - * - * %t Optional display type, represented as - * size_t display_length, const uint8_t *display, - * display == NULL means no display type. - * - * %i Non-negative small integer, uint32_t. - * - * %b Non-negative bignum, mpz_t. - * - * %l Literal string (no length added), typically a balanced - * subexpression. Represented as size_t length, const uint8_t - * *data. - * - * %(, %) Allows insertion of unbalanced parenthesis. - * - * Modifiers: - * - * %0 For %s, %t and %l, says that there's no length argument, - * instead the string is NUL-terminated, and there's only one - * const uint8_t * argument. - */ - -size_t -sexp_format(struct nettle_buffer *buffer, - const char *format, ...); - -size_t -sexp_vformat(struct nettle_buffer *buffer, - const char *format, va_list args); - -size_t -sexp_transport_format(struct nettle_buffer *buffer, - const char *format, ...); - -size_t -sexp_transport_vformat(struct nettle_buffer *buffer, - const char *format, va_list args); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_SEXP_H_INCLUDED */ diff --git a/include/nettle/sha.h b/include/nettle/sha.h deleted file mode 100644 index 7d4afde..0000000 --- a/include/nettle/sha.h +++ /dev/null @@ -1,42 +0,0 @@ -/* sha.h - - This file is deprecated, and provided only for backwards - compatibility with earlier versions of Nettle. Please use sha1.h - and/or sha2.h instead. - - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_SHA_H_INCLUDED -#define NETTLE_SHA_H_INCLUDED - -#include "sha1.h" -#include "sha2.h" - -#endif /* NETTLE_SHA_H_INCLUDED */ diff --git a/include/nettle/sha1.h b/include/nettle/sha1.h deleted file mode 100644 index 7500d0c..0000000 --- a/include/nettle/sha1.h +++ /dev/null @@ -1,88 +0,0 @@ -/* sha1.h - - The sha1 hash function. - - Copyright (C) 2001, 2012 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_SHA1_H_INCLUDED -#define NETTLE_SHA1_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define sha1_init nettle_sha1_init -#define sha1_update nettle_sha1_update -#define sha1_digest nettle_sha1_digest - -/* SHA1 */ - -#define SHA1_DIGEST_SIZE 20 -#define SHA1_BLOCK_SIZE 64 -/* For backwards compatibility */ -#define SHA1_DATA_SIZE SHA1_BLOCK_SIZE - -/* Digest is kept internally as 5 32-bit words. */ -#define _SHA1_DIGEST_LENGTH 5 - -struct sha1_ctx -{ - uint32_t state[_SHA1_DIGEST_LENGTH]; /* State variables */ - uint64_t count; /* 64-bit block count */ - uint8_t block[SHA1_BLOCK_SIZE]; /* SHA1 data buffer */ - unsigned int index; /* index into buffer */ -}; - -void -sha1_init(struct sha1_ctx *ctx); - -void -sha1_update(struct sha1_ctx *ctx, - size_t length, - const uint8_t *data); - -void -sha1_digest(struct sha1_ctx *ctx, - size_t length, - uint8_t *digest); - -/* Internal compression function. STATE points to 5 uint32_t words, - and DATA points to 64 bytes of input data, possibly unaligned. */ -void -_nettle_sha1_compress(uint32_t *state, const uint8_t *data); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_SHA1_H_INCLUDED */ diff --git a/include/nettle/sha2.h b/include/nettle/sha2.h deleted file mode 100644 index 6537c0e..0000000 --- a/include/nettle/sha2.h +++ /dev/null @@ -1,206 +0,0 @@ -/* sha2.h - - The sha2 family of hash functions. - - Copyright (C) 2001, 2012 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_SHA2_H_INCLUDED -#define NETTLE_SHA2_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define sha224_init nettle_sha224_init -#define sha224_digest nettle_sha224_digest -#define sha256_init nettle_sha256_init -#define sha256_update nettle_sha256_update -#define sha256_digest nettle_sha256_digest -#define sha384_init nettle_sha384_init -#define sha384_digest nettle_sha384_digest -#define sha512_init nettle_sha512_init -#define sha512_update nettle_sha512_update -#define sha512_digest nettle_sha512_digest -#define sha512_224_init nettle_sha512_224_init -#define sha512_224_digest nettle_sha512_224_digest -#define sha512_256_init nettle_sha512_256_init -#define sha512_256_digest nettle_sha512_256_digest - -/* For backwards compatibility */ -#define SHA224_DATA_SIZE SHA256_BLOCK_SIZE -#define SHA256_DATA_SIZE SHA256_BLOCK_SIZE -#define SHA512_DATA_SIZE SHA512_BLOCK_SIZE -#define SHA384_DATA_SIZE SHA512_BLOCK_SIZE - -/* SHA256 */ - -#define SHA256_DIGEST_SIZE 32 -#define SHA256_BLOCK_SIZE 64 - -/* Digest is kept internally as 8 32-bit words. */ -#define _SHA256_DIGEST_LENGTH 8 - -struct sha256_ctx -{ - uint32_t state[_SHA256_DIGEST_LENGTH]; /* State variables */ - uint64_t count; /* 64-bit block count */ - uint8_t block[SHA256_BLOCK_SIZE]; /* SHA256 data buffer */ - unsigned int index; /* index into buffer */ -}; - -void -sha256_init(struct sha256_ctx *ctx); - -void -sha256_update(struct sha256_ctx *ctx, - size_t length, - const uint8_t *data); - -void -sha256_digest(struct sha256_ctx *ctx, - size_t length, - uint8_t *digest); - -/* Internal compression function. STATE points to 8 uint32_t words, - DATA points to 64 bytes of input data, possibly unaligned, and K - points to the table of constants. */ -void -_nettle_sha256_compress(uint32_t *state, const uint8_t *data, const uint32_t *k); - - -/* SHA224, a truncated SHA256 with different initial state. */ - -#define SHA224_DIGEST_SIZE 28 -#define SHA224_BLOCK_SIZE SHA256_BLOCK_SIZE -#define sha224_ctx sha256_ctx - -void -sha224_init(struct sha256_ctx *ctx); - -#define sha224_update nettle_sha256_update - -void -sha224_digest(struct sha256_ctx *ctx, - size_t length, - uint8_t *digest); - - -/* SHA512 */ - -#define SHA512_DIGEST_SIZE 64 -#define SHA512_BLOCK_SIZE 128 - -/* Digest is kept internally as 8 64-bit words. */ -#define _SHA512_DIGEST_LENGTH 8 - -struct sha512_ctx -{ - uint64_t state[_SHA512_DIGEST_LENGTH]; /* State variables */ - uint64_t count_low, count_high; /* 128-bit block count */ - uint8_t block[SHA512_BLOCK_SIZE]; /* SHA512 data buffer */ - unsigned int index; /* index into buffer */ -}; - -void -sha512_init(struct sha512_ctx *ctx); - -void -sha512_update(struct sha512_ctx *ctx, - size_t length, - const uint8_t *data); - -void -sha512_digest(struct sha512_ctx *ctx, - size_t length, - uint8_t *digest); - -/* Internal compression function. STATE points to 8 uint64_t words, - DATA points to 128 bytes of input data, possibly unaligned, and K - points to the table of constants. */ -void -_nettle_sha512_compress(uint64_t *state, const uint8_t *data, const uint64_t *k); - - -/* SHA384, a truncated SHA512 with different initial state. */ - -#define SHA384_DIGEST_SIZE 48 -#define SHA384_BLOCK_SIZE SHA512_BLOCK_SIZE -#define sha384_ctx sha512_ctx - -void -sha384_init(struct sha512_ctx *ctx); - -#define sha384_update nettle_sha512_update - -void -sha384_digest(struct sha512_ctx *ctx, - size_t length, - uint8_t *digest); - - -/* SHA512_224 and SHA512_256, two truncated versions of SHA512 - with different initial states. */ - -#define SHA512_224_DIGEST_SIZE 28 -#define SHA512_224_BLOCK_SIZE SHA512_BLOCK_SIZE -#define sha512_224_ctx sha512_ctx - -void -sha512_224_init(struct sha512_224_ctx *ctx); - -#define sha512_224_update nettle_sha512_update - -void -sha512_224_digest(struct sha512_224_ctx *ctx, - size_t length, - uint8_t *digest); - -#define SHA512_256_DIGEST_SIZE 32 -#define SHA512_256_BLOCK_SIZE SHA512_BLOCK_SIZE -#define sha512_256_ctx sha512_ctx - -void -sha512_256_init(struct sha512_256_ctx *ctx); - -#define sha512_256_update nettle_sha512_update - -void -sha512_256_digest(struct sha512_256_ctx *ctx, - size_t length, - uint8_t *digest); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_SHA2_H_INCLUDED */ diff --git a/include/nettle/sha3.h b/include/nettle/sha3.h deleted file mode 100644 index 0c65537..0000000 --- a/include/nettle/sha3.h +++ /dev/null @@ -1,193 +0,0 @@ -/* sha3.h - - The sha3 hash function (aka Keccak). - - Copyright (C) 2012 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_SHA3_H_INCLUDED -#define NETTLE_SHA3_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define sha3_permute nettle_sha3_permute -#define _sha3_update _nettle_sha3_update -#define _sha3_pad _nettle_sha3_pad -#define sha3_224_init nettle_sha3_224_init -#define sha3_224_update nettle_sha3_224_update -#define sha3_224_digest nettle_sha3_224_digest -#define sha3_256_init nettle_sha3_256_init -#define sha3_256_update nettle_sha3_256_update -#define sha3_256_digest nettle_sha3_256_digest -#define sha3_384_init nettle_sha3_384_init -#define sha3_384_update nettle_sha3_384_update -#define sha3_384_digest nettle_sha3_384_digest -#define sha3_512_init nettle_sha3_512_init -#define sha3_512_update nettle_sha3_512_update -#define sha3_512_digest nettle_sha3_512_digest - -/* Indicates that SHA3 is the NIST FIPS 202 version. */ -#define NETTLE_SHA3_FIPS202 1 - -/* The sha3 state is a 5x5 matrix of 64-bit words. In the notation of - Keccak description, S[x,y] is element x + 5*y, so if x is - interpreted as the row index and y the column index, it is stored - in column-major order. */ -#define SHA3_STATE_LENGTH 25 - -/* The "width" is 1600 bits or 200 octets */ -struct sha3_state -{ - uint64_t a[SHA3_STATE_LENGTH]; -}; - -void -sha3_permute (struct sha3_state *state); - -unsigned -_sha3_update (struct sha3_state *state, - unsigned block_size, uint8_t *block, - unsigned pos, - size_t length, const uint8_t *data); -void -_sha3_pad (struct sha3_state *state, - unsigned block_size, uint8_t *block, unsigned pos); - -/* The "capacity" is set to 2*(digest size), 512 bits or 64 octets. - The "rate" is the width - capacity, or width - 2 * (digest - size). */ - -#define SHA3_224_DIGEST_SIZE 28 -#define SHA3_224_BLOCK_SIZE 144 - -#define SHA3_256_DIGEST_SIZE 32 -#define SHA3_256_BLOCK_SIZE 136 - -#define SHA3_384_DIGEST_SIZE 48 -#define SHA3_384_BLOCK_SIZE 104 - -#define SHA3_512_DIGEST_SIZE 64 -#define SHA3_512_BLOCK_SIZE 72 - -/* For backwards compatibility */ -#define SHA3_224_DATA_SIZE SHA3_224_BLOCK_SIZE -#define SHA3_256_DATA_SIZE SHA3_256_BLOCK_SIZE -#define SHA3_384_DATA_SIZE SHA3_384_BLOCK_SIZE -#define SHA3_512_DATA_SIZE SHA3_512_BLOCK_SIZE - -struct sha3_224_ctx -{ - struct sha3_state state; - unsigned index; - uint8_t block[SHA3_224_BLOCK_SIZE]; -}; - -void -sha3_224_init (struct sha3_224_ctx *ctx); - -void -sha3_224_update (struct sha3_224_ctx *ctx, - size_t length, - const uint8_t *data); - -void -sha3_224_digest(struct sha3_224_ctx *ctx, - size_t length, - uint8_t *digest); - -struct sha3_256_ctx -{ - struct sha3_state state; - unsigned index; - uint8_t block[SHA3_256_BLOCK_SIZE]; -}; - -void -sha3_256_init (struct sha3_256_ctx *ctx); - -void -sha3_256_update (struct sha3_256_ctx *ctx, - size_t length, - const uint8_t *data); - -void -sha3_256_digest(struct sha3_256_ctx *ctx, - size_t length, - uint8_t *digest); - -struct sha3_384_ctx -{ - struct sha3_state state; - unsigned index; - uint8_t block[SHA3_384_BLOCK_SIZE]; -}; - -void -sha3_384_init (struct sha3_384_ctx *ctx); - -void -sha3_384_update (struct sha3_384_ctx *ctx, - size_t length, - const uint8_t *data); - -void -sha3_384_digest(struct sha3_384_ctx *ctx, - size_t length, - uint8_t *digest); - -struct sha3_512_ctx -{ - struct sha3_state state; - unsigned index; - uint8_t block[SHA3_512_BLOCK_SIZE]; -}; - -void -sha3_512_init (struct sha3_512_ctx *ctx); - -void -sha3_512_update (struct sha3_512_ctx *ctx, - size_t length, - const uint8_t *data); - -void -sha3_512_digest(struct sha3_512_ctx *ctx, - size_t length, - uint8_t *digest); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_SHA3_H_INCLUDED */ diff --git a/include/nettle/twofish.h b/include/nettle/twofish.h deleted file mode 100644 index 1056e59..0000000 --- a/include/nettle/twofish.h +++ /dev/null @@ -1,98 +0,0 @@ -/* twofish.h - - The twofish block cipher. - - Copyright (C) 2001, 2014 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -/* - * Twofish is a 128-bit block cipher that accepts a variable-length - * key up to 256 bits, designed by Bruce Schneier and others. See - * http://www.counterpane.com/twofish.html for details. - */ - -#ifndef NETTLE_TWOFISH_H_INCLUDED -#define NETTLE_TWOFISH_H_INCLUDED - -#include "nettle-types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define twofish_set_key nettle_twofish_set_key -#define twofish128_set_key nettle_twofish128_set_key -#define twofish192_set_key nettle_twofish192_set_key -#define twofish256_set_key nettle_twofish256_set_key -#define twofish_encrypt nettle_twofish_encrypt -#define twofish_decrypt nettle_twofish_decrypt - -#define TWOFISH_BLOCK_SIZE 16 - -/* Variable key size between 128 and 256 bits. But the only valid - * values are 16 (128 bits), 24 (192 bits) and 32 (256 bits). */ -#define TWOFISH_MIN_KEY_SIZE 16 -#define TWOFISH_MAX_KEY_SIZE 32 - -#define TWOFISH_KEY_SIZE 32 -#define TWOFISH128_KEY_SIZE 16 -#define TWOFISH192_KEY_SIZE 24 -#define TWOFISH256_KEY_SIZE 32 - -struct twofish_ctx -{ - uint32_t keys[40]; - uint32_t s_box[4][256]; -}; - -void -twofish_set_key(struct twofish_ctx *ctx, - size_t length, const uint8_t *key); -void -twofish128_set_key(struct twofish_ctx *context, const uint8_t *key); -void -twofish192_set_key(struct twofish_ctx *context, const uint8_t *key); -void -twofish256_set_key(struct twofish_ctx *context, const uint8_t *key); - -void -twofish_encrypt(const struct twofish_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); -void -twofish_decrypt(const struct twofish_ctx *ctx, - size_t length, uint8_t *dst, - const uint8_t *src); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_TWOFISH_H_INCLUDED */ diff --git a/include/nettle/umac.h b/include/nettle/umac.h deleted file mode 100644 index f4d3c7a..0000000 --- a/include/nettle/umac.h +++ /dev/null @@ -1,253 +0,0 @@ -/* umac.h - - UMAC message authentication code (RFC-4418). - - Copyright (C) 2013 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_UMAC_H_INCLUDED -#define NETTLE_UMAC_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -/* Namespace mangling */ -#define umac32_set_key nettle_umac32_set_key -#define umac64_set_key nettle_umac64_set_key -#define umac96_set_key nettle_umac96_set_key -#define umac128_set_key nettle_umac128_set_key -#define umac32_set_nonce nettle_umac32_set_nonce -#define umac64_set_nonce nettle_umac64_set_nonce -#define umac96_set_nonce nettle_umac96_set_nonce -#define umac128_set_nonce nettle_umac128_set_nonce -#define umac32_update nettle_umac32_update -#define umac64_update nettle_umac64_update -#define umac96_update nettle_umac96_update -#define umac128_update nettle_umac128_update -#define umac32_digest nettle_umac32_digest -#define umac64_digest nettle_umac64_digest -#define umac96_digest nettle_umac96_digest -#define umac128_digest nettle_umac128_digest -#define _umac_set_key _nettle_umac_set_key -#define _umac_nh _nettle_umac_nh -#define _umac_nh_n _nettle_umac_nh_n -#define _umac_poly64 _nettle_umac_poly64 -#define _umac_poly128 _nettle_umac_poly128 -#define _umac_l2_init _nettle_umac_l2_init -#define _umac_l2 _nettle_umac_l2 -#define _umac_l2_final _nettle_umac_l2_final -#define _umac_l3_init _nettle_umac_l3_init -#define _umac_l3 _nettle_umac_l3 - -#include "nettle-types.h" -#include "aes.h" - -#define UMAC_KEY_SIZE AES128_KEY_SIZE -#define UMAC32_DIGEST_SIZE 4 -#define UMAC64_DIGEST_SIZE 8 -#define UMAC96_DIGEST_SIZE 12 -#define UMAC128_DIGEST_SIZE 16 -#define UMAC_BLOCK_SIZE 1024 -#define UMAC_MIN_NONCE_SIZE 1 -#define UMAC_MAX_NONCE_SIZE AES_BLOCK_SIZE -/* For backwards compatibility */ -#define UMAC_DATA_SIZE UMAC_BLOCK_SIZE - -/* Subkeys and state for UMAC with tag size 32*n bits. */ -#define _UMAC_STATE(n) \ - uint32_t l1_key[UMAC_BLOCK_SIZE/4 + 4*((n)-1)]; \ - /* Keys in 32-bit pieces, high first */ \ - uint32_t l2_key[6*(n)]; \ - uint64_t l3_key1[8*(n)]; \ - uint32_t l3_key2[(n)]; \ - /* AES cipher for encrypting the nonce */ \ - struct aes128_ctx pdf_key; \ - /* The l2_state consists of 2*n uint64_t, for poly64 \ - and poly128 hashing, followed by n additional \ - uint64_t used as an input buffer. */ \ - uint64_t l2_state[3*(n)]; \ - /* Input to the pdf_key, zero-padded and low bits \ - cleared if appropriate. */ \ - uint8_t nonce[AES_BLOCK_SIZE]; \ - unsigned short nonce_length /* For incrementing */ - - /* Buffering */ -#define _UMAC_BUFFER \ - unsigned index; \ - /* Complete blocks processed */ \ - uint64_t count; \ - uint8_t block[UMAC_BLOCK_SIZE] - -#define _UMAC_NONCE_CACHED 0x80 - -struct umac32_ctx -{ - _UMAC_STATE(1); - /* Low bits and cache flag. */ - unsigned short nonce_low; - /* Previous padding block */ - uint32_t pad_cache[AES_BLOCK_SIZE / 4]; - _UMAC_BUFFER; -}; - -struct umac64_ctx -{ - _UMAC_STATE(2); - /* Low bit and cache flag. */ - unsigned short nonce_low; - /* Previous padding block */ - uint32_t pad_cache[AES_BLOCK_SIZE/4]; - _UMAC_BUFFER; -}; - -struct umac96_ctx -{ - _UMAC_STATE(3); - _UMAC_BUFFER; -}; - -struct umac128_ctx -{ - _UMAC_STATE(4); - _UMAC_BUFFER; -}; - -/* The _set_key function initialize the nonce to zero. */ -void -umac32_set_key (struct umac32_ctx *ctx, const uint8_t *key); -void -umac64_set_key (struct umac64_ctx *ctx, const uint8_t *key); -void -umac96_set_key (struct umac96_ctx *ctx, const uint8_t *key); -void -umac128_set_key (struct umac128_ctx *ctx, const uint8_t *key); - -/* Optional, if not used, messages get incrementing nonces starting from zero. */ -void -umac32_set_nonce (struct umac32_ctx *ctx, - size_t nonce_length, const uint8_t *nonce); -void -umac64_set_nonce (struct umac64_ctx *ctx, - size_t nonce_length, const uint8_t *nonce); -void -umac96_set_nonce (struct umac96_ctx *ctx, - size_t nonce_length, const uint8_t *nonce); -void -umac128_set_nonce (struct umac128_ctx *ctx, - size_t nonce_length, const uint8_t *nonce); - -void -umac32_update (struct umac32_ctx *ctx, - size_t length, const uint8_t *data); -void -umac64_update (struct umac64_ctx *ctx, - size_t length, const uint8_t *data); -void -umac96_update (struct umac96_ctx *ctx, - size_t length, const uint8_t *data); -void -umac128_update (struct umac128_ctx *ctx, - size_t length, const uint8_t *data); - -/* The _digest functions increment the nonce */ -void -umac32_digest (struct umac32_ctx *ctx, - size_t length, uint8_t *digest); -void -umac64_digest (struct umac64_ctx *ctx, - size_t length, uint8_t *digest); -void -umac96_digest (struct umac96_ctx *ctx, - size_t length, uint8_t *digest); -void -umac128_digest (struct umac128_ctx *ctx, - size_t length, uint8_t *digest); - - -/* Internal functions */ -#define UMAC_POLY64_BLOCKS 16384 - -#define UMAC_P64_OFFSET 59 -#define UMAC_P64 (- (uint64_t) UMAC_P64_OFFSET) - -#define UMAC_P128_OFFSET 159 -#define UMAC_P128_HI (~(uint64_t) 0) -#define UMAC_P128_LO (-(uint64_t) UMAC_P128_OFFSET) - -void -_umac_set_key (uint32_t *l1_key, uint32_t *l2_key, - uint64_t *l3_key1, uint32_t *l3_key2, - struct aes128_ctx *pad, const uint8_t *key, unsigned n); - -uint64_t -_umac_nh (const uint32_t *key, unsigned length, const uint8_t *msg); - -/* Equivalent to - - for (i = 0; i < n; i++) - out[i] = _umac_nh (key + 4*i, length, msg); - - but processing input only once. -*/ -void -_umac_nh_n (uint64_t *out, unsigned n, const uint32_t *key, - unsigned length, const uint8_t *msg); - -/* Returns y*k + m (mod p), including "marker" processing. Return - value is *not* in canonical representation, and must be normalized - before the output is used. */ -uint64_t -_umac_poly64 (uint32_t kh, uint32_t kl, uint64_t y, uint64_t m); - -void -_umac_poly128 (const uint32_t *k, uint64_t *y, uint64_t mh, uint64_t ml); - -void -_umac_l2_init (unsigned size, uint32_t *k); - -void -_umac_l2(const uint32_t *key, uint64_t *state, unsigned n, - uint64_t count, const uint64_t *m); - -void -_umac_l2_final(const uint32_t *key, uint64_t *state, unsigned n, - uint64_t count); - -void -_umac_l3_init (unsigned size, uint64_t *k); - -uint32_t -_umac_l3 (const uint64_t *key, const uint64_t *m); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_UMAC_H_INCLUDED */ diff --git a/include/nettle/version.h b/include/nettle/version.h deleted file mode 100644 index b202049..0000000 --- a/include/nettle/version.h +++ /dev/null @@ -1,64 +0,0 @@ -/* version.h - - Information about library version. - - Copyright (C) 2015 Red Hat, Inc. - Copyright (C) 2015 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_VERSION_H_INCLUDED -#define NETTLE_VERSION_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -/* Individual version numbers in decimal */ -#define NETTLE_VERSION_MAJOR 3 -#define NETTLE_VERSION_MINOR 4 - -#define NETTLE_USE_MINI_GMP 0 - -/* We need a preprocessor constant for GMP_NUMB_BITS, simply using - sizeof(mp_limb_t) * CHAR_BIT is not good enough. */ -#if NETTLE_USE_MINI_GMP -# define GMP_NUMB_BITS n/a -#endif - -int -nettle_version_major (void); - -int -nettle_version_minor (void); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_VERSION_H_INCLUDED */ diff --git a/include/nettle/yarrow.h b/include/nettle/yarrow.h deleted file mode 100644 index 808ac0a..0000000 --- a/include/nettle/yarrow.h +++ /dev/null @@ -1,145 +0,0 @@ -/* yarrow.h - - The yarrow pseudo-randomness generator. - - Copyright (C) 2001 Niels M枚ller - - This file is part of GNU Nettle. - - GNU Nettle is free software: you can redistribute it and/or - modify it under the terms of either: - - * the GNU Lesser General Public License as published by the Free - Software Foundation; either version 3 of the License, or (at your - option) any later version. - - or - - * the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. - - or both in parallel, as here. - - GNU Nettle is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received copies of the GNU General Public License and - the GNU Lesser General Public License along with this program. If - not, see http://www.gnu.org/licenses/. -*/ - -#ifndef NETTLE_YARROW_H_INCLUDED -#define NETTLE_YARROW_H_INCLUDED - -#include "aes.h" -#include "sha2.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Name mangling */ -#define yarrow256_init nettle_yarrow256_init -#define yarrow256_seed nettle_yarrow256_seed -#define yarrow256_update nettle_yarrow256_update -#define yarrow256_random nettle_yarrow256_random -#define yarrow256_is_seeded nettle_yarrow256_is_seeded -#define yarrow256_needed_sources nettle_yarrow256_needed_sources -#define yarrow256_fast_reseed nettle_yarrow256_fast_reseed -#define yarrow256_slow_reseed nettle_yarrow256_slow_reseed -#define yarrow_key_event_init nettle_yarrow_key_event_init -#define yarrow_key_event_estimate nettle_yarrow_key_event_estimate - -/* Obsolete alias for backwards compatibility. Will be deleted in some - later version. */ -#define yarrow256_force_reseed yarrow256_slow_reseed - -enum yarrow_pool_id { YARROW_FAST = 0, YARROW_SLOW = 1 }; - -struct yarrow_source -{ - /* Indexed by yarrow_pool_id */ - uint32_t estimate[2]; - - /* The pool next sample should go to. */ - enum yarrow_pool_id next; -}; - - -#define YARROW256_SEED_FILE_SIZE (2 * AES_BLOCK_SIZE) - -/* Yarrow-256, based on SHA-256 and AES-256 */ -struct yarrow256_ctx -{ - /* Indexed by yarrow_pool_id */ - struct sha256_ctx pools[2]; - - int seeded; - - /* The current key and counter block */ - struct aes256_ctx key; - uint8_t counter[AES_BLOCK_SIZE]; - - /* The entropy sources */ - unsigned nsources; - struct yarrow_source *sources; -}; - -void -yarrow256_init(struct yarrow256_ctx *ctx, - unsigned nsources, - struct yarrow_source *sources); - -void -yarrow256_seed(struct yarrow256_ctx *ctx, - size_t length, - const uint8_t *seed_file); - -/* Returns 1 on reseed */ -int -yarrow256_update(struct yarrow256_ctx *ctx, - unsigned source, unsigned entropy, - size_t length, const uint8_t *data); - -void -yarrow256_random(struct yarrow256_ctx *ctx, size_t length, uint8_t *dst); - -int -yarrow256_is_seeded(struct yarrow256_ctx *ctx); - -unsigned -yarrow256_needed_sources(struct yarrow256_ctx *ctx); - -void -yarrow256_fast_reseed(struct yarrow256_ctx *ctx); - -void -yarrow256_slow_reseed(struct yarrow256_ctx *ctx); - - -/* Key event estimator */ -#define YARROW_KEY_EVENT_BUFFER 16 - -struct yarrow_key_event_ctx -{ - /* Counter for initial priming of the state */ - unsigned index; - unsigned chars[YARROW_KEY_EVENT_BUFFER]; - unsigned previous; -}; - -void -yarrow_key_event_init(struct yarrow_key_event_ctx *ctx); - -unsigned -yarrow_key_event_estimate(struct yarrow_key_event_ctx *ctx, - unsigned key, unsigned time); - -#ifdef __cplusplus -} -#endif - -#endif /* NETTLE_YARROW_H_INCLUDED */ diff --git a/include/zip.h b/include/zip.h deleted file mode 100644 index a90776d..0000000 --- a/include/zip.h +++ /dev/null @@ -1,479 +0,0 @@ -#ifndef _HAD_ZIP_H -#define _HAD_ZIP_H - -/* - zip.h -- exported declarations. - Copyright (C) 1999-2020 Dieter Baron and Thomas Klausner - - This file is part of libzip, a library to manipulate ZIP archives. - The authors can be contacted at - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - 3. The names of the authors may not be used to endorse or promote - products derived from this software without specific prior - written permission. - - THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS - OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - - -#ifdef __cplusplus -extern "C" { -#if 0 -} /* fix autoindent */ -#endif -#endif - -#include - -#ifndef ZIP_EXTERN -#ifndef ZIP_STATIC -#ifdef _WIN32 -#define ZIP_EXTERN __declspec(dllimport) -#elif defined(__GNUC__) && __GNUC__ >= 4 -#define ZIP_EXTERN __attribute__((visibility("default"))) -#else -#define ZIP_EXTERN -#endif -#else -#define ZIP_EXTERN -#endif -#endif - -#include -#include -#include - -/* flags for zip_open */ - -#define ZIP_CREATE 1 -#define ZIP_EXCL 2 -#define ZIP_CHECKCONS 4 -#define ZIP_TRUNCATE 8 -#define ZIP_RDONLY 16 - - -/* flags for zip_name_locate, zip_fopen, zip_stat, ... */ - -#define ZIP_FL_NOCASE 1u /* ignore case on name lookup */ -#define ZIP_FL_NODIR 2u /* ignore directory component */ -#define ZIP_FL_COMPRESSED 4u /* read compressed data */ -#define ZIP_FL_UNCHANGED 8u /* use original data, ignoring changes */ -#define ZIP_FL_RECOMPRESS 16u /* force recompression of data */ -#define ZIP_FL_ENCRYPTED 32u /* read encrypted data (implies ZIP_FL_COMPRESSED) */ -#define ZIP_FL_ENC_GUESS 0u /* guess string encoding (is default) */ -#define ZIP_FL_ENC_RAW 64u /* get unmodified string */ -#define ZIP_FL_ENC_STRICT 128u /* follow specification strictly */ -#define ZIP_FL_LOCAL 256u /* in local header */ -#define ZIP_FL_CENTRAL 512u /* in central directory */ -/* 1024u reserved for internal use */ -#define ZIP_FL_ENC_UTF_8 2048u /* string is UTF-8 encoded */ -#define ZIP_FL_ENC_CP437 4096u /* string is CP437 encoded */ -#define ZIP_FL_OVERWRITE 8192u /* zip_file_add: if file with name exists, overwrite (replace) it */ - -/* archive global flags flags */ - -#define ZIP_AFL_RDONLY 2u /* read only -- cannot be cleared */ - - -/* create a new extra field */ - -#define ZIP_EXTRA_FIELD_ALL ZIP_UINT16_MAX -#define ZIP_EXTRA_FIELD_NEW ZIP_UINT16_MAX - - -/* libzip error codes */ - -#define ZIP_ER_OK 0 /* N No error */ -#define ZIP_ER_MULTIDISK 1 /* N Multi-disk zip archives not supported */ -#define ZIP_ER_RENAME 2 /* S Renaming temporary file failed */ -#define ZIP_ER_CLOSE 3 /* S Closing zip archive failed */ -#define ZIP_ER_SEEK 4 /* S Seek error */ -#define ZIP_ER_READ 5 /* S Read error */ -#define ZIP_ER_WRITE 6 /* S Write error */ -#define ZIP_ER_CRC 7 /* N CRC error */ -#define ZIP_ER_ZIPCLOSED 8 /* N Containing zip archive was closed */ -#define ZIP_ER_NOENT 9 /* N No such file */ -#define ZIP_ER_EXISTS 10 /* N File already exists */ -#define ZIP_ER_OPEN 11 /* S Can't open file */ -#define ZIP_ER_TMPOPEN 12 /* S Failure to create temporary file */ -#define ZIP_ER_ZLIB 13 /* Z Zlib error */ -#define ZIP_ER_MEMORY 14 /* N Malloc failure */ -#define ZIP_ER_CHANGED 15 /* N Entry has been changed */ -#define ZIP_ER_COMPNOTSUPP 16 /* N Compression method not supported */ -#define ZIP_ER_EOF 17 /* N Premature end of file */ -#define ZIP_ER_INVAL 18 /* N Invalid argument */ -#define ZIP_ER_NOZIP 19 /* N Not a zip archive */ -#define ZIP_ER_INTERNAL 20 /* N Internal error */ -#define ZIP_ER_INCONS 21 /* N Zip archive inconsistent */ -#define ZIP_ER_REMOVE 22 /* S Can't remove file */ -#define ZIP_ER_DELETED 23 /* N Entry has been deleted */ -#define ZIP_ER_ENCRNOTSUPP 24 /* N Encryption method not supported */ -#define ZIP_ER_RDONLY 25 /* N Read-only archive */ -#define ZIP_ER_NOPASSWD 26 /* N No password provided */ -#define ZIP_ER_WRONGPASSWD 27 /* N Wrong password provided */ -#define ZIP_ER_OPNOTSUPP 28 /* N Operation not supported */ -#define ZIP_ER_INUSE 29 /* N Resource still in use */ -#define ZIP_ER_TELL 30 /* S Tell error */ -#define ZIP_ER_COMPRESSED_DATA 31 /* N Compressed data invalid */ -#define ZIP_ER_CANCELLED 32 /* N Operation cancelled */ - -/* type of system error value */ - -#define ZIP_ET_NONE 0 /* sys_err unused */ -#define ZIP_ET_SYS 1 /* sys_err is errno */ -#define ZIP_ET_ZLIB 2 /* sys_err is zlib error code */ - -/* compression methods */ - -#define ZIP_CM_DEFAULT -1 /* better of deflate or store */ -#define ZIP_CM_STORE 0 /* stored (uncompressed) */ -#define ZIP_CM_SHRINK 1 /* shrunk */ -#define ZIP_CM_REDUCE_1 2 /* reduced with factor 1 */ -#define ZIP_CM_REDUCE_2 3 /* reduced with factor 2 */ -#define ZIP_CM_REDUCE_3 4 /* reduced with factor 3 */ -#define ZIP_CM_REDUCE_4 5 /* reduced with factor 4 */ -#define ZIP_CM_IMPLODE 6 /* imploded */ -/* 7 - Reserved for Tokenizing compression algorithm */ -#define ZIP_CM_DEFLATE 8 /* deflated */ -#define ZIP_CM_DEFLATE64 9 /* deflate64 */ -#define ZIP_CM_PKWARE_IMPLODE 10 /* PKWARE imploding */ -/* 11 - Reserved by PKWARE */ -#define ZIP_CM_BZIP2 12 /* compressed using BZIP2 algorithm */ -/* 13 - Reserved by PKWARE */ -#define ZIP_CM_LZMA 14 /* LZMA (EFS) */ -/* 15-17 - Reserved by PKWARE */ -#define ZIP_CM_TERSE 18 /* compressed using IBM TERSE (new) */ -#define ZIP_CM_LZ77 19 /* IBM LZ77 z Architecture (PFS) */ -#define ZIP_CM_LZMA2 33 -#define ZIP_CM_XZ 95 /* XZ compressed data */ -#define ZIP_CM_JPEG 96 /* Compressed Jpeg data */ -#define ZIP_CM_WAVPACK 97 /* WavPack compressed data */ -#define ZIP_CM_PPMD 98 /* PPMd version I, Rev 1 */ - -/* encryption methods */ - -#define ZIP_EM_NONE 0 /* not encrypted */ -#define ZIP_EM_TRAD_PKWARE 1 /* traditional PKWARE encryption */ -#if 0 /* Strong Encryption Header not parsed yet */ -#define ZIP_EM_DES 0x6601 /* strong encryption: DES */ -#define ZIP_EM_RC2_OLD 0x6602 /* strong encryption: RC2, version < 5.2 */ -#define ZIP_EM_3DES_168 0x6603 -#define ZIP_EM_3DES_112 0x6609 -#define ZIP_EM_PKZIP_AES_128 0x660e -#define ZIP_EM_PKZIP_AES_192 0x660f -#define ZIP_EM_PKZIP_AES_256 0x6610 -#define ZIP_EM_RC2 0x6702 /* strong encryption: RC2, version >= 5.2 */ -#define ZIP_EM_RC4 0x6801 -#endif -#define ZIP_EM_AES_128 0x0101 /* Winzip AES encryption */ -#define ZIP_EM_AES_192 0x0102 -#define ZIP_EM_AES_256 0x0103 -#define ZIP_EM_UNKNOWN 0xffff /* unknown algorithm */ - -#define ZIP_OPSYS_DOS 0x00u -#define ZIP_OPSYS_AMIGA 0x01u -#define ZIP_OPSYS_OPENVMS 0x02u -#define ZIP_OPSYS_UNIX 0x03u -#define ZIP_OPSYS_VM_CMS 0x04u -#define ZIP_OPSYS_ATARI_ST 0x05u -#define ZIP_OPSYS_OS_2 0x06u -#define ZIP_OPSYS_MACINTOSH 0x07u -#define ZIP_OPSYS_Z_SYSTEM 0x08u -#define ZIP_OPSYS_CPM 0x09u -#define ZIP_OPSYS_WINDOWS_NTFS 0x0au -#define ZIP_OPSYS_MVS 0x0bu -#define ZIP_OPSYS_VSE 0x0cu -#define ZIP_OPSYS_ACORN_RISC 0x0du -#define ZIP_OPSYS_VFAT 0x0eu -#define ZIP_OPSYS_ALTERNATE_MVS 0x0fu -#define ZIP_OPSYS_BEOS 0x10u -#define ZIP_OPSYS_TANDEM 0x11u -#define ZIP_OPSYS_OS_400 0x12u -#define ZIP_OPSYS_OS_X 0x13u - -#define ZIP_OPSYS_DEFAULT ZIP_OPSYS_UNIX - - -enum zip_source_cmd { - ZIP_SOURCE_OPEN, /* prepare for reading */ - ZIP_SOURCE_READ, /* read data */ - ZIP_SOURCE_CLOSE, /* reading is done */ - ZIP_SOURCE_STAT, /* get meta information */ - ZIP_SOURCE_ERROR, /* get error information */ - ZIP_SOURCE_FREE, /* cleanup and free resources */ - ZIP_SOURCE_SEEK, /* set position for reading */ - ZIP_SOURCE_TELL, /* get read position */ - ZIP_SOURCE_BEGIN_WRITE, /* prepare for writing */ - ZIP_SOURCE_COMMIT_WRITE, /* writing is done */ - ZIP_SOURCE_ROLLBACK_WRITE, /* discard written changes */ - ZIP_SOURCE_WRITE, /* write data */ - ZIP_SOURCE_SEEK_WRITE, /* set position for writing */ - ZIP_SOURCE_TELL_WRITE, /* get write position */ - ZIP_SOURCE_SUPPORTS, /* check whether source supports command */ - ZIP_SOURCE_REMOVE, /* remove file */ - ZIP_SOURCE_RESERVED_1, /* previously used internally */ - ZIP_SOURCE_BEGIN_WRITE_CLONING, /* like ZIP_SOURCE_BEGIN_WRITE, but keep part of original file */ - ZIP_SOURCE_ACCEPT_EMPTY, /* whether empty files are valid archives */ - ZIP_SOURCE_GET_FILE_ATTRIBUTES /* get additional file attributes */ -}; -typedef enum zip_source_cmd zip_source_cmd_t; - -#define ZIP_SOURCE_MAKE_COMMAND_BITMASK(cmd) (((zip_int64_t)1) << (cmd)) - -/* clang-format off */ - -#define ZIP_SOURCE_SUPPORTS_READABLE (ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_OPEN) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_READ) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_CLOSE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_STAT) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_ERROR) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_FREE)) - -#define ZIP_SOURCE_SUPPORTS_SEEKABLE (ZIP_SOURCE_SUPPORTS_READABLE \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_SEEK) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_TELL) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_SUPPORTS)) - -#define ZIP_SOURCE_SUPPORTS_WRITABLE (ZIP_SOURCE_SUPPORTS_SEEKABLE \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_BEGIN_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_COMMIT_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_ROLLBACK_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_SEEK_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_TELL_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_REMOVE)) - -/* clang-format on */ - -/* for use by sources */ -struct zip_source_args_seek { - zip_int64_t offset; - int whence; -}; - -typedef struct zip_source_args_seek zip_source_args_seek_t; -#define ZIP_SOURCE_GET_ARGS(type, data, len, error) ((len) < sizeof(type) ? zip_error_set((error), ZIP_ER_INVAL, 0), (type *)NULL : (type *)(data)) - - -/* error information */ -/* use zip_error_*() to access */ -struct zip_error { - int zip_err; /* libzip error code (ZIP_ER_*) */ - int sys_err; /* copy of errno (E*) or zlib error code */ - char *_Nullable str; /* string representation or NULL */ -}; - -#define ZIP_STAT_NAME 0x0001u -#define ZIP_STAT_INDEX 0x0002u -#define ZIP_STAT_SIZE 0x0004u -#define ZIP_STAT_COMP_SIZE 0x0008u -#define ZIP_STAT_MTIME 0x0010u -#define ZIP_STAT_CRC 0x0020u -#define ZIP_STAT_COMP_METHOD 0x0040u -#define ZIP_STAT_ENCRYPTION_METHOD 0x0080u -#define ZIP_STAT_FLAGS 0x0100u - -struct zip_stat { - zip_uint64_t valid; /* which fields have valid values */ - const char *_Nullable name; /* name of the file */ - zip_uint64_t index; /* index within archive */ - zip_uint64_t size; /* size of file (uncompressed) */ - zip_uint64_t comp_size; /* size of file (compressed) */ - time_t mtime; /* modification time */ - zip_uint32_t crc; /* crc of file data */ - zip_uint16_t comp_method; /* compression method used */ - zip_uint16_t encryption_method; /* encryption method used */ - zip_uint32_t flags; /* reserved for future use */ -}; - -struct zip_buffer_fragment { - zip_uint8_t *_Nonnull data; - zip_uint64_t length; -}; - -struct zip_file_attributes { - zip_uint64_t valid; /* which fields have valid values */ - zip_uint8_t version; /* version of this struct, currently 1 */ - zip_uint8_t host_system; /* host system on which file was created */ - zip_uint8_t ascii; /* flag whether file is ASCII text */ - zip_uint8_t version_needed; /* minimum version needed to extract file */ - zip_uint32_t external_file_attributes; /* external file attributes (host-system specific) */ - zip_uint16_t general_purpose_bit_flags; /* general purpose big flags, only some bits are honored */ - zip_uint16_t general_purpose_bit_mask; /* which bits in general_purpose_bit_flags are valid */ -}; - -#define ZIP_FILE_ATTRIBUTES_HOST_SYSTEM 0x0001u -#define ZIP_FILE_ATTRIBUTES_ASCII 0x0002u -#define ZIP_FILE_ATTRIBUTES_VERSION_NEEDED 0x0004u -#define ZIP_FILE_ATTRIBUTES_EXTERNAL_FILE_ATTRIBUTES 0x0008u -#define ZIP_FILE_ATTRIBUTES_GENERAL_PURPOSE_BIT_FLAGS 0x0010u - -struct zip; -struct zip_file; -struct zip_source; - -typedef struct zip zip_t; -typedef struct zip_error zip_error_t; -typedef struct zip_file zip_file_t; -typedef struct zip_file_attributes zip_file_attributes_t; -typedef struct zip_source zip_source_t; -typedef struct zip_stat zip_stat_t; -typedef struct zip_buffer_fragment zip_buffer_fragment_t; - -typedef zip_uint32_t zip_flags_t; - -typedef zip_int64_t (*zip_source_callback)(void *_Nullable, void *_Nullable, zip_uint64_t, zip_source_cmd_t); -typedef void (*zip_progress_callback)(zip_t *_Nonnull, double, void *_Nullable); -typedef int (*zip_cancel_callback)(zip_t *_Nonnull, void *_Nullable); - -#ifndef ZIP_DISABLE_DEPRECATED -typedef void (*zip_progress_callback_t)(double); -ZIP_EXTERN void zip_register_progress_callback(zip_t *_Nonnull, zip_progress_callback_t _Nullable); /* use zip_register_progress_callback_with_state */ - -ZIP_EXTERN zip_int64_t zip_add(zip_t *_Nonnull, const char *_Nonnull, zip_source_t *_Nonnull); /* use zip_file_add */ -ZIP_EXTERN zip_int64_t zip_add_dir(zip_t *_Nonnull, const char *_Nonnull); /* use zip_dir_add */ -ZIP_EXTERN const char *_Nullable zip_get_file_comment(zip_t *_Nonnull, zip_uint64_t, int *_Nullable, int); /* use zip_file_get_comment */ -ZIP_EXTERN int zip_get_num_files(zip_t *_Nonnull); /* use zip_get_num_entries instead */ -ZIP_EXTERN int zip_rename(zip_t *_Nonnull, zip_uint64_t, const char *_Nonnull); /* use zip_file_rename */ -ZIP_EXTERN int zip_replace(zip_t *_Nonnull, zip_uint64_t, zip_source_t *_Nonnull); /* use zip_file_replace */ -ZIP_EXTERN int zip_set_file_comment(zip_t *_Nonnull, zip_uint64_t, const char *_Nullable, int); /* use zip_file_set_comment */ -ZIP_EXTERN int zip_error_get_sys_type(int); /* use zip_error_system_type */ -ZIP_EXTERN void zip_error_get(zip_t *_Nonnull, int *_Nullable, int *_Nullable); /* use zip_get_error, zip_error_code_zip / zip_error_code_system */ -ZIP_EXTERN int zip_error_to_str(char *_Nonnull, zip_uint64_t, int, int); /* use zip_error_init_with_code / zip_error_strerror */ -ZIP_EXTERN void zip_file_error_get(zip_file_t *_Nonnull, int *_Nullable, int *_Nullable); /* use zip_file_get_error, zip_error_code_zip / zip_error_code_system */ -#endif - -ZIP_EXTERN int zip_close(zip_t *_Nonnull); -ZIP_EXTERN int zip_delete(zip_t *_Nonnull, zip_uint64_t); -ZIP_EXTERN zip_int64_t zip_dir_add(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t); -ZIP_EXTERN void zip_discard(zip_t *_Nonnull); - -ZIP_EXTERN zip_error_t *_Nonnull zip_get_error(zip_t *_Nonnull); -ZIP_EXTERN void zip_error_clear(zip_t *_Nonnull); -ZIP_EXTERN int zip_error_code_zip(const zip_error_t *_Nonnull); -ZIP_EXTERN int zip_error_code_system(const zip_error_t *_Nonnull); -ZIP_EXTERN void zip_error_fini(zip_error_t *_Nonnull); -ZIP_EXTERN void zip_error_init(zip_error_t *_Nonnull); -ZIP_EXTERN void zip_error_init_with_code(zip_error_t *_Nonnull, int); -ZIP_EXTERN void zip_error_set(zip_error_t *_Nullable, int, int); -ZIP_EXTERN const char *_Nonnull zip_error_strerror(zip_error_t *_Nonnull); -ZIP_EXTERN int zip_error_system_type(const zip_error_t *_Nonnull); -ZIP_EXTERN zip_int64_t zip_error_to_data(const zip_error_t *_Nonnull, void *_Nonnull, zip_uint64_t); - -ZIP_EXTERN int zip_fclose(zip_file_t *_Nonnull); -ZIP_EXTERN zip_t *_Nullable zip_fdopen(int, int, int *_Nullable); -ZIP_EXTERN zip_int64_t zip_file_add(zip_t *_Nonnull, const char *_Nonnull, zip_source_t *_Nonnull, zip_flags_t); -ZIP_EXTERN void zip_file_attributes_init(zip_file_attributes_t *_Nonnull); -ZIP_EXTERN void zip_file_error_clear(zip_file_t *_Nonnull); -ZIP_EXTERN int zip_file_extra_field_delete(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_flags_t); -ZIP_EXTERN int zip_file_extra_field_delete_by_id(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_flags_t); -ZIP_EXTERN int zip_file_extra_field_set(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t, const zip_uint8_t *_Nullable, zip_uint16_t, zip_flags_t); -ZIP_EXTERN zip_int16_t zip_file_extra_fields_count(zip_t *_Nonnull, zip_uint64_t, zip_flags_t); -ZIP_EXTERN zip_int16_t zip_file_extra_fields_count_by_id(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_flags_t); -ZIP_EXTERN const zip_uint8_t *_Nullable zip_file_extra_field_get(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t *_Nullable, zip_uint16_t *_Nullable, zip_flags_t); -ZIP_EXTERN const zip_uint8_t *_Nullable zip_file_extra_field_get_by_id(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_uint16_t *_Nullable, zip_flags_t); -ZIP_EXTERN const char *_Nullable zip_file_get_comment(zip_t *_Nonnull, zip_uint64_t, zip_uint32_t *_Nullable, zip_flags_t); -ZIP_EXTERN zip_error_t *_Nonnull zip_file_get_error(zip_file_t *_Nonnull); -ZIP_EXTERN int zip_file_get_external_attributes(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_uint8_t *_Nullable, zip_uint32_t *_Nullable); -ZIP_EXTERN int zip_file_rename(zip_t *_Nonnull, zip_uint64_t, const char *_Nonnull, zip_flags_t); -ZIP_EXTERN int zip_file_replace(zip_t *_Nonnull, zip_uint64_t, zip_source_t *_Nonnull, zip_flags_t); -ZIP_EXTERN int zip_file_set_comment(zip_t *_Nonnull, zip_uint64_t, const char *_Nullable, zip_uint16_t, zip_flags_t); -ZIP_EXTERN int zip_file_set_dostime(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_flags_t); -ZIP_EXTERN int zip_file_set_encryption(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, const char *_Nullable); -ZIP_EXTERN int zip_file_set_external_attributes(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_uint8_t, zip_uint32_t); -ZIP_EXTERN int zip_file_set_mtime(zip_t *_Nonnull, zip_uint64_t, time_t, zip_flags_t); -ZIP_EXTERN const char *_Nonnull zip_file_strerror(zip_file_t *_Nonnull); -ZIP_EXTERN zip_file_t *_Nullable zip_fopen(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t); -ZIP_EXTERN zip_file_t *_Nullable zip_fopen_encrypted(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t, const char *_Nullable); -ZIP_EXTERN zip_file_t *_Nullable zip_fopen_index(zip_t *_Nonnull, zip_uint64_t, zip_flags_t); -ZIP_EXTERN zip_file_t *_Nullable zip_fopen_index_encrypted(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, const char *_Nullable); -ZIP_EXTERN zip_int64_t zip_fread(zip_file_t *_Nonnull, void *_Nonnull, zip_uint64_t); -ZIP_EXTERN zip_int8_t zip_fseek(zip_file_t *_Nonnull, zip_int64_t, int); -ZIP_EXTERN zip_int64_t zip_ftell(zip_file_t *_Nonnull); -ZIP_EXTERN const char *_Nullable zip_get_archive_comment(zip_t *_Nonnull, int *_Nullable, zip_flags_t); -ZIP_EXTERN int zip_get_archive_flag(zip_t *_Nonnull, zip_flags_t, zip_flags_t); -ZIP_EXTERN const char *_Nullable zip_get_name(zip_t *_Nonnull, zip_uint64_t, zip_flags_t); -ZIP_EXTERN zip_int64_t zip_get_num_entries(zip_t *_Nonnull, zip_flags_t); -ZIP_EXTERN const char *_Nonnull zip_libzip_version(void); -ZIP_EXTERN zip_int64_t zip_name_locate(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t); -ZIP_EXTERN zip_t *_Nullable zip_open(const char *_Nonnull, int, int *_Nullable); -ZIP_EXTERN zip_t *_Nullable zip_open_from_source(zip_source_t *_Nonnull, int, zip_error_t *_Nullable); -ZIP_EXTERN int zip_register_progress_callback_with_state(zip_t *_Nonnull, double, zip_progress_callback _Nullable, void (*_Nullable)(void *_Nullable), void *_Nullable); -ZIP_EXTERN int zip_register_cancel_callback_with_state(zip_t *_Nonnull, zip_cancel_callback _Nullable, void (*_Nullable)(void *_Nullable), void *_Nullable); -ZIP_EXTERN int zip_set_archive_comment(zip_t *_Nonnull, const char *_Nullable, zip_uint16_t); -ZIP_EXTERN int zip_set_archive_flag(zip_t *_Nonnull, zip_flags_t, int); -ZIP_EXTERN int zip_set_default_password(zip_t *_Nonnull, const char *_Nullable); -ZIP_EXTERN int zip_set_file_compression(zip_t *_Nonnull, zip_uint64_t, zip_int32_t, zip_uint32_t); -ZIP_EXTERN int zip_source_begin_write(zip_source_t *_Nonnull); -ZIP_EXTERN int zip_source_begin_write_cloning(zip_source_t *_Nonnull, zip_uint64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_buffer(zip_t *_Nonnull, const void *_Nullable, zip_uint64_t, int); -ZIP_EXTERN zip_source_t *_Nullable zip_source_buffer_create(const void *_Nullable, zip_uint64_t, int, zip_error_t *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_buffer_fragment(zip_t *_Nonnull, const zip_buffer_fragment_t *_Nonnull, zip_uint64_t, int); -ZIP_EXTERN zip_source_t *_Nullable zip_source_buffer_fragment_create(const zip_buffer_fragment_t *_Nullable, zip_uint64_t, int, zip_error_t *_Nullable); -ZIP_EXTERN int zip_source_close(zip_source_t *_Nonnull); -ZIP_EXTERN int zip_source_commit_write(zip_source_t *_Nonnull); -ZIP_EXTERN zip_error_t *_Nonnull zip_source_error(zip_source_t *_Nonnull); -ZIP_EXTERN zip_source_t *_Nullable zip_source_file(zip_t *_Nonnull, const char *_Nonnull, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_file_create(const char *_Nonnull, zip_uint64_t, zip_int64_t, zip_error_t *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_filep(zip_t *_Nonnull, FILE *_Nonnull, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_filep_create(FILE *_Nonnull, zip_uint64_t, zip_int64_t, zip_error_t *_Nullable); -ZIP_EXTERN void zip_source_free(zip_source_t *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_function(zip_t *_Nonnull, zip_source_callback _Nonnull, void *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_function_create(zip_source_callback _Nonnull, void *_Nullable, zip_error_t *_Nullable); -ZIP_EXTERN int zip_source_get_file_attributes(zip_source_t *_Nonnull, zip_file_attributes_t *_Nonnull); -ZIP_EXTERN int zip_source_is_deleted(zip_source_t *_Nonnull); -ZIP_EXTERN void zip_source_keep(zip_source_t *_Nonnull); -ZIP_EXTERN zip_int64_t zip_source_make_command_bitmap(zip_source_cmd_t, ...); -ZIP_EXTERN int zip_source_open(zip_source_t *_Nonnull); -ZIP_EXTERN zip_int64_t zip_source_read(zip_source_t *_Nonnull, void *_Nonnull, zip_uint64_t); -ZIP_EXTERN void zip_source_rollback_write(zip_source_t *_Nonnull); -ZIP_EXTERN int zip_source_seek(zip_source_t *_Nonnull, zip_int64_t, int); -ZIP_EXTERN zip_int64_t zip_source_seek_compute_offset(zip_uint64_t, zip_uint64_t, void *_Nonnull, zip_uint64_t, zip_error_t *_Nullable); -ZIP_EXTERN int zip_source_seek_write(zip_source_t *_Nonnull, zip_int64_t, int); -ZIP_EXTERN int zip_source_stat(zip_source_t *_Nonnull, zip_stat_t *_Nonnull); -ZIP_EXTERN zip_int64_t zip_source_tell(zip_source_t *_Nonnull); -ZIP_EXTERN zip_int64_t zip_source_tell_write(zip_source_t *_Nonnull); -#ifdef _WIN32 -ZIP_EXTERN zip_source_t *zip_source_win32a(zip_t *, const char *, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *zip_source_win32a_create(const char *, zip_uint64_t, zip_int64_t, zip_error_t *); -ZIP_EXTERN zip_source_t *zip_source_win32handle(zip_t *, void *, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *zip_source_win32handle_create(void *, zip_uint64_t, zip_int64_t, zip_error_t *); -ZIP_EXTERN zip_source_t *zip_source_win32w(zip_t *, const wchar_t *, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *zip_source_win32w_create(const wchar_t *, zip_uint64_t, zip_int64_t, zip_error_t *); -#endif -ZIP_EXTERN zip_int64_t zip_source_write(zip_source_t *_Nonnull, const void *_Nullable, zip_uint64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_zip(zip_t *_Nonnull, zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_int64_t); -ZIP_EXTERN int zip_stat(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t, zip_stat_t *_Nonnull); -ZIP_EXTERN int zip_stat_index(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_stat_t *_Nonnull); -ZIP_EXTERN void zip_stat_init(zip_stat_t *_Nonnull); -ZIP_EXTERN const char *_Nonnull zip_strerror(zip_t *_Nonnull); -ZIP_EXTERN int zip_unchange(zip_t *_Nonnull, zip_uint64_t); -ZIP_EXTERN int zip_unchange_all(zip_t *_Nonnull); -ZIP_EXTERN int zip_unchange_archive(zip_t *_Nonnull); -ZIP_EXTERN int zip_compression_method_supported(zip_int32_t method, int compress); -ZIP_EXTERN int zip_encryption_method_supported(zip_uint16_t method, int encode); - -#ifdef __cplusplus -} -#endif - -#endif /* _HAD_ZIP_H */ diff --git a/include/zipconf.h b/include/zipconf.h deleted file mode 100644 index 861595a..0000000 --- a/include/zipconf.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef _HAD_ZIPCONF_H -#define _HAD_ZIPCONF_H - -/* - zipconf.h -- platform specific include file - - This file was generated automatically by CMake - based on ../cmake-zipconf.h.in. - */ - -#define LIBZIP_VERSION "1.7.3" -#define LIBZIP_VERSION_MAJOR 1 -#define LIBZIP_VERSION_MINOR 7 -#define LIBZIP_VERSION_MICRO 3 - -/* #undef ZIP_STATIC */ - -#define _Nullable -#define _Nonnull - -#if !defined(__STDC_FORMAT_MACROS) -#define __STDC_FORMAT_MACROS 1 -#endif -#include - -typedef int8_t zip_int8_t; -typedef uint8_t zip_uint8_t; -typedef int16_t zip_int16_t; -typedef uint16_t zip_uint16_t; -typedef int32_t zip_int32_t; -typedef uint32_t zip_uint32_t; -typedef int64_t zip_int64_t; -typedef uint64_t zip_uint64_t; - -#define ZIP_INT8_MIN (-ZIP_INT8_MAX-1) -#define ZIP_INT8_MAX 0x7f -#define ZIP_UINT8_MAX 0xff - -#define ZIP_INT16_MIN (-ZIP_INT16_MAX-1) -#define ZIP_INT16_MAX 0x7fff -#define ZIP_UINT16_MAX 0xffff - -#define ZIP_INT32_MIN (-ZIP_INT32_MAX-1L) -#define ZIP_INT32_MAX 0x7fffffffL -#define ZIP_UINT32_MAX 0xffffffffLU - -#define ZIP_INT64_MIN (-ZIP_INT64_MAX-1LL) -#define ZIP_INT64_MAX 0x7fffffffffffffffLL -#define ZIP_UINT64_MAX 0xffffffffffffffffULL - -#endif /* zipconf.h */ diff --git a/omc/bin/alarmAgent b/omc/bin/alarmAgent deleted file mode 100644 index cb1f60a..0000000 Binary files a/omc/bin/alarmAgent and /dev/null differ diff --git a/omc/bin/alive b/omc/bin/alive deleted file mode 100644 index 2996582..0000000 Binary files a/omc/bin/alive and /dev/null differ diff --git a/omc/bin/bsscomm b/omc/bin/bsscomm deleted file mode 100644 index 65c5a62..0000000 Binary files a/omc/bin/bsscomm and /dev/null differ diff --git a/omc/bin/cdrCollector b/omc/bin/cdrCollector deleted file mode 100644 index 738ef81..0000000 Binary files a/omc/bin/cdrCollector and /dev/null differ diff --git a/omc/bin/changehostname b/omc/bin/changehostname deleted file mode 100644 index f92177f..0000000 --- a/omc/bin/changehostname +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -# $1 - parameter like -# $2 - hostname -# $3 - filename -function modify_hostname() -{ - if [ -e $3 ] ;then - tmpfile=$3_bak - sed "s/^\s*$1\s*=\s*.*-/$1 = $2-/" $3 > $tmpfile - mv -f $tmpfile $3 - chmod 644 $3 - fi -} - - - -nowHostname=`hostname -s` -#echo hostname=$nowHostname - -nowHostnamePrefix=`echo $nowHostname|awk -F'-' '{print $1}'` -#echo nowHostnamePrefix=$nowHostnamePrefix - -configDir=/usr/local/omc/config -binconfDir=/usr/local/omc/bin/conf - -modify_hostname master-host $nowHostnamePrefix $configDir/my.cnf_omc-0 -modify_hostname master-host $nowHostnamePrefix $configDir/my.cnf_omc-0.ES -modify_hostname master-host $nowHostnamePrefix $configDir/my.cnf_omc-1 -modify_hostname master-host $nowHostnamePrefix $configDir/my.cnf_omc-1.ES - -modify_hostname master-host $nowHostnamePrefix $binconfDir/my.cnf_omc-0 -modify_hostname master-host $nowHostnamePrefix $binconfDir/my.cnf_omc-0.ES -modify_hostname master-host $nowHostnamePrefix $binconfDir/my.cnf_omc-1 -modify_hostname master-host $nowHostnamePrefix $binconfDir/my.cnf_omc-1.ES - - -modify_hostname omc_master $nowHostnamePrefix $configDir/server.conf -modify_hostname mysql_master $nowHostnamePrefix $configDir/server.conf -modify_hostname omc_slave $nowHostnamePrefix $configDir/server.conf -modify_hostname mysql_slave $nowHostnamePrefix $configDir/server.conf - -modify_hostname omc_master $nowHostnamePrefix $binconfDir/server.conf -modify_hostname mysql_master $nowHostnamePrefix $binconfDir/server.conf -modify_hostname omc_slave $nowHostnamePrefix $binconfDir/server.conf -modify_hostname mysql_slave $nowHostnamePrefix $binconfDir/server.conf - diff --git a/omc/bin/chgDate b/omc/bin/chgDate deleted file mode 100644 index 9b58a9a..0000000 --- a/omc/bin/chgDate +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -#when change the date of system, -#people always forget to do "hwclock --systohc" -#But system will use the hardware clock after reboot. -#so it is necessary to do it by this script. - -#By Hewd 2004-02-04 - -if [ $# -ne 2 ] ; then - echo "Example:" - echo "chgdate \"2004-02-15 12:00:00\"" -else - date --set="$1 $2" - echo "date --set=\"$1 $2\"" - echo "hwclock --systohc" - date --set="$1 $2" - hwclock --systohc -fi - diff --git a/omc/bin/chkDb b/omc/bin/chkDb deleted file mode 100644 index 413ed0d..0000000 --- a/omc/bin/chkDb +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# chkconfig: 2345 89 05 -# description: as following -# For OMC to fix table -# Comments to support chkconfig on RedHat Linux - -if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then - dataDir="/usr/local/mysql/data" - mysqlBinDir="/usr/local/mysql/bin" -else - dataDir="/var/lib/mysql" - mysqlBinDir="/usr/bin/" -fi - -confDir=/usr/local/omc/bin/conf - -mode=$1 -case "$mode" in - start) - if [ `grep -c "dbStopMode=1" $confDir/chkDb.conf` -eq 0 ] ; then - cd $mysqlBinDir - chown -R mysql:mysql $dataDir/* - ./myisamchk -r -f -O sort_buffer_size=32M $dataDir/*/*.MYI - else - echo "It needn't to check database. " - echo "If you want to check database forcibly,please use \"$0 force\" " - fi - echo "dbStopMode=0" > $confDir/chkDb.conf - ;; - force) - cd $mysqlBinDir - ./myisamchk -r -f -O sort_buffer_size=32M $dataDir/*/*.MYI - ;; - stop) - echo "dbStopMode=1" > $confDir/chkDb.conf - ;; - *) - echo "Check and fix all database file" - echo "Usage: $0 start|force" - ;; -esac diff --git a/omc/bin/clearDb b/omc/bin/clearDb deleted file mode 100644 index 7b25ed3..0000000 --- a/omc/bin/clearDb +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - - -if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then - dataDir="/usr/local/mysql/data" - mysqlBin="/usr/local/mysql/bin/mysql" -else - dataDir="/var/lib/mysql" - mysqlBin="/usr/bin/mysql" -fi - -mysql_user=`/usr/local/mssBak/script/encryption 1 "6266706d736f7a7c7b6b7f7b7f"` -mysql_pw=`/usr/local/mssBak/script/encryption 1 "2b3a392757557b697b7e7e757b777c"` - - -echo "Clear CSTA_DB.*Detail" -echo "show tables from CSTA_DB like '%Detail%';"|$mysqlBin -u$mysql_user -p$mysql_pw | sed -e '1d'|awk '/Detail/{print "DELETE FROM CSTA_DB."$1";"}' | $mysqlBin -u$mysql_user -p$mysql_pw - -echo "Clear CSTA_DB.*Sum" -echo "show tables from CSTA_DB like '%Sum%';"|$mysqlBin -u$mysql_user -p$mysql_pw | sed -e '1d'|awk '/Sum/{print "DELETE FROM CSTA_DB."$1";"}' | $mysqlBin -u$mysql_user -p$mysql_pw - -echo "Clear CDR_DB.cdrFrom*" -echo "show tables from CDR_DB like 'cdrFrom%';"|$mysqlBin -u$mysql_user -p$mysql_pw | sed -e '1d'|awk '/cdrFrom/{print "DELETE FROM CDR_DB."$1";"}' | $mysqlBin -u$mysql_user -p$mysql_pw - -echo "Clear CSTA and CDR'S record finished!!" - diff --git a/omc/bin/conf/NR.conf b/omc/bin/conf/NR.conf deleted file mode 100644 index d633b48..0000000 --- a/omc/bin/conf/NR.conf +++ /dev/null @@ -1,48 +0,0 @@ -#NR.conf - -# Enable or disable the NRTRDE function,0-disable,1-enable -Flag=0 - -# The local mcc -MCC=460 - -# The local mnc -MNC=02 - -# The local tag -LOCAL_TADIG=FEAKE - -# The time to make NRTRDE Delivery Report and Error Report -MAKE_REPORT_TIME=12 - -# The max value of CallEventDuration of a CDR -CallEventDurationMax=6000 - -# The version of the NRTRDE Delivery report -ND_VERSION=1.0 - -# The version of the NRTRDE Error report -NE_VERSION=1.0 - -# The specificationVersionNumber of the NRTRDE file -NR_SVN=2 - -# The ReleaseVersionNumber of the NRTRDE file -NR_RVN=1 - -# The backup directory -NR_RECV_BAK_DIR=/usr/local/apache/htdocs/db_backup/nrtrde/NR_RECV_BAK/ -NR_SEND_BAK_DIR=/usr/local/apache/htdocs/db_backup/nrtrde/NR_SEND_BAK/ -ND_RECV_BAK_DIR=/usr/local/apache/htdocs/db_backup/nrtrde/ND_RECV_BAK/ -ND_SEND_BAK_DIR=/usr/local/apache/htdocs/db_backup/nrtrde/ND_SEND_BAK/ -NE_RECV_BAK_DIR=/usr/local/apache/htdocs/db_backup/nrtrde/NE_RECV_BAK/ -NE_SEND_BAK_DIR=/usr/local/apache/htdocs/db_backup/nrtrde/NE_SEND_BAK/ -LOCAL_CSV_DIR=/usr/local/apache/htdocs/db_backup/nrtrde/LOCAL_CSV/ - -# The source directory to send the file -SEND_DIR=/usr/local/apache/htdocs/db_backup/nrtrde/SEND/ - -# The directory to receive the file -RECV_DIR=/usr/local/apache/htdocs/db_backup/nrtrde/RECV/ - - diff --git a/omc/bin/conf/conv_prefix.conf b/omc/bin/conf/conv_prefix.conf deleted file mode 100644 index 559e81a..0000000 Binary files a/omc/bin/conf/conv_prefix.conf and /dev/null differ diff --git a/omc/bin/conf/debug.conf b/omc/bin/conf/debug.conf deleted file mode 100644 index 42013d9..0000000 --- a/omc/bin/conf/debug.conf +++ /dev/null @@ -1,6 +0,0 @@ -//Debug Conf File - -System Type = CDMA ; // GSM, CDMA , GC_SSW -MMI Switch = OFF ; // ON , OFF - - diff --git a/omc/bin/conf/hosts b/omc/bin/conf/hosts deleted file mode 100644 index 0a47d90..0000000 --- a/omc/bin/conf/hosts +++ /dev/null @@ -1,5 +0,0 @@ -127.0.0.1 localhost.localdomain localhost -172.18.128.1 omc-0.iwv omc-0 -172.18.129.1 omc-1.iwv omc-1 -172.18.98.1 mss-0.iwv mss-0 -172.18.99.1 mss-1.iwv mss-1 diff --git a/omc/bin/conf/httpd.conf b/omc/bin/conf/httpd.conf deleted file mode 100644 index 59266cc..0000000 --- a/omc/bin/conf/httpd.conf +++ /dev/null @@ -1,946 +0,0 @@ - ## - ## httpd.conf -- Apache HTTP server configuration file - ## - - # - # Based upon the NCSA server configuration files originally by Rob McCool. - # - # This is the main Apache server configuration file. It contains the - # configuration directives that give the server its instructions. - # See for detailed information about - # the directives. - # - # Do NOT simply read the instructions in here without understanding - # what they do. They're here only as hints or reminders. If you are unsure - # consult the online docs. You have been warned. - # - # After this file is processed, the server will look for and process - # /usr/local/apache/conf/srm.conf and then /usr/local/apache/conf/access.conf - # unless you have overridden these with ResourceConfig and/or - # AccessConfig directives here. - # - # The configuration directives are grouped into three basic sections: - # 1. Directives that control the operation of the Apache server process as a - # whole (the 'global environment'). - # 2. Directives that define the parameters of the 'main' or 'default' server, - # which responds to requests that aren't handled by a virtual host. - # These directives also provide default values for the settings - # of all virtual hosts. - # 3. Settings for virtual hosts, which allow Web requests to be sent to - # different IP addresses or hostnames and have them handled by the - # same Apache server process. - # - # Configuration and logfile names: If the filenames you specify for many - # of the server's control files begin with "/" (or "drive:/" for Win32), the - # server will use that explicit path. If the filenames do *not* begin - # with "/", the value of ServerRoot is prepended -- so "logs/foo.log" - # with ServerRoot set to "/usr/local/apache" will be interpreted by the - # server as "/usr/local/apache/logs/foo.log". - # - - ### Section 1: Global Environment - # - # The directives in this section affect the overall operation of Apache, - # such as the number of concurrent requests it can handle or where it - # can find its configuration files. - # - - # - # ServerType is either inetd, or standalone. Inetd mode is only supported on - # Unix platforms. - # - ServerType standalone - - # - # ServerRoot: The top of the directory tree under which the server's - # configuration, error, and log files are kept. - # - # NOTE! If you intend to place this on an NFS (or otherwise network) - # mounted filesystem then please read the LockFile documentation - # (available at ); - # you will save yourself a lot of trouble. - # - # Do NOT add a slash at the end of the directory path. - # - ServerRoot "/usr/local/apache" - - # - # The LockFile directive sets the path to the lockfile used when Apache - # is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or - # USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at - # its default value. The main reason for changing it is if the logs - # directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL - # DISK. The PID of the main server process is automatically appended to - # the filename. - # - #LockFile /usr/local/apache/logs/httpd.lock - - # - # PidFile: The file in which the server should record its process - # identification number when it starts. - # - PidFile /usr/local/apache/logs/httpd.pid - - # - # ScoreBoardFile: File used to store internal server process information. - # Not all architectures require this. But if yours does (you'll know because - # this file will be created when you run Apache) then you *must* ensure that - # no two invocations of Apache share the same scoreboard file. - # - ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard - - # - # In the standard configuration, the server will process this file, - # srm.conf, and access.conf in that order. The latter two files are - # now distributed empty, as it is recommended that all directives - # be kept in a single file for simplicity. The commented-out values - # below are the built-in defaults. You can have the server ignore - # these files altogether by using "/dev/null" (for Unix) or - # "nul" (for Win32) for the arguments to the directives. - # - #ResourceConfig conf/srm.conf - #AccessConfig conf/access.conf - - # - # Timeout: The number of seconds before receives and sends time out. - # - Timeout 300 - - # - # KeepAlive: Whether or not to allow persistent connections (more than - # one request per connection). Set to "Off" to deactivate. - # - KeepAlive On - - # - # MaxKeepAliveRequests: The maximum number of requests to allow - # during a persistent connection. Set to 0 to allow an unlimited amount. - # We recommend you leave this number high, for maximum performance. - # - MaxKeepAliveRequests 100 - - # - # KeepAliveTimeout: Number of seconds to wait for the next request from the - # same client on the same connection. - # - KeepAliveTimeout 15 - - # - # Server-pool size regulation. Rather than making you guess how many - # server processes you need, Apache dynamically adapts to the load it - # sees --- that is, it tries to maintain enough server processes to - # handle the current load, plus a few spare servers to handle transient - # load spikes (e.g., multiple simultaneous requests from a single - # Netscape browser). - # - # It does this by periodically checking how many servers are waiting - # for a request. If there are fewer than MinSpareServers, it creates - # a new spare. If there are more than MaxSpareServers, some of the - # spares die off. The default values are probably OK for most sites. - # - MinSpareServers 5 - MaxSpareServers 10 - - # - # Number of servers to start initially --- should be a reasonable ballpark - # figure. - # - StartServers 5 - - # - # Limit on total number of servers running, i.e., limit on the number - # of clients who can simultaneously connect --- if this limit is ever - # reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW. - # It is intended mainly as a brake to keep a runaway server from taking - # the system with it as it spirals down... - # - MaxClients 100 - - # - # MaxRequestsPerChild: the number of requests each child process is - # allowed to process before the child dies. The child will exit so - # as to avoid problems after prolonged use when Apache (and maybe the - # libraries it uses) leak memory or other resources. On most systems, this - # isn't really needed, but a few (such as Solaris) do have notable leaks - # in the libraries. For these platforms, set to something like 10000 - # or so; a setting of 0 means unlimited. - # - # NOTE: This value does not include keepalive requests after the initial - # request per connection. For example, if a child process handles - # an initial request and 10 subsequent "keptalive" requests, it - # would only count as 1 request towards this limit. - # - MaxRequestsPerChild 0 - - # - # Listen: Allows you to bind Apache to specific IP addresses and/or - # ports, in addition to the default. See also the - # directive. - # - #Listen 3000 - #Listen 12.34.56.78:80 - - # - # BindAddress: You can support virtual hosts with this option. This directive - # is used to tell the server which IP address to listen to. It can either - # contain "*", an IP address, or a fully qualified Internet domain name. - # See also the and Listen directives. - # - #BindAddress * - - # - # Dynamic Shared Object (DSO) Support - # - # To be able to use the functionality of a module which was built as a DSO you - # have to place corresponding `LoadModule' lines at this location so the - # directives contained in it are actually available _before_ they are used. - # Please read the file README.DSO in the Apache 1.3 distribution for more - # details about the DSO mechanism and run `httpd -l' for the list of already - # built-in (statically linked and thus always available) modules in your httpd - # binary. - # - # Note: The order is which modules are loaded is important. Don't change - # the order below without expert advice. - # - # Example: - # LoadModule foo_module libexec/mod_foo.so - - # - # ExtendedStatus controls whether Apache will generate "full" status - # information (ExtendedStatus On) or just basic information (ExtendedStatus - # Off) when the "server-status" handler is called. The default is Off. - # - #ExtendedStatus On - - ### Section 2: 'Main' server configuration - # - # The directives in this section set up the values used by the 'main' - # server, which responds to any requests that aren't handled by a - # definition. These values also provide defaults for - # any containers you may define later in the file. - # - # All of these directives may appear inside containers, - # in which case these default settings will be overridden for the - # virtual host being defined. - # - - # - # If your ServerType directive (set earlier in the 'Global Environment' - # section) is set to "inetd", the next few directives don't have any - # effect since their settings are defined by the inetd configuration. - # Skip ahead to the ServerAdmin directive. - # - - # - # Port: The port to which the standalone server listens. For - # ports < 1023, you will need httpd to be run as root initially. - # - Port 80 - - # - # If you wish httpd to run as a different user or group, you must run - # httpd as root initially and it will switch. - # - # User/Group: The name (or #number) of the user/group to run httpd as. - # . On SCO (ODT 3) use "User nouser" and "Group nogroup". - # . On HPUX you may not be able to use shared memory as nobody, and the - # suggested workaround is to create a user www and use that user. - # NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) - # when the value of (unsigned)Group is above 60000; - # don't use Group nobody on these systems! - # -User www -Group omc - -# -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. This address appears on some server-generated pages, such -# as error documents. -# -ServerAdmin root@omc-u2 - -# -# ServerName allows you to set a host name which is sent back to clients for -# your server if it's different than the one the program would get (i.e., use -# "www" instead of the host's real name). -# -# Note: You cannot just invent host names and hope they work. The name you -# define here must be a valid DNS name for your host. If you don't understand -# this, ask your network administrator. -# If your host doesn't have a registered DNS name, enter its IP address here. -# You will have to access it by its address (e.g., http://123.45.67.89/) -# anyway, and this will make redirections work in a sensible way. -# - -ServerName omc-u2 -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "/usr/local/apache/htdocs/" - -# -# Each directory to which Apache has access, can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). -# -# First, we configure the "default" to be a very restrictive set of -# permissions. -# - - Options FollowSymLinks - AllowOverride None - - -# -# Note that from this point forward you must specifically allow -# particular features to be enabled - so if something's not working as -# you might expect, make sure that you have specifically enabled it -# below. -# - -# -# This should be changed to whatever you set DocumentRoot to. -# - - -# -# This may also be "None", "All", or any combination of "Indexes", -# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". -# -# Note that "MultiViews" must be named *explicitly* --- "Options All" -# doesn't give it to you. -# - Options Indexes FollowSymLinks MultiViews - -# -# This controls which options the .htaccess files in directories can -# override. Can also be "All", or any combination of "Options", "FileInfo", -# "AuthConfig", and "Limit" -# - AllowOverride None - -# -# Controls who can get stuff from this server. -# - Order allow,deny - Allow from all - - -# -# UserDir: The name of the directory which is appended onto a user's home -# directory if a ~user request is received. -# - - UserDir public_html - - -# -# Control access to UserDir directories. The following is an example -# for a site where these directories are restricted to read-only. -# -# -# AllowOverride FileInfo AuthConfig Limit -# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec -# -# Order allow,deny -# Allow from all -# -# -# Order deny,allow -# Deny from all -# -# - -# -# DirectoryIndex: Name of the file or files to use as a pre-written HTML -# directory index. Separate multiple entries with spaces. -# - - DirectoryIndex index.php index.html index.php3 - - -# -# AccessFileName: The name of the file to look for in each directory -# for access control information. -# -AccessFileName .htaccess - -# -# The following lines prevent .htaccess files from being viewed by -# Web clients. Since .htaccess files often contain authorization -# information, access is disallowed for security reasons. Comment -# these lines out if you want Web visitors to see the contents of -# .htaccess files. If you change the AccessFileName directive above, -# be sure to make the corresponding changes here. -# -# Also, folks tend to use names such as .htpasswd for password -# files, so this will protect those as well. -# - - Order allow,deny - Deny from all - - -# -# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each -# document that was negotiated on the basis of content. This asks proxy -# servers not to cache the document. Uncommenting the following line disables -# this behavior, and proxies will be allowed to cache the documents. -# -#CacheNegotiatedDocs - -# -# UseCanonicalName: (new for 1.3) With this setting turned on, whenever -# Apache needs to construct a self-referencing URL (a URL that refers back -# to the server the response is coming from) it will use ServerName and -# Port to form a "canonical" name. With this setting off, Apache will -# use the hostname:port that the client supplied, when possible. This -# also affects SERVER_NAME and SERVER_PORT in CGI scripts. -# -UseCanonicalName On - -# -# TypesConfig describes where the mime.types file (or equivalent) is -# to be found. -# - - TypesConfig /usr/local/apache/conf/mime.types - - -# -# DefaultType is the default MIME type the server will use for a document -# if it cannot otherwise determine one, such as from filename extensions. -# If your server contains mostly text or HTML documents, "text/plain" is -# a good value. If most of your content is binary, such as applications -# or images, you may want to use "application/octet-stream" instead to -# keep browsers from trying to display binary files as though they are -# text. -# -DefaultType text/plain - -# -# The mod_mime_magic module allows the server to use various hints from the -# contents of the file itself to determine its type. The MIMEMagicFile -# directive tells the module where the hint definitions are located. -# mod_mime_magic is not part of the default server (you have to add -# it yourself with a LoadModule [see the DSO paragraph in the 'Global -# Environment' section], or recompile the server and include mod_mime_magic -# as part of the configuration), so it's enclosed in an container. -# This means that the MIMEMagicFile directive will only be processed if the -# module is part of the server. -# - - MIMEMagicFile /usr/local/apache/conf/magic - - -# -# HostnameLookups: Log the names of clients or just their IP addresses -# e.g., www.apache.org (on) or 204.62.129.132 (off). -# The default is off because it'd be overall better for the net if people -# had to knowingly turn this feature on, since enabling it means that -# each client request will result in AT LEAST one lookup request to the -# nameserver. -# -HostnameLookups Off - -# -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a -# container, that host's errors will be logged there and not here. -# -ErrorLog /usr/local/apache/logs/error_log - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - -# -# The following directives define some format nicknames for use with -# a CustomLog directive (see below). -# -LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined -LogFormat "%h %l %u %t \"%r\" %>s %b" common -LogFormat "%{Referer}i -> %U" referer -LogFormat "%{User-agent}i" agent - -# -# The location and format of the access logfile (Common Logfile Format). -# If you do not define any access logfiles within a -# container, they will be logged here. Contrariwise, if you *do* -# define per- access logfiles, transactions will be -# logged therein and *not* in this file. -# -CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access_log 86400" common - -# -# If you would like to have agent and referer logfiles, uncomment the -# following directives. -# -#CustomLog /usr/local/apache/logs/referer_log referer -#CustomLog /usr/local/apache/logs/agent_log agent - -# -# If you prefer a single logfile with access, agent, and referer information -# (Combined Logfile Format) you can use the following directive. -# -#CustomLog /usr/local/apache/logs/access_log combined - -# -# Optionally add a line containing the server version and virtual host -# name to server-generated pages (error documents, FTP directory listings, -# mod_status and mod_info output etc., but not CGI generated documents). -# Set to "EMail" to also include a mailto: link to the ServerAdmin. -# Set to one of: On | Off | EMail -# -ServerSignature On - -# -# Aliases: Add here as many aliases as you need (with no limit). The format is -# Alias fakename realname -# - - - # - # Note that if you include a trailing / on fakename then the server will - # require it to be present in the URL. So "/icons" isn't aliased in this - # example, only "/icons/".. - # - #Alias /icons/ "/usr/local/apache/icons/" - #Alias /mysql/ "/usr/local/apache/htdocs/phpMyAdmin/" - #Alias /omc/ "/usr/local/apache/htdocs/ts_omc/" - - - Options Indexes MultiViews - AllowOverride None - Order allow,deny - Allow from all - - - # - # ScriptAlias: This controls which directories contain server scripts. - # ScriptAliases are essentially the same as Aliases, except that - # documents in the realname directory are treated as applications and - # run by the server when requested rather than as documents sent to the client. - # The same rules about trailing "/" apply to ScriptAlias directives as to - # Alias. - # - ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" - - # - # "/usr/local/apache/cgi-bin" should be changed to whatever your ScriptAliased - # CGI directory exists, if you have that configured. - # - - AllowOverride None - Options None - Order allow,deny - Allow from all - - - -# End of aliases. - -# -# Redirect allows you to tell clients about documents which used to exist in -# your server's namespace, but do not anymore. This allows you to tell the -# clients where to look for the relocated document. -# Format: Redirect old-URI new-URL -# - -# -# Directives controlling the display of server-generated directory listings. -# - - - # - # FancyIndexing is whether you want fancy directory indexing or standard - # - IndexOptions FancyIndexing - - # - # AddIcon* directives tell the server which icon to show for different - # files or filename extensions. These are only displayed for - # FancyIndexed directories. - # - AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip - - AddIconByType (TXT,/icons/text.gif) text/* - AddIconByType (IMG,/icons/image2.gif) image/* - AddIconByType (SND,/icons/sound2.gif) audio/* - AddIconByType (VID,/icons/movie.gif) video/* - - AddIcon /icons/binary.gif .bin .exe - AddIcon /icons/binhex.gif .hqx - AddIcon /icons/tar.gif .tar - AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv - AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip - AddIcon /icons/a.gif .ps .ai .eps - AddIcon /icons/layout.gif .html .shtml .htm .pdf - AddIcon /icons/text.gif .txt - AddIcon /icons/c.gif .c - AddIcon /icons/p.gif .pl .py - AddIcon /icons/f.gif .for - AddIcon /icons/dvi.gif .dvi - AddIcon /icons/uuencoded.gif .uu - AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl - AddIcon /icons/tex.gif .tex .csv - AddIcon /icons/bomb.gif core - - AddIcon /icons/back.gif .. - AddIcon /icons/hand.right.gif README - AddIcon /icons/folder.gif ^^DIRECTORY^^ - AddIcon /icons/blank.gif ^^BLANKICON^^ - - # - # DefaultIcon is which icon to show for files which do not have an icon - # explicitly set. - # - DefaultIcon /icons/unknown.gif - - # - # AddDescription allows you to place a short description after a file in - # server-generated indexes. These are only displayed for FancyIndexed - # directories. - # Format: AddDescription "description" filename - # - #AddDescription "GZIP compressed document" .gz - #AddDescription "tar archive" .tar - #AddDescription "GZIP compressed tar archive" .tgz - - # - # ReadmeName is the name of the README file the server will look for by - # default, and append to directory listings. - # - # HeaderName is the name of a file which should be prepended to - # directory indexes. - # - # If MultiViews are amongst the Options in effect, the server will - # first look for name.html and include it if found. If name.html - # doesn't exist, the server will then look for name.txt and include - # it as plaintext if found. - # - ReadmeName README - HeaderName HEADER - - # - # IndexIgnore is a set of filenames which directory indexing should ignore - # and not include in the listing. Shell-style wildcarding is permitted. - # - IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t - - -# End of indexing directives. - -# -# Document types. -# - - - # - # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress - # information on the fly. Note: Not all browsers support this. - # Despite the name similarity, the following Add* directives have nothing - # to do with the FancyIndexing customization directives above. - # - #AddEncoding x-compress Z - #AddEncoding x-gzip gz tgz - - # - # AddLanguage allows you to specify the language of a document. You can - # then use content negotiation to give a browser a file in a language - # it can understand. - # - # Note 1: The suffix does not have to be the same as the language - # keyword --- those with documents in Polish (whose net-standard - # language code is pl) may wish to use "AddLanguage pl .po" to - # avoid the ambiguity with the common suffix for perl scripts. - # - # Note 2: The example entries below illustrate that in quite - # some cases the two character 'Language' abbriviation is not - # identical to the two character 'Country' code for its country, - # E.g. 'Danmark/dk' versus 'Danish/da'. - # - # Note 3: In the case of 'ltz' we violate the RFC by using a three char - # specifier. But there is 'work in progress' to fix this and get - # the reference data for rfc1766 cleaned up. - # - # Danish (da) - Dutch (nl) - English (en) - Estonian (ee) - # French (fr) - German (de) - Greek-Modern (el) - # Italian (it) - Portugese (pt) - Luxembourgeois* (ltz) - # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz) - # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja) - # - AddLanguage da .dk - AddLanguage nl .nl - AddLanguage en .en - AddLanguage et .ee - AddLanguage fr .fr - AddLanguage de .de - AddLanguage el .el - AddLanguage it .it - AddLanguage ja .ja - AddCharset ISO-2022-JP .jis - AddLanguage pl .po - AddCharset ISO-8859-2 .iso-pl - AddLanguage pt .pt - AddLanguage pt-br .pt-br - AddLanguage ltz .lu - AddLanguage ca .ca - AddLanguage es .es - AddLanguage sv .se - AddLanguage cz .cz - - # LanguagePriority allows you to give precedence to some languages - # in case of a tie during content negotiation. - # - # Just list the languages in decreasing order of preference. We have - # more or less alphabetized them here. You probably want to change this. - # - - LanguagePriority en da nl et fr de el it ja pl pt pt-br ltz ca es sv - - - # - # AddType allows you to tweak mime.types without actually editing it, or to - # make certain files to be certain types. - # - # For example, the PHP 3.x module (not part of the Apache distribution - see - # http://www.php.net) will typically use: - # - AddType application/x-httpd-php3 .php3 - AddType application/x-httpd-php3-source .phps - # - # And for PHP 4.x, use: - # - AddType application/x-httpd-php .php3 - AddType application/x-httpd-php .inc - AddType application/x-httpd-php .php - AddType application/x-httpd-php-source .phps - - AddType application/x-tar .tar - AddType application/x-tgz .tgz - AddType application/x-csv .csv - - # - # AddHandler allows you to map certain file extensions to "handlers", - # actions unrelated to filetype. These can be either built into the server - # or added with the Action command (see below) - # - # If you want to use server side includes, or CGI outside - # ScriptAliased directories, uncomment the following lines. - # - # To use CGI scripts: - # - #AddHandler cgi-script .cgi - - # - # To use server-parsed HTML files - # - #AddType text/html .shtml - #AddHandler server-parsed .shtml - - # - # Uncomment the following line to enable Apache's send-asis HTTP file - # feature - # - #AddHandler send-as-is asis - - # - # If you wish to use server-parsed imagemap files, use - # - #AddHandler imap-file map - - # - # To enable type maps, you might want to use - # - #AddHandler type-map var - - -# End of document types. - -# -# Action lets you define media types that will execute a script whenever -# a matching file is called. This eliminates the need for repeated URL -# pathnames for oft-used CGI file processors. -# Format: Action media/type /cgi-script/location -# Format: Action handler-name /cgi-script/location -# - -# -# MetaDir: specifies the name of the directory in which Apache can find -# meta information files. These files contain additional HTTP headers -# to include when sending the document -# -#MetaDir .web - -# -# MetaSuffix: specifies the file name suffix for the file containing the -# meta information. -# -#MetaSuffix .meta - -# -# Customizable error response (Apache style) -# these come in three flavors -# -# 1) plain text -#ErrorDocument 500 "The server made a boo boo. -# n.b. the (") marks it as text, it does not get output -# -# 2) local redirects -#ErrorDocument 404 /missing.html -# to redirect to local URL /missing.html -#ErrorDocument 404 /cgi-bin/missing_handler.pl -# N.B.: You can redirect to a script or a document using server-side-includes. -# -# 3) external redirects -#ErrorDocument 402 http://some.other_server.com/subscription_info.html -# N.B.: Many of the environment variables associated with the original -# request will *not* be available to such a script. - -# -# Customize behaviour based on the browser -# - - - # - # The following directives modify normal HTTP response behavior. - # The first directive disables keepalive for Netscape 2.x and browsers that - # spoof it. There are known problems with these browser implementations. - # The second directive is for Microsoft Internet Explorer 4.0b2 - # which has a broken HTTP/1.1 implementation and does not properly - # support keepalive when it is used on 301 or 302 (redirect) responses. - # - BrowserMatch "Mozilla/2" nokeepalive - BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 - - # - # The following directive disables HTTP/1.1 responses to browsers which - # are in violation of the HTTP/1.0 spec by not being able to grok a - # basic 1.1 response. - # - BrowserMatch "RealPlayer 4\.0" force-response-1.0 - BrowserMatch "Java/1\.0" force-response-1.0 - BrowserMatch "JDK/1\.0" force-response-1.0 - - - -# -# Allow server status reports, with the URL of http://servername/server-status -# Change the ".your_domain.com" to match your domain to enable. -# -# -# SetHandler server-status -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -# - -# -# Allow remote server configuration reports, with the URL of -# http://servername/server-info (requires that mod_info.c be loaded). -# Change the ".your_domain.com" to match your domain to enable. -# -# -# SetHandler server-info -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -# - -# -# There have been reports of people trying to abuse an old bug from pre-1.1 -# days. This bug involved a CGI script distributed as a part of Apache. -# By uncommenting these lines you can redirect these attacks to a logging -# script on phf.apache.org. Or, you can record them yourself, using the script -# support/phf_abuse_log.cgi. -# -# -# Deny from all -# ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi -# - -# -# Proxy Server directives. Uncomment the following lines to -# enable the proxy server: -# -# - #ProxyRequests On - # - # - # Order deny,allow - # Deny from all - # Allow from .your_domain.com - # - - # - # Enable/disable the handling of HTTP/1.1 "Via:" headers. - # ("Full" adds the server version; "Block" removes all outgoing Via: headers) - # Set to one of: Off | On | Full | Block - # - #ProxyVia On - - # - # To enable the cache as well, edit and uncomment the following lines: - # (no cacheing without CacheRoot) - # - #CacheRoot "/usr/local/apache/proxy" - #CacheSize 5 - #CacheGcInterval 4 - #CacheMaxExpire 24 - #CacheLastModifiedFactor 0.1 - #CacheDefaultExpire 1 - #NoCache a_domain.com another_domain.edu joes.garage_sale.com - -# -# End of proxy directives. - -### Section 3: Virtual Hosts -# -# VirtualHost: If you want to maintain multiple domains/hostnames on your -# machine you can setup VirtualHost containers for them. -# Please see the documentation at -# for further details before you try to setup virtual hosts. -# You may use the command line option '-S' to verify your virtual host -# configuration. - -# -# If you want to use name-based virtual hosts you need to define at -# least one IP address (and port number) for them. -# -#NameVirtualHost 12.34.56.78:80 -#NameVirtualHost 192.168.1.230 - - -# -# VirtualHost example: -# Almost any Apache directive may go into a VirtualHost container. -# - -# -# ServerAdmin webmaster@host.some_domain.com -# DocumentRoot /usr/local/apache/htdocs/ -# ServerName omc-u2 -# ErrorLog logs/host.some_domain.com-error_log -# CustomLog logs/host.some_domain.com-access_log common -# - -# -# ServerAdmin webmaster@host.some_domain.com -# DocumentRoot /usr/local/apache/htdocs/phpMyAdmin/ -# ServerName admin -# ErrorLog logs/host.some_domain.com-error_log -# CustomLog logs/host.some_domain.com-access_log common -# - - - -# -# diff --git a/omc/bin/conf/manager_engine.conf b/omc/bin/conf/manager_engine.conf deleted file mode 100644 index 9114648..0000000 Binary files a/omc/bin/conf/manager_engine.conf and /dev/null differ diff --git a/omc/bin/conf/mcms_conf.txt b/omc/bin/conf/mcms_conf.txt deleted file mode 100644 index 30fea2b..0000000 --- a/omc/bin/conf/mcms_conf.txt +++ /dev/null @@ -1,2 +0,0 @@ -bind ip=192.168.4.75 -shm key shift=0 diff --git a/omc/bin/conf/menu_page b/omc/bin/conf/menu_page deleted file mode 100644 index 2f32f7a..0000000 --- a/omc/bin/conf/menu_page +++ /dev/null @@ -1,17 +0,0 @@ - - ******************* - * MENU PAGE * - ******************* - - a -- IPTR m -- MNP - b -- MTP3 n -- DEBUG - c -- SCCP o -- AUC - d -- TCAP p -- SMPP - e -- XAPP r -- EMS - f -- MSC s -- BICC - g -- VLR t -- MGC - h -- SSF u -- GCP - i -- SMEG v -- 8ECP - j -- SMSC w -- AIF - k -- PPS y -- ISUP - l -- SNMP z -- AAS diff --git a/omc/bin/conf/menu_page2 b/omc/bin/conf/menu_page2 deleted file mode 100644 index 9f5eaaa..0000000 --- a/omc/bin/conf/menu_page2 +++ /dev/null @@ -1,17 +0,0 @@ - - ******************* - * MENU PAGE * - ******************* - - a -- IPTR m -- MNP - b -- MTP3 n -- DEBUG - c -- SCCP o -- AUC - d -- TCAP p -- SMPP - e -- XAPP r -- XUA - f -- MSC s -- BICC - g -- VLR t -- MGC - h -- SSF u -- GCP - i -- SMEG v -- 8ECP - j -- SMSC w -- AIF - k -- PPS y -- ISUP - l -- SNMP z -- AAS diff --git a/omc/bin/conf/mtp3.conf b/omc/bin/conf/mtp3.conf deleted file mode 100644 index 38a4570..0000000 --- a/omc/bin/conf/mtp3.conf +++ /dev/null @@ -1,1477 +0,0 @@ -#MTP3 CONFIGURE FILE - -[SERVICE NETWORK SP LEN] -[77] - -[MTP3LITE TCP PORT] -[0000] - -[LOCAL SP] -[000001] [000200] [000001] [000001] -[000001] [000200] [000001] [000000] - -[LINK ATTRIBUTE] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [02.00.41cae29b.03.09.00.00000000.ff.ff.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [03.00.41cae29b.03.03.00.00000000.ff.fc.42cae29b] -[04.00.41cae29b.03.04.00.00000000.0f.ff.ffffffff] [05.00.41cae29b.03.05.00.00000000.ff.ff.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [1c.00.41cae29b.03.0f.00.00000000.ff.fc.42cae29b] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [18.00.41cae29b.03.00.00.00000000.ff.ff.42cae29b] [1e.00.41cae29b.03.12.00.00000000.ff.fc.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [13.01.41cae29b.03.01.01.00000000.ff.ff.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[13.00.41cae29b.03.0a.00.00000000.ff.ff.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [7e.00.41cae29b.03.06.01.00000000.0f.ff.ffffffff] [7f.00.42cae29b.03.05.01.00000000.0f.ff.ffffffff] -[13.00.42cae29b.02.0a.00.00000000.ff.fc.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] -[80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.00.ffffffff.00.00.00.00000000.00.00.ffffffff] - -[LINKSET ATTRIBUTE] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] -[000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] [000000.00.00000000000000000000000000000000] - -[SG ATTRIBUTES] -[00.00.00.00000000] [01.01.00.21CAE29B] [01.00.00.23CAE29B] [01.01.00.23CAE29B] -[00.00.00.00000000] [00.00.00.00000000] [01.00.00.24CAE29B] [01.01.00.23CAE29B] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] -[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] - -[NATIONAL NETWORK SP] -[001fd4.01.80.00000000] [002b72.12.12.00000000] [0007d0.5a.5a.00000000] [000fa0.03.03.00000000] -[00006f.6f.80.00000000] [000009.04.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [00001a.05.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000002.0e.80.00000000] [000000.80.80.00000000] -[000003.20.20.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000014.14.14.00000000] [000015.15.15.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000037.37.37.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000030.30.30.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [00004d.4d.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] - -[NATIONAL NETWORK SPARE SP] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000007.07.80.00000000] -[000005.08.80.00000000] [000008.09.80.00000000] [000004.0a.80.00000000] [00005d.06.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [00000a.0b.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] - -[INTERNATIONAL NETWORK SP] -[003952.64.80.00000000] [003953.65.80.00000000] [0001f4.10.10.00000000] [00000a.0c.80.00000000] -[000009.04.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] - -[INTERNATIONAL NETWORK SPARE SP] -[000000.80.80.00000000] [000005.19.80.00000000] [000006.1a.80.00000000] [0001f4.20.20.00000000] -[000100.1c.80.00000000] [000150.1e.80.00000000] [00000a.1b.80.00000000] [000110.21.80.00000000] -[000078.23.80.00000000] [000001.40.40.00000000] [000020.00.00.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] -[000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] [000000.80.80.00000000] - -[LOCAL ACN] -030303030202020202030302020303020303020303030303030303030303030302020202 - -[INTERNATIONAL NETWORK ACN] -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 - -[INTERNATIONAL NETWORK SPARE ACN] -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 - -[NATIONAL NETWORK ACN] -020303030202020202030302020202020303020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 - -[NATIONAL NETWORK SPARE ACN] -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 -030303030202020202030302020202020202020303030303030303030303030302020202 - diff --git a/omc/bin/conf/nrtrde_seq.conf b/omc/bin/conf/nrtrde_seq.conf deleted file mode 100644 index 3762733..0000000 Binary files a/omc/bin/conf/nrtrde_seq.conf and /dev/null differ diff --git a/omc/bin/conf/omc_db.conf b/omc/bin/conf/omc_db.conf deleted file mode 100644 index a2e9e1b..0000000 --- a/omc/bin/conf/omc_db.conf +++ /dev/null @@ -1,50 +0,0 @@ -#omc_db.conf -#config file for database maintenance - -[backup] -#List the database that need to be backuped -#CDR_DB,CSTA_DB is not need to backup -#Format:database - -[clean] -#You can termly clean tables by defining condition according to -#Format:database,table,time field,timeout,max records -OMC_PUB,sysAlarmLog,alarmTime,7,10000 -OMC_PUB,sysOperLog,datetime,7,10000 -OMC_PUB,dbAlarm,alarmTime,7,5000 -PPS_DB,used_card_info,updated_date,1900,5000000 -BssOmcDb,OMCR_ALARMEVENT,EventTime,7,10000 -BssOmcDb,OMCR_BtsMeasurements,updateTime,7,10000 -BssOmcDb,OMCR_NETWORKEVENT,EventTime,7,10000 -[remove_log] -#You can termly remove log files by defining condition according to -#Format:path,keyword,timeout(unit:day) -/usr/local/mysql,-bin,2 -/usr/local/omc/bin/dual/cdr_data_proc,dat,1 -/usr/local/omc/bin/dual/cdr_io_proc,dat,1 -/usr/local/apache/logs,access_log,7 -/usr/local/apache/htdocs/db_backup/cdrsending,csv,7 -/usr/local/apache/htdocs/db_backup/cdr,csv,7 -/usr/local/apache/htdocs/db_backup/cdrsent,csv,7 -/usr/local/apache/htdocs/db_backup/cstasending,csv,7 -/usr/local/apache/htdocs/db_backup/csta,csv,7 -/usr/local/apache/htdocs/db_backup/cstasent,csv,7 -/usr/local/apache/htdocs/db_backup/subsData,csv,7 -/usr/local/apache/htdocs/db_backup/alarmLog,csv,7 -/usr/local/apache/htdocs/db_backup/operLog,csv,7 -/usr/local/apache/htdocs/db_backup/paramConf,csv,7 -/usr/local/omc/log,gz,7 -/usr/local/omc/log,log,7 -/usr/local/omc/log,dualsrv,7 -/var/log,tmp,7 -/var/log,log,7 -/var/log,messages,7 -/var/log,secure,7 -/usr/local/apache/htdocs/db_backup/nrtrde/LOCAL_CSV,csv,7 -/usr/local/apache/htdocs/db_backup/nrtrde/ND_RECV_BAK,ND,7 -/usr/local/apache/htdocs/db_backup/nrtrde/ND_SEND_BAK,ND,7 -/usr/local/apache/htdocs/db_backup/nrtrde/NE_RECV_BAK,NE,7 -/usr/local/apache/htdocs/db_backup/nrtrde/NE_SEND_BAK,NE,7 -/usr/local/apache/htdocs/db_backup/nrtrde/NR_RECV_BAK,NR,7 -/usr/local/apache/htdocs/db_backup/nrtrde/NR_SEND_BAK,NR,7 - diff --git a/omc/bin/conf/omcd.conf_omc-0 b/omc/bin/conf/omcd.conf_omc-0 deleted file mode 100644 index 106dfb0..0000000 --- a/omc/bin/conf/omcd.conf_omc-0 +++ /dev/null @@ -1,19 +0,0 @@ -### -#omcTypeNo: -# 0:WXC2 OMC -# 1:GMSC OMC -# 2:MSC OMC -# 3:HLR OMC -# 4:AUC OMC -# 5:SMS OMC -# 6:PPS OMC -# 7:BSS OMC -### -omcVersion=9.02.00 - -omcTypeNo=0 -omcSysNo=0 -omcSubSysNo=0 - -#omc run mode 0:single omc 1:dual omc -omcRunMode=1 diff --git a/omc/bin/conf/omcd.conf_omc-1 b/omc/bin/conf/omcd.conf_omc-1 deleted file mode 100644 index 0946f83..0000000 --- a/omc/bin/conf/omcd.conf_omc-1 +++ /dev/null @@ -1,19 +0,0 @@ -### -#omcTypeNo: -# 0:WXC2 OMC -# 1:GMSC OMC -# 2:MSC OMC -# 3:HLR OMC -# 4:AUC OMC -# 5:SMS OMC -# 6:PPS OMC -# 7:BSS OMC -### -omcVersion=9.02.00 - -omcTypeNo=0 -omcSysNo=1 -omcSubSysNo=0 - -#omc run mode 0:single omc 1:dual omc -omcRunMode=1 diff --git a/omc/bin/conf/omcd_serialnum.conf b/omc/bin/conf/omcd_serialnum.conf deleted file mode 100644 index b798c43..0000000 --- a/omc/bin/conf/omcd_serialnum.conf +++ /dev/null @@ -1 +0,0 @@ -omcSN=13750015 diff --git a/omc/bin/conf/omctrap_iplist.conf b/omc/bin/conf/omctrap_iplist.conf deleted file mode 100644 index fa24963..0000000 --- a/omc/bin/conf/omctrap_iplist.conf +++ /dev/null @@ -1,14 +0,0 @@ -# This file configure the IP list to where omc send the heartbeat-trap message -# Max IP Object Count = 64 -# Example -#192.168.4.75 - -192.168.4.75 -192.168.7.46 -#192.168.7.155 -#192.168.7.46 -#192.168.4.17 -# END - - - diff --git a/omc/bin/conf/profile b/omc/bin/conf/profile deleted file mode 100644 index 5571da1..0000000 --- a/omc/bin/conf/profile +++ /dev/null @@ -1,48 +0,0 @@ -# /etc/profile - -# System wide environment and startup programs, for login setup -# Functions and aliases go in /etc/bashrc - - -# Path manipulation -if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/sbin" ; then - PATH=/sbin:$PATH -fi - -if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/sbin" ; then - PATH=/usr/sbin:$PATH -fi - -if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/local/sbin" ; then - PATH=/usr/local/sbin:$PATH -fi - -if ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; then - PATH="$PATH:/usr/X11R6/bin" -fi - -# No core files by default -#ulimit -S -c 0 > /dev/null 2>&1 -ulimit -c unlimited - -USER=`id -un` -LOGNAME=$USER -MAIL="/var/spool/mail/$USER" - -HOSTNAME=`/bin/hostname` -HISTSIZE=1000 - -if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then - INPUTRC=/etc/inputrc -fi - -export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC - -for i in /etc/profile.d/*.sh ; do - if [ -r $i ]; then - . $i - fi -done - -unset i -PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/etc/rc.d/init.d" diff --git a/omc/bin/conf/raid.conf b/omc/bin/conf/raid.conf deleted file mode 100644 index 05506c2..0000000 --- a/omc/bin/conf/raid.conf +++ /dev/null @@ -1,24 +0,0 @@ -[Global] -# Function Enable Flag, Value = [On/Off] -EnableFlag=On - -# The Port of the server SNMP for the RAID service -ServerSNMPPort=161 - -# The System Type, Value = [MCSS/MCMS] -SystemType=MCSS - -# This is a table to configure the remote server which need check RAID -# ServerName, Value = [MSS/EMS/VMS/MCMS] -# ServerType, Value = [Intel/Dell] -# CheckFlag, Value = [On/Off] -# ------------------------------------------ -# ServerName ServerType CheckFlag -[MCSS Server] -EMS,Intel,On -MSS,Intel,On -VMS,Intel,On -RCM,Intel,On -[MCMS Server] -MCMS,Intel,On - diff --git a/omc/bin/conf/rsyncd.conf b/omc/bin/conf/rsyncd.conf deleted file mode 100644 index 283a113..0000000 --- a/omc/bin/conf/rsyncd.conf +++ /dev/null @@ -1,15 +0,0 @@ -uid=mysql -gid=mysql -use chroot=no -max connections=4 -pid file=/var/run/rsyncd.pid -lock file=/var/run/rsync.lock -log file=/var/log/rsyncd.log - -[data] -path=/usr/local/mysql/data/ -list=true - -[conf] -path=/usr/local/omc/bin/conf/ -list=true diff --git a/omc/bin/conf/sccp.conf b/omc/bin/conf/sccp.conf deleted file mode 100644 index 382ec7a..0000000 --- a/omc/bin/conf/sccp.conf +++ /dev/null @@ -1,1058 +0,0 @@ -#SCCP Config file (R9V1_05) - -[Local Node] -#ssn NetID msisdn ip0 ip1 -4 2 57888123001 155.226.202.34 172.18.129.1 -6 1 57888123002 155.226.202.35 - -7 1 57888123003 155.226.202.35 - -8 1 57888123004 155.226.202.35 - -9 1 57888123005 155.226.202.35 - -10 2 57888123006 155.226.202.35 172.18.99.1 -11 2 57888123007 155.226.202.35 172.18.99.1 -19 2 57888123008 155.226.202.35 172.18.99.1 -20 2 57888123009 155.226.202.35 172.18.99.1 -21 2 57888123010 155.226.202.35 - -22 1 57888123011 155.226.202.35 - -23 1 57888123012 155.226.202.35 - -32 2 57888123015 155.226.202.35 172.18.99.1 -33 2 57888123016 155.226.202.35 172.18.99.1 -146 2 57888123017 155.226.202.35 172.18.99.1 -147 2 57888123018 155.226.202.35 172.18.99.1 -153 2 57888123019 155.226.202.35 172.18.99.1 -254 1 57888123020 155.226.202.35 172.18.99.1 -[GTT_Table] -#No EN NP TT StartDigits EndDigits NI SPC SSN RI AI S E N Rep -0 1 6 - 570028000000000 570028000000100 1 000200 6 1 7 -1 1 1 - 57888123007 57888123007 1 000200 11 1 7 -2 0 - - - - 0 000000 0 0 0 -3 1 6 - 570029000000000 570029000000100 1 000200 6 0 7 1 15 1 57888123002 -4 1 1 - 578885 578885 1 000200 6 1 7 -5 0 - - - - 0 000000 0 0 0 -6 0 - - - - 0 000000 0 0 0 -7 0 - - - - 0 000000 0 0 0 -8 0 - - - - 0 000000 0 0 0 -9 0 - - - - 0 000000 0 0 0 -10 0 - - - - 0 000000 0 0 0 -11 0 - - - - 0 000000 0 0 0 -12 0 - - - - 0 000000 0 0 0 -13 0 - - - - 0 000000 0 0 0 -14 0 - - - - 0 000000 0 0 0 -15 0 - - - - 0 000000 0 0 0 -16 0 - - - - 0 000000 0 0 0 -17 0 - - - - 0 000000 0 0 0 -18 0 - - - - 0 000000 0 0 0 -19 0 - - - - 0 000000 0 0 0 -20 0 - - - - 0 000000 0 0 0 -21 0 - - - - 0 000000 0 0 0 -22 0 - - - - 0 000000 0 0 0 -23 0 - - - - 0 000000 0 0 0 -24 0 - - - - 0 000000 0 0 0 -25 0 - - - - 0 000000 0 0 0 -26 0 - - - - 0 000000 0 0 0 -27 0 - - - - 0 000000 0 0 0 -28 0 - - - - 0 000000 0 0 0 -29 0 - - - - 0 000000 0 0 0 -30 0 - - - - 0 000000 0 0 0 -31 0 - - - - 0 000000 0 0 0 -32 0 - - - - 0 000000 0 0 0 -33 0 - - - - 0 000000 0 0 0 -34 0 - - - - 0 000000 0 0 0 -35 0 - - - - 0 000000 0 0 0 -36 0 - - - - 0 000000 0 0 0 -37 0 - - - - 0 000000 0 0 0 -38 0 - - - - 0 000000 0 0 0 -39 0 - - - - 0 000000 0 0 0 -40 0 - - - - 0 000000 0 0 0 -41 0 - - - - 0 000000 0 0 0 -42 0 - - - - 0 000000 0 0 0 -43 0 - - - - 0 000000 0 0 0 -44 0 - - - - 0 000000 0 0 0 -45 0 - - - - 0 000000 0 0 0 -46 0 - - - - 0 000000 0 0 0 -47 0 - - - - 0 000000 0 0 0 -48 0 - - - - 0 000000 0 0 0 -49 0 - - - - 0 000000 0 0 0 -50 0 - - - - 0 000000 0 0 0 -51 0 - - - - 0 000000 0 0 0 -52 0 - - - - 0 000000 0 0 0 -53 0 - - - - 0 000000 0 0 0 -54 0 - - - - 0 000000 0 0 0 -55 0 - - - - 0 000000 0 0 0 -56 0 - - - - 0 000000 0 0 0 -57 0 - - - - 0 000000 0 0 0 -58 0 - - - - 0 000000 0 0 0 -59 0 - - - - 0 000000 0 0 0 -60 0 - - - - 0 000000 0 0 0 -61 0 - - - - 0 000000 0 0 0 -62 0 - - - - 0 000000 0 0 0 -63 0 - - - - 0 000000 0 0 0 -64 0 - - - - 0 000000 0 0 0 -65 0 - - - - 0 000000 0 0 0 -66 0 - - - - 0 000000 0 0 0 -67 0 - - - - 0 000000 0 0 0 -68 0 - - - - 0 000000 0 0 0 -69 0 - - - - 0 000000 0 0 0 -70 0 - - - - 0 000000 0 0 0 -71 0 - - - - 0 000000 0 0 0 -72 0 - - - - 0 000000 0 0 0 -73 0 - - - - 0 000000 0 0 0 -74 0 - - - - 0 000000 0 0 0 -75 0 - - - - 0 000000 0 0 0 -76 0 - - - - 0 000000 0 0 0 -77 0 - - - - 0 000000 0 0 0 -78 0 - - - - 0 000000 0 0 0 -79 0 - - - - 0 000000 0 0 0 -80 0 - - - - 0 000000 0 0 0 -81 0 - - - - 0 000000 0 0 0 -82 0 - - - - 0 000000 0 0 0 -83 0 - - - - 0 000000 0 0 0 -84 0 - - - - 0 000000 0 0 0 -85 0 - - - - 0 000000 0 0 0 -86 0 - - - - 0 000000 0 0 0 -87 0 - - - - 0 000000 0 0 0 -88 0 - - - - 0 000000 0 0 0 -89 0 - - - - 0 000000 0 0 0 -90 0 - - - - 0 000000 0 0 0 -91 0 - - - - 0 000000 0 0 0 -92 0 - - - - 0 000000 0 0 0 -93 0 - - - - 0 000000 0 0 0 -94 0 - - - - 0 000000 0 0 0 -95 0 - - - - 0 000000 0 0 0 -96 0 - - - - 0 000000 0 0 0 -97 0 - - - - 0 000000 0 0 0 -98 0 - - - - 0 000000 0 0 0 -99 0 - - - - 0 000000 0 0 0 -100 0 - - - - 0 000000 0 0 0 -101 0 - - - - 0 000000 0 0 0 -102 0 - - - - 0 000000 0 0 0 -103 0 - - - - 0 000000 0 0 0 -104 0 - - - - 0 000000 0 0 0 -105 0 - - - - 0 000000 0 0 0 -106 0 - - - - 0 000000 0 0 0 -107 0 - - - - 0 000000 0 0 0 -108 0 - - - - 0 000000 0 0 0 -109 0 - - - - 0 000000 0 0 0 -110 0 - - - - 0 000000 0 0 0 -111 0 - - - - 0 000000 0 0 0 -112 0 - - - - 0 000000 0 0 0 -113 0 - - - - 0 000000 0 0 0 -114 0 - - - - 0 000000 0 0 0 -115 0 - - - - 0 000000 0 0 0 -116 0 - - - - 0 000000 0 0 0 -117 0 - - - - 0 000000 0 0 0 -118 0 - - - - 0 000000 0 0 0 -119 0 - - - - 0 000000 0 0 0 -120 0 - - - - 0 000000 0 0 0 -121 0 - - - - 0 000000 0 0 0 -122 0 - - - - 0 000000 0 0 0 -123 0 - - - - 0 000000 0 0 0 -124 0 - - - - 0 000000 0 0 0 -125 0 - - - - 0 000000 0 0 0 -126 0 - - - - 0 000000 0 0 0 -127 0 - - - - 0 000000 0 0 0 -128 0 - - - - 0 000000 0 0 0 -129 0 - - - - 0 000000 0 0 0 -130 0 - - - - 0 000000 0 0 0 -131 0 - - - - 0 000000 0 0 0 -132 0 - - - - 0 000000 0 0 0 -133 0 - - - - 0 000000 0 0 0 -134 0 - - - - 0 000000 0 0 0 -135 0 - - - - 0 000000 0 0 0 -136 0 - - - - 0 000000 0 0 0 -137 0 - - - - 0 000000 0 0 0 -138 0 - - - - 0 000000 0 0 0 -139 0 - - - - 0 000000 0 0 0 -140 0 - - - - 0 000000 0 0 0 -141 0 - - - - 0 000000 0 0 0 -142 0 - - - - 0 000000 0 0 0 -143 0 - - - - 0 000000 0 0 0 -144 0 - - - - 0 000000 0 0 0 -145 0 - - - - 0 000000 0 0 0 -146 0 - - - - 0 000000 0 0 0 -147 0 - - - - 0 000000 0 0 0 -148 0 - - - - 0 000000 0 0 0 -149 0 - - - - 0 000000 0 0 0 -150 0 - - - - 0 000000 0 0 0 -151 0 - - - - 0 000000 0 0 0 -152 0 - - - - 0 000000 0 0 0 -153 0 - - - - 0 000000 0 0 0 -154 0 - - - - 0 000000 0 0 0 -155 0 - - - - 0 000000 0 0 0 -156 0 - - - - 0 000000 0 0 0 -157 0 - - - - 0 000000 0 0 0 -158 0 - - - - 0 000000 0 0 0 -159 0 - - - - 0 000000 0 0 0 -160 0 - - - - 0 000000 0 0 0 -161 0 - - - - 0 000000 0 0 0 -162 0 - - - - 0 000000 0 0 0 -163 0 - - - - 0 000000 0 0 0 -164 0 - - - - 0 000000 0 0 0 -165 0 - - - - 0 000000 0 0 0 -166 0 - - - - 0 000000 0 0 0 -167 0 - - - - 0 000000 0 0 0 -168 0 - - - - 0 000000 0 0 0 -169 0 - - - - 0 000000 0 0 0 -170 0 - - - - 0 000000 0 0 0 -171 0 - - - - 0 000000 0 0 0 -172 0 - - - - 0 000000 0 0 0 -173 0 - - - - 0 000000 0 0 0 -174 0 - - - - 0 000000 0 0 0 -175 0 - - - - 0 000000 0 0 0 -176 0 - - - - 0 000000 0 0 0 -177 0 - - - - 0 000000 0 0 0 -178 0 - - - - 0 000000 0 0 0 -179 0 - - - - 0 000000 0 0 0 -180 0 - - - - 0 000000 0 0 0 -181 0 - - - - 0 000000 0 0 0 -182 0 - - - - 0 000000 0 0 0 -183 0 - - - - 0 000000 0 0 0 -184 0 - - - - 0 000000 0 0 0 -185 0 - - - - 0 000000 0 0 0 -186 0 - - - - 0 000000 0 0 0 -187 0 - - - - 0 000000 0 0 0 -188 0 - - - - 0 000000 0 0 0 -189 0 - - - - 0 000000 0 0 0 -190 0 - - - - 0 000000 0 0 0 -191 0 - - - - 0 000000 0 0 0 -192 0 - - - - 0 000000 0 0 0 -193 0 - - - - 0 000000 0 0 0 -194 0 - - - - 0 000000 0 0 0 -195 0 - - - - 0 000000 0 0 0 -196 0 - - - - 0 000000 0 0 0 -197 0 - - - - 0 000000 0 0 0 -198 0 - - - - 0 000000 0 0 0 -199 0 - - - - 0 000000 0 0 0 -200 0 - - - - 0 000000 0 0 0 -201 0 - - - - 0 000000 0 0 0 -202 0 - - - - 0 000000 0 0 0 -203 0 - - - - 0 000000 0 0 0 -204 0 - - - - 0 000000 0 0 0 -205 0 - - - - 0 000000 0 0 0 -206 0 - - - - 0 000000 0 0 0 -207 0 - - - - 0 000000 0 0 0 -208 0 - - - - 0 000000 0 0 0 -209 0 - - - - 0 000000 0 0 0 -210 0 - - - - 0 000000 0 0 0 -211 0 - - - - 0 000000 0 0 0 -212 0 - - - - 0 000000 0 0 0 -213 0 - - - - 0 000000 0 0 0 -214 0 - - - - 0 000000 0 0 0 -215 0 - - - - 0 000000 0 0 0 -216 0 - - - - 0 000000 0 0 0 -217 0 - - - - 0 000000 0 0 0 -218 0 - - - - 0 000000 0 0 0 -219 0 - - - - 0 000000 0 0 0 -220 0 - - - - 0 000000 0 0 0 -221 0 - - - - 0 000000 0 0 0 -222 0 - - - - 0 000000 0 0 0 -223 0 - - - - 0 000000 0 0 0 -224 0 - - - - 0 000000 0 0 0 -225 0 - - - - 0 000000 0 0 0 -226 0 - - - - 0 000000 0 0 0 -227 0 - - - - 0 000000 0 0 0 -228 0 - - - - 0 000000 0 0 0 -229 0 - - - - 0 000000 0 0 0 -230 0 - - - - 0 000000 0 0 0 -231 0 - - - - 0 000000 0 0 0 -232 0 - - - - 0 000000 0 0 0 -233 0 - - - - 0 000000 0 0 0 -234 0 - - - - 0 000000 0 0 0 -235 0 - - - - 0 000000 0 0 0 -236 0 - - - - 0 000000 0 0 0 -237 0 - - - - 0 000000 0 0 0 -238 0 - - - - 0 000000 0 0 0 -239 0 - - - - 0 000000 0 0 0 -240 0 - - - - 0 000000 0 0 0 -241 0 - - - - 0 000000 0 0 0 -242 0 - - - - 0 000000 0 0 0 -243 0 - - - - 0 000000 0 0 0 -244 0 - - - - 0 000000 0 0 0 -245 0 - - - - 0 000000 0 0 0 -246 0 - - - - 0 000000 0 0 0 -247 0 - - - - 0 000000 0 0 0 -248 0 - - - - 0 000000 0 0 0 -249 0 - - - - 0 000000 0 0 0 -250 0 - - - - 0 000000 0 0 0 -251 0 - - - - 0 000000 0 0 0 -252 0 - - - - 0 000000 0 0 0 -253 0 - - - - 0 000000 0 0 0 -254 0 - - - - 0 000000 0 0 0 -255 0 - - - - 0 000000 0 0 0 -256 0 - - - - 0 000000 0 0 0 -257 0 - - - - 0 000000 0 0 0 -258 0 - - - - 0 000000 0 0 0 -259 0 - - - - 0 000000 0 0 0 -260 0 - - - - 0 000000 0 0 0 -261 0 - - - - 0 000000 0 0 0 -262 0 - - - - 0 000000 0 0 0 -263 0 - - - - 0 000000 0 0 0 -264 0 - - - - 0 000000 0 0 0 -265 0 - - - - 0 000000 0 0 0 -266 0 - - - - 0 000000 0 0 0 -267 0 - - - - 0 000000 0 0 0 -268 0 - - - - 0 000000 0 0 0 -269 0 - - - - 0 000000 0 0 0 -270 0 - - - - 0 000000 0 0 0 -271 0 - - - - 0 000000 0 0 0 -272 0 - - - - 0 000000 0 0 0 -273 0 - - - - 0 000000 0 0 0 -274 0 - - - - 0 000000 0 0 0 -275 0 - - - - 0 000000 0 0 0 -276 0 - - - - 0 000000 0 0 0 -277 0 - - - - 0 000000 0 0 0 -278 0 - - - - 0 000000 0 0 0 -279 0 - - - - 0 000000 0 0 0 -280 0 - - - - 0 000000 0 0 0 -281 0 - - - - 0 000000 0 0 0 -282 0 - - - - 0 000000 0 0 0 -283 0 - - - - 0 000000 0 0 0 -284 0 - - - - 0 000000 0 0 0 -285 0 - - - - 0 000000 0 0 0 -286 0 - - - - 0 000000 0 0 0 -287 0 - - - - 0 000000 0 0 0 -288 0 - - - - 0 000000 0 0 0 -289 0 - - - - 0 000000 0 0 0 -290 0 - - - - 0 000000 0 0 0 -291 0 - - - - 0 000000 0 0 0 -292 0 - - - - 0 000000 0 0 0 -293 0 - - - - 0 000000 0 0 0 -294 0 - - - - 0 000000 0 0 0 -295 0 - - - - 0 000000 0 0 0 -296 0 - - - - 0 000000 0 0 0 -297 0 - - - - 0 000000 0 0 0 -298 0 - - - - 0 000000 0 0 0 -299 0 - - - - 0 000000 0 0 0 -300 0 - - - - 0 000000 0 0 0 -301 0 - - - - 0 000000 0 0 0 -302 0 - - - - 0 000000 0 0 0 -303 0 - - - - 0 000000 0 0 0 -304 0 - - - - 0 000000 0 0 0 -305 0 - - - - 0 000000 0 0 0 -306 0 - - - - 0 000000 0 0 0 -307 0 - - - - 0 000000 0 0 0 -308 0 - - - - 0 000000 0 0 0 -309 0 - - - - 0 000000 0 0 0 -310 0 - - - - 0 000000 0 0 0 -311 0 - - - - 0 000000 0 0 0 -312 0 - - - - 0 000000 0 0 0 -313 0 - - - - 0 000000 0 0 0 -314 0 - - - - 0 000000 0 0 0 -315 0 - - - - 0 000000 0 0 0 -316 0 - - - - 0 000000 0 0 0 -317 0 - - - - 0 000000 0 0 0 -318 0 - - - - 0 000000 0 0 0 -319 0 - - - - 0 000000 0 0 0 -320 0 - - - - 0 000000 0 0 0 -321 0 - - - - 0 000000 0 0 0 -322 0 - - - - 0 000000 0 0 0 -323 0 - - - - 0 000000 0 0 0 -324 0 - - - - 0 000000 0 0 0 -325 0 - - - - 0 000000 0 0 0 -326 0 - - - - 0 000000 0 0 0 -327 0 - - - - 0 000000 0 0 0 -328 0 - - - - 0 000000 0 0 0 -329 0 - - - - 0 000000 0 0 0 -330 0 - - - - 0 000000 0 0 0 -331 0 - - - - 0 000000 0 0 0 -332 0 - - - - 0 000000 0 0 0 -333 0 - - - - 0 000000 0 0 0 -334 0 - - - - 0 000000 0 0 0 -335 0 - - - - 0 000000 0 0 0 -336 0 - - - - 0 000000 0 0 0 -337 0 - - - - 0 000000 0 0 0 -338 0 - - - - 0 000000 0 0 0 -339 0 - - - - 0 000000 0 0 0 -340 0 - - - - 0 000000 0 0 0 -341 0 - - - - 0 000000 0 0 0 -342 0 - - - - 0 000000 0 0 0 -343 0 - - - - 0 000000 0 0 0 -344 0 - - - - 0 000000 0 0 0 -345 0 - - - - 0 000000 0 0 0 -346 0 - - - - 0 000000 0 0 0 -347 0 - - - - 0 000000 0 0 0 -348 0 - - - - 0 000000 0 0 0 -349 0 - - - - 0 000000 0 0 0 -350 0 - - - - 0 000000 0 0 0 -351 0 - - - - 0 000000 0 0 0 -352 0 - - - - 0 000000 0 0 0 -353 0 - - - - 0 000000 0 0 0 -354 0 - - - - 0 000000 0 0 0 -355 0 - - - - 0 000000 0 0 0 -356 0 - - - - 0 000000 0 0 0 -357 0 - - - - 0 000000 0 0 0 -358 0 - - - - 0 000000 0 0 0 -359 0 - - - - 0 000000 0 0 0 -360 0 - - - - 0 000000 0 0 0 -361 0 - - - - 0 000000 0 0 0 -362 0 - - - - 0 000000 0 0 0 -363 0 - - - - 0 000000 0 0 0 -364 0 - - - - 0 000000 0 0 0 -365 0 - - - - 0 000000 0 0 0 -366 0 - - - - 0 000000 0 0 0 -367 0 - - - - 0 000000 0 0 0 -368 0 - - - - 0 000000 0 0 0 -369 0 - - - - 0 000000 0 0 0 -370 0 - - - - 0 000000 0 0 0 -371 0 - - - - 0 000000 0 0 0 -372 0 - - - - 0 000000 0 0 0 -373 0 - - - - 0 000000 0 0 0 -374 0 - - - - 0 000000 0 0 0 -375 0 - - - - 0 000000 0 0 0 -376 0 - - - - 0 000000 0 0 0 -377 0 - - - - 0 000000 0 0 0 -378 0 - - - - 0 000000 0 0 0 -379 0 - - - - 0 000000 0 0 0 -380 0 - - - - 0 000000 0 0 0 -381 0 - - - - 0 000000 0 0 0 -382 0 - - - - 0 000000 0 0 0 -383 0 - - - - 0 000000 0 0 0 -384 0 - - - - 0 000000 0 0 0 -385 0 - - - - 0 000000 0 0 0 -386 0 - - - - 0 000000 0 0 0 -387 0 - - - - 0 000000 0 0 0 -388 0 - - - - 0 000000 0 0 0 -389 0 - - - - 0 000000 0 0 0 -390 0 - - - - 0 000000 0 0 0 -391 0 - - - - 0 000000 0 0 0 -392 0 - - - - 0 000000 0 0 0 -393 0 - - - - 0 000000 0 0 0 -394 0 - - - - 0 000000 0 0 0 -395 0 - - - - 0 000000 0 0 0 -396 0 - - - - 0 000000 0 0 0 -397 0 - - - - 0 000000 0 0 0 -398 0 - - - - 0 000000 0 0 0 -399 0 - - - - 0 000000 0 0 0 -400 0 - - - - 0 000000 0 0 0 -401 0 - - - - 0 000000 0 0 0 -402 0 - - - - 0 000000 0 0 0 -403 0 - - - - 0 000000 0 0 0 -404 0 - - - - 0 000000 0 0 0 -405 0 - - - - 0 000000 0 0 0 -406 0 - - - - 0 000000 0 0 0 -407 0 - - - - 0 000000 0 0 0 -408 0 - - - - 0 000000 0 0 0 -409 0 - - - - 0 000000 0 0 0 -410 0 - - - - 0 000000 0 0 0 -411 0 - - - - 0 000000 0 0 0 -412 0 - - - - 0 000000 0 0 0 -413 0 - - - - 0 000000 0 0 0 -414 0 - - - - 0 000000 0 0 0 -415 0 - - - - 0 000000 0 0 0 -416 0 - - - - 0 000000 0 0 0 -417 0 - - - - 0 000000 0 0 0 -418 0 - - - - 0 000000 0 0 0 -419 0 - - - - 0 000000 0 0 0 -420 0 - - - - 0 000000 0 0 0 -421 0 - - - - 0 000000 0 0 0 -422 0 - - - - 0 000000 0 0 0 -423 0 - - - - 0 000000 0 0 0 -424 0 - - - - 0 000000 0 0 0 -425 0 - - - - 0 000000 0 0 0 -426 0 - - - - 0 000000 0 0 0 -427 0 - - - - 0 000000 0 0 0 -428 0 - - - - 0 000000 0 0 0 -429 0 - - - - 0 000000 0 0 0 -430 0 - - - - 0 000000 0 0 0 -431 0 - - - - 0 000000 0 0 0 -432 0 - - - - 0 000000 0 0 0 -433 0 - - - - 0 000000 0 0 0 -434 0 - - - - 0 000000 0 0 0 -435 0 - - - - 0 000000 0 0 0 -436 0 - - - - 0 000000 0 0 0 -437 0 - - - - 0 000000 0 0 0 -438 0 - - - - 0 000000 0 0 0 -439 0 - - - - 0 000000 0 0 0 -440 0 - - - - 0 000000 0 0 0 -441 0 - - - - 0 000000 0 0 0 -442 0 - - - - 0 000000 0 0 0 -443 0 - - - - 0 000000 0 0 0 -444 0 - - - - 0 000000 0 0 0 -445 0 - - - - 0 000000 0 0 0 -446 0 - - - - 0 000000 0 0 0 -447 0 - - - - 0 000000 0 0 0 -448 0 - - - - 0 000000 0 0 0 -449 0 - - - - 0 000000 0 0 0 -450 0 - - - - 0 000000 0 0 0 -451 0 - - - - 0 000000 0 0 0 -452 0 - - - - 0 000000 0 0 0 -453 0 - - - - 0 000000 0 0 0 -454 0 - - - - 0 000000 0 0 0 -455 0 - - - - 0 000000 0 0 0 -456 0 - - - - 0 000000 0 0 0 -457 0 - - - - 0 000000 0 0 0 -458 0 - - - - 0 000000 0 0 0 -459 0 - - - - 0 000000 0 0 0 -460 0 - - - - 0 000000 0 0 0 -461 0 - - - - 0 000000 0 0 0 -462 0 - - - - 0 000000 0 0 0 -463 0 - - - - 0 000000 0 0 0 -464 0 - - - - 0 000000 0 0 0 -465 0 - - - - 0 000000 0 0 0 -466 0 - - - - 0 000000 0 0 0 -467 0 - - - - 0 000000 0 0 0 -468 0 - - - - 0 000000 0 0 0 -469 0 - - - - 0 000000 0 0 0 -470 0 - - - - 0 000000 0 0 0 -471 0 - - - - 0 000000 0 0 0 -472 0 - - - - 0 000000 0 0 0 -473 0 - - - - 0 000000 0 0 0 -474 0 - - - - 0 000000 0 0 0 -475 0 - - - - 0 000000 0 0 0 -476 0 - - - - 0 000000 0 0 0 -477 0 - - - - 0 000000 0 0 0 -478 0 - - - - 0 000000 0 0 0 -479 0 - - - - 0 000000 0 0 0 -480 0 - - - - 0 000000 0 0 0 -481 0 - - - - 0 000000 0 0 0 -482 0 - - - - 0 000000 0 0 0 -483 0 - - - - 0 000000 0 0 0 -484 0 - - - - 0 000000 0 0 0 -485 0 - - - - 0 000000 0 0 0 -486 0 - - - - 0 000000 0 0 0 -487 0 - - - - 0 000000 0 0 0 -488 0 - - - - 0 000000 0 0 0 -489 0 - - - - 0 000000 0 0 0 -490 0 - - - - 0 000000 0 0 0 -491 0 - - - - 0 000000 0 0 0 -492 0 - - - - 0 000000 0 0 0 -493 0 - - - - 0 000000 0 0 0 -494 0 - - - - 0 000000 0 0 0 -495 0 - - - - 0 000000 0 0 0 -496 0 - - - - 0 000000 0 0 0 -497 0 - - - - 0 000000 0 0 0 -498 0 - - - - 0 000000 0 0 0 -499 0 - - - - 0 000000 0 0 0 -500 0 - - - - 0 000000 0 0 0 -501 0 - - - - 0 000000 0 0 0 -502 0 - - - - 0 000000 0 0 0 -503 0 - - - - 0 000000 0 0 0 -504 0 - - - - 0 000000 0 0 0 -505 0 - - - - 0 000000 0 0 0 -506 0 - - - - 0 000000 0 0 0 -507 0 - - - - 0 000000 0 0 0 -508 0 - - - - 0 000000 0 0 0 -509 0 - - - - 0 000000 0 0 0 -510 0 - - - - 0 000000 0 0 0 -511 0 - - - - 0 000000 0 0 0 -512 0 - - - - 0 000000 0 0 0 -513 0 - - - - 0 000000 0 0 0 -514 0 - - - - 0 000000 0 0 0 -515 0 - - - - 0 000000 0 0 0 -516 0 - - - - 0 000000 0 0 0 -517 0 - - - - 0 000000 0 0 0 -518 0 - - - - 0 000000 0 0 0 -519 0 - - - - 0 000000 0 0 0 -520 0 - - - - 0 000000 0 0 0 -521 0 - - - - 0 000000 0 0 0 -522 0 - - - - 0 000000 0 0 0 -523 0 - - - - 0 000000 0 0 0 -524 0 - - - - 0 000000 0 0 0 -525 0 - - - - 0 000000 0 0 0 -526 0 - - - - 0 000000 0 0 0 -527 0 - - - - 0 000000 0 0 0 -528 0 - - - - 0 000000 0 0 0 -529 0 - - - - 0 000000 0 0 0 -530 0 - - - - 0 000000 0 0 0 -531 0 - - - - 0 000000 0 0 0 -532 0 - - - - 0 000000 0 0 0 -533 0 - - - - 0 000000 0 0 0 -534 0 - - - - 0 000000 0 0 0 -535 0 - - - - 0 000000 0 0 0 -536 0 - - - - 0 000000 0 0 0 -537 0 - - - - 0 000000 0 0 0 -538 0 - - - - 0 000000 0 0 0 -539 0 - - - - 0 000000 0 0 0 -540 0 - - - - 0 000000 0 0 0 -541 0 - - - - 0 000000 0 0 0 -542 0 - - - - 0 000000 0 0 0 -543 0 - - - - 0 000000 0 0 0 -544 0 - - - - 0 000000 0 0 0 -545 0 - - - - 0 000000 0 0 0 -546 0 - - - - 0 000000 0 0 0 -547 0 - - - - 0 000000 0 0 0 -548 0 - - - - 0 000000 0 0 0 -549 0 - - - - 0 000000 0 0 0 -550 0 - - - - 0 000000 0 0 0 -551 0 - - - - 0 000000 0 0 0 -552 0 - - - - 0 000000 0 0 0 -553 0 - - - - 0 000000 0 0 0 -554 0 - - - - 0 000000 0 0 0 -555 0 - - - - 0 000000 0 0 0 -556 0 - - - - 0 000000 0 0 0 -557 0 - - - - 0 000000 0 0 0 -558 0 - - - - 0 000000 0 0 0 -559 0 - - - - 0 000000 0 0 0 -560 0 - - - - 0 000000 0 0 0 -561 0 - - - - 0 000000 0 0 0 -562 0 - - - - 0 000000 0 0 0 -563 0 - - - - 0 000000 0 0 0 -564 0 - - - - 0 000000 0 0 0 -565 0 - - - - 0 000000 0 0 0 -566 0 - - - - 0 000000 0 0 0 -567 0 - - - - 0 000000 0 0 0 -568 0 - - - - 0 000000 0 0 0 -569 0 - - - - 0 000000 0 0 0 -570 0 - - - - 0 000000 0 0 0 -571 0 - - - - 0 000000 0 0 0 -572 0 - - - - 0 000000 0 0 0 -573 0 - - - - 0 000000 0 0 0 -574 0 - - - - 0 000000 0 0 0 -575 0 - - - - 0 000000 0 0 0 -576 0 - - - - 0 000000 0 0 0 -577 0 - - - - 0 000000 0 0 0 -578 0 - - - - 0 000000 0 0 0 -579 0 - - - - 0 000000 0 0 0 -580 0 - - - - 0 000000 0 0 0 -581 0 - - - - 0 000000 0 0 0 -582 0 - - - - 0 000000 0 0 0 -583 0 - - - - 0 000000 0 0 0 -584 0 - - - - 0 000000 0 0 0 -585 0 - - - - 0 000000 0 0 0 -586 0 - - - - 0 000000 0 0 0 -587 0 - - - - 0 000000 0 0 0 -588 0 - - - - 0 000000 0 0 0 -589 0 - - - - 0 000000 0 0 0 -590 0 - - - - 0 000000 0 0 0 -591 0 - - - - 0 000000 0 0 0 -592 0 - - - - 0 000000 0 0 0 -593 0 - - - - 0 000000 0 0 0 -594 0 - - - - 0 000000 0 0 0 -595 0 - - - - 0 000000 0 0 0 -596 0 - - - - 0 000000 0 0 0 -597 0 - - - - 0 000000 0 0 0 -598 0 - - - - 0 000000 0 0 0 -599 0 - - - - 0 000000 0 0 0 -600 0 - - - - 0 000000 0 0 0 -601 0 - - - - 0 000000 0 0 0 -602 0 - - - - 0 000000 0 0 0 -603 0 - - - - 0 000000 0 0 0 -604 0 - - - - 0 000000 0 0 0 -605 0 - - - - 0 000000 0 0 0 -606 0 - - - - 0 000000 0 0 0 -607 0 - - - - 0 000000 0 0 0 -608 0 - - - - 0 000000 0 0 0 -609 0 - - - - 0 000000 0 0 0 -610 0 - - - - 0 000000 0 0 0 -611 0 - - - - 0 000000 0 0 0 -612 0 - - - - 0 000000 0 0 0 -613 0 - - - - 0 000000 0 0 0 -614 0 - - - - 0 000000 0 0 0 -615 0 - - - - 0 000000 0 0 0 -616 0 - - - - 0 000000 0 0 0 -617 0 - - - - 0 000000 0 0 0 -618 0 - - - - 0 000000 0 0 0 -619 0 - - - - 0 000000 0 0 0 -620 0 - - - - 0 000000 0 0 0 -621 0 - - - - 0 000000 0 0 0 -622 0 - - - - 0 000000 0 0 0 -623 0 - - - - 0 000000 0 0 0 -624 0 - - - - 0 000000 0 0 0 -625 0 - - - - 0 000000 0 0 0 -626 0 - - - - 0 000000 0 0 0 -627 0 - - - - 0 000000 0 0 0 -628 0 - - - - 0 000000 0 0 0 -629 0 - - - - 0 000000 0 0 0 -630 0 - - - - 0 000000 0 0 0 -631 0 - - - - 0 000000 0 0 0 -632 0 - - - - 0 000000 0 0 0 -633 0 - - - - 0 000000 0 0 0 -634 0 - - - - 0 000000 0 0 0 -635 0 - - - - 0 000000 0 0 0 -636 0 - - - - 0 000000 0 0 0 -637 0 - - - - 0 000000 0 0 0 -638 0 - - - - 0 000000 0 0 0 -639 0 - - - - 0 000000 0 0 0 -640 0 - - - - 0 000000 0 0 0 -641 0 - - - - 0 000000 0 0 0 -642 0 - - - - 0 000000 0 0 0 -643 0 - - - - 0 000000 0 0 0 -644 0 - - - - 0 000000 0 0 0 -645 0 - - - - 0 000000 0 0 0 -646 0 - - - - 0 000000 0 0 0 -647 0 - - - - 0 000000 0 0 0 -648 0 - - - - 0 000000 0 0 0 -649 0 - - - - 0 000000 0 0 0 -650 0 - - - - 0 000000 0 0 0 -651 0 - - - - 0 000000 0 0 0 -652 0 - - - - 0 000000 0 0 0 -653 0 - - - - 0 000000 0 0 0 -654 0 - - - - 0 000000 0 0 0 -655 0 - - - - 0 000000 0 0 0 -656 0 - - - - 0 000000 0 0 0 -657 0 - - - - 0 000000 0 0 0 -658 0 - - - - 0 000000 0 0 0 -659 0 - - - - 0 000000 0 0 0 -660 0 - - - - 0 000000 0 0 0 -661 0 - - - - 0 000000 0 0 0 -662 0 - - - - 0 000000 0 0 0 -663 0 - - - - 0 000000 0 0 0 -664 0 - - - - 0 000000 0 0 0 -665 0 - - - - 0 000000 0 0 0 -666 0 - - - - 0 000000 0 0 0 -667 0 - - - - 0 000000 0 0 0 -668 0 - - - - 0 000000 0 0 0 -669 0 - - - - 0 000000 0 0 0 -670 0 - - - - 0 000000 0 0 0 -671 0 - - - - 0 000000 0 0 0 -672 0 - - - - 0 000000 0 0 0 -673 0 - - - - 0 000000 0 0 0 -674 0 - - - - 0 000000 0 0 0 -675 0 - - - - 0 000000 0 0 0 -676 0 - - - - 0 000000 0 0 0 -677 0 - - - - 0 000000 0 0 0 -678 0 - - - - 0 000000 0 0 0 -679 0 - - - - 0 000000 0 0 0 -680 0 - - - - 0 000000 0 0 0 -681 0 - - - - 0 000000 0 0 0 -682 0 - - - - 0 000000 0 0 0 -683 0 - - - - 0 000000 0 0 0 -684 0 - - - - 0 000000 0 0 0 -685 0 - - - - 0 000000 0 0 0 -686 0 - - - - 0 000000 0 0 0 -687 0 - - - - 0 000000 0 0 0 -688 0 - - - - 0 000000 0 0 0 -689 0 - - - - 0 000000 0 0 0 -690 0 - - - - 0 000000 0 0 0 -691 0 - - - - 0 000000 0 0 0 -692 0 - - - - 0 000000 0 0 0 -693 0 - - - - 0 000000 0 0 0 -694 0 - - - - 0 000000 0 0 0 -695 0 - - - - 0 000000 0 0 0 -696 0 - - - - 0 000000 0 0 0 -697 0 - - - - 0 000000 0 0 0 -698 0 - - - - 0 000000 0 0 0 -699 0 - - - - 0 000000 0 0 0 -700 0 - - - - 0 000000 0 0 0 -701 0 - - - - 0 000000 0 0 0 -702 0 - - - - 0 000000 0 0 0 -703 0 - - - - 0 000000 0 0 0 -704 0 - - - - 0 000000 0 0 0 -705 0 - - - - 0 000000 0 0 0 -706 0 - - - - 0 000000 0 0 0 -707 0 - - - - 0 000000 0 0 0 -708 0 - - - - 0 000000 0 0 0 -709 0 - - - - 0 000000 0 0 0 -710 0 - - - - 0 000000 0 0 0 -711 0 - - - - 0 000000 0 0 0 -712 0 - - - - 0 000000 0 0 0 -713 0 - - - - 0 000000 0 0 0 -714 0 - - - - 0 000000 0 0 0 -715 0 - - - - 0 000000 0 0 0 -716 0 - - - - 0 000000 0 0 0 -717 0 - - - - 0 000000 0 0 0 -718 0 - - - - 0 000000 0 0 0 -719 0 - - - - 0 000000 0 0 0 -720 0 - - - - 0 000000 0 0 0 -721 0 - - - - 0 000000 0 0 0 -722 0 - - - - 0 000000 0 0 0 -723 0 - - - - 0 000000 0 0 0 -724 0 - - - - 0 000000 0 0 0 -725 0 - - - - 0 000000 0 0 0 -726 0 - - - - 0 000000 0 0 0 -727 0 - - - - 0 000000 0 0 0 -728 0 - - - - 0 000000 0 0 0 -729 0 - - - - 0 000000 0 0 0 -730 0 - - - - 0 000000 0 0 0 -731 0 - - - - 0 000000 0 0 0 -732 0 - - - - 0 000000 0 0 0 -733 0 - - - - 0 000000 0 0 0 -734 0 - - - - 0 000000 0 0 0 -735 0 - - - - 0 000000 0 0 0 -736 0 - - - - 0 000000 0 0 0 -737 0 - - - - 0 000000 0 0 0 -738 0 - - - - 0 000000 0 0 0 -739 0 - - - - 0 000000 0 0 0 -740 0 - - - - 0 000000 0 0 0 -741 0 - - - - 0 000000 0 0 0 -742 0 - - - - 0 000000 0 0 0 -743 0 - - - - 0 000000 0 0 0 -744 0 - - - - 0 000000 0 0 0 -745 0 - - - - 0 000000 0 0 0 -746 0 - - - - 0 000000 0 0 0 -747 0 - - - - 0 000000 0 0 0 -748 0 - - - - 0 000000 0 0 0 -749 0 - - - - 0 000000 0 0 0 -750 0 - - - - 0 000000 0 0 0 -751 0 - - - - 0 000000 0 0 0 -752 0 - - - - 0 000000 0 0 0 -753 0 - - - - 0 000000 0 0 0 -754 0 - - - - 0 000000 0 0 0 -755 0 - - - - 0 000000 0 0 0 -756 0 - - - - 0 000000 0 0 0 -757 0 - - - - 0 000000 0 0 0 -758 0 - - - - 0 000000 0 0 0 -759 0 - - - - 0 000000 0 0 0 -760 0 - - - - 0 000000 0 0 0 -761 0 - - - - 0 000000 0 0 0 -762 0 - - - - 0 000000 0 0 0 -763 0 - - - - 0 000000 0 0 0 -764 0 - - - - 0 000000 0 0 0 -765 0 - - - - 0 000000 0 0 0 -766 0 - - - - 0 000000 0 0 0 -767 0 - - - - 0 000000 0 0 0 -768 0 - - - - 0 000000 0 0 0 -769 0 - - - - 0 000000 0 0 0 -770 0 - - - - 0 000000 0 0 0 -771 0 - - - - 0 000000 0 0 0 -772 0 - - - - 0 000000 0 0 0 -773 0 - - - - 0 000000 0 0 0 -774 0 - - - - 0 000000 0 0 0 -775 0 - - - - 0 000000 0 0 0 -776 0 - - - - 0 000000 0 0 0 -777 0 - - - - 0 000000 0 0 0 -778 0 - - - - 0 000000 0 0 0 -779 0 - - - - 0 000000 0 0 0 -780 0 - - - - 0 000000 0 0 0 -781 0 - - - - 0 000000 0 0 0 -782 0 - - - - 0 000000 0 0 0 -783 0 - - - - 0 000000 0 0 0 -784 0 - - - - 0 000000 0 0 0 -785 0 - - - - 0 000000 0 0 0 -786 0 - - - - 0 000000 0 0 0 -787 0 - - - - 0 000000 0 0 0 -788 0 - - - - 0 000000 0 0 0 -789 0 - - - - 0 000000 0 0 0 -790 0 - - - - 0 000000 0 0 0 -791 0 - - - - 0 000000 0 0 0 -792 0 - - - - 0 000000 0 0 0 -793 0 - - - - 0 000000 0 0 0 -794 0 - - - - 0 000000 0 0 0 -795 0 - - - - 0 000000 0 0 0 -796 0 - - - - 0 000000 0 0 0 -797 0 - - - - 0 000000 0 0 0 -798 0 - - - - 0 000000 0 0 0 -799 0 - - - - 0 000000 0 0 0 -800 0 - - - - 0 000000 0 0 0 -801 0 - - - - 0 000000 0 0 0 -802 0 - - - - 0 000000 0 0 0 -803 0 - - - - 0 000000 0 0 0 -804 0 - - - - 0 000000 0 0 0 -805 0 - - - - 0 000000 0 0 0 -806 0 - - - - 0 000000 0 0 0 -807 0 - - - - 0 000000 0 0 0 -808 0 - - - - 0 000000 0 0 0 -809 0 - - - - 0 000000 0 0 0 -810 0 - - - - 0 000000 0 0 0 -811 0 - - - - 0 000000 0 0 0 -812 0 - - - - 0 000000 0 0 0 -813 0 - - - - 0 000000 0 0 0 -814 0 - - - - 0 000000 0 0 0 -815 0 - - - - 0 000000 0 0 0 -816 0 - - - - 0 000000 0 0 0 -817 0 - - - - 0 000000 0 0 0 -818 0 - - - - 0 000000 0 0 0 -819 0 - - - - 0 000000 0 0 0 -820 0 - - - - 0 000000 0 0 0 -821 0 - - - - 0 000000 0 0 0 -822 0 - - - - 0 000000 0 0 0 -823 0 - - - - 0 000000 0 0 0 -824 0 - - - - 0 000000 0 0 0 -825 0 - - - - 0 000000 0 0 0 -826 0 - - - - 0 000000 0 0 0 -827 0 - - - - 0 000000 0 0 0 -828 0 - - - - 0 000000 0 0 0 -829 0 - - - - 0 000000 0 0 0 -830 0 - - - - 0 000000 0 0 0 -831 0 - - - - 0 000000 0 0 0 -832 0 - - - - 0 000000 0 0 0 -833 0 - - - - 0 000000 0 0 0 -834 0 - - - - 0 000000 0 0 0 -835 0 - - - - 0 000000 0 0 0 -836 0 - - - - 0 000000 0 0 0 -837 0 - - - - 0 000000 0 0 0 -838 0 - - - - 0 000000 0 0 0 -839 0 - - - - 0 000000 0 0 0 -840 0 - - - - 0 000000 0 0 0 -841 0 - - - - 0 000000 0 0 0 -842 0 - - - - 0 000000 0 0 0 -843 0 - - - - 0 000000 0 0 0 -844 0 - - - - 0 000000 0 0 0 -845 0 - - - - 0 000000 0 0 0 -846 0 - - - - 0 000000 0 0 0 -847 0 - - - - 0 000000 0 0 0 -848 0 - - - - 0 000000 0 0 0 -849 0 - - - - 0 000000 0 0 0 -850 0 - - - - 0 000000 0 0 0 -851 0 - - - - 0 000000 0 0 0 -852 0 - - - - 0 000000 0 0 0 -853 0 - - - - 0 000000 0 0 0 -854 0 - - - - 0 000000 0 0 0 -855 0 - - - - 0 000000 0 0 0 -856 0 - - - - 0 000000 0 0 0 -857 0 - - - - 0 000000 0 0 0 -858 0 - - - - 0 000000 0 0 0 -859 0 - - - - 0 000000 0 0 0 -860 0 - - - - 0 000000 0 0 0 -861 0 - - - - 0 000000 0 0 0 -862 0 - - - - 0 000000 0 0 0 -863 0 - - - - 0 000000 0 0 0 -864 0 - - - - 0 000000 0 0 0 -865 0 - - - - 0 000000 0 0 0 -866 0 - - - - 0 000000 0 0 0 -867 0 - - - - 0 000000 0 0 0 -868 0 - - - - 0 000000 0 0 0 -869 0 - - - - 0 000000 0 0 0 -870 0 - - - - 0 000000 0 0 0 -871 0 - - - - 0 000000 0 0 0 -872 0 - - - - 0 000000 0 0 0 -873 0 - - - - 0 000000 0 0 0 -874 0 - - - - 0 000000 0 0 0 -875 0 - - - - 0 000000 0 0 0 -876 0 - - - - 0 000000 0 0 0 -877 0 - - - - 0 000000 0 0 0 -878 0 - - - - 0 000000 0 0 0 -879 0 - - - - 0 000000 0 0 0 -880 0 - - - - 0 000000 0 0 0 -881 0 - - - - 0 000000 0 0 0 -882 0 - - - - 0 000000 0 0 0 -883 0 - - - - 0 000000 0 0 0 -884 0 - - - - 0 000000 0 0 0 -885 0 - - - - 0 000000 0 0 0 -886 0 - - - - 0 000000 0 0 0 -887 0 - - - - 0 000000 0 0 0 -888 0 - - - - 0 000000 0 0 0 -889 0 - - - - 0 000000 0 0 0 -890 0 - - - - 0 000000 0 0 0 -891 0 - - - - 0 000000 0 0 0 -892 0 - - - - 0 000000 0 0 0 -893 0 - - - - 0 000000 0 0 0 -894 0 - - - - 0 000000 0 0 0 -895 0 - - - - 0 000000 0 0 0 -896 0 - - - - 0 000000 0 0 0 -897 0 - - - - 0 000000 0 0 0 -898 0 - - - - 0 000000 0 0 0 -899 0 - - - - 0 000000 0 0 0 -900 0 - - - - 0 000000 0 0 0 -901 0 - - - - 0 000000 0 0 0 -902 0 - - - - 0 000000 0 0 0 -903 0 - - - - 0 000000 0 0 0 -904 0 - - - - 0 000000 0 0 0 -905 0 - - - - 0 000000 0 0 0 -906 0 - - - - 0 000000 0 0 0 -907 0 - - - - 0 000000 0 0 0 -908 0 - - - - 0 000000 0 0 0 -909 0 - - - - 0 000000 0 0 0 -910 0 - - - - 0 000000 0 0 0 -911 0 - - - - 0 000000 0 0 0 -912 0 - - - - 0 000000 0 0 0 -913 0 - - - - 0 000000 0 0 0 -914 0 - - - - 0 000000 0 0 0 -915 0 - - - - 0 000000 0 0 0 -916 0 - - - - 0 000000 0 0 0 -917 0 - - - - 0 000000 0 0 0 -918 0 - - - - 0 000000 0 0 0 -919 0 - - - - 0 000000 0 0 0 -920 0 - - - - 0 000000 0 0 0 -921 0 - - - - 0 000000 0 0 0 -922 0 - - - - 0 000000 0 0 0 -923 0 - - - - 0 000000 0 0 0 -924 0 - - - - 0 000000 0 0 0 -925 0 - - - - 0 000000 0 0 0 -926 0 - - - - 0 000000 0 0 0 -927 0 - - - - 0 000000 0 0 0 -928 0 - - - - 0 000000 0 0 0 -929 0 - - - - 0 000000 0 0 0 -930 0 - - - - 0 000000 0 0 0 -931 0 - - - - 0 000000 0 0 0 -932 0 - - - - 0 000000 0 0 0 -933 0 - - - - 0 000000 0 0 0 -934 0 - - - - 0 000000 0 0 0 -935 0 - - - - 0 000000 0 0 0 -936 0 - - - - 0 000000 0 0 0 -937 0 - - - - 0 000000 0 0 0 -938 0 - - - - 0 000000 0 0 0 -939 0 - - - - 0 000000 0 0 0 -940 0 - - - - 0 000000 0 0 0 -941 0 - - - - 0 000000 0 0 0 -942 0 - - - - 0 000000 0 0 0 -943 0 - - - - 0 000000 0 0 0 -944 0 - - - - 0 000000 0 0 0 -945 0 - - - - 0 000000 0 0 0 -946 0 - - - - 0 000000 0 0 0 -947 0 - - - - 0 000000 0 0 0 -948 0 - - - - 0 000000 0 0 0 -949 0 - - - - 0 000000 0 0 0 -950 0 - - - - 0 000000 0 0 0 -951 0 - - - - 0 000000 0 0 0 -952 0 - - - - 0 000000 0 0 0 -953 0 - - - - 0 000000 0 0 0 -954 0 - - - - 0 000000 0 0 0 -955 0 - - - - 0 000000 0 0 0 -956 0 - - - - 0 000000 0 0 0 -957 0 - - - - 0 000000 0 0 0 -958 0 - - - - 0 000000 0 0 0 -959 0 - - - - 0 000000 0 0 0 -960 0 - - - - 0 000000 0 0 0 -961 0 - - - - 0 000000 0 0 0 -962 0 - - - - 0 000000 0 0 0 -963 0 - - - - 0 000000 0 0 0 -964 0 - - - - 0 000000 0 0 0 -965 0 - - - - 0 000000 0 0 0 -966 0 - - - - 0 000000 0 0 0 -967 0 - - - - 0 000000 0 0 0 -968 0 - - - - 0 000000 0 0 0 -969 0 - - - - 0 000000 0 0 0 -970 0 - - - - 0 000000 0 0 0 -971 0 - - - - 0 000000 0 0 0 -972 0 - - - - 0 000000 0 0 0 -973 0 - - - - 0 000000 0 0 0 -974 0 - - - - 0 000000 0 0 0 -975 0 - - - - 0 000000 0 0 0 -976 0 - - - - 0 000000 0 0 0 -977 0 - - - - 0 000000 0 0 0 -978 0 - - - - 0 000000 0 0 0 -979 0 - - - - 0 000000 0 0 0 -980 0 - - - - 0 000000 0 0 0 -981 0 - - - - 0 000000 0 0 0 -982 0 - - - - 0 000000 0 0 0 -983 0 - - - - 0 000000 0 0 0 -984 0 - - - - 0 000000 0 0 0 -985 0 - - - - 0 000000 0 0 0 -986 0 - - - - 0 000000 0 0 0 -987 0 - - - - 0 000000 0 0 0 -988 0 - - - - 0 000000 0 0 0 -989 0 - - - - 0 000000 0 0 0 -990 0 - - - - 0 000000 0 0 0 -991 0 - - - - 0 000000 0 0 0 -992 0 - - - - 0 000000 0 0 0 -993 0 - - - - 0 000000 0 0 0 -994 0 - - - - 0 000000 0 0 0 -995 0 - - - - 0 000000 0 0 0 -996 0 - - - - 0 000000 0 0 0 -997 0 - - - - 0 000000 0 0 0 -998 0 - - - - 0 000000 0 0 0 -999 0 - - - - 0 000000 0 0 0 -1000 0 - - - - 0 000000 0 0 0 -1001 0 - - - - 0 000000 0 0 0 -1002 0 - - - - 0 000000 0 0 0 -1003 0 - - - - 0 000000 0 0 0 -1004 0 - - - - 0 000000 0 0 0 -1005 0 - - - - 0 000000 0 0 0 -1006 0 - - - - 0 000000 0 0 0 -1007 0 - - - - 0 000000 0 0 0 -1008 0 - - - - 0 000000 0 0 0 -1009 0 - - - - 0 000000 0 0 0 -1010 0 - - - - 0 000000 0 0 0 -1011 0 - - - - 0 000000 0 0 0 -1012 0 - - - - 0 000000 0 0 0 -1013 0 - - - - 0 000000 0 0 0 -1014 0 - - - - 0 000000 0 0 0 -1015 0 - - - - 0 000000 0 0 0 -1016 0 - - - - 0 000000 0 0 0 -1017 0 - - - - 0 000000 0 0 0 -1018 0 - - - - 0 000000 0 0 0 -1019 0 - - - - 0 000000 0 0 0 -1020 0 - - - - 0 000000 0 0 0 -1021 0 - - - - 0 000000 0 0 0 -1022 0 - - - - 0 000000 0 0 0 -1023 0 - - - - 0 000000 0 0 0 - -[RL_SSN] -#NetID DPC SSN - -[GTT_ATTRIBUTE] -Idx - 0 0000000000000000000000000000000000000000000000000000000000000000 -1 0000000000000000000000000000000000000000000000000000000000000000 -3 0000000000000000000000000000000000000000000000000000000000000000 -4 0000000000000000000000000000000000000000000000000000000000000000 diff --git a/omc/bin/conf/smeg.conf b/omc/bin/conf/smeg.conf deleted file mode 100644 index b8b9086..0000000 Binary files a/omc/bin/conf/smeg.conf and /dev/null differ diff --git a/omc/bin/conf/smpp.conf b/omc/bin/conf/smpp.conf deleted file mode 100644 index 342d30d..0000000 --- a/omc/bin/conf/smpp.conf +++ /dev/null @@ -1,35 +0,0 @@ -#SMPP Config file (V1.0.01) -#Copy this file to ./conf/smpp.conf to set global options -#No lkEn lkType serverType sessionType sysID pwd sysType LGTT RGTT LIP RIP sessionTimer enqTimer inactTimer rspTimer ServiceNum localSSN remoteSSN -0 129 1 0 0 Test 123456 esme -- -- 192.168.4.75 10.10.1.179 5 10 5 5 98765 0 0 -1 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -2 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -3 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -4 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -5 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -6 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -7 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -8 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -9 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -10 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -11 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -12 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -13 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -14 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -15 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -16 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -17 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -18 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -19 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -20 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -21 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -22 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -23 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -24 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -25 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -26 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -27 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -28 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -29 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -30 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 -31 0 0 0 0 Test 123456 GSM -- -- 0.0.0.0 0.0.0.0 5 10 5 5 -- 0 0 diff --git a/omc/bin/conf/snmp.conf b/omc/bin/conf/snmp.conf deleted file mode 100644 index abeab14..0000000 --- a/omc/bin/conf/snmp.conf +++ /dev/null @@ -1,36 +0,0 @@ -[version-1] -[manager] -engineID=00000063000000A19BE2CAC5 - -[engine-2] -engineType=0 -securityLevel=3 -userName=Sw1tch3msUser! -authPassword=Sw1tch3msPass -privacyPassword=Sw1tch3msPriv -engineID=00000063000000A19BE2CAC5 -contextName=Sw1tch3msUser! -contextEngineID=00000063000000A19BE2CAC5 - -[engine-3] -engineType=2 -securityLevel=3 -userName=Wxc2LocalUser! -authPassword=Sw1tch3msPass -privacyPassword=Sw1tch3msPriv -engineID=00000063000000A19BE2CAC5 -contextName=Sw1tch3msUser! -contextEngineID=00000063000000A19BE2CAC5 - -[engine-4] -engineType=1 -securityLevel=3 -userName=McmsRaid123! -authPassword=Sw1tch3msPass -privacyPassword=Sw1tch3msPriv -engineID=00000063000000A19BE2CAC5 -contextName=McmsRaid123! -contextEngineID=00000063000000A19BE2CAC5 -remoteIp=172.18.128.1 -remotePort=161 - diff --git a/omc/bin/conf/welcomeSMS.conf b/omc/bin/conf/welcomeSMS.conf deleted file mode 100644 index 9b1f313..0000000 --- a/omc/bin/conf/welcomeSMS.conf +++ /dev/null @@ -1,11 +0,0 @@ -#WelcomeSMS conf file - -#1-enable 0-disable -flag=1 - -#The day time to keep roamer record -keep_day_time=7 - -#The service number of the smpp link -service_number=98765 - diff --git a/omc/bin/cstaCollector b/omc/bin/cstaCollector deleted file mode 100644 index 07a8afd..0000000 Binary files a/omc/bin/cstaCollector and /dev/null differ diff --git a/omc/bin/dual/cdr_data_proc.sh b/omc/bin/dual/cdr_data_proc.sh deleted file mode 100644 index 0a6cd5d..0000000 --- a/omc/bin/dual/cdr_data_proc.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -omcbinpath="/usr/local/omc/bin" -mysqlbin="/usr/bin/mysql" -mysqluser="administrator" -mysqlpwd="*86#ROtartsinim" -progname=$0 - -function debug_log() -{ - watcherLogFile=/usr/local/omc/log/cdr_data_proc`date +%Y%m%d`.log - timestr=`date +%H:%M:%S` - #echo $timestr - echo "$timestr $1" >> $watcherLogFile -} - -function error_log() -{ - watcherLogFile=/usr/local/omc/log/cdr_data_proc_error`date +%Y%m%d`.log - timestr=`date +%H:%M:%S` - #echo $timestr - echo "$1" >> $watcherLogFile -} - -lockfile="/tmp/`basename $progname|awk -F. '{print $1}'`.lock" -if test -f $lockfile ; then - exit -fi -touch $lockfile - -setting=`grep $progname $omcbinpath/dual/sync_source.conf` -iodir=`echo $setting |awk -F, '{print $5}'` -procdir=`echo $setting |awk -F, '{print $6}'` - - -cd $procdir -procfiles=`ls *.finish` -for file in $procfiles; do - datafile="`echo $file|awk -F. '{print $1}'`.dat" - if test -f $procdir/$datafile ; then - rm -rf error.txt - cat $procdir/$datafile | $mysqlbin -u$mysqluser -p$mysqlpwd 2>error.txt - if test -f error.txt ; then - if test `cat error.txt|wc -l` -gt 0 ; then - error_log "$datafile:`cat error.txt`" - fi - rm -rf error.txt - fi - rm -rf $procdir/$datafile $file - debug_log "Process $datafile" - fi -done - -rm -rf $lockfile diff --git a/omc/bin/dual/cdr_io_proc.sh b/omc/bin/dual/cdr_io_proc.sh deleted file mode 100644 index f90bc60..0000000 --- a/omc/bin/dual/cdr_io_proc.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/bash - -omcbinpath="/usr/local/omc/bin" -progname=$0 - -function debug_log() -{ - watcherLogFile=/usr/local/omc/log/cdr_io_proc`date +%Y%m%d`.log - timestr=`date +%H:%M:%S` - #echo $timestr - echo "$timestr $1" >> $watcherLogFile -} - -lockfile="/tmp/`basename $progname|awk -F. '{print $1}'`.lock" -if test -f $lockfile ; then - exit -fi -touch $lockfile - - -setting=`grep $progname $omcbinpath/dual/sync_source.conf` -iodir=`echo $setting |awk -F, '{print $5}'` -procdir=`echo $setting |awk -F, '{print $6}'` - -localhostnameprefix=`hostname|awk -F'-' '{print $1}'` -localhostnameid=`hostname|awk -F'-' '{print $2}'|awk -F. '{print $1}'` - -if test $localhostnameid -eq 0 ; then - otherhostnameid=1 -else - otherhostnameid=0 -fi - -otherserverip=`grep ''$localhostnameprefix'\-'$otherhostnameid'' /etc/hosts |awk '{print $1}'` - -#echo iodir=$iodir -#echo procdir=$procdir -#echo localhostnameprefix=$localhostnameprefix -#echo localhostnameid=$localhostnameid -#echo otherhostnameid=$otherhostnameid -#echo otherserverip=$otherserverip - -cd $iodir - -low=`od -x file.index|awk '{print $2}'` -high=`od -x file.index|awk '{print $3}'` -((declow=16#$low)) -((dechigh=16#$high)) - -#writing_index=`expr $dechigh \* 65536 + $declow` -#writing_file=`printf "%06d.dat" $writing_index` -#echo writing_index=$writing_index -#echo writing_file=$writing_file - -sendfiles=`ls *.dat` -debug_log "Prepare to send files to $otherserverip" -for file in $sendfiles; do - processflag=0 - endfile="`echo $file|awk -F. '{print $1}'`.end" - if test -f $endfile ; then - processflag=1 - else - if test `find . -mmin +3 -name $file|wc -l` -eq 1 ; then - processflag=1 - fi - fi - - if test $processflag -eq 1 ; then - resultfile="`echo $file|awk -F. '{print $1}'`.ret" - sessionfile="`echo $file|awk -F. '{print $1}'`.finish" - touch $sessionfile - expect $omcbinpath/dual/sendfile $otherserverip www 123456 $iodir $file $procdir $iodir/$resultfile $sessionfile - if test -f $resultfile ; then - ret=`grep -c '^1' $resultfile` - else - ret=0 - fi - if test $ret -eq 1 ; then - debug_log "Send $file successfully" - rm -rf $file $resultfile $sessionfile $endfile - else - rm -rf $resultfile $sessionfile $endfile - debug_log "Send $file unsuccessfully" - fi - fi -done - -endfiles=`find . -mmin +5 -name '*.end'` -for file in $endfiles; do - datafile=`echo $file|awk -F'.end' '{print $1}'`".dat" - if test ! -f $datafile ; then - rm -rf $file - debug_log "Delete $file for nouse" - fi -done - - -rm -rf $lockfile diff --git a/omc/bin/dual/cdr_io_proc/file.index b/omc/bin/dual/cdr_io_proc/file.index deleted file mode 100644 index 4b75839..0000000 Binary files a/omc/bin/dual/cdr_io_proc/file.index and /dev/null differ diff --git a/omc/bin/dual/check_proc_status.sh b/omc/bin/dual/check_proc_status.sh deleted file mode 100644 index bf094d4..0000000 --- a/omc/bin/dual/check_proc_status.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/bash -omcbinpath="/usr/local/omc/bin" - -function debug_log() -{ - watcherLogFile=/usr/local/omc/log/check_proc_status`date +%Y%m%d`.log - timestr=`date +%H:%M:%S` - #echo $timestr - echo "$timestr $1" >> $watcherLogFile -} - - -process_id=0 -function get_process_id() -{ - # parameter: process_name - progname=$1 - process_id=`ps -aef|grep -v grep|grep '\./'$1 |awk '{print $2}'` -} - -process_status=0 -function get_process_status() -{ - # parameter: process_name - progname=$1 - - pid=`ps -aef|grep -v grep|grep -c '\./'$1` - if test $progname == "mysqld" ; then - pid=`ps -aef|grep -v grep|grep -c 'mysqld'` - fi - if test $progname == "httpd" ; then - pid=`ps -aef|grep -v grep|grep -c 'httpd'` - fi - - - - if test $pid -ge 1 ; then - process_status=1 - else - process_status=0 - fi -} - -function get_param() -{ - # parameter: file_name parameter_name - ret=`grep "$2=" $1|awk -F= '{print $2}'` - echo $ret -} - -function get_master_process() -{ - master_line=`grep -n '\[master_task\]' $omcbinpath/conf/server.conf |awk -F: '{print $1}'` - slave_line=`grep -n '\[slave_task\]' $omcbinpath/conf/server.conf |awk -F: '{print $1}'` - sed -n "${master_line},${slave_line}"p $omcbinpath/conf/server.conf|grep '^\s*[a-zA-Z]' |awk '{print $1}' -} - -function get_slave_process() -{ - slave_line=`grep -n '\[slave_task\]' $omcbinpath/conf/server.conf |awk -F: '{print $1}'` - sed -n "${slave_line},$"p $omcbinpath/conf/server.conf|grep '^\s*[a-zA-Z]' |awk '{print $1}' -} - -omc_state=`get_param $omcbinpath/dual/dualstate State` -master_list=`get_master_process` -slave_list=`get_slave_process` - -get_process_status "mysqld" -mysql_status=$process_status -get_process_status "httpd" -http_status=$process_status -get_process_status "omcMain" -omcMain_status=$process_status - -status_list="$mysql_status$http_status$omcMain_status" - -# master -if [ "x$omc_state" == "xMaster" -o "x$omc_state" == "xSingle" ] ;then - for prog in $master_list; do - get_process_status "$prog" - prog_status=$process_status - status_list="$status_list$prog_status" - if [ $prog_status -eq 0 ] ;then - debug_log "Run in $omc_state, start process $prog" - cd $omcbinpath - ./$prog -d - sleep 1 - fi - done -fi - -# slave -if [ "x$omc_state" == "xSlave" ] ;then - for prog in $master_list; do - get_process_status "$prog" - if [ $process_status -eq 1 ] ;then - if [ `echo $slave_list|grep -c $prog` -eq 0 ] ;then - debug_log "Run in $omc_state, stop process $prog" - get_process_id $prog - kill -9 $process_id - fi - fi - done - - for prog in $slave_list; do - get_process_status "$prog" - prog_status=$process_status - status_list="$status_list$prog_status" - if [ $prog_status -eq 0 ] ;then - debug_log "Run in $omc_state, start process $prog" - cd $omcbinpath - ./$prog -d - sleep 1 - fi - done -fi - -echo $status_list -echo $status_list > $omcbinpath/dual/procstatus diff --git a/omc/bin/dual/dualstate b/omc/bin/dual/dualstate deleted file mode 100644 index fa927ea..0000000 --- a/omc/bin/dual/dualstate +++ /dev/null @@ -1 +0,0 @@ -State=Single \ No newline at end of file diff --git a/omc/bin/dual/procstatus b/omc/bin/dual/procstatus deleted file mode 100644 index aa91fef..0000000 --- a/omc/bin/dual/procstatus +++ /dev/null @@ -1 +0,0 @@ -0011111111111111 diff --git a/omc/bin/dual/sendfile b/omc/bin/dual/sendfile deleted file mode 100644 index 31a1004..0000000 --- a/omc/bin/dual/sendfile +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/expect - -#This script interative with the remote server, and send the file to it - -#This script have 6 parameters -#remoteip: the ip of the remote server -#username: the name for logining in -#userpass: the password for logining in -#resdir: the directory to store the files -#sendfile: the file to send to the remote server -#desdir: the directory to send the files - -set remoteip [lindex $argv 0] -set username [lindex $argv 1] -set userpass [lindex $argv 2] -set resdir [lindex $argv 3] -set sendfile [lindex $argv 4] -set desdir [lindex $argv 5] -set resultfile [lindex $argv 6] -set sessionfile [lindex $argv 7] - -set timeout 6 - -spawn sftp $username@$remoteip - - -expect "*(yes/no)?" {send "yes\n"; expect "*assword: "} timeout {exit 1} "*assword: " -send "$userpass\n" -expect "*sftp>*" -send "cd $desdir\n" -send "lcd $resdir\n" -send "put $sendfile\n" -expect "*100%*" -send "put $sessionfile\n" -expect "*100%*" -exec echo 1 > $resultfile -exit - diff --git a/omc/bin/dual/sync_source.conf b/omc/bin/dual/sync_source.conf deleted file mode 100644 index 58679a4..0000000 --- a/omc/bin/dual/sync_source.conf +++ /dev/null @@ -1,7 +0,0 @@ -# Sync data source configuration -# NAME IO_PROC_SCRIPT DATA_PROC_SCRIPT SYNC_FILE_SIZE SEND_DIR RECV_DIR -CDR_SYNC,/usr/local/omc/bin/dual/cdr_io_proc.sh,/usr/local/omc/bin/dual/cdr_data_proc.sh,102400,/usr/local/omc/bin/dual/cdr_io_proc,/usr/local/omc/bin/dual/cdr_data_proc - - -# END - diff --git a/omc/bin/ftpSend b/omc/bin/ftpSend deleted file mode 100644 index fbc65a4..0000000 Binary files a/omc/bin/ftpSend and /dev/null differ diff --git a/omc/bin/iptrans b/omc/bin/iptrans deleted file mode 100644 index 017a0e3..0000000 Binary files a/omc/bin/iptrans and /dev/null differ diff --git a/omc/bin/logCollector b/omc/bin/logCollector deleted file mode 100644 index 9ad5b59..0000000 Binary files a/omc/bin/logCollector and /dev/null differ diff --git a/omc/bin/mib/LGC-SS-AAS-MIB.my b/omc/bin/mib/LGC-SS-AAS-MIB.my deleted file mode 100644 index 3001cd1..0000000 --- a/omc/bin/mib/LGC-SS-AAS-MIB.my +++ /dev/null @@ -1,260 +0,0 @@ --- --- LGC-SS-AAS-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 15:36:43 --- - - LGC-SS-AAS-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS - FROM LGC-MIB - OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.10 - aas MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 10 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.10.2 - parameter OBJECT IDENTIFIER ::= { aas 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.1.1 - systemNum OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:System ID - Remark:(Read Only) ID to identify the target AAS." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.1.2 - aASPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:AAS Prefix - Remark:Define an internal prefix used to route to AAS and play audio announcement.
- Default = BB" - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.1.3 - playTimes OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Play Times - Remark:Define the audio announcement play times.
- Range = 1 - 5" - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.1.4 - command OBJECT-TYPE - SYNTAX INTEGER - { - reset(1), - saveVoiceFile(2), - loadVoiceFile(3), - saveCodec(4), - loadCodec(5) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Control command for VAS." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2 - linkManage OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.1 - networkIndication OBJECT-TYPE - SYNTAX INTEGER - { - international(0), - internationalSpare(1), - national(2), - nationalSpare(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Network Indicator - Remark:Select the type of network used to establish connection between AAS and MSS." - ::= { linkManage 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.2 - mSISDN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:SRF MSISDN - Remark:(Read Only) The E.164 node address of the SRF." - ::= { linkManage 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.3 - cC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CC - Remark:Country code" - ::= { linkManage 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.4 - nDC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NDC - Remark:National Destination Code" - ::= { linkManage 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.5 - aAS0OPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:AAS 0 OPC - Remark:Originating Point Code of AAS-0 in decimal format." - ::= { linkManage 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.6 - aAS0DPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:AAS 0 DPC - Remark:Destination Point Code of AAS-0 in decimal format." - ::= { linkManage 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.7 - aAS1OPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:AAS 1 OPC - Remark:Originating Point Code of AAS-1 in decimal format." - ::= { linkManage 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.8 - aAS1DPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:AAS 1 DPC - Remark:Destination Point Code of AAS-1 in decimal format." - ::= { linkManage 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.9 - flagLink0 OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Link 0 Flag - Remark:Enable or disable link-0 of the target AAS specified in the upper System ID field." - ::= { linkManage 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.10.2.2.10 - flagLink1 OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Link 1 Flag - Remark:Enable or disable link-1 of the target AAS specified in the upper System ID field." - ::= { linkManage 10 } - - - - END - --- --- LGC-SS-AAS-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-AMRMG-MIB.my b/omc/bin/mib/LGC-SS-AMRMG-MIB.my deleted file mode 100644 index d481ba2..0000000 --- a/omc/bin/mib/LGC-SS-AMRMG-MIB.my +++ /dev/null @@ -1,263 +0,0 @@ --- --- LGC-SS-AMRMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 15:43:06 --- - --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, March 12, 2010 at 14:15:06 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, March 11, 2010 at 10:05:09 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, March 11, 2010 at 10:04:10 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, March 10, 2010 at 14:44:19 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, March 10, 2010 at 11:35:26 --- - - LGC-SS-AMRMG-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.22 - amrmg MODULE-IDENTITY - LAST-UPDATED "201003101054Z" -- March 10, 2010 at 10:54 GMT - ORGANIZATION - "altobridge" - CONTACT-INFO - "Contact-info." - DESCRIPTION - "Description." - REVISION "201003101055Z" -- March 10, 2010 at 10:55 GMT - DESCRIPTION - "1st Version" - ::= { application 22 } - - - - --- --- Node definitions --- - --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 - -- 1.3.6.1.4.1.1373.2.3.3.22.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { amrmg 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 - -- 1.3.6.1.4.1.1373.2.3.3.22.2 - parameter OBJECT IDENTIFIER ::= { amrmg 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.1 - localIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local IP - Remark:Specify the IP address of this Media Gateway." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.2 - netMask OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Netmask - Remark:A netmask is a 32-bit mask used to divide an IP address into subnets and specify the networks available hosts." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.3 - gateway OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Gateway - Remark:Specify the IP address of the gateway used to pass traffic from Media Gateway to other subnets." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.4 - systemID OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:System ID - Remark:Specify the system ID of the target Media Gateway.
- Range = 0 - 31" - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.5 - subSystemID OBJECT-TYPE - SYNTAX INTEGER (0..7) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Sub-System ID - Remark:Specify the subsystem ID of the target Media Gateway.
- Range = 0 - 1" - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.6 - proxyIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Proxy IP - Remark:Specify the IP address of the connected RTP proxy server." - ::= { system 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.7 - portType OBJECT-TYPE - SYNTAX INTEGER - { - t1(0), - e1(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Port Type - Remark:Specify the physical interface type of target Media Gateway." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.8 - interfaceID OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Interface ID - Remark:Specify the interface identifier to the Media Gateway physical interface." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.9 - crc4Switch OBJECT-TYPE - SYNTAX INTEGER - { - closed(0), - open(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CRC4 Flag - Remark:Enable or disable Cyclic Redundancy Check on the Media Gateway physical interface." - ::= { system 9 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.22.2.1.10 - rebootCommand OBJECT-TYPE - SYNTAX INTEGER { reboot(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 10 } - - - - END - --- --- LGC-SS-AMRMG-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-AUC-MIB.my b/omc/bin/mib/LGC-SS-AUC-MIB.my deleted file mode 100644 index 455c9fe..0000000 --- a/omc/bin/mib/LGC-SS-AUC-MIB.my +++ /dev/null @@ -1,567 +0,0 @@ --- --- LGC-SS-AUC-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, May 24, 2012 at 11:16:44 --- - - LGC-SS-AUC-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus - FROM LGC-MIB - Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.4 - auc MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 4 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.4.2 - parameter OBJECT IDENTIFIER ::= { auc 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.1 - maxLicenses OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Max License - Remark:(Read Only) The maximum allowable AUC subscriber capacity determined by License Control." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.2 - usedLicenses OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Used License - Remark:(Read Only) The number of registered AUC subscribers." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.3 - provisionedUsers OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Provisioned Users - Remark:(Read Only) The number of service enabled AUC subscribers." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.4 - softwareVersion OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Software Version - Remark:(Read Only) Version of AUC software." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.5 - dataVersion OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Data Version - Remark:(Read Only) Version of AUC subscriber data structure." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.6 - saveParam OBJECT-TYPE - SYNTAX INTEGER - { - idle(0), - save(1), - succeeded(2), - failed(3) - } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Save the parameters into the disk." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.7 - saveDataCommand OBJECT-TYPE - SYNTAX INTEGER { saveData(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Save data into the disk." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.8 - importSubs OBJECT-TYPE - SYNTAX Opaque (SIZE (12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Command[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Sending Command - [v]2[opt]In Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Success Numbers[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Ki[u]04.0-11.7[u]input - [v]keepHex" - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.2 - subscriberSelectAlgorithm OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.2.1 - subscriberSelectAlgorithmTable OBJECT-TYPE - SYNTAX SEQUENCE OF SubscriberSelectAlgorithmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { subscriberSelectAlgorithm 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.2.1.1 - subscriberSelectAlgorithmEntry OBJECT-TYPE - SYNTAX SubscriberSelectAlgorithmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { ssaIndex } - ::= { subscriberSelectAlgorithmTable 1 } - - - SubscriberSelectAlgorithmEntry ::= - SEQUENCE { - ssaIndex - INTEGER, - ssaAdministrationStatus - INTEGER, - ssaStartIMSI - OCTET STRING, - ssaEndIMSI - OCTET STRING, - ssaAlgorithmid - INTEGER, - ssaRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.2.1.1.1 - ssaIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { subscriberSelectAlgorithmEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.2.1.1.2 - ssaAdministrationStatus OBJECT-TYPE - SYNTAX INTEGER - { - lock(0), - unlock(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Administration State" - ::= { subscriberSelectAlgorithmEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.2.1.1.3 - ssaStartIMSI OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Start IMSI" - ::= { subscriberSelectAlgorithmEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.2.1.1.4 - ssaEndIMSI OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:End IMSI" - ::= { subscriberSelectAlgorithmEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.2.1.1.5 - ssaAlgorithmid OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Algorithm index" - ::= { subscriberSelectAlgorithmEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.2.1.1.6 - ssaRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { subscriberSelectAlgorithmEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3 - algorithm OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1 - algorithmTable OBJECT-TYPE - SYNTAX SEQUENCE OF AlgorithmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { algorithm 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1 - algorithmEntry OBJECT-TYPE - SYNTAX AlgorithmEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { aIndex } - ::= { algorithmTable 1 } - - - AlgorithmEntry ::= - SEQUENCE { - aIndex - INTEGER, - aAdministrationStatus - INTEGER, - aOP - OCTET STRING, - aR1 - INTEGER, - aR2 - INTEGER, - aR3 - INTEGER, - aR4 - INTEGER, - aR5 - INTEGER, - aC1 - Opaque, - aC2 - Opaque, - aC3 - Opaque, - aC4 - Opaque, - aC5 - Opaque, - aL - OCTET STRING, - aDelta - OCTET STRING, - aSQNgenerationScheme - INTEGER, - aAMF - Opaque, - aRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.1 - aIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { algorithmEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.2 - aAdministrationStatus OBJECT-TYPE - SYNTAX INTEGER - { - lock(0), - unlock(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Administration state" - ::= { algorithmEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.3 - aOP OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "PASSWORD:Visible Name:OP - Remark: a 128bit Operator variant algorithm configuration field that is a component of the functions f1, f1(, f2, f3, f4, f5 and f5(. It should be displayed "("." - ::= { algorithmEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.4 - aR1 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:R1 - Remark: integers in the range 0 to 127 inclusive, which define amounts by which intermediate variables are cyclically rotated." - ::= { algorithmEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.5 - aR2 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:R2" - ::= { algorithmEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.6 - aR3 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:R3" - ::= { algorithmEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.7 - aR4 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:R4" - ::= { algorithmEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.8 - aR5 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:R5" - ::= { algorithmEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.9 - aC1 OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:C1 - OPAQUE DECODE RULE: - [unit]C1[u]00.0-15.7[u]input - [v]keepHex-high-0 - Remark: 128bit constants, which are XORed onto intermediate variables." - ::= { algorithmEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.10 - aC2 OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:C2 - OPAQUE DECODE RULE: - [unit]C2[u]00.0-15.7[u]input - [v]keepHex-high-0" - ::= { algorithmEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.11 - aC3 OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:C3 - OPAQUE DECODE RULE: - [unit]C3[u]00.0-15.7[u]input - [v]keepHex-high-0" - ::= { algorithmEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.12 - aC4 OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:C4 - OPAQUE DECODE RULE: - [unit]C4[u]00.0-15.7[u]input - [v]keepHex-high-0" - ::= { algorithmEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.13 - aC5 OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:C5 - OPAQUE DECODE RULE: - [unit]C5[u]00.0-15.7[u]input - [v]keepHex-high-0" - ::= { algorithmEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.14 - aL OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:L - Remark:The USIM shall also be able to put a limit L on the difference between SEQms and a received sequence number component SEQ." - ::= { algorithmEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.15 - aDelta OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Delta - Remark:The USIM will not accept arbitrary jumps in sequence numbers, but only increases by a value of at most delta." - ::= { algorithmEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.16 - aSQNgenerationScheme OBJECT-TYPE - SYNTAX INTEGER - { - partlyTime(0), - notTime(1), - entirelyTime(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SQN generation scheme - Remark: Sequence number. 0:partly time-based; 1: not time-based; 2:entirely time-based." - ::= { algorithmEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.17 - aAMF OBJECT-TYPE - SYNTAX Opaque (SIZE (2)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:AMF - OPAQUE DECODE RULE: - [unit]AMF[u]00.0-01.7[u]input - [v]keepHex-high-0" - ::= { algorithmEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.3.1.1.18 - aRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { algorithmEntry 18 } - - - - END - --- --- LGC-SS-AUC-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-AUC-MIB.my_bak b/omc/bin/mib/LGC-SS-AUC-MIB.my_bak deleted file mode 100644 index 6ad4f7e..0000000 --- a/omc/bin/mib/LGC-SS-AUC-MIB.my_bak +++ /dev/null @@ -1,184 +0,0 @@ --- --- LGC-SS-AUC-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 15:46:52 --- - - LGC-SS-AUC-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS - FROM LGC-MIB - Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.4 - auc MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 4 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.4.2 - parameter OBJECT IDENTIFIER ::= { auc 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.1 - maxLicenses OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Max License - Remark:(Read Only) The maximum allowable AUC subscriber capacity determined by License Control." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.2 - usedLicenses OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Used License - Remark:(Read Only) The number of registered AUC subscribers." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.3 - provisionedUsers OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Provisioned Users - Remark:(Read Only) The number of service enabled AUC subscribers." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.4 - softwareVersion OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Software Version - Remark:(Read Only) Version of AUC software." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.5 - dataVersion OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Data Version - Remark:(Read Only) Version of AUC subscriber data structure." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.6 - saveParam OBJECT-TYPE - SYNTAX INTEGER - { - idle(0), - save(1), - succeeded(2), - failed(3) - } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Save the parameters into the disk." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.7 - saveDataCommand OBJECT-TYPE - SYNTAX INTEGER { saveData(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Save data into the disk." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.4.2.1.8 - importSubs OBJECT-TYPE - SYNTAX Opaque (SIZE (12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Command[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Sending Command - [v]2[opt]In Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Success Numbers[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Ki[u]04.0-11.7[u]input - [v]keepHex" - ::= { system 8 } - - - - END - --- --- LGC-SS-AUC-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-AUSF-MIB.my b/omc/bin/mib/LGC-SS-AUSF-MIB.my deleted file mode 100644 index a50da5e..0000000 --- a/omc/bin/mib/LGC-SS-AUSF-MIB.my +++ /dev/null @@ -1,241 +0,0 @@ --- --- LGC-SS-AUSF-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Sunday, January 19, 2020 at 15:40:02 --- - - LGC-SS-AUSF-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS - FROM LGC-MIB - Integer32, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.52 - ausf MODULE-IDENTITY - LAST-UPDATED "202001090955Z" -- January 09, 2020 at 09:55 GMT - ORGANIZATION - "Organization." - CONTACT-INFO - "Contact-info." - DESCRIPTION - "Description." - ::= { application 52 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2 - parameter OBJECT IDENTIFIER ::= { ausf 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.1 - adminState OBJECT-TYPE - SYNTAX INTEGER - { - unlock(0), - lock(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.2 - label OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.3 - nfInstanceID OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.4 - hplmnID OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.5 - servicesIP OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.6 - servicesPort OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.7 - nrf0Path OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.8 - nrf1Path OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.9 - defaultUDMURI OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.10 - defaultNRFNotifyURI OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.11 - fqdn OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.12 - priority OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.13 - capacity OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.14 - groupID OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.15 - supiRanges OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.52.2.1.16 - snssais OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 16 } - - - - END - --- --- LGC-SS-AUSF-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-EIR-MIB.my b/omc/bin/mib/LGC-SS-EIR-MIB.my deleted file mode 100644 index 3ea72eb..0000000 --- a/omc/bin/mib/LGC-SS-EIR-MIB.my +++ /dev/null @@ -1,253 +0,0 @@ --- --- LGC-SS-EIR-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 15:55:05 --- - - LGC-SS-EIR-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus - FROM LGC-MIB - Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.8 - eir MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 8 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.8.2 - parameter OBJECT IDENTIFIER ::= { eir 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.1.1 - maxLicenses OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Max License - Remark:(Read Only) The maximum allowable EIR subscriber capacity determined by License Control." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.1.2 - usedLicenses OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Used License - Remark:(Read Only) The number of registered EIR subscribers." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.1.3 - softwareVersion OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Software Version - Remark:(Read Only) Version of EIR software." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.1.4 - dataVersion OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Data Version - Remark:(Read Only) Version of EIR subscriber data structure." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.1.5 - saveParam OBJECT-TYPE - SYNTAX INTEGER - { - idle(0), - save(1), - succeeded(2), - failed(3) - } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:EIR control commands." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.1.6 - saveDataCommand OBJECT-TYPE - SYNTAX INTEGER { saveData(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:EIR control commands." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.1.7 - importSubs OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Progress Report[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Requesting - [v]2[opt]Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total IMEIs[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Imported IMEIs[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.2 - whiteListSegments OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.2.1 - whiteListSegmentsTable OBJECT-TYPE - SYNTAX SEQUENCE OF WhiteListSegmentsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { whiteListSegments 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.2.1.1 - whiteListSegmentsEntry OBJECT-TYPE - SYNTAX WhiteListSegmentsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { wlsIndex } - ::= { whiteListSegmentsTable 1 } - - - WhiteListSegmentsEntry ::= - SEQUENCE { - wlsIndex - INTEGER, - wlsStartIMEI - OCTET STRING, - wlsEndIMEI - OCTET STRING, - wlsRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.2.1.1.1 - wlsIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:White-list IMEI segment index number ranges from 0 to 1023. A white-list number is a legal IMEI that can pass the EIR verification." - ::= { whiteListSegmentsEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.2.1.1.2 - wlsStartIMEI OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IMEI Start - Remark:The beginning of consecutive white-list IMEIs. A 16-digit IMEI comprises four parts:
- TAC = 6 digits (Type Approval Code)
- FAC = 2 digits (Final Assembly Code)
- SNR = 6 digits (Serial Number)
- SVN = 2 digits (Software Version Number)" - ::= { whiteListSegmentsEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.2.1.1.3 - wlsEndIMEI OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IMEI End - Remark:The end of consecutive white-list IMEIs." - ::= { whiteListSegmentsEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.8.2.2.1.1.4 - wlsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { whiteListSegmentsEntry 4 } - - - - END - --- --- LGC-SS-EIR-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-GRS-MIB.my b/omc/bin/mib/LGC-SS-GRS-MIB.my deleted file mode 100644 index 2d1bbe3..0000000 --- a/omc/bin/mib/LGC-SS-GRS-MIB.my +++ /dev/null @@ -1,2225 +0,0 @@ --- --- LGC-SS-GRS-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, June 20, 2019 at 17:38:34 --- - - LGC-SS-GRS-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, TimeStamp, RowStatus, DisplayString, AdminStateChoices - FROM LGC-MIB - IpAddress, Opaque, Integer32, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.16 - grs MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 16 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { grs 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2 - parameter OBJECT IDENTIFIER ::= { grs 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.1 - systemID OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:System ID - Remark:Specify the System ID of the iGRS." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.2 - primaryPalimIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Primary iPALIM IP - Remark:Specify the IP address of the master iPALIM connecting to the iGRS." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.3 - primaryPalimPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Primary iPALIM Port - Remark:Specify the transmission port of the master iPALIM connecting to the iGRS." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.4 - secondaryPalimIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Secondary iPALIM IP - Remark:Specify the IP address of the slave iPALIM connecting to the iGRS." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.5 - secondaryPalimPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Secondary iPALIM Port - Remark:Specify the transmission port of the slave iPALIM connecting to the iGRS." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.6 - keepNSAliveToCellTimer OBJECT-TYPE - SYNTAX INTEGER (0..3600) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Keep NS Alive to Cell Timer - Remark:Keep Alive Time Interval to Cell." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.7 - resetToSGSNTimer OBJECT-TYPE - SYNTAX INTEGER (0..3600) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Reset to SGSN Timer - Remark:Reset Time Interval to SGSN." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.8 - blockUnblockToSGSNTimer OBJECT-TYPE - SYNTAX INTEGER (0..3600) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Block and Unblock to SGSN Timer - Remark:Block and Unblock Time Interval to SGSN." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.9 - keepAliveToSGSNTimer OBJECT-TYPE - SYNTAX INTEGER (0..3600) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Keep Alive to SGSN Timer - Remark:Keep Alive Time Interval to SGSN." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.10 - resetToSGSNRetries OBJECT-TYPE - SYNTAX INTEGER (0..3600) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Reset to SGSN Retries - Remark:Reset Retry to SGSN." - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.11 - blockUnblockToSGSNRetries OBJECT-TYPE - SYNTAX INTEGER (0..3600) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Block and Unblock to SGSN Retries - Remark:Block and Unblock Retry to SGSN." - ::= { system 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.12 - keepAliveToSGSNRetries OBJECT-TYPE - SYNTAX INTEGER (0..3600) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Keep Alive to SGSN Retries - Remark:Keep Alive Retry to SGSN." - ::= { system 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.1.13 - defaultMocnSgsnId OBJECT-TYPE - SYNTAX INTEGER (0..7) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:default MOCN SGSN Id - Remark:Used when MOCN only." - ::= { system 13 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2 - bSS OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1 - bSSTable OBJECT-TYPE - SYNTAX SEQUENCE OF BSSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { bSS 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1.1 - bSSEntry OBJECT-TYPE - SYNTAX BSSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { bssIndex } - ::= { bSSTable 1 } - - - BSSEntry ::= - SEQUENCE { - bssIndex - INTEGER, - bssTitle - OCTET STRING, - bssCreateTimeStamp - TimeStamp, - bssAdministrationState - AdminStateChoices, - bssSNSType - INTEGER, - bssNseiOneEntries - INTEGER, - bssCreateEntryNseiOne - INTEGER, - bssRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1.1.1 - bssIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:BSS ID - Remark:Index number of the virtual connection to BSS." - ::= { bSSEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1.1.2 - bssTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Name that identifies this virtual connection to BSS." - ::= { bSSEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1.1.3 - bssCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Reserved" - ::= { bSSEntry 3 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1.1.4 - bssAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the BSS virtual connection entry." - ::= { bSSEntry 4 } - - --- Dialing Prefix Set ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1.1.5 - bssSNSType OBJECT-TYPE - SYNTAX INTEGER - { - ip(0), - frameRelay(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SNS Type - Remark:Specify the protocol type of subnetwork service (SNS) sub-layer." - ::= { bSSEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1.1.6 - bssNseiOneEntries OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSE Entries - Remark:Each BSS entry can create one Network Service Entity (NSE). NSE provides communication service between iGRS and BSS." - ::= { bSSEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1.1.7 - bssCreateEntryNseiOne OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { bSSEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.1.1.8 - bssRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { bSSEntry 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2 - nSEIOneTable OBJECT-TYPE - SYNTAX SEQUENCE OF NSEIOneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2 Name:NSEI" - ::= { bSS 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2.1 - nSEIOneEntry OBJECT-TYPE - SYNTAX NSEIOneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2 Name:NSEI" - INDEX { niBSSIndex, niIndex } - ::= { nSEIOneTable 1 } - - - NSEIOneEntry ::= - SEQUENCE { - niBSSIndex - INTEGER, - niIndex - INTEGER, - niTitle - OCTET STRING, - niAdministrationState - AdminStateChoices, - niNSEIValue - INTEGER, - niNsvciOneEntries - INTEGER, - niCreateEntryNsvciOne - INTEGER, - niRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2.1.1 - niBSSIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:BSS ID - Remark:(Read Only) Index number of the BSS virtual connection." - ::= { nSEIOneEntry 1 } - - --- Route Selection Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2.1.2 - niIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSE ID - Remark:NSE index number reserved as 0." - ::= { nSEIOneEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2.1.3 - niTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSE Title - Remark:NSE name for identification purpose only." - ::= { nSEIOneEntry 3 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2.1.4 - niAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed NSE." - ::= { nSEIOneEntry 4 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2.1.5 - niNSEIValue OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSEI - Remark:Specify network service entity identifier (NSEI) to identify the NSE." - ::= { nSEIOneEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2.1.6 - niNsvciOneEntries OBJECT-TYPE - SYNTAX INTEGER (0..2) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSVC Entries - Remark:Each NSE entry can create two Network Service Virtual Connections (NSVC). NSVC is end-to-end virtual connection between the iGRS and the BSS." - ::= { nSEIOneEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2.1.7 - niCreateEntryNsvciOne OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { nSEIOneEntry 7 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.2.1.8 - niRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { nSEIOneEntry 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3 - nSVCIOneTable OBJECT-TYPE - SYNTAX SEQUENCE OF NSVCIOneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:3 Name:NSVCI" - ::= { bSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1 - nSVCIOneEntry OBJECT-TYPE - SYNTAX NSVCIOneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:3 Name:NSVCI" - INDEX { nsNseiBSSIndex, nsNseiIndex, nsIndex } - ::= { nSVCIOneTable 1 } - - - NSVCIOneEntry ::= - SEQUENCE { - nsNseiBSSIndex - INTEGER, - nsNseiIndex - INTEGER, - nsIndex - INTEGER, - nsTitle - OCTET STRING, - nsCreateTimeStamp - TimeStamp, - nsAdministrationState - AdminStateChoices, - nsBlockingStatus - INTEGER, - nsAliveStatus - INTEGER, - nsNSVCIValue - INTEGER, - nsLocalIP - IpAddress, - nsLocalPort - INTEGER, - nsPeerIP - IpAddress, - nsPeerPort - INTEGER, - nsResetCommand - INTEGER, - nsRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.1 - nsNseiBSSIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Name:BSS ID - Remark:(Read Only) Index number of the BSS virtual connection." - ::= { nSVCIOneEntry 1 } - - --- Route Selection Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.2 - nsNseiIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:NSE ID - Remark:(Read Only) Index number of the host NSE." - ::= { nSVCIOneEntry 2 } - - --- Route Selection Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.3 - nsIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSVC ID - Remark:NSVC index number ranges from 0 to 1." - ::= { nSVCIOneEntry 3 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.4 - nsTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSVC Title - Remark:NSVC name for identification purpose only." - ::= { nSVCIOneEntry 4 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.5 - nsCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Reserved" - ::= { nSVCIOneEntry 5 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.6 - nsAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed NSVC." - ::= { nSVCIOneEntry 6 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.7 - nsBlockingStatus OBJECT-TYPE - SYNTAX INTEGER - { - block(0), - unblock(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Blocking Status - Remark:(Read Only) The blocking status of the NSVC." - ::= { nSVCIOneEntry 7 } - - --- Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.8 - nsAliveStatus OBJECT-TYPE - SYNTAX INTEGER - { - non-alive(0), - alive(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alive Status - Remark:(Read Only) The running status of the NEVC." - ::= { nSVCIOneEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.9 - nsNSVCIValue OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NSVCI - Remark:Specify network service virtual connection identifier (NSVCI) to identify the NSVC." - ::= { nSVCIOneEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.10 - nsLocalIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local IP - Remark:IP address of the iGRS." - ::= { nSVCIOneEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.11 - nsLocalPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local Port - Remark:iGRS transmission port for the virtual connection to BSS." - ::= { nSVCIOneEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.12 - nsPeerIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Peer IP - Remark:IP address of the BSS." - ::= { nSVCIOneEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.13 - nsPeerPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Peer Port - Remark:BSS transmission port for the virtual connection to iGRS." - ::= { nSVCIOneEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.14 - nsResetCommand OBJECT-TYPE - SYNTAX INTEGER { reset(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { nSVCIOneEntry 14 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.2.3.1.15 - nsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { nSVCIOneEntry 15 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3 - sGSN OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1 - sGSNTable OBJECT-TYPE - SYNTAX SEQUENCE OF SGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sGSN 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1 - sGSNEntry OBJECT-TYPE - SYNTAX SGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { sgIndex } - ::= { sGSNTable 1 } - - - SGSNEntry ::= - SEQUENCE { - sgIndex - INTEGER, - sgTitle - OCTET STRING, - sgCreateTimeStamp - TimeStamp, - sgAdministrationState - AdminStateChoices, - sgSNSType - INTEGER, - sgMocnSgsnMcc - OCTET STRING, - sgMocnSgsnMnc - OCTET STRING, - sgMocnSgsnLac - INTEGER, - sgNseiTwoEntries - INTEGER, - sgCreateEntryNseiTwo - INTEGER, - sgRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.1 - sgIndex OBJECT-TYPE - SYNTAX INTEGER (0..7) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN ID - Remark:Index number of the virtual connection to SGSN." - ::= { sGSNEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.2 - sgTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Name that identifies this virtual connection to SGSN." - ::= { sGSNEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.3 - sgCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Reserved" - ::= { sGSNEntry 3 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.4 - sgAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the SGSN virtual connection entry." - ::= { sGSNEntry 4 } - - --- Dialing Prefix Set ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.5 - sgSNSType OBJECT-TYPE - SYNTAX INTEGER - { - ip(0), - frameRelay(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SNS Type - Remark:Specify the protocol type of subnetwork service (SNS) sub-layer." - ::= { sGSNEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.6 - sgMocnSgsnMcc OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MOCN SGSN MCC - Remark:used for MOCN only. " - ::= { sGSNEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.7 - sgMocnSgsnMnc OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (2..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MOCN SGSN MNC - Remark:used for MOCN only. " - ::= { sGSNEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.8 - sgMocnSgsnLac OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MOCN SGSN LAC - Remark:used for MOCN only. " - ::= { sGSNEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.18 - sgNseiTwoEntries OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSE Entries - Remark:Each SGSN entry can create 256 Network Service Entities (NSE). NSE provides communication service between iGRS and SGSN." - ::= { sGSNEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.19 - sgCreateEntryNseiTwo OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sGSNEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.1.1.20 - sgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sGSNEntry 20 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2 - nSEITwoTable OBJECT-TYPE - SYNTAX SEQUENCE OF NSEITwoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2 Name:NSEI" - ::= { sGSN 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2.1 - nSEITwoEntry OBJECT-TYPE - SYNTAX NSEITwoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2 Name:NSEI" - INDEX { ntSGSNIndex, ntIndex } - ::= { nSEITwoTable 1 } - - - NSEITwoEntry ::= - SEQUENCE { - ntSGSNIndex - INTEGER, - ntIndex - INTEGER, - ntTitle - OCTET STRING, - ntAdministrationState - AdminStateChoices, - ntNSEIValue - INTEGER, - ntNsvciTwoEntries - INTEGER, - ntCreateEntryNsvciTwo - INTEGER, - ntRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2.1.1 - ntSGSNIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:SGSN ID - Remark:(Read Only) Index number of the SGSN virtual connection." - ::= { nSEITwoEntry 1 } - - --- Route Selection Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2.1.2 - ntIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSE ID - Remark:NSE index number ranges from 0 to 255." - ::= { nSEITwoEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2.1.3 - ntTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSE Title - Remark:NSE name for identification purpose only." - ::= { nSEITwoEntry 3 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2.1.4 - ntAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed NSE." - ::= { nSEITwoEntry 4 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2.1.5 - ntNSEIValue OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NSEI - Remark:Specify network service entity identifier (NSEI) to identify the NSE." - ::= { nSEITwoEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2.1.6 - ntNsvciTwoEntries OBJECT-TYPE - SYNTAX INTEGER (0..2) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSVC Entries - Remark:Each NSE entry can create two Network Service Virtual Connections (NSVC). NSVC is end-to-end virtual connection between the iGRS and the SGSN." - ::= { nSEITwoEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2.1.7 - ntCreateEntryNsvciTwo OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { nSEITwoEntry 7 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.2.1.8 - ntRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { nSEITwoEntry 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3 - nSVCITwoTable OBJECT-TYPE - SYNTAX SEQUENCE OF NSVCITwoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:3 Name:NSVCI" - ::= { sGSN 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1 - nSVCITwoEntry OBJECT-TYPE - SYNTAX NSVCITwoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:3 Name:NSVCI" - INDEX { nsNseiBSSIndex, nsNseiIndex, nsIndex } - ::= { nSVCITwoTable 1 } - - - NSVCITwoEntry ::= - SEQUENCE { - nnNseiSGSNIndex - INTEGER, - nnNseiIndex - INTEGER, - nnIndex - INTEGER, - nnTitle - OCTET STRING, - nnCreateTimeStamp - TimeStamp, - nnAdministrationState - AdminStateChoices, - nnBlockingStatus - INTEGER, - nnAliveStatus - INTEGER, - nnNSVCIValue - INTEGER, - nnLocalIP - IpAddress, - nnLocalPort - INTEGER, - nnPeerIP - IpAddress, - nnPeerPort - INTEGER, - nnResetCommand - INTEGER, - nnRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.1 - nnNseiSGSNIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:SGSN ID - Remark:(Read Only) Index number of the SGSN virtual connection." - ::= { nSVCITwoEntry 1 } - - --- Route Selection Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.2 - nnNseiIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:BSS ID - Remark:(Read Only) Index number of the host NSE." - ::= { nSVCITwoEntry 2 } - - --- Route Selection Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.3 - nnIndex OBJECT-TYPE - SYNTAX INTEGER (0..2) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSVC ID - Remark:NSVC index number ranges from 0 to 1." - ::= { nSVCITwoEntry 3 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.4 - nnTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSVC Title - Remark:NSVC name for identification purpose only." - ::= { nSVCITwoEntry 4 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.5 - nnCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Reserved" - ::= { nSVCITwoEntry 5 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.6 - nnAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed NSVC." - ::= { nSVCITwoEntry 6 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.7 - nnBlockingStatus OBJECT-TYPE - SYNTAX INTEGER - { - block(0), - unblock(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Blocking Status - Remark:(Read Only) The blocking status of the NSVC." - ::= { nSVCITwoEntry 7 } - - --- Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.8 - nnAliveStatus OBJECT-TYPE - SYNTAX INTEGER - { - non-alive(0), - alive(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alive Status - Remark:(Read Only) The running status of the NEVC." - ::= { nSVCITwoEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.9 - nnNSVCIValue OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NSVCI - Remark:Specify network service virtual connection identifier (NSVCI) to identify the NSVC." - ::= { nSVCITwoEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.10 - nnLocalIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local IP - Remark:IP address of the iGRS." - ::= { nSVCITwoEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.11 - nnLocalPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local Port - Remark:iGRS transmission port for the virtual connection to SGSN." - ::= { nSVCITwoEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.12 - nnPeerIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Peer IP - Remark:IP address of the SGSN." - ::= { nSVCITwoEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.13 - nnPeerPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Peer Port - Remark:SGSN transmission port for the virtual connection to iGRS." - ::= { nSVCITwoEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.14 - nnResetCommand OBJECT-TYPE - SYNTAX INTEGER { reset(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { nSVCITwoEntry 14 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.3.3.1.15 - nnRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { nSVCITwoEntry 15 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4 - routeArea OBJECT IDENTIFIER ::= { parameter 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1 - routeAreaTable OBJECT-TYPE - SYNTAX SEQUENCE OF RouteAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { routeArea 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1 - routeAreaEntry OBJECT-TYPE - SYNTAX RouteAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { raIndex } - ::= { routeAreaTable 1 } - - - RouteAreaEntry ::= - SEQUENCE { - raIndex - INTEGER, - raTitle - OCTET STRING, - raMCC - OCTET STRING, - raMNC - OCTET STRING, - raLAC - OCTET STRING, - raRAC - OCTET STRING, - raAdministrationState - AdminStateChoices, - raRouteType - INTEGER, - raUserTypeEntries - INTEGER, - raBvciMappingEntries - INTEGER, - raCreateEntryBvciMapping - INTEGER, - raRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.1 - raIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing area index number ranges from 0 to 1023." - ::= { routeAreaEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.2 - raTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing area name for identification purpose only." - ::= { routeAreaEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.3 - raMCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MCC - Remark:Mobile Country Code" - ::= { routeAreaEntry 3 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.4 - raMNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MNC - Remark:Mobile Network Code" - ::= { routeAreaEntry 4 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.5 - raLAC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:LAC - Remark:Location Area Code" - ::= { routeAreaEntry 5 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.6 - raRAC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:RAC - Remark:The Routing Area Code identifies a routing area within the specific location area." - ::= { routeAreaEntry 6 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.7 - raAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed routing area." - ::= { routeAreaEntry 7 } - - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.8 - raRouteType OBJECT-TYPE - SYNTAX INTEGER - { - routeByUserType(0), - routeByIMSIPrefix(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Route Option - Remark:Route by User Type or IMSI Prefix." - ::= { routeAreaEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.9 - raUserTypeEntries OBJECT-TYPE - SYNTAX INTEGER (0..3) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Routing Table - Remark:Specify SGSN routing to three types of iPALIM users." - ::= { routeAreaEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.10 - raBvciMappingEntries OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:BVC Mapping Entries - Remark:Each BSS routing area entry can create 16 BSSGP Virtual Connections (BVC) to SGSN.
BVC is end-to-end virtual connection between the BSS and the SGSN at BSSGP layer." - ::= { routeAreaEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.11 - raCreateEntryBvciMapping OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { routeAreaEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.1.1.12 - raRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { routeAreaEntry 12 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2 - userTypeTable OBJECT-TYPE - SYNTAX SEQUENCE OF UserTypeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { routeArea 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2.1 - userTypeEntry OBJECT-TYPE - SYNTAX UserTypeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { ntSGSNIndex, ntIndex } - ::= { userTypeTable 1 } - - - UserTypeEntry ::= - SEQUENCE { - utRoutingAreaIndex - INTEGER, - utIndex - INTEGER, - utUserTitle - OCTET STRING, - utAdministrationState - AdminStateChoices, - utSGSNID - INTEGER, - utSGSNID1 - Integer32, - utAPNReplaceFlag - INTEGER, - utAPN - OCTET STRING - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2.1.1 - utRoutingAreaIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Routing Area ID - Remark:(Read Only) Index number of the routing area." - ::= { userTypeEntry 1 } - - --- Route Selection Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2.1.2 - utIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:(Read Only) Index number for sorting." - ::= { userTypeEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2.1.3 - utUserTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:User Type - Remark:(Read Only) iPALIM user type." - ::= { userTypeEntry 3 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2.1.4 - utAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed entry." - ::= { userTypeEntry 4 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2.1.5 - utSGSNID OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SGSN ID - Remark:Specify ID of the serving SGSN virtual connection.
Range = 0 - 7" - ::= { userTypeEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2.1.6 - utSGSNID1 OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { userTypeEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2.1.7 - utAPNReplaceFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:APN Replace Flag - Remark:Enable or disable replace the current access point name." - ::= { userTypeEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.2.1.8 - utAPN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:APN - Remark:Specify the modified APN if the upper replace flag is enabled." - ::= { userTypeEntry 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.3 - bVCIMappingTable OBJECT-TYPE - SYNTAX SEQUENCE OF BVCIMappingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { routeArea 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.3.1 - bVCIMappingEntry OBJECT-TYPE - SYNTAX BVCIMappingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { lrIndex, lrRoutingAreaIndex } - ::= { bVCIMappingTable 1 } - - - BVCIMappingEntry ::= - SEQUENCE { - lrRoutingAreaIndex - INTEGER, - lrIndex - INTEGER, - lrNSEIValue - INTEGER, - lrBVCIValue - INTEGER, - lrAdministrationState - AdminStateChoices, - lrRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.3.1.1 - lrRoutingAreaIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Routing Area ID - Remark:(Read Only) Index number of the routing area." - ::= { bVCIMappingEntry 1 } - - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.3.1.2 - lrIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:BVC index number ranges from 0 to 15." - ::= { bVCIMappingEntry 2 } - - --- Dialing Prefix Set ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.3.1.3 - lrNSEIValue OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NSEI - Remark:Specify network service entity identifier (NSEI) to identify the NSE." - ::= { bVCIMappingEntry 3 } - - --- Dialing Prefix Set ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.3.1.4 - lrBVCIValue OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:BVCI - Remark:Specify BSSGP virtual connection identifier (BVCI) to identify the BVC." - ::= { bVCIMappingEntry 4 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.3.1.5 - lrAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed BVC." - ::= { bVCIMappingEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.4.3.1.6 - lrRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { bVCIMappingEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.5 - mocnControl OBJECT IDENTIFIER ::= { parameter 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.5.1 - mocnControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF MocnControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mocnControl 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.5.1.1 - mocnControlEntry OBJECT-TYPE - SYNTAX MocnControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { rbiIndex } - ::= { mocnControlTable 1 } - - - MocnControlEntry ::= - SEQUENCE { - rbiIndex - INTEGER, - rbiIMSIPrefix - OCTET STRING, - rbiSGSNID - Opaque, - rbiAdministrationState - AdminStateChoices, - rbiRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.5.1.1.1 - rbiIndex OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 0 to 511." - ::= { mocnControlEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.5.1.1.2 - rbiIMSIPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:IMSI Prefix." - ::= { mocnControlEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.5.1.1.3 - rbiSGSNID OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Name:SGSN ID - OPAQUE DECODE RULE: - [unit]SGSN-0[u]00.0-00.0[u]select - [v]0[opt]Blocked - [v]1[opt]Non Blocked - [unit]SGSN-1[u]00.1-00.1[u]select - [v]0[opt]Blocked - [v]1[opt]Non Blocked - [unit]SGSN-2[u]00.2-00.2[u]select - [v]0[opt]Blocked - [v]1[opt]Non Blocked - [unit]SGSN-3[u]00.3-00.3[u]select - [v]0[opt]Blocked - [v]1[opt]Non Blocked - [unit]SGSN-4[u]00.4-00.4[u]select - [v]0[opt]Blocked - [v]1[opt]Non Blocked - [unit]SGSN-5[u]00.5-00.5[u]select - [v]0[opt]Blocked - [v]1[opt]Non Blocked - [unit]SGSN-6[u]00.6-00.6[u]select - [v]0[opt]Blocked - [v]1[opt]Non Blocked - [unit]SGSN-7[u]00.7-00.7[u]select - [v]0[opt]Blocked - [v]1[opt]Non Blocked - [remark] - SGSN ID." - ::= { mocnControlEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.5.1.1.4 - rbiAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed entry." - ::= { mocnControlEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.5.1.1.10 - rbiRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mocnControlEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6 - mocnCellMapping OBJECT IDENTIFIER ::= { parameter 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1 - cellMappingTable OBJECT-TYPE - SYNTAX SEQUENCE OF CellMappingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mocnCellMapping 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1 - cellMappingEntry OBJECT-TYPE - SYNTAX CellMappingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { cellMappingIndex } - ::= { cellMappingTable 1 } - - - CellMappingEntry ::= - SEQUENCE { - cellMappingIndex - INTEGER, - cellMappingTitle - OCTET STRING, - cellMappingLacSGSN0 - INTEGER, - cellMappingCellIdSGSN0 - INTEGER, - cellMappingRacSGSN0 - INTEGER, - cellMappingLacSGSN1 - INTEGER, - cellMappingCellIdSGSN1 - INTEGER, - cellMappingRacSGSN1 - INTEGER, - cellMappingLacSGSN2 - INTEGER, - cellMappingCellIdSGSN2 - INTEGER, - cellMappingRacSGSN2 - INTEGER, - cellMappingRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.1 - cellMappingIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:BSS ID - Remark:Index number of the virtual connection to BSS." - ::= { cellMappingEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.2 - cellMappingTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Name that identifies this virtual connection to BSS." - ::= { cellMappingEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.3 - cellMappingLacSGSN0 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN 0 Lac" - ::= { cellMappingEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.4 - cellMappingCellIdSGSN0 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN 0 Cell Id" - ::= { cellMappingEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.5 - cellMappingRacSGSN0 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN 0 Rac" - ::= { cellMappingEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.6 - cellMappingLacSGSN1 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN 1 Lac" - ::= { cellMappingEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.7 - cellMappingCellIdSGSN1 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN 1 Cell Id" - ::= { cellMappingEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.8 - cellMappingRacSGSN1 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN 1 Rac" - ::= { cellMappingEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.9 - cellMappingLacSGSN2 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN 2 Lac" - ::= { cellMappingEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.10 - cellMappingCellIdSGSN2 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN 2 Cell Id" - ::= { cellMappingEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.11 - cellMappingRacSGSN2 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN 2 Rac" - ::= { cellMappingEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.2.6.1.1.30 - cellMappingRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cellMappingEntry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.3 - csta OBJECT IDENTIFIER ::= { grs 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.1 - toBSSTable OBJECT-TYPE - SYNTAX SEQUENCE OF ToBSSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.1.1 - toBSSEntry OBJECT-TYPE - SYNTAX ToBSSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { toBSSBSSID, toBSSTimeIndex } - ::= { toBSSTable 1 } - - - ToBSSEntry ::= - SEQUENCE { - toBSSBSSID - Integer32, - toBSSTimeIndex - Integer32, - toBSSData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.1.1.1 - toBSSBSSID OBJECT-TYPE - SYNTAX Integer32 (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { toBSSEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.1.1.2 - toBSSTimeIndex OBJECT-TYPE - SYNTAX Integer32 (0..95) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { toBSSEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.1.1.3 - toBSSData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { toBSSEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.2 - toSGSNTable OBJECT-TYPE - SYNTAX SEQUENCE OF ToSGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.2.1 - toSGSNEntry OBJECT-TYPE - SYNTAX ToSGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { toSGSNSGSNID, toSGSNTimeIndex } - ::= { toSGSNTable 1 } - - - ToSGSNEntry ::= - SEQUENCE { - toSGSNSGSNID - Integer32, - toSGSNTimeIndex - Integer32, - toSGSNData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.2.1.1 - toSGSNSGSNID OBJECT-TYPE - SYNTAX Integer32 (0..7) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { toSGSNEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.2.1.2 - toSGSNTimeIndex OBJECT-TYPE - SYNTAX Integer32 (0..95) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { toSGSNEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.16.3.2.1.3 - toSGSNData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { toSGSNEntry 3 } - - - - END - --- --- LGC-SS-GRS-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-GbC-MIB.my b/omc/bin/mib/LGC-SS-GbC-MIB.my deleted file mode 100644 index c32415d..0000000 --- a/omc/bin/mib/LGC-SS-GbC-MIB.my +++ /dev/null @@ -1,287 +0,0 @@ --- --- LGC-SS-GbC-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 16:05:01 --- - --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, March 12, 2010 at 14:15:06 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, March 11, 2010 at 10:05:09 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, March 11, 2010 at 10:04:10 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, March 10, 2010 at 14:44:19 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, March 10, 2010 at 11:35:26 --- - - LGC-SS-GbC-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.19 - gbc MODULE-IDENTITY - LAST-UPDATED "201003101054Z" -- March 10, 2010 at 10:54 GMT - ORGANIZATION - "altobridge" - CONTACT-INFO - "Contact-info." - DESCRIPTION - "Description." - REVISION "201003101055Z" -- March 10, 2010 at 10:55 GMT - DESCRIPTION - "1st Version" - ::= { application 19 } - - - - --- --- Node definitions --- - --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 - -- 1.3.6.1.4.1.1373.2.3.3.19.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { gbc 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 - -- 1.3.6.1.4.1.1373.2.3.3.19.2 - parameter OBJECT IDENTIFIER ::= { gbc 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.1 - localIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local IP - Remark:Specify the IP address of the target Gb converter." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.2 - netMask OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Netmask - Remark:A netmask is a 32-bit mask used to divide an IP address into subnets and specify the networks available hosts." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.3 - gateway OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Gateway - Remark:Specify the IP address of the gateway used to pass traffic from Gb converter to other subnets." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.4 - systemID OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:System ID - Remark:Specify the system ID of the target Gb converter." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.5 - subSystemID OBJECT-TYPE - SYNTAX INTEGER (0..7) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Sub-System ID - Remark:Specify the subsystem ID of the target Gb converter." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.6 - peerIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Peer IP - Remark:Specify the IP address of the connecting SGSN." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.7 - peerPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Peer Port - Remark:Specify the transmission port of the connecting SGSN." - ::= { system 7 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.8 - receiveChannelSelect OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Rx Channel Selection - Remark:Select up to 31 channels for receiving packets.
The four dotted decimal numbers can be transferred into 32-digit binary numbers, each of the right-to-left 31 bits represents a physical channel.
- 0 = Disable
- 1 = Enable" - ::= { system 8 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.9 - transmitChannelSelect OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Tx Channel Selection - Remark:Select up to 31 channels for transmitting packets.
The four dotted decimal numbers can be transferred into 32-digit binary numbers, each of the right-to-left 31 bits represents a physical channel.
- 0 = Disable
- 1 = Enable" - ::= { system 9 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.10 - portType OBJECT-TYPE - SYNTAX INTEGER - { - t1(0), - e1(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Port Type - Remark:Specify the type of the Gb converter physical interface." - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.11 - crc4Switch OBJECT-TYPE - SYNTAX INTEGER - { - closed(0), - open(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CRC4 Flag - Remark:Enable or disable Cyclic Redundancy Check on the Gb converter physical interface." - ::= { system 11 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.19.2.1.12 - rebootCommand OBJECT-TYPE - SYNTAX INTEGER { reboot(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 12 } - - - - END - --- --- LGC-SS-GbC-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-HLR-MIB.my b/omc/bin/mib/LGC-SS-HLR-MIB.my deleted file mode 100644 index 30cdd7f..0000000 --- a/omc/bin/mib/LGC-SS-HLR-MIB.my +++ /dev/null @@ -1,7454 +0,0 @@ --- --- LGC-SS-HLR-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 17:22:53 --- - - LGC-SS-HLR-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus - FROM LGC-MIB - Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.3 - hlr MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 3 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.3.2 - parameter OBJECT IDENTIFIER ::= { hlr 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.1 - cC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CC - Remark:Country Code" - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.2 - nDC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NDC - Remark:National Destination Code" - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.3 - startSN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SN Start - Remark:The beginning of the VLR SN range." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.4 - endSN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SN End - Remark:The end of the VLR SN range." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.5 - maxLicenses OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Max License - Remark:(Read Only) The maximum subscriber capacity of HLR determined by License Control." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.6 - usedLicenses OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Used License - Remark:(Read Only) The number of registered HLR subscribers." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.7 - provisionedSubs OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Provisioned Users - Remark:(Read Only) The number of service enabled HLR subscribers." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.8 - registeredSubs OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Registered Users - Remark:(Read Only) The number of registered (both service enabled and disabled) HLR subscribers." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.9 - roamingSubs OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Roaming Users - Remark:(Read Only) The number of provisioned HLR subscribers currently roaming to VPLMNs." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.10 - softwareVersion OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Software Version - Remark:(Read Only) Version of HLR software." - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.11 - dataVersion OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Data Version - Remark:(Read Only) Version of HLR subscriber data structure." - ::= { system 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.12 - cDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable CDR generation of HLR." - ::= { system 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.13 - reloadState OBJECT-TYPE - SYNTAX INTEGER - { - idle(0), - reload(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Reload State - Remark:Select reload to load backup HLR subscriber data from HLR server hard disk." - ::= { system 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.14 - saveParamCommand OBJECT-TYPE - SYNTAX INTEGER { saveParameter(1) } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Save the HLR parameters residing in memory to harddisk." - ::= { system 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.15 - saveDataCommand OBJECT-TYPE - SYNTAX INTEGER { saveData(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Save the HLR subscriber data to both HLR
harddisk and EMS database." - ::= { system 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.16 - saveUSSDParamCommand OBJECT-TYPE - SYNTAX INTEGER { saveUSSDParam(1) } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Save the USSD parameters residing
in memory to harddisk." - ::= { system 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.17 - resetUSSDParamCommand OBJECT-TYPE - SYNTAX INTEGER { resetUSSDParam(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Reload and activate all USSD
parameters to default values." - ::= { system 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.1.18 - importSubs OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Command[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Sending Command - [v]2[opt]In Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total Numbers[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Success Numbers[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { system 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.2 - vPLMN OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.2.1 - vPLMNTable OBJECT-TYPE - SYNTAX SEQUENCE OF VPLMNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { vPLMN 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.2.1.1 - vPLMNEntry OBJECT-TYPE - SYNTAX VPLMNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { vplmnIndex } - ::= { vPLMNTable 1 } - - - VPLMNEntry ::= - SEQUENCE { - vplmnIndex - INTEGER, - vplmnCC - OCTET STRING, - vplmnNDC - OCTET STRING, - vplmnStartSN - OCTET STRING, - vplmnEndSN - OCTET STRING, - vplmnRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.2.1.1.1 - vplmnIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:VPLMN index number ranges from 0 to 255." - ::= { vPLMNEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.2.1.1.2 - vplmnCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CC - Remark:The Country Code of the VPLMN." - ::= { vPLMNEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.2.1.1.3 - vplmnNDC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NDC - Remark:The National Destination Code of the VPLMN." - ::= { vPLMNEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.2.1.1.4 - vplmnStartSN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SN Start - Remark:The beginning of the VLR range in the VPLMN." - ::= { vPLMNEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.2.1.1.5 - vplmnEndSN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SN End - Remark:The end of the VLR range in the VPLMN." - ::= { vPLMNEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.2.1.1.6 - vplmnRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { vPLMNEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.3 - cSRRList OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.3.1 - cSRR0 OBJECT-TYPE - SYNTAX Opaque (SIZE (32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]VPLMN0[u]00.0-00.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN1[u]00.1-00.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN2[u]00.2-00.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN3[u]00.3-00.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN4[u]00.4-00.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN5[u]00.5-00.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN6[u]00.6-00.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN7[u]00.7-00.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN8[u]01.0-01.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN9[u]01.1-01.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN10[u]01.2-01.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN11[u]01.3-01.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN12[u]01.4-01.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN13[u]01.5-01.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN14[u]01.6-01.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN15[u]01.7-01.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN16[u]02.0-02.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN17[u]02.1-02.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN18[u]02.2-02.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN19[u]02.3-02.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN20[u]02.4-02.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN21[u]02.5-02.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN22[u]02.6-02.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN23[u]02.7-02.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN24[u]03.0-03.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN25[u]03.1-03.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN26[u]03.2-03.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN27[u]03.3-03.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN28[u]03.4-03.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN29[u]03.5-03.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN30[u]03.6-03.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN31[u]03.7-03.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN32[u]04.0-04.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN33[u]04.1-04.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN34[u]04.2-04.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN35[u]04.3-04.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN36[u]04.4-04.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN37[u]04.5-04.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN38[u]04.6-04.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN39[u]04.7-04.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN40[u]05.0-05.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN41[u]05.1-05.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN42[u]05.2-05.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN43[u]05.3-05.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN44[u]05.4-05.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN45[u]05.5-05.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN46[u]05.6-05.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN47[u]05.7-05.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN48[u]06.0-06.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN49[u]06.1-06.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN50[u]06.2-06.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN51[u]06.3-06.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN52[u]06.4-06.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN53[u]06.5-06.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN54[u]06.6-06.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN55[u]06.7-06.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN56[u]07.0-07.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN57[u]07.1-07.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN58[u]07.2-07.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN59[u]07.3-07.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN60[u]07.4-07.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN61[u]07.5-07.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN62[u]07.6-07.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN63[u]07.7-07.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN64[u]08.0-08.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN65[u]08.1-08.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN66[u]08.2-08.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN67[u]08.3-08.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN68[u]08.4-08.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN69[u]08.5-08.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN70[u]08.6-08.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN71[u]08.7-08.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN72[u]09.0-09.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN73[u]09.1-09.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN74[u]09.2-09.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN75[u]09.3-09.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN76[u]09.4-09.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN77[u]09.5-09.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN78[u]09.6-09.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN79[u]09.7-09.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN80[u]10.0-10.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN81[u]10.1-10.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN82[u]10.2-10.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN83[u]10.3-10.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN84[u]10.4-10.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN85[u]10.5-10.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN86[u]10.6-10.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN87[u]10.7-10.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN88[u]11.0-11.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN89[u]11.1-11.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN90[u]11.2-11.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN91[u]11.3-11.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN92[u]11.4-11.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN93[u]11.5-11.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN94[u]11.6-11.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN95[u]11.7-11.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN96[u]12.0-12.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN97[u]12.1-12.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN98[u]12.2-12.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN99[u]12.3-12.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN100[u]12.4-12.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN101[u]12.5-12.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN102[u]12.6-12.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN103[u]12.7-12.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN104[u]13.0-13.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN105[u]13.1-13.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN106[u]13.2-13.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN107[u]13.3-13.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN108[u]13.4-13.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN109[u]13.5-13.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN110[u]13.6-13.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN111[u]13.7-13.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN112[u]14.0-14.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN113[u]14.1-14.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN114[u]14.2-14.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN115[u]14.3-14.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN116[u]14.4-14.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN117[u]14.5-14.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN118[u]14.6-14.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN119[u]14.7-14.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN120[u]15.0-15.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN121[u]15.1-15.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN122[u]15.2-15.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN123[u]15.3-15.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN124[u]15.4-15.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN125[u]15.5-15.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN126[u]15.6-15.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN127[u]15.7-15.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN128[u]16.0-16.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN129[u]16.1-16.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN130[u]16.2-16.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN131[u]16.3-16.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN132[u]16.4-16.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN133[u]16.5-16.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN134[u]16.6-16.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN135[u]16.7-16.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN136[u]17.0-17.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN137[u]17.1-17.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN138[u]17.2-17.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN139[u]17.3-17.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN140[u]17.4-17.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN141[u]17.5-17.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN142[u]17.6-17.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN143[u]17.7-17.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN144[u]18.0-18.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN145[u]18.1-18.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN146[u]18.2-18.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN147[u]18.3-18.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN148[u]18.4-18.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN149[u]18.5-18.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN150[u]18.6-18.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN151[u]18.7-18.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN152[u]19.0-19.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN153[u]19.1-19.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN154[u]19.2-19.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN155[u]19.3-19.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN156[u]19.4-19.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN157[u]19.5-19.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN158[u]19.6-19.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN159[u]19.7-19.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN160[u]20.0-20.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN161[u]20.1-20.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN162[u]20.2-20.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN163[u]20.3-20.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN164[u]20.4-20.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN165[u]20.5-20.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN166[u]20.6-20.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN167[u]20.7-20.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN168[u]21.0-21.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN169[u]21.1-21.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN170[u]21.2-21.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN171[u]21.3-21.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN172[u]21.4-21.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN173[u]21.5-21.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN174[u]21.6-21.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN175[u]21.7-21.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN176[u]22.0-22.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN177[u]22.1-22.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN178[u]22.2-22.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN179[u]22.3-22.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN180[u]22.4-22.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN181[u]22.5-22.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN182[u]22.6-22.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN183[u]22.7-22.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN184[u]23.0-23.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN185[u]23.1-23.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN186[u]23.2-23.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN187[u]23.3-23.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN188[u]23.4-23.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN189[u]23.5-23.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN190[u]23.6-23.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN191[u]23.7-23.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN192[u]24.0-24.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN193[u]24.1-24.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN194[u]24.2-24.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN195[u]24.3-24.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN196[u]24.4-24.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN197[u]24.5-24.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN198[u]24.6-24.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN199[u]24.7-24.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN200[u]25.0-25.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN201[u]25.1-25.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN202[u]25.2-25.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN203[u]25.3-25.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN204[u]25.4-25.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN205[u]25.5-25.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN206[u]25.6-25.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN207[u]25.7-25.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN208[u]26.0-26.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN209[u]26.1-26.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN210[u]26.2-26.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN211[u]26.3-26.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN212[u]26.4-26.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN213[u]26.5-26.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN214[u]26.6-26.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN215[u]26.7-26.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN216[u]27.0-27.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN217[u]27.1-27.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN218[u]27.2-27.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN219[u]27.3-27.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN220[u]27.4-27.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN221[u]27.5-27.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN222[u]27.6-27.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN223[u]27.7-27.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN224[u]28.0-28.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN225[u]28.1-28.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN226[u]28.2-28.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN227[u]28.3-28.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN228[u]28.4-28.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN229[u]28.5-28.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN230[u]28.6-28.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN231[u]28.7-28.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN232[u]29.0-29.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN233[u]29.1-29.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN234[u]29.2-29.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN235[u]29.3-29.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN236[u]29.4-29.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN237[u]29.5-29.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN238[u]29.6-29.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN239[u]29.7-29.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN240[u]30.0-30.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN241[u]30.1-30.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN242[u]30.2-30.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN243[u]30.3-30.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN244[u]30.4-30.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN245[u]30.5-30.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN246[u]30.6-30.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN247[u]30.7-30.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN248[u]31.0-31.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN249[u]31.1-31.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN250[u]31.2-31.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN251[u]31.3-31.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN252[u]31.4-31.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN253[u]31.5-31.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN254[u]31.6-31.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN255[u]31.7-31.7[u]select - [v]0[opt]N - [v]1[opt]Y - [remark]
Define CSRR 0(country specific roaming restriction) lists to confine the roaming range of a subscriber.
The CSRR list defines the roaming restriction for 256 VPLMN ranges.
" - ::= { cSRRList 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.3.2 - cSRR1 OBJECT-TYPE - SYNTAX Opaque (SIZE (32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]VPLMN0[u]00.0-00.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN1[u]00.1-00.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN2[u]00.2-00.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN3[u]00.3-00.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN4[u]00.4-00.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN5[u]00.5-00.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN6[u]00.6-00.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN7[u]00.7-00.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN8[u]01.0-01.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN9[u]01.1-01.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN10[u]01.2-01.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN11[u]01.3-01.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN12[u]01.4-01.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN13[u]01.5-01.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN14[u]01.6-01.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN15[u]01.7-01.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN16[u]02.0-02.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN17[u]02.1-02.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN18[u]02.2-02.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN19[u]02.3-02.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN20[u]02.4-02.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN21[u]02.5-02.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN22[u]02.6-02.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN23[u]02.7-02.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN24[u]03.0-03.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN25[u]03.1-03.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN26[u]03.2-03.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN27[u]03.3-03.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN28[u]03.4-03.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN29[u]03.5-03.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN30[u]03.6-03.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN31[u]03.7-03.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN32[u]04.0-04.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN33[u]04.1-04.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN34[u]04.2-04.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN35[u]04.3-04.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN36[u]04.4-04.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN37[u]04.5-04.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN38[u]04.6-04.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN39[u]04.7-04.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN40[u]05.0-05.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN41[u]05.1-05.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN42[u]05.2-05.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN43[u]05.3-05.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN44[u]05.4-05.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN45[u]05.5-05.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN46[u]05.6-05.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN47[u]05.7-05.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN48[u]06.0-06.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN49[u]06.1-06.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN50[u]06.2-06.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN51[u]06.3-06.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN52[u]06.4-06.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN53[u]06.5-06.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN54[u]06.6-06.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN55[u]06.7-06.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN56[u]07.0-07.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN57[u]07.1-07.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN58[u]07.2-07.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN59[u]07.3-07.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN60[u]07.4-07.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN61[u]07.5-07.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN62[u]07.6-07.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN63[u]07.7-07.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN64[u]08.0-08.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN65[u]08.1-08.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN66[u]08.2-08.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN67[u]08.3-08.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN68[u]08.4-08.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN69[u]08.5-08.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN70[u]08.6-08.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN71[u]08.7-08.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN72[u]09.0-09.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN73[u]09.1-09.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN74[u]09.2-09.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN75[u]09.3-09.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN76[u]09.4-09.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN77[u]09.5-09.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN78[u]09.6-09.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN79[u]09.7-09.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN80[u]10.0-10.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN81[u]10.1-10.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN82[u]10.2-10.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN83[u]10.3-10.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN84[u]10.4-10.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN85[u]10.5-10.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN86[u]10.6-10.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN87[u]10.7-10.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN88[u]11.0-11.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN89[u]11.1-11.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN90[u]11.2-11.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN91[u]11.3-11.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN92[u]11.4-11.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN93[u]11.5-11.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN94[u]11.6-11.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN95[u]11.7-11.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN96[u]12.0-12.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN97[u]12.1-12.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN98[u]12.2-12.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN99[u]12.3-12.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN100[u]12.4-12.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN101[u]12.5-12.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN102[u]12.6-12.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN103[u]12.7-12.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN104[u]13.0-13.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN105[u]13.1-13.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN106[u]13.2-13.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN107[u]13.3-13.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN108[u]13.4-13.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN109[u]13.5-13.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN110[u]13.6-13.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN111[u]13.7-13.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN112[u]14.0-14.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN113[u]14.1-14.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN114[u]14.2-14.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN115[u]14.3-14.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN116[u]14.4-14.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN117[u]14.5-14.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN118[u]14.6-14.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN119[u]14.7-14.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN120[u]15.0-15.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN121[u]15.1-15.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN122[u]15.2-15.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN123[u]15.3-15.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN124[u]15.4-15.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN125[u]15.5-15.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN126[u]15.6-15.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN127[u]15.7-15.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN128[u]16.0-16.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN129[u]16.1-16.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN130[u]16.2-16.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN131[u]16.3-16.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN132[u]16.4-16.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN133[u]16.5-16.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN134[u]16.6-16.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN135[u]16.7-16.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN136[u]17.0-17.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN137[u]17.1-17.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN138[u]17.2-17.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN139[u]17.3-17.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN140[u]17.4-17.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN141[u]17.5-17.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN142[u]17.6-17.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN143[u]17.7-17.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN144[u]18.0-18.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN145[u]18.1-18.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN146[u]18.2-18.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN147[u]18.3-18.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN148[u]18.4-18.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN149[u]18.5-18.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN150[u]18.6-18.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN151[u]18.7-18.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN152[u]19.0-19.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN153[u]19.1-19.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN154[u]19.2-19.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN155[u]19.3-19.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN156[u]19.4-19.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN157[u]19.5-19.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN158[u]19.6-19.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN159[u]19.7-19.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN160[u]20.0-20.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN161[u]20.1-20.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN162[u]20.2-20.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN163[u]20.3-20.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN164[u]20.4-20.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN165[u]20.5-20.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN166[u]20.6-20.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN167[u]20.7-20.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN168[u]21.0-21.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN169[u]21.1-21.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN170[u]21.2-21.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN171[u]21.3-21.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN172[u]21.4-21.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN173[u]21.5-21.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN174[u]21.6-21.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN175[u]21.7-21.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN176[u]22.0-22.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN177[u]22.1-22.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN178[u]22.2-22.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN179[u]22.3-22.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN180[u]22.4-22.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN181[u]22.5-22.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN182[u]22.6-22.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN183[u]22.7-22.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN184[u]23.0-23.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN185[u]23.1-23.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN186[u]23.2-23.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN187[u]23.3-23.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN188[u]23.4-23.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN189[u]23.5-23.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN190[u]23.6-23.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN191[u]23.7-23.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN192[u]24.0-24.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN193[u]24.1-24.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN194[u]24.2-24.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN195[u]24.3-24.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN196[u]24.4-24.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN197[u]24.5-24.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN198[u]24.6-24.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN199[u]24.7-24.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN200[u]25.0-25.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN201[u]25.1-25.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN202[u]25.2-25.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN203[u]25.3-25.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN204[u]25.4-25.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN205[u]25.5-25.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN206[u]25.6-25.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN207[u]25.7-25.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN208[u]26.0-26.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN209[u]26.1-26.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN210[u]26.2-26.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN211[u]26.3-26.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN212[u]26.4-26.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN213[u]26.5-26.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN214[u]26.6-26.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN215[u]26.7-26.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN216[u]27.0-27.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN217[u]27.1-27.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN218[u]27.2-27.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN219[u]27.3-27.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN220[u]27.4-27.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN221[u]27.5-27.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN222[u]27.6-27.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN223[u]27.7-27.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN224[u]28.0-28.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN225[u]28.1-28.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN226[u]28.2-28.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN227[u]28.3-28.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN228[u]28.4-28.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN229[u]28.5-28.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN230[u]28.6-28.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN231[u]28.7-28.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN232[u]29.0-29.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN233[u]29.1-29.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN234[u]29.2-29.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN235[u]29.3-29.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN236[u]29.4-29.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN237[u]29.5-29.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN238[u]29.6-29.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN239[u]29.7-29.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN240[u]30.0-30.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN241[u]30.1-30.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN242[u]30.2-30.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN243[u]30.3-30.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN244[u]30.4-30.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN245[u]30.5-30.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN246[u]30.6-30.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN247[u]30.7-30.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN248[u]31.0-31.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN249[u]31.1-31.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN250[u]31.2-31.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN251[u]31.3-31.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN252[u]31.4-31.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN253[u]31.5-31.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN254[u]31.6-31.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN255[u]31.7-31.7[u]select - [v]0[opt]N - [v]1[opt]Y - [remark]
Define CSRR 1(country specific roaming restriction) lists to confine the roaming range of a subscriber.
The CSRR list defines the roaming restriction for 256 VPLMN ranges.
" - ::= { cSRRList 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.3.3 - cSRR2 OBJECT-TYPE - SYNTAX Opaque (SIZE (32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]VPLMN0[u]00.0-00.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN1[u]00.1-00.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN2[u]00.2-00.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN3[u]00.3-00.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN4[u]00.4-00.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN5[u]00.5-00.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN6[u]00.6-00.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN7[u]00.7-00.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN8[u]01.0-01.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN9[u]01.1-01.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN10[u]01.2-01.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN11[u]01.3-01.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN12[u]01.4-01.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN13[u]01.5-01.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN14[u]01.6-01.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN15[u]01.7-01.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN16[u]02.0-02.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN17[u]02.1-02.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN18[u]02.2-02.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN19[u]02.3-02.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN20[u]02.4-02.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN21[u]02.5-02.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN22[u]02.6-02.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN23[u]02.7-02.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN24[u]03.0-03.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN25[u]03.1-03.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN26[u]03.2-03.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN27[u]03.3-03.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN28[u]03.4-03.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN29[u]03.5-03.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN30[u]03.6-03.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN31[u]03.7-03.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN32[u]04.0-04.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN33[u]04.1-04.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN34[u]04.2-04.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN35[u]04.3-04.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN36[u]04.4-04.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN37[u]04.5-04.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN38[u]04.6-04.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN39[u]04.7-04.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN40[u]05.0-05.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN41[u]05.1-05.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN42[u]05.2-05.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN43[u]05.3-05.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN44[u]05.4-05.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN45[u]05.5-05.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN46[u]05.6-05.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN47[u]05.7-05.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN48[u]06.0-06.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN49[u]06.1-06.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN50[u]06.2-06.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN51[u]06.3-06.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN52[u]06.4-06.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN53[u]06.5-06.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN54[u]06.6-06.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN55[u]06.7-06.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN56[u]07.0-07.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN57[u]07.1-07.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN58[u]07.2-07.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN59[u]07.3-07.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN60[u]07.4-07.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN61[u]07.5-07.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN62[u]07.6-07.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN63[u]07.7-07.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN64[u]08.0-08.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN65[u]08.1-08.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN66[u]08.2-08.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN67[u]08.3-08.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN68[u]08.4-08.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN69[u]08.5-08.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN70[u]08.6-08.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN71[u]08.7-08.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN72[u]09.0-09.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN73[u]09.1-09.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN74[u]09.2-09.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN75[u]09.3-09.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN76[u]09.4-09.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN77[u]09.5-09.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN78[u]09.6-09.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN79[u]09.7-09.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN80[u]10.0-10.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN81[u]10.1-10.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN82[u]10.2-10.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN83[u]10.3-10.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN84[u]10.4-10.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN85[u]10.5-10.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN86[u]10.6-10.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN87[u]10.7-10.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN88[u]11.0-11.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN89[u]11.1-11.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN90[u]11.2-11.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN91[u]11.3-11.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN92[u]11.4-11.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN93[u]11.5-11.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN94[u]11.6-11.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN95[u]11.7-11.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN96[u]12.0-12.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN97[u]12.1-12.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN98[u]12.2-12.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN99[u]12.3-12.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN100[u]12.4-12.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN101[u]12.5-12.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN102[u]12.6-12.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN103[u]12.7-12.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN104[u]13.0-13.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN105[u]13.1-13.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN106[u]13.2-13.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN107[u]13.3-13.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN108[u]13.4-13.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN109[u]13.5-13.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN110[u]13.6-13.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN111[u]13.7-13.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN112[u]14.0-14.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN113[u]14.1-14.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN114[u]14.2-14.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN115[u]14.3-14.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN116[u]14.4-14.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN117[u]14.5-14.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN118[u]14.6-14.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN119[u]14.7-14.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN120[u]15.0-15.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN121[u]15.1-15.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN122[u]15.2-15.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN123[u]15.3-15.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN124[u]15.4-15.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN125[u]15.5-15.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN126[u]15.6-15.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN127[u]15.7-15.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN128[u]16.0-16.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN129[u]16.1-16.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN130[u]16.2-16.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN131[u]16.3-16.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN132[u]16.4-16.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN133[u]16.5-16.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN134[u]16.6-16.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN135[u]16.7-16.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN136[u]17.0-17.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN137[u]17.1-17.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN138[u]17.2-17.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN139[u]17.3-17.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN140[u]17.4-17.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN141[u]17.5-17.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN142[u]17.6-17.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN143[u]17.7-17.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN144[u]18.0-18.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN145[u]18.1-18.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN146[u]18.2-18.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN147[u]18.3-18.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN148[u]18.4-18.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN149[u]18.5-18.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN150[u]18.6-18.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN151[u]18.7-18.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN152[u]19.0-19.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN153[u]19.1-19.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN154[u]19.2-19.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN155[u]19.3-19.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN156[u]19.4-19.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN157[u]19.5-19.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN158[u]19.6-19.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN159[u]19.7-19.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN160[u]20.0-20.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN161[u]20.1-20.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN162[u]20.2-20.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN163[u]20.3-20.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN164[u]20.4-20.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN165[u]20.5-20.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN166[u]20.6-20.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN167[u]20.7-20.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN168[u]21.0-21.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN169[u]21.1-21.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN170[u]21.2-21.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN171[u]21.3-21.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN172[u]21.4-21.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN173[u]21.5-21.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN174[u]21.6-21.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN175[u]21.7-21.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN176[u]22.0-22.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN177[u]22.1-22.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN178[u]22.2-22.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN179[u]22.3-22.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN180[u]22.4-22.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN181[u]22.5-22.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN182[u]22.6-22.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN183[u]22.7-22.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN184[u]23.0-23.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN185[u]23.1-23.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN186[u]23.2-23.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN187[u]23.3-23.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN188[u]23.4-23.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN189[u]23.5-23.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN190[u]23.6-23.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN191[u]23.7-23.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN192[u]24.0-24.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN193[u]24.1-24.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN194[u]24.2-24.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN195[u]24.3-24.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN196[u]24.4-24.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN197[u]24.5-24.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN198[u]24.6-24.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN199[u]24.7-24.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN200[u]25.0-25.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN201[u]25.1-25.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN202[u]25.2-25.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN203[u]25.3-25.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN204[u]25.4-25.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN205[u]25.5-25.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN206[u]25.6-25.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN207[u]25.7-25.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN208[u]26.0-26.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN209[u]26.1-26.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN210[u]26.2-26.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN211[u]26.3-26.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN212[u]26.4-26.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN213[u]26.5-26.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN214[u]26.6-26.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN215[u]26.7-26.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN216[u]27.0-27.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN217[u]27.1-27.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN218[u]27.2-27.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN219[u]27.3-27.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN220[u]27.4-27.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN221[u]27.5-27.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN222[u]27.6-27.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN223[u]27.7-27.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN224[u]28.0-28.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN225[u]28.1-28.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN226[u]28.2-28.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN227[u]28.3-28.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN228[u]28.4-28.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN229[u]28.5-28.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN230[u]28.6-28.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN231[u]28.7-28.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN232[u]29.0-29.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN233[u]29.1-29.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN234[u]29.2-29.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN235[u]29.3-29.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN236[u]29.4-29.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN237[u]29.5-29.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN238[u]29.6-29.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN239[u]29.7-29.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN240[u]30.0-30.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN241[u]30.1-30.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN242[u]30.2-30.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN243[u]30.3-30.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN244[u]30.4-30.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN245[u]30.5-30.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN246[u]30.6-30.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN247[u]30.7-30.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN248[u]31.0-31.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN249[u]31.1-31.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN250[u]31.2-31.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN251[u]31.3-31.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN252[u]31.4-31.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN253[u]31.5-31.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN254[u]31.6-31.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN255[u]31.7-31.7[u]select - [v]0[opt]N - [v]1[opt]Y - [remark]
Define CSRR 2(country specific roaming restriction) lists to confine the roaming range of a subscriber.
The CSRR list defines the roaming restriction for 256 VPLMN ranges.
" - ::= { cSRRList 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.3.4 - cSRR3 OBJECT-TYPE - SYNTAX Opaque (SIZE (32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]VPLMN0[u]00.0-00.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN1[u]00.1-00.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN2[u]00.2-00.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN3[u]00.3-00.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN4[u]00.4-00.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN5[u]00.5-00.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN6[u]00.6-00.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN7[u]00.7-00.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN8[u]01.0-01.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN9[u]01.1-01.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN10[u]01.2-01.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN11[u]01.3-01.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN12[u]01.4-01.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN13[u]01.5-01.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN14[u]01.6-01.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN15[u]01.7-01.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN16[u]02.0-02.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN17[u]02.1-02.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN18[u]02.2-02.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN19[u]02.3-02.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN20[u]02.4-02.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN21[u]02.5-02.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN22[u]02.6-02.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN23[u]02.7-02.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN24[u]03.0-03.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN25[u]03.1-03.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN26[u]03.2-03.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN27[u]03.3-03.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN28[u]03.4-03.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN29[u]03.5-03.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN30[u]03.6-03.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN31[u]03.7-03.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN32[u]04.0-04.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN33[u]04.1-04.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN34[u]04.2-04.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN35[u]04.3-04.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN36[u]04.4-04.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN37[u]04.5-04.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN38[u]04.6-04.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN39[u]04.7-04.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN40[u]05.0-05.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN41[u]05.1-05.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN42[u]05.2-05.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN43[u]05.3-05.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN44[u]05.4-05.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN45[u]05.5-05.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN46[u]05.6-05.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN47[u]05.7-05.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN48[u]06.0-06.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN49[u]06.1-06.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN50[u]06.2-06.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN51[u]06.3-06.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN52[u]06.4-06.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN53[u]06.5-06.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN54[u]06.6-06.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN55[u]06.7-06.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN56[u]07.0-07.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN57[u]07.1-07.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN58[u]07.2-07.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN59[u]07.3-07.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN60[u]07.4-07.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN61[u]07.5-07.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN62[u]07.6-07.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN63[u]07.7-07.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN64[u]08.0-08.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN65[u]08.1-08.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN66[u]08.2-08.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN67[u]08.3-08.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN68[u]08.4-08.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN69[u]08.5-08.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN70[u]08.6-08.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN71[u]08.7-08.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN72[u]09.0-09.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN73[u]09.1-09.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN74[u]09.2-09.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN75[u]09.3-09.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN76[u]09.4-09.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN77[u]09.5-09.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN78[u]09.6-09.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN79[u]09.7-09.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN80[u]10.0-10.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN81[u]10.1-10.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN82[u]10.2-10.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN83[u]10.3-10.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN84[u]10.4-10.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN85[u]10.5-10.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN86[u]10.6-10.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN87[u]10.7-10.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN88[u]11.0-11.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN89[u]11.1-11.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN90[u]11.2-11.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN91[u]11.3-11.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN92[u]11.4-11.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN93[u]11.5-11.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN94[u]11.6-11.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN95[u]11.7-11.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN96[u]12.0-12.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN97[u]12.1-12.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN98[u]12.2-12.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN99[u]12.3-12.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN100[u]12.4-12.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN101[u]12.5-12.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN102[u]12.6-12.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN103[u]12.7-12.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN104[u]13.0-13.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN105[u]13.1-13.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN106[u]13.2-13.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN107[u]13.3-13.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN108[u]13.4-13.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN109[u]13.5-13.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN110[u]13.6-13.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN111[u]13.7-13.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN112[u]14.0-14.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN113[u]14.1-14.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN114[u]14.2-14.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN115[u]14.3-14.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN116[u]14.4-14.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN117[u]14.5-14.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN118[u]14.6-14.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN119[u]14.7-14.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN120[u]15.0-15.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN121[u]15.1-15.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN122[u]15.2-15.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN123[u]15.3-15.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN124[u]15.4-15.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN125[u]15.5-15.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN126[u]15.6-15.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN127[u]15.7-15.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN128[u]16.0-16.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN129[u]16.1-16.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN130[u]16.2-16.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN131[u]16.3-16.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN132[u]16.4-16.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN133[u]16.5-16.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN134[u]16.6-16.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN135[u]16.7-16.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN136[u]17.0-17.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN137[u]17.1-17.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN138[u]17.2-17.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN139[u]17.3-17.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN140[u]17.4-17.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN141[u]17.5-17.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN142[u]17.6-17.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN143[u]17.7-17.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN144[u]18.0-18.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN145[u]18.1-18.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN146[u]18.2-18.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN147[u]18.3-18.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN148[u]18.4-18.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN149[u]18.5-18.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN150[u]18.6-18.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN151[u]18.7-18.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN152[u]19.0-19.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN153[u]19.1-19.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN154[u]19.2-19.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN155[u]19.3-19.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN156[u]19.4-19.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN157[u]19.5-19.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN158[u]19.6-19.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN159[u]19.7-19.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN160[u]20.0-20.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN161[u]20.1-20.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN162[u]20.2-20.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN163[u]20.3-20.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN164[u]20.4-20.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN165[u]20.5-20.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN166[u]20.6-20.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN167[u]20.7-20.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN168[u]21.0-21.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN169[u]21.1-21.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN170[u]21.2-21.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN171[u]21.3-21.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN172[u]21.4-21.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN173[u]21.5-21.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN174[u]21.6-21.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN175[u]21.7-21.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN176[u]22.0-22.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN177[u]22.1-22.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN178[u]22.2-22.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN179[u]22.3-22.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN180[u]22.4-22.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN181[u]22.5-22.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN182[u]22.6-22.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN183[u]22.7-22.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN184[u]23.0-23.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN185[u]23.1-23.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN186[u]23.2-23.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN187[u]23.3-23.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN188[u]23.4-23.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN189[u]23.5-23.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN190[u]23.6-23.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN191[u]23.7-23.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN192[u]24.0-24.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN193[u]24.1-24.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN194[u]24.2-24.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN195[u]24.3-24.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN196[u]24.4-24.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN197[u]24.5-24.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN198[u]24.6-24.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN199[u]24.7-24.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN200[u]25.0-25.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN201[u]25.1-25.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN202[u]25.2-25.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN203[u]25.3-25.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN204[u]25.4-25.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN205[u]25.5-25.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN206[u]25.6-25.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN207[u]25.7-25.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN208[u]26.0-26.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN209[u]26.1-26.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN210[u]26.2-26.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN211[u]26.3-26.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN212[u]26.4-26.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN213[u]26.5-26.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN214[u]26.6-26.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN215[u]26.7-26.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN216[u]27.0-27.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN217[u]27.1-27.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN218[u]27.2-27.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN219[u]27.3-27.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN220[u]27.4-27.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN221[u]27.5-27.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN222[u]27.6-27.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN223[u]27.7-27.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN224[u]28.0-28.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN225[u]28.1-28.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN226[u]28.2-28.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN227[u]28.3-28.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN228[u]28.4-28.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN229[u]28.5-28.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN230[u]28.6-28.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN231[u]28.7-28.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN232[u]29.0-29.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN233[u]29.1-29.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN234[u]29.2-29.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN235[u]29.3-29.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN236[u]29.4-29.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN237[u]29.5-29.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN238[u]29.6-29.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN239[u]29.7-29.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN240[u]30.0-30.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN241[u]30.1-30.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN242[u]30.2-30.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN243[u]30.3-30.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN244[u]30.4-30.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN245[u]30.5-30.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN246[u]30.6-30.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN247[u]30.7-30.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN248[u]31.0-31.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN249[u]31.1-31.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN250[u]31.2-31.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN251[u]31.3-31.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN252[u]31.4-31.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN253[u]31.5-31.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN254[u]31.6-31.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN255[u]31.7-31.7[u]select - [v]0[opt]N - [v]1[opt]Y - [remark]
Define CSRR 3(country specific roaming restriction) lists to confine the roaming range of a subscriber.
The CSRR list defines the roaming restriction for 256 VPLMN ranges.
" - ::= { cSRRList 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.3.5 - cSRR4 OBJECT-TYPE - SYNTAX Opaque (SIZE (32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]VPLMN0[u]00.0-00.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN1[u]00.1-00.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN2[u]00.2-00.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN3[u]00.3-00.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN4[u]00.4-00.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN5[u]00.5-00.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN6[u]00.6-00.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN7[u]00.7-00.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN8[u]01.0-01.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN9[u]01.1-01.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN10[u]01.2-01.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN11[u]01.3-01.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN12[u]01.4-01.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN13[u]01.5-01.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN14[u]01.6-01.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN15[u]01.7-01.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN16[u]02.0-02.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN17[u]02.1-02.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN18[u]02.2-02.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN19[u]02.3-02.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN20[u]02.4-02.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN21[u]02.5-02.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN22[u]02.6-02.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN23[u]02.7-02.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN24[u]03.0-03.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN25[u]03.1-03.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN26[u]03.2-03.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN27[u]03.3-03.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN28[u]03.4-03.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN29[u]03.5-03.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN30[u]03.6-03.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN31[u]03.7-03.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN32[u]04.0-04.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN33[u]04.1-04.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN34[u]04.2-04.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN35[u]04.3-04.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN36[u]04.4-04.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN37[u]04.5-04.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN38[u]04.6-04.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN39[u]04.7-04.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN40[u]05.0-05.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN41[u]05.1-05.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN42[u]05.2-05.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN43[u]05.3-05.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN44[u]05.4-05.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN45[u]05.5-05.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN46[u]05.6-05.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN47[u]05.7-05.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN48[u]06.0-06.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN49[u]06.1-06.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN50[u]06.2-06.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN51[u]06.3-06.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN52[u]06.4-06.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN53[u]06.5-06.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN54[u]06.6-06.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN55[u]06.7-06.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN56[u]07.0-07.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN57[u]07.1-07.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN58[u]07.2-07.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN59[u]07.3-07.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN60[u]07.4-07.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN61[u]07.5-07.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN62[u]07.6-07.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN63[u]07.7-07.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN64[u]08.0-08.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN65[u]08.1-08.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN66[u]08.2-08.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN67[u]08.3-08.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN68[u]08.4-08.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN69[u]08.5-08.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN70[u]08.6-08.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN71[u]08.7-08.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN72[u]09.0-09.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN73[u]09.1-09.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN74[u]09.2-09.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN75[u]09.3-09.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN76[u]09.4-09.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN77[u]09.5-09.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN78[u]09.6-09.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN79[u]09.7-09.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN80[u]10.0-10.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN81[u]10.1-10.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN82[u]10.2-10.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN83[u]10.3-10.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN84[u]10.4-10.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN85[u]10.5-10.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN86[u]10.6-10.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN87[u]10.7-10.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN88[u]11.0-11.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN89[u]11.1-11.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN90[u]11.2-11.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN91[u]11.3-11.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN92[u]11.4-11.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN93[u]11.5-11.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN94[u]11.6-11.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN95[u]11.7-11.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN96[u]12.0-12.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN97[u]12.1-12.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN98[u]12.2-12.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN99[u]12.3-12.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN100[u]12.4-12.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN101[u]12.5-12.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN102[u]12.6-12.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN103[u]12.7-12.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN104[u]13.0-13.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN105[u]13.1-13.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN106[u]13.2-13.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN107[u]13.3-13.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN108[u]13.4-13.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN109[u]13.5-13.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN110[u]13.6-13.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN111[u]13.7-13.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN112[u]14.0-14.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN113[u]14.1-14.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN114[u]14.2-14.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN115[u]14.3-14.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN116[u]14.4-14.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN117[u]14.5-14.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN118[u]14.6-14.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN119[u]14.7-14.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN120[u]15.0-15.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN121[u]15.1-15.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN122[u]15.2-15.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN123[u]15.3-15.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN124[u]15.4-15.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN125[u]15.5-15.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN126[u]15.6-15.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN127[u]15.7-15.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN128[u]16.0-16.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN129[u]16.1-16.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN130[u]16.2-16.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN131[u]16.3-16.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN132[u]16.4-16.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN133[u]16.5-16.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN134[u]16.6-16.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN135[u]16.7-16.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN136[u]17.0-17.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN137[u]17.1-17.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN138[u]17.2-17.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN139[u]17.3-17.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN140[u]17.4-17.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN141[u]17.5-17.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN142[u]17.6-17.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN143[u]17.7-17.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN144[u]18.0-18.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN145[u]18.1-18.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN146[u]18.2-18.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN147[u]18.3-18.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN148[u]18.4-18.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN149[u]18.5-18.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN150[u]18.6-18.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN151[u]18.7-18.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN152[u]19.0-19.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN153[u]19.1-19.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN154[u]19.2-19.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN155[u]19.3-19.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN156[u]19.4-19.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN157[u]19.5-19.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN158[u]19.6-19.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN159[u]19.7-19.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN160[u]20.0-20.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN161[u]20.1-20.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN162[u]20.2-20.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN163[u]20.3-20.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN164[u]20.4-20.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN165[u]20.5-20.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN166[u]20.6-20.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN167[u]20.7-20.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN168[u]21.0-21.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN169[u]21.1-21.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN170[u]21.2-21.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN171[u]21.3-21.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN172[u]21.4-21.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN173[u]21.5-21.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN174[u]21.6-21.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN175[u]21.7-21.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN176[u]22.0-22.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN177[u]22.1-22.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN178[u]22.2-22.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN179[u]22.3-22.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN180[u]22.4-22.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN181[u]22.5-22.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN182[u]22.6-22.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN183[u]22.7-22.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN184[u]23.0-23.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN185[u]23.1-23.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN186[u]23.2-23.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN187[u]23.3-23.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN188[u]23.4-23.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN189[u]23.5-23.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN190[u]23.6-23.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN191[u]23.7-23.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN192[u]24.0-24.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN193[u]24.1-24.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN194[u]24.2-24.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN195[u]24.3-24.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN196[u]24.4-24.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN197[u]24.5-24.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN198[u]24.6-24.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN199[u]24.7-24.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN200[u]25.0-25.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN201[u]25.1-25.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN202[u]25.2-25.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN203[u]25.3-25.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN204[u]25.4-25.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN205[u]25.5-25.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN206[u]25.6-25.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN207[u]25.7-25.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN208[u]26.0-26.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN209[u]26.1-26.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN210[u]26.2-26.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN211[u]26.3-26.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN212[u]26.4-26.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN213[u]26.5-26.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN214[u]26.6-26.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN215[u]26.7-26.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN216[u]27.0-27.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN217[u]27.1-27.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN218[u]27.2-27.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN219[u]27.3-27.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN220[u]27.4-27.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN221[u]27.5-27.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN222[u]27.6-27.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN223[u]27.7-27.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN224[u]28.0-28.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN225[u]28.1-28.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN226[u]28.2-28.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN227[u]28.3-28.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN228[u]28.4-28.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN229[u]28.5-28.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN230[u]28.6-28.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN231[u]28.7-28.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN232[u]29.0-29.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN233[u]29.1-29.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN234[u]29.2-29.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN235[u]29.3-29.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN236[u]29.4-29.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN237[u]29.5-29.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN238[u]29.6-29.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN239[u]29.7-29.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN240[u]30.0-30.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN241[u]30.1-30.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN242[u]30.2-30.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN243[u]30.3-30.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN244[u]30.4-30.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN245[u]30.5-30.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN246[u]30.6-30.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN247[u]30.7-30.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN248[u]31.0-31.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN249[u]31.1-31.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN250[u]31.2-31.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN251[u]31.3-31.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN252[u]31.4-31.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN253[u]31.5-31.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN254[u]31.6-31.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN255[u]31.7-31.7[u]select - [v]0[opt]N - [v]1[opt]Y - [remark]
Define CSRR 4(country specific roaming restriction) lists to confine the roaming range of a subscriber.
The CSRR list defines the roaming restriction for 256 VPLMN ranges.
" - ::= { cSRRList 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.3.6 - cSRR5 OBJECT-TYPE - SYNTAX Opaque (SIZE (32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]VPLMN0[u]00.0-00.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN1[u]00.1-00.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN2[u]00.2-00.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN3[u]00.3-00.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN4[u]00.4-00.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN5[u]00.5-00.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN6[u]00.6-00.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN7[u]00.7-00.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN8[u]01.0-01.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN9[u]01.1-01.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN10[u]01.2-01.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN11[u]01.3-01.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN12[u]01.4-01.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN13[u]01.5-01.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN14[u]01.6-01.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN15[u]01.7-01.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN16[u]02.0-02.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN17[u]02.1-02.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN18[u]02.2-02.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN19[u]02.3-02.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN20[u]02.4-02.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN21[u]02.5-02.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN22[u]02.6-02.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN23[u]02.7-02.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN24[u]03.0-03.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN25[u]03.1-03.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN26[u]03.2-03.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN27[u]03.3-03.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN28[u]03.4-03.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN29[u]03.5-03.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN30[u]03.6-03.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN31[u]03.7-03.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN32[u]04.0-04.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN33[u]04.1-04.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN34[u]04.2-04.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN35[u]04.3-04.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN36[u]04.4-04.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN37[u]04.5-04.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN38[u]04.6-04.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN39[u]04.7-04.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN40[u]05.0-05.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN41[u]05.1-05.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN42[u]05.2-05.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN43[u]05.3-05.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN44[u]05.4-05.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN45[u]05.5-05.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN46[u]05.6-05.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN47[u]05.7-05.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN48[u]06.0-06.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN49[u]06.1-06.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN50[u]06.2-06.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN51[u]06.3-06.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN52[u]06.4-06.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN53[u]06.5-06.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN54[u]06.6-06.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN55[u]06.7-06.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN56[u]07.0-07.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN57[u]07.1-07.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN58[u]07.2-07.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN59[u]07.3-07.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN60[u]07.4-07.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN61[u]07.5-07.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN62[u]07.6-07.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN63[u]07.7-07.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN64[u]08.0-08.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN65[u]08.1-08.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN66[u]08.2-08.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN67[u]08.3-08.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN68[u]08.4-08.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN69[u]08.5-08.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN70[u]08.6-08.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN71[u]08.7-08.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN72[u]09.0-09.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN73[u]09.1-09.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN74[u]09.2-09.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN75[u]09.3-09.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN76[u]09.4-09.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN77[u]09.5-09.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN78[u]09.6-09.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN79[u]09.7-09.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN80[u]10.0-10.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN81[u]10.1-10.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN82[u]10.2-10.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN83[u]10.3-10.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN84[u]10.4-10.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN85[u]10.5-10.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN86[u]10.6-10.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN87[u]10.7-10.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN88[u]11.0-11.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN89[u]11.1-11.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN90[u]11.2-11.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN91[u]11.3-11.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN92[u]11.4-11.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN93[u]11.5-11.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN94[u]11.6-11.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN95[u]11.7-11.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN96[u]12.0-12.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN97[u]12.1-12.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN98[u]12.2-12.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN99[u]12.3-12.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN100[u]12.4-12.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN101[u]12.5-12.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN102[u]12.6-12.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN103[u]12.7-12.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN104[u]13.0-13.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN105[u]13.1-13.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN106[u]13.2-13.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN107[u]13.3-13.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN108[u]13.4-13.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN109[u]13.5-13.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN110[u]13.6-13.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN111[u]13.7-13.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN112[u]14.0-14.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN113[u]14.1-14.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN114[u]14.2-14.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN115[u]14.3-14.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN116[u]14.4-14.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN117[u]14.5-14.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN118[u]14.6-14.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN119[u]14.7-14.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN120[u]15.0-15.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN121[u]15.1-15.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN122[u]15.2-15.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN123[u]15.3-15.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN124[u]15.4-15.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN125[u]15.5-15.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN126[u]15.6-15.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN127[u]15.7-15.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN128[u]16.0-16.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN129[u]16.1-16.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN130[u]16.2-16.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN131[u]16.3-16.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN132[u]16.4-16.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN133[u]16.5-16.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN134[u]16.6-16.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN135[u]16.7-16.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN136[u]17.0-17.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN137[u]17.1-17.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN138[u]17.2-17.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN139[u]17.3-17.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN140[u]17.4-17.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN141[u]17.5-17.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN142[u]17.6-17.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN143[u]17.7-17.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN144[u]18.0-18.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN145[u]18.1-18.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN146[u]18.2-18.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN147[u]18.3-18.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN148[u]18.4-18.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN149[u]18.5-18.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN150[u]18.6-18.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN151[u]18.7-18.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN152[u]19.0-19.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN153[u]19.1-19.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN154[u]19.2-19.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN155[u]19.3-19.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN156[u]19.4-19.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN157[u]19.5-19.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN158[u]19.6-19.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN159[u]19.7-19.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN160[u]20.0-20.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN161[u]20.1-20.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN162[u]20.2-20.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN163[u]20.3-20.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN164[u]20.4-20.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN165[u]20.5-20.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN166[u]20.6-20.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN167[u]20.7-20.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN168[u]21.0-21.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN169[u]21.1-21.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN170[u]21.2-21.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN171[u]21.3-21.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN172[u]21.4-21.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN173[u]21.5-21.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN174[u]21.6-21.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN175[u]21.7-21.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN176[u]22.0-22.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN177[u]22.1-22.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN178[u]22.2-22.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN179[u]22.3-22.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN180[u]22.4-22.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN181[u]22.5-22.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN182[u]22.6-22.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN183[u]22.7-22.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN184[u]23.0-23.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN185[u]23.1-23.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN186[u]23.2-23.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN187[u]23.3-23.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN188[u]23.4-23.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN189[u]23.5-23.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN190[u]23.6-23.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN191[u]23.7-23.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN192[u]24.0-24.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN193[u]24.1-24.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN194[u]24.2-24.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN195[u]24.3-24.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN196[u]24.4-24.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN197[u]24.5-24.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN198[u]24.6-24.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN199[u]24.7-24.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN200[u]25.0-25.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN201[u]25.1-25.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN202[u]25.2-25.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN203[u]25.3-25.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN204[u]25.4-25.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN205[u]25.5-25.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN206[u]25.6-25.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN207[u]25.7-25.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN208[u]26.0-26.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN209[u]26.1-26.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN210[u]26.2-26.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN211[u]26.3-26.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN212[u]26.4-26.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN213[u]26.5-26.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN214[u]26.6-26.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN215[u]26.7-26.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN216[u]27.0-27.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN217[u]27.1-27.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN218[u]27.2-27.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN219[u]27.3-27.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN220[u]27.4-27.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN221[u]27.5-27.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN222[u]27.6-27.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN223[u]27.7-27.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN224[u]28.0-28.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN225[u]28.1-28.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN226[u]28.2-28.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN227[u]28.3-28.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN228[u]28.4-28.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN229[u]28.5-28.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN230[u]28.6-28.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN231[u]28.7-28.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN232[u]29.0-29.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN233[u]29.1-29.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN234[u]29.2-29.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN235[u]29.3-29.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN236[u]29.4-29.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN237[u]29.5-29.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN238[u]29.6-29.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN239[u]29.7-29.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN240[u]30.0-30.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN241[u]30.1-30.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN242[u]30.2-30.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN243[u]30.3-30.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN244[u]30.4-30.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN245[u]30.5-30.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN246[u]30.6-30.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN247[u]30.7-30.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN248[u]31.0-31.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN249[u]31.1-31.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN250[u]31.2-31.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN251[u]31.3-31.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN252[u]31.4-31.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN253[u]31.5-31.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN254[u]31.6-31.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN255[u]31.7-31.7[u]select - [v]0[opt]N - [v]1[opt]Y - [remark]
Define CSRR 5(country specific roaming restriction) lists to confine the roaming range of a subscriber.
The CSRR list defines the roaming restriction for 256 VPLMN ranges.
" - ::= { cSRRList 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.3.7 - cSRR6 OBJECT-TYPE - SYNTAX Opaque (SIZE (32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]VPLMN0[u]00.0-00.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN1[u]00.1-00.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN2[u]00.2-00.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN3[u]00.3-00.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN4[u]00.4-00.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN5[u]00.5-00.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN6[u]00.6-00.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN7[u]00.7-00.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN8[u]01.0-01.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN9[u]01.1-01.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN10[u]01.2-01.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN11[u]01.3-01.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN12[u]01.4-01.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN13[u]01.5-01.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN14[u]01.6-01.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN15[u]01.7-01.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN16[u]02.0-02.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN17[u]02.1-02.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN18[u]02.2-02.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN19[u]02.3-02.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN20[u]02.4-02.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN21[u]02.5-02.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN22[u]02.6-02.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN23[u]02.7-02.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN24[u]03.0-03.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN25[u]03.1-03.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN26[u]03.2-03.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN27[u]03.3-03.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN28[u]03.4-03.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN29[u]03.5-03.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN30[u]03.6-03.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN31[u]03.7-03.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN32[u]04.0-04.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN33[u]04.1-04.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN34[u]04.2-04.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN35[u]04.3-04.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN36[u]04.4-04.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN37[u]04.5-04.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN38[u]04.6-04.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN39[u]04.7-04.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN40[u]05.0-05.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN41[u]05.1-05.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN42[u]05.2-05.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN43[u]05.3-05.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN44[u]05.4-05.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN45[u]05.5-05.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN46[u]05.6-05.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN47[u]05.7-05.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN48[u]06.0-06.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN49[u]06.1-06.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN50[u]06.2-06.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN51[u]06.3-06.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN52[u]06.4-06.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN53[u]06.5-06.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN54[u]06.6-06.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN55[u]06.7-06.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN56[u]07.0-07.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN57[u]07.1-07.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN58[u]07.2-07.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN59[u]07.3-07.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN60[u]07.4-07.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN61[u]07.5-07.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN62[u]07.6-07.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN63[u]07.7-07.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN64[u]08.0-08.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN65[u]08.1-08.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN66[u]08.2-08.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN67[u]08.3-08.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN68[u]08.4-08.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN69[u]08.5-08.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN70[u]08.6-08.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN71[u]08.7-08.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN72[u]09.0-09.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN73[u]09.1-09.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN74[u]09.2-09.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN75[u]09.3-09.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN76[u]09.4-09.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN77[u]09.5-09.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN78[u]09.6-09.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN79[u]09.7-09.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN80[u]10.0-10.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN81[u]10.1-10.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN82[u]10.2-10.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN83[u]10.3-10.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN84[u]10.4-10.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN85[u]10.5-10.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN86[u]10.6-10.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN87[u]10.7-10.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN88[u]11.0-11.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN89[u]11.1-11.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN90[u]11.2-11.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN91[u]11.3-11.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN92[u]11.4-11.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN93[u]11.5-11.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN94[u]11.6-11.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN95[u]11.7-11.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN96[u]12.0-12.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN97[u]12.1-12.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN98[u]12.2-12.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN99[u]12.3-12.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN100[u]12.4-12.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN101[u]12.5-12.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN102[u]12.6-12.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN103[u]12.7-12.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN104[u]13.0-13.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN105[u]13.1-13.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN106[u]13.2-13.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN107[u]13.3-13.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN108[u]13.4-13.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN109[u]13.5-13.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN110[u]13.6-13.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN111[u]13.7-13.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN112[u]14.0-14.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN113[u]14.1-14.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN114[u]14.2-14.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN115[u]14.3-14.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN116[u]14.4-14.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN117[u]14.5-14.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN118[u]14.6-14.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN119[u]14.7-14.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN120[u]15.0-15.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN121[u]15.1-15.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN122[u]15.2-15.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN123[u]15.3-15.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN124[u]15.4-15.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN125[u]15.5-15.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN126[u]15.6-15.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN127[u]15.7-15.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN128[u]16.0-16.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN129[u]16.1-16.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN130[u]16.2-16.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN131[u]16.3-16.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN132[u]16.4-16.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN133[u]16.5-16.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN134[u]16.6-16.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN135[u]16.7-16.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN136[u]17.0-17.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN137[u]17.1-17.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN138[u]17.2-17.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN139[u]17.3-17.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN140[u]17.4-17.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN141[u]17.5-17.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN142[u]17.6-17.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN143[u]17.7-17.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN144[u]18.0-18.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN145[u]18.1-18.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN146[u]18.2-18.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN147[u]18.3-18.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN148[u]18.4-18.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN149[u]18.5-18.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN150[u]18.6-18.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN151[u]18.7-18.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN152[u]19.0-19.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN153[u]19.1-19.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN154[u]19.2-19.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN155[u]19.3-19.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN156[u]19.4-19.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN157[u]19.5-19.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN158[u]19.6-19.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN159[u]19.7-19.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN160[u]20.0-20.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN161[u]20.1-20.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN162[u]20.2-20.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN163[u]20.3-20.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN164[u]20.4-20.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN165[u]20.5-20.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN166[u]20.6-20.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN167[u]20.7-20.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN168[u]21.0-21.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN169[u]21.1-21.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN170[u]21.2-21.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN171[u]21.3-21.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN172[u]21.4-21.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN173[u]21.5-21.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN174[u]21.6-21.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN175[u]21.7-21.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN176[u]22.0-22.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN177[u]22.1-22.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN178[u]22.2-22.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN179[u]22.3-22.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN180[u]22.4-22.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN181[u]22.5-22.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN182[u]22.6-22.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN183[u]22.7-22.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN184[u]23.0-23.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN185[u]23.1-23.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN186[u]23.2-23.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN187[u]23.3-23.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN188[u]23.4-23.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN189[u]23.5-23.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN190[u]23.6-23.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN191[u]23.7-23.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN192[u]24.0-24.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN193[u]24.1-24.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN194[u]24.2-24.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN195[u]24.3-24.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN196[u]24.4-24.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN197[u]24.5-24.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN198[u]24.6-24.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN199[u]24.7-24.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN200[u]25.0-25.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN201[u]25.1-25.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN202[u]25.2-25.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN203[u]25.3-25.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN204[u]25.4-25.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN205[u]25.5-25.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN206[u]25.6-25.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN207[u]25.7-25.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN208[u]26.0-26.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN209[u]26.1-26.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN210[u]26.2-26.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN211[u]26.3-26.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN212[u]26.4-26.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN213[u]26.5-26.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN214[u]26.6-26.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN215[u]26.7-26.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN216[u]27.0-27.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN217[u]27.1-27.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN218[u]27.2-27.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN219[u]27.3-27.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN220[u]27.4-27.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN221[u]27.5-27.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN222[u]27.6-27.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN223[u]27.7-27.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN224[u]28.0-28.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN225[u]28.1-28.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN226[u]28.2-28.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN227[u]28.3-28.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN228[u]28.4-28.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN229[u]28.5-28.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN230[u]28.6-28.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN231[u]28.7-28.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN232[u]29.0-29.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN233[u]29.1-29.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN234[u]29.2-29.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN235[u]29.3-29.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN236[u]29.4-29.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN237[u]29.5-29.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN238[u]29.6-29.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN239[u]29.7-29.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN240[u]30.0-30.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN241[u]30.1-30.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN242[u]30.2-30.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN243[u]30.3-30.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN244[u]30.4-30.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN245[u]30.5-30.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN246[u]30.6-30.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN247[u]30.7-30.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN248[u]31.0-31.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN249[u]31.1-31.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN250[u]31.2-31.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN251[u]31.3-31.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN252[u]31.4-31.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN253[u]31.5-31.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN254[u]31.6-31.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN255[u]31.7-31.7[u]select - [v]0[opt]N - [v]1[opt]Y - [remark]
Define CSRR 6(country specific roaming restriction) lists to confine the roaming range of a subscriber.
The CSRR list defines the roaming restriction for 256 VPLMN ranges.
" - ::= { cSRRList 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.3.8 - cSRR7 OBJECT-TYPE - SYNTAX Opaque (SIZE (32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]VPLMN0[u]00.0-00.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN1[u]00.1-00.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN2[u]00.2-00.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN3[u]00.3-00.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN4[u]00.4-00.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN5[u]00.5-00.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN6[u]00.6-00.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN7[u]00.7-00.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN8[u]01.0-01.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN9[u]01.1-01.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN10[u]01.2-01.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN11[u]01.3-01.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN12[u]01.4-01.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN13[u]01.5-01.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN14[u]01.6-01.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN15[u]01.7-01.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN16[u]02.0-02.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN17[u]02.1-02.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN18[u]02.2-02.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN19[u]02.3-02.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN20[u]02.4-02.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN21[u]02.5-02.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN22[u]02.6-02.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN23[u]02.7-02.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN24[u]03.0-03.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN25[u]03.1-03.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN26[u]03.2-03.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN27[u]03.3-03.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN28[u]03.4-03.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN29[u]03.5-03.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN30[u]03.6-03.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN31[u]03.7-03.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN32[u]04.0-04.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN33[u]04.1-04.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN34[u]04.2-04.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN35[u]04.3-04.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN36[u]04.4-04.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN37[u]04.5-04.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN38[u]04.6-04.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN39[u]04.7-04.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN40[u]05.0-05.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN41[u]05.1-05.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN42[u]05.2-05.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN43[u]05.3-05.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN44[u]05.4-05.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN45[u]05.5-05.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN46[u]05.6-05.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN47[u]05.7-05.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN48[u]06.0-06.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN49[u]06.1-06.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN50[u]06.2-06.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN51[u]06.3-06.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN52[u]06.4-06.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN53[u]06.5-06.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN54[u]06.6-06.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN55[u]06.7-06.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN56[u]07.0-07.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN57[u]07.1-07.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN58[u]07.2-07.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN59[u]07.3-07.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN60[u]07.4-07.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN61[u]07.5-07.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN62[u]07.6-07.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN63[u]07.7-07.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN64[u]08.0-08.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN65[u]08.1-08.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN66[u]08.2-08.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN67[u]08.3-08.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN68[u]08.4-08.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN69[u]08.5-08.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN70[u]08.6-08.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN71[u]08.7-08.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN72[u]09.0-09.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN73[u]09.1-09.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN74[u]09.2-09.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN75[u]09.3-09.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN76[u]09.4-09.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN77[u]09.5-09.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN78[u]09.6-09.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN79[u]09.7-09.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN80[u]10.0-10.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN81[u]10.1-10.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN82[u]10.2-10.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN83[u]10.3-10.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN84[u]10.4-10.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN85[u]10.5-10.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN86[u]10.6-10.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN87[u]10.7-10.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN88[u]11.0-11.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN89[u]11.1-11.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN90[u]11.2-11.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN91[u]11.3-11.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN92[u]11.4-11.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN93[u]11.5-11.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN94[u]11.6-11.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN95[u]11.7-11.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN96[u]12.0-12.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN97[u]12.1-12.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN98[u]12.2-12.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN99[u]12.3-12.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN100[u]12.4-12.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN101[u]12.5-12.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN102[u]12.6-12.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN103[u]12.7-12.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN104[u]13.0-13.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN105[u]13.1-13.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN106[u]13.2-13.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN107[u]13.3-13.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN108[u]13.4-13.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN109[u]13.5-13.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN110[u]13.6-13.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN111[u]13.7-13.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN112[u]14.0-14.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN113[u]14.1-14.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN114[u]14.2-14.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN115[u]14.3-14.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN116[u]14.4-14.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN117[u]14.5-14.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN118[u]14.6-14.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN119[u]14.7-14.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN120[u]15.0-15.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN121[u]15.1-15.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN122[u]15.2-15.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN123[u]15.3-15.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN124[u]15.4-15.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN125[u]15.5-15.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN126[u]15.6-15.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN127[u]15.7-15.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN128[u]16.0-16.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN129[u]16.1-16.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN130[u]16.2-16.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN131[u]16.3-16.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN132[u]16.4-16.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN133[u]16.5-16.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN134[u]16.6-16.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN135[u]16.7-16.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN136[u]17.0-17.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN137[u]17.1-17.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN138[u]17.2-17.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN139[u]17.3-17.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN140[u]17.4-17.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN141[u]17.5-17.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN142[u]17.6-17.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN143[u]17.7-17.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN144[u]18.0-18.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN145[u]18.1-18.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN146[u]18.2-18.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN147[u]18.3-18.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN148[u]18.4-18.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN149[u]18.5-18.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN150[u]18.6-18.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN151[u]18.7-18.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN152[u]19.0-19.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN153[u]19.1-19.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN154[u]19.2-19.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN155[u]19.3-19.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN156[u]19.4-19.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN157[u]19.5-19.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN158[u]19.6-19.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN159[u]19.7-19.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN160[u]20.0-20.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN161[u]20.1-20.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN162[u]20.2-20.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN163[u]20.3-20.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN164[u]20.4-20.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN165[u]20.5-20.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN166[u]20.6-20.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN167[u]20.7-20.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN168[u]21.0-21.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN169[u]21.1-21.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN170[u]21.2-21.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN171[u]21.3-21.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN172[u]21.4-21.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN173[u]21.5-21.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN174[u]21.6-21.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN175[u]21.7-21.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN176[u]22.0-22.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN177[u]22.1-22.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN178[u]22.2-22.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN179[u]22.3-22.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN180[u]22.4-22.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN181[u]22.5-22.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN182[u]22.6-22.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN183[u]22.7-22.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN184[u]23.0-23.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN185[u]23.1-23.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN186[u]23.2-23.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN187[u]23.3-23.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN188[u]23.4-23.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN189[u]23.5-23.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN190[u]23.6-23.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN191[u]23.7-23.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN192[u]24.0-24.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN193[u]24.1-24.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN194[u]24.2-24.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN195[u]24.3-24.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN196[u]24.4-24.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN197[u]24.5-24.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN198[u]24.6-24.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN199[u]24.7-24.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN200[u]25.0-25.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN201[u]25.1-25.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN202[u]25.2-25.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN203[u]25.3-25.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN204[u]25.4-25.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN205[u]25.5-25.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN206[u]25.6-25.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN207[u]25.7-25.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN208[u]26.0-26.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN209[u]26.1-26.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN210[u]26.2-26.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN211[u]26.3-26.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN212[u]26.4-26.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN213[u]26.5-26.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN214[u]26.6-26.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN215[u]26.7-26.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN216[u]27.0-27.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN217[u]27.1-27.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN218[u]27.2-27.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN219[u]27.3-27.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN220[u]27.4-27.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN221[u]27.5-27.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN222[u]27.6-27.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN223[u]27.7-27.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN224[u]28.0-28.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN225[u]28.1-28.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN226[u]28.2-28.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN227[u]28.3-28.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN228[u]28.4-28.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN229[u]28.5-28.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN230[u]28.6-28.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN231[u]28.7-28.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN232[u]29.0-29.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN233[u]29.1-29.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN234[u]29.2-29.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN235[u]29.3-29.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN236[u]29.4-29.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN237[u]29.5-29.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN238[u]29.6-29.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN239[u]29.7-29.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN240[u]30.0-30.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN241[u]30.1-30.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN242[u]30.2-30.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN243[u]30.3-30.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN244[u]30.4-30.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN245[u]30.5-30.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN246[u]30.6-30.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN247[u]30.7-30.7[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN248[u]31.0-31.0[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN249[u]31.1-31.1[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN250[u]31.2-31.2[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN251[u]31.3-31.3[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN252[u]31.4-31.4[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN253[u]31.5-31.5[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN254[u]31.6-31.6[u]select - [v]0[opt]N - [v]1[opt]Y - [unit]VPLMN255[u]31.7-31.7[u]select - [v]0[opt]N - [v]1[opt]Y - [remark]
Define CSRR 7(country specific roaming restriction) lists to confine the roaming range of a subscriber.
The CSRR list defines the roaming restriction for 256 VPLMN ranges.
" - ::= { cSRRList 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.4 - rSZIList OBJECT IDENTIFIER ::= { parameter 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.4.1 - rSZITable OBJECT-TYPE - SYNTAX SEQUENCE OF RSZIEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { rSZIList 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.4.1.1 - rSZIEntry OBJECT-TYPE - SYNTAX RSZIEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { rsziIndex } - ::= { rSZITable 1 } - - - RSZIEntry ::= - SEQUENCE { - rsziIndex - INTEGER, - rsziCC - OCTET STRING, - rsziNDC - OCTET STRING, - rsziZoneCode - INTEGER, - rsziRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.4.1.1.1 - rsziIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:RSZI (Regional Subscription Zone Identity) index number ranges from 0 to 255." - ::= { rSZIEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.4.1.1.2 - rsziCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CC - Remark:The Country Code of the regional subscription zone." - ::= { rSZIEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.4.1.1.3 - rsziNDC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NDC - Remark:The National Destination Code of the regional subscription zone." - ::= { rSZIEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.4.1.1.4 - rsziZoneCode OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Zone Code - Remark:The regional subscription zone code." - ::= { rSZIEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.4.1.1.5 - rsziRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rSZIEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.5 - faxGSMBC OBJECT IDENTIFIER ::= { parameter 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.5.1 - faxGSMBCTable OBJECT-TYPE - SYNTAX SEQUENCE OF FaxGSMBCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { faxGSMBC 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.5.1.1 - faxGSMBCEntry OBJECT-TYPE - SYNTAX FaxGSMBCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { fgIndex } - ::= { faxGSMBCTable 1 } - - - FaxGSMBCEntry ::= - SEQUENCE { - fgIndex - INTEGER, - fgBearerCapability - OCTET STRING, - fgRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.5.1.1.1 - fgIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number of this Fax GSM Bearer Capability entry." - ::= { faxGSMBCEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.5.1.1.2 - fgBearerCapability OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..14)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Bearer Capability - Remark:Define the GSM Bearer Capability for fax service.
- Default = A3B88120156380" - ::= { faxGSMBCEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.5.1.1.3 - fgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { faxGSMBCEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.6 - dataGSMBC OBJECT IDENTIFIER ::= { parameter 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.6.1 - dataGSMBCTable OBJECT-TYPE - SYNTAX SEQUENCE OF DataGSMBCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { dataGSMBC 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.6.1.1 - dataGSMBCEntry OBJECT-TYPE - SYNTAX DataGSMBCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { dgIndex } - ::= { dataGSMBCTable 1 } - - - DataGSMBCEntry ::= - SEQUENCE { - dgIndex - INTEGER, - dgBearerCapability - OCTET STRING, - dgRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.6.1.1.1 - dgIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number of this Data GSM Bearer Capability entry." - ::= { dataGSMBCEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.6.1.1.2 - dgBearerCapability OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..14)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Bearer Capability - Remark:Define the GSM Bearer Capability for data service.
- Default = A28881211563A8" - ::= { dataGSMBCEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.6.1.1.3 - dgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { dataGSMBCEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8 - uSSD OBJECT IDENTIFIER ::= { parameter 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8.1 - uSSDFormatString OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:USSD Format - Remark:The access code of USSD service. Start with 2-3 digits of '*' or '#' . End with '#'. Separate sections by '*'.
Contents can be added:

- C/c = Service Code
- R/r = Router Indicator
- B = Blank
- S = Supplement Info

For example: **C3B*S#" - ::= { uSSD 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8.2 - uGCsiServiceCode0 OBJECT-TYPE - SYNTAX INTEGER (0..9999) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:UG-CSI Service Code 0 - Remark:Service code for UG-CSI (USSD General - CAMEL Subscription Information). Prepaid subscriber dials service code to apply different prepaid services.
For example: Service Code = 111, prepaid user dials **1215111*# to enquire account info." - ::= { uSSD 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8.3 - uGCsiGSMSCFAddr0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..18)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:UG-CSI SCF Address 0 - Remark:SCP address for UG-CSI (USSD General - CAMEL Subscription Information). The E.164 number of the SCP-MAP.
- Format = 91+CC+NDC+SN" - ::= { uSSD 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8.4 - uGCsiServiceCode1 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:UG-CSI Service Code 1 - Remark:Service code for UG-CSI (USSD General - CAMEL Subscription Information). Prepaid subscriber dials service code to apply different prepaid services." - ::= { uSSD 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8.5 - uGCsiGSMSCFAddr1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..18)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:UG-CSI SCF Address 1 - Remark:SCP address for UG-CSI (USSD General - CAMEL Subscription Information). The E.164 number of the SCP-MAP.
- Format = 91+CC+NDC+SN" - ::= { uSSD 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8.6 - uGCsiServiceCode2 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:UG-CSI Service Code 2 - Remark:Service code for UG-CSI (USSD General - CAMEL Subscription Information). Prepaid subscriber dials service code to apply different prepaid services." - ::= { uSSD 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8.7 - uGCsiGSMSCFAddr2 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..18)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:UG-CSI SCF Address 2 - Remark:SCP address for UG-CSI (USSD General - CAMEL Subscription Information). The E.164 number of the SCP-MAP.
- Format = 91+CC+NDC+SN" - ::= { uSSD 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8.8 - uGCsiServiceCode3 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:UG-CSI Service Code 3 - Remark:Service code for UG-CSI (USSD General - CAMEL Subscription Information). Prepaid subscriber dials service code to apply different prepaid services." - ::= { uSSD 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.8.9 - uGCsiGSMSCFAddr3 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..18)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:UG-CSI SCF Address 3 - Remark:SCP address for UG-CSI (USSD General - CAMEL Subscription Information). The E.164 number of the SCP-MAP.
- Format = 91+CC+NDC+SN" - ::= { uSSD 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.10 - ussdEAE OBJECT IDENTIFIER ::= { parameter 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.10.1 - ussdEAETable OBJECT-TYPE - SYNTAX SEQUENCE OF UssdEAEEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:USSD EAE" - ::= { ussdEAE 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.10.1.1 - ussdEAEEntry OBJECT-TYPE - SYNTAX UssdEAEEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:USSD EAE" - INDEX { ueIndex } - ::= { ussdEAETable 1 } - - - UssdEAEEntry ::= - SEQUENCE { - ueIndex - INTEGER, - ueServiceCode - INTEGER, - ueServiceNum - OCTET STRING, - ueRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.10.1.1.1 - ueIndex OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:USSD EAE (Extended Application Entity) index number ranges from 0 to 127." - ::= { ussdEAEEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.10.1.1.2 - ueServiceCode OBJECT-TYPE - SYNTAX INTEGER (0..9999) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Code - Remark:Subscriber dials service code to access different USSD services." - ::= { ussdEAEEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.10.1.1.3 - ueServiceNum OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..9)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Number - Remark:Enter the identical Service Number as that set in SMPP configuration to connect with the third party USSD server." - ::= { ussdEAEEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.10.1.1.4 - ueRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { ussdEAEEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11 - epsAPN OBJECT IDENTIFIER ::= { parameter 11 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11.1 - epsAPNTable OBJECT-TYPE - SYNTAX SEQUENCE OF EpsAPNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:EPS APN" - ::= { epsAPN 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11.1.1 - epsAPNEntry OBJECT-TYPE - SYNTAX EpsAPNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:EPS APN" - INDEX { apnIndex } - ::= { epsAPNTable 1 } - - - EpsAPNEntry ::= - SEQUENCE { - apnIndex - INTEGER, - apnContextId - INTEGER, - apnPDNType - INTEGER, - apnQOSClassId - INTEGER, - apnVPLMNAllowed - INTEGER, - apnVisitedNetworkId - OCTET STRING, - apnPDNGWAllocationType - INTEGER, - apnPDNGWIdentity - OCTET STRING, - apnAMBRUL - INTEGER, - apnAMBRDL - INTEGER, - apnChargingCharacteristics - OCTET STRING, - apnServiceSelection - OCTET STRING, - apnOIReplacement - OCTET STRING, - apnRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11.1.1.1 - apnIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { epsAPNEntry 1 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11.1.1.2 - apnContextId OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Context Id" - ::= { epsAPNEntry 2 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11.1.1.3 - apnPDNType OBJECT-TYPE - SYNTAX INTEGER - { - IPv4(0), - IPv6(1), - IPv4v6(2), - IPv4orIPv6(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:PDN Type" - DEFVAL { IPv4 } - ::= { epsAPNEntry 3 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11.1.1.4 - apnQOSClassId OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Qos Class Id" - ::= { epsAPNEntry 4 } - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11.1.1.5 - apnVPLMNAllowed OBJECT-TYPE - SYNTAX INTEGER - { - NOTALLOWED(0), - ALLOWED(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter" - DEFVAL { ALLOWED } - ::= { epsAPNEntry 5 } - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11.1.1.6 - apnVisitedNetworkId OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter" - ::= { epsAPNEntry 6 } - - apnPDNGWAllocationType OBJECT-TYPE - SYNTAX INTEGER - { - STATIC(0), - DYNAMIC(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter" - DEFVAL { DYNAMIC } - ::= { epsAPNEntry 7 } - - apnPDNGWIdentity OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter" - ::= { epsAPNEntry 8 } - - apnAMBRUL OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:AMBR UL" - ::= { epsAPNEntry 9 } - - apnAMBRDL OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:AMBR DL" - ::= { epsAPNEntry 10 } - - apnChargingCharacteristics OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter" - ::= { epsAPNEntry 11 } - - apnServiceSelection OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Selection" - ::= { epsAPNEntry 12 } - - apnOIReplacement OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter" - ::= { epsAPNEntry 13 } - - apnRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { epsAPNEntry 14 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.12 - epsQOS OBJECT IDENTIFIER ::= { parameter 12 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.12.1 - epsQOSTable OBJECT-TYPE - SYNTAX SEQUENCE OF EpsQOSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:EPS QOS" - ::= { epsQOS 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.12.1.1 - epsQOSEntry OBJECT-TYPE - SYNTAX EpsQOSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:EPS QOS" - INDEX { qosIndex } - ::= { epsQOSTable 1 } - - - EpsQOSEntry ::= - SEQUENCE { - qosIndex - INTEGER, - qosQosClassId - INTEGER, - qosPriorityLevel - INTEGER, - qosPreEmptionCapability - INTEGER, - qosPreEmptionVulnerability - INTEGER, - qosRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.12.1.1.1 - qosIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { epsQOSEntry 1 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.11.1.1.2 - qosQosClassId OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Qos Class Id" - ::= { epsQOSEntry 2 } - - qosPriorityLevel OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Priority Level" - ::= { epsQOSEntry 3 } - - qosPreEmptionCapability OBJECT-TYPE - SYNTAX INTEGER - { - Disable(0), - Enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:PreEmptionCapability" - DEFVAL { Disable } - ::= { epsQOSEntry 4 } - - qosPreEmptionVulnerability OBJECT-TYPE - SYNTAX INTEGER - { - Disable(0), - Enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:PreEmptionVulnerability" - DEFVAL { Disable } - ::= { epsQOSEntry 5 } - - qosRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { epsQOSEntry 6 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.13 - epsTPL OBJECT IDENTIFIER ::= { parameter 13 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.13.1 - epsTPLTable OBJECT-TYPE - SYNTAX SEQUENCE OF EpsTPLEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:EPS TPL" - ::= { epsTPL 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.13.1.1 - epsTPLEntry OBJECT-TYPE - SYNTAX EpsTPLEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:EPS TPL" - INDEX { tplIndex } - ::= { epsTPLTable 1 } - - - EpsTPLEntry ::= - SEQUENCE { - tplIndex - INTEGER, - tplName - OCTET STRING, - tplUeAmbrUL - INTEGER, - tplUeAmbrDL - INTEGER, - tplUeApnOiReplacement - OCTET STRING, - tplRfsp - INTEGER, - tplRauTauTimer - INTEGER, - tplChargingCharacteristic - OCTET STRING, - tplRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.13.1.1.1 - tplIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { epsTPLEntry 1 } - - -- 1.3.6.1.4.1.1373.2.3.3.3.2.13.1.1.2 - tplName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Template name" - ::= { epsTPLEntry 2 } - - tplUeAmbrUL OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:UE AMBR UL" - ::= { epsTPLEntry 3 } - - tplUeAmbrDL OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:UE AMBR DL" - ::= { epsTPLEntry 4 } - - tplUeApnOiReplacement OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { epsTPLEntry 5 } - - tplRfsp OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { epsTPLEntry 6 } - - tplRauTauTimer OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { epsTPLEntry 7 } - - tplChargingCharacteristic OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { epsTPLEntry 8 } - - tplRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { epsTPLEntry 9 } - - END - --- --- LGC-SS-HLR-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-IMS-MIB.my b/omc/bin/mib/LGC-SS-IMS-MIB.my deleted file mode 100644 index daf25b8..0000000 --- a/omc/bin/mib/LGC-SS-IMS-MIB.my +++ /dev/null @@ -1,428 +0,0 @@ --- --- LGC-SS-IMS-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, July 05, 2018 at 19:19:32 --- - --- LGC-SS-IMS-MIB-2.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Saturday, April 28, 2018 at 18:03:35 --- --- LGC-SS-IMS-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Saturday, April 28, 2018 at 17:25:31 --- - - LGC-SS-IMS-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.29 - ims MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 29 } - - - --- --- Type definitions --- - --- 1.3.6.1.4.1.1373.2.3.3.29 --- June 29, 2007 at 16:06 GMT --- June 05, 2007 at 12:19 GMT --- --- Type definitions --- --- 1.3.6.1.4.1.1373.2.3.3.29 --- June 29, 2007 at 16:06 GMT --- June 05, 2007 at 12:19 GMT --- --- Type definitions --- - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- Node definitions --- --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 --- 1.3.6.1.4.1.1373.2.3.3.29.2 --- 1.3.6.1.4.1.1373.2.3.3.29.2 - -- 1.3.6.1.4.1.1373.2.3.3.29.2 - parameter OBJECT IDENTIFIER ::= { ims 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.1 --- 1.3.6.1.4.1.1373.2.3.3.29.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.1.1 --- 1.3.6.1.4.1.1373.2.3.3.29.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.1.1 - domain OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Domain." - ::= { system 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.29.2.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.1.2 - ipAddr OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:IMS IP Address." - ::= { system 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.29.2.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.1.3 - serviceType OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable-volte(1), - enable-voip(2), - enable-both(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Service Type." - ::= { system 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.2 --- 1.3.6.1.4.1.1373.2.3.3.29.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.2 - network OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.1 --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.2.1 - pcscfName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:VOLTE P-CSCF Name." - ::= { network 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.2 --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.2.2 - pcscf2Name OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:VOIP P-CSCF Name." - ::= { network 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.3 --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.2.3 - icscfName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:I-CSCF Name." - ::= { network 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.4 --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.2.4 - scscfName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:S-CSCF Name." - ::= { network 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.5 --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.5 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.2.5 - mMtelName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:MMtel Name." - ::= { network 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.6 --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.6 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.2.6 - smscName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:SMSC Name." - ::= { network 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.7 --- 1.3.6.1.4.1.1373.2.3.3.29.2.2.7 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.2.7 - mrfName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:MRF Name." - ::= { network 7 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.3 --- 1.3.6.1.4.1.1373.2.3.3.29.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.3 - iCX OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.1 --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.3.1 - ilocalHost OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Local hostname." - ::= { iCX 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.2 --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.2 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.3.2 - ilocalRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Local realm." - ::= { iCX 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.3.3 - ihssHost OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS hostname." - ::= { iCX 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.4 --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.4 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.3.4 - ihssRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS realm." - ::= { iCX 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.5 --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.5 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.3.5 - ihssIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS IPAddress." - ::= { iCX 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.6 --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.6 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.3.6 - ihssPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS Port." - ::= { iCX 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.7 --- 1.3.6.1.4.1.1373.2.3.3.29.2.3.7 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.3.7 - icxStatus OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Status." - ::= { iCX 7 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 --- 1.3.6.1.4.1.1373.2.3.3.29.2.4 --- 1.3.6.1.4.1.1373.2.3.3.29.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.4 - sCX OBJECT IDENTIFIER ::= { parameter 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.1 --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.4.1 - slocalHost OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Local hostname." - ::= { sCX 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.2 --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.2 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.4.2 - slocalRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Local realm." - ::= { sCX 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.3 --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.3 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.4.3 - shssHost OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS hostname." - ::= { sCX 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.4 --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.4 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.4.4 - shssRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS realm." - ::= { sCX 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.5 --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.5 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.4.5 - shssIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS IPAddress." - ::= { sCX 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.6 --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.6 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.4.6 - shssPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS Port." - ::= { sCX 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.7 --- 1.3.6.1.4.1.1373.2.3.3.29.2.4.7 - -- 1.3.6.1.4.1.1373.2.3.3.29.2.4.7 - scxStatus OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Status." - ::= { sCX 7 } - - - - END - --- --- LGC-SS-IMS-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-MCA-MIB.my b/omc/bin/mib/LGC-SS-MCA-MIB.my deleted file mode 100644 index a0c88d2..0000000 --- a/omc/bin/mib/LGC-SS-MCA-MIB.my +++ /dev/null @@ -1,305 +0,0 @@ --- --- LGC-SS-MCA-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 17:34:25 --- - --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, March 12, 2010 at 14:15:06 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, March 11, 2010 at 10:05:09 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, March 11, 2010 at 10:04:10 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, March 10, 2010 at 14:44:19 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, March 10, 2010 at 11:35:26 --- - - LGC-SS-MCA-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString, RowStatus - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.25 - mca MODULE-IDENTITY - LAST-UPDATED "201003101054Z" -- March 10, 2010 at 10:54 GMT - ORGANIZATION - "altobridge" - CONTACT-INFO - "Contact-info." - DESCRIPTION - "Description." - REVISION "201003101055Z" -- March 10, 2010 at 10:55 GMT - DESCRIPTION - "1st Version" - ::= { application 25 } - - - - --- --- Node definitions --- - --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 - -- 1.3.6.1.4.1.1373.2.3.3.25.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { mca 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 - -- 1.3.6.1.4.1.1373.2.3.3.25.2 - parameter OBJECT IDENTIFIER ::= { mca 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.25.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.1.1 - localIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MCA IP - Remark:IP address of the MCA (MMS Charging Agent)." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.1.2 - nasIP0 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NAS 0 IP - Remark:IP address of the PPS-0." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.1.3 - nasKey0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NAS 0 Key - Remark:Cryptographic key used between MCA and PPS-0. It corresponds with the setting in PPS > Service Control > RADIUS GGSN." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.1.4 - nasPassword0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NAS 0 Password - Remark:Password used between MCA and PPS-0. It corresponds with the setting in PPS > Service Control > RADIUS GGSN." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.1.5 - nasIP1 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NAS 1 IP - Remark:IP address of PPS-1. Set 0.0.0.0 to ignore NAS 1." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.1.6 - nasKey1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NAS 1 Key - Remark:Cryptographic key used between MCA and PPS-1. It corresponds with the setting in PPS > Service Control > RADIUS GGSN." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.1.7 - nasPassword1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NAS 1 Password - Remark:Password used between MCA and PPS-1. It corresponds with the setting in PPS > Service Control > RADIUS GGSN." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.2 - mMSCenterIP OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.2.1 - mMSCenterIPTable OBJECT-TYPE - SYNTAX SEQUENCE OF MMSCenterIPEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mMSCenterIP 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.2.1.1 - mMSCenterIPEntry OBJECT-TYPE - SYNTAX MMSCenterIPEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mciIndex } - ::= { mMSCenterIPTable 1 } - - - MMSCenterIPEntry ::= - SEQUENCE { - mciIndex - INTEGER, - mciFlag - INTEGER, - mciAllowIP - IpAddress, - mciRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.2.1.1.1 - mciIndex OBJECT-TYPE - SYNTAX INTEGER (0..7) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:MMSC (MMS Center) index number ranges from 0 to 7." - ::= { mMSCenterIPEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.2.1.1.2 - mciFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Flag - Remark:Enable or disable the connection to the specific MMS center." - ::= { mMSCenterIPEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.2.1.1.3 - mciAllowIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MMSC IP - Remark:IP address of the specific MMS center." - ::= { mMSCenterIPEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.25.2.2.1.1.4 - mciRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mMSCenterIPEntry 4 } - - - - END - --- --- LGC-SS-MCA-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-MHC-MIB.my b/omc/bin/mib/LGC-SS-MHC-MIB.my deleted file mode 100644 index 8e7f993..0000000 --- a/omc/bin/mib/LGC-SS-MHC-MIB.my +++ /dev/null @@ -1,564 +0,0 @@ --- --- LGC-SS-MHC-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 17:44:25 --- - - LGC-SS-MHC-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus, DisplayString - FROM LGC-MIB - IpAddress, Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.17 - mhc MODULE-IDENTITY - LAST-UPDATED "200810151006Z" -- October 15, 2008 at 10:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 17 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { mhc 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.17.2 - parameter OBJECT IDENTIFIER ::= { mhc 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.1 - license OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Hidden Flag:Yes - Remark:License." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.2 - mHC OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Enable or disable the MHC function." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.3 - cDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable MHC CDR generation." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.4 - maxSynMessageInterval OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Synchronization Interval - Remark:The time interval between sending successive SYN commands to the destination nodes.
- Range = 1 - 255 seconds" - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.5 - maxVerificationMessageInterval OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Verification Interval - Remark:The time interval between sending successive verification commands to the destination nodes.
- Range = 1 - 255 seconds" - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.6 - maxDownloadMessageInterval OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Download Interval - Remark:The time interval between sending successive download commands to the destination nodes.
- Range = 1 - 255 seconds" - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.7 - maxReplicationMessageInterval OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Replication Interval - Remark:The time interval between sending successive replication commands to the destination nodes.
- Range = 1 - 255 seconds" - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.8 - replicationCommand OBJECT-TYPE - SYNTAX INTEGER { replication(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Replication the data from remote server." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.9 - verificationStartTime OBJECT-TYPE - SYNTAX INTEGER - { - PM12(0), - AM01(1), - AM02(2), - AM03(3), - AM04(4), - AM05(5), - AM06(6), - AM07(7), - AM08(8), - AM09(9), - AM10(10), - AM11(11), - AM12(12), - PM01(13), - PM02(14), - PM03(15), - PM04(16), - PM05(17), - PM06(18), - PM07(19), - PM08(20), - PM09(21), - PM10(22), - PM11(23) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Verification Start Time - Remark:The start time of daily HLR data verification procedure." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.10 - hLRChecksumField OBJECT-TYPE - SYNTAX Opaque (SIZE (13)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]IMSI[u]00.0-00.0[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Used flag[u]00.1-00.1[u]select - [v]0[opt]off - [v]1[opt]on - [unit]MSISDN[u]00.2-00.2[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Fax number[u]00.3-00.3[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Data number[u]00.4-00.4[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Network access mode[u]00.5-00.5[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Mobile station category[u]00.6-00.6[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Subscriber status[u]00.7-00.7[u]select - [v]0[opt]off - [v]1[opt]on - [unit]ODB general data[u]01.0-01.0[u]select - [v]0[opt]off - [v]1[opt]on - [unit]ODB specific data[u]01.1-01.1[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Bearer service data[u]01.2-01.2[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Tele service data[u]01.3-01.3[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Country specification roam type[u]01.4-01.4[u]select - [v]0[opt]off - [v]1[opt]on - [unit]GSM bearer capability[u]01.5-01.5[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Regional subscription zone code index[u]01.6-01.6[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CLIP state[u]01.7-01.7[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CLIR state[u]02.0-02.0[u]select - [v]0[opt]off - [v]1[opt]on - [unit]COLP state[u]02.1-02.1[u]select - [v]0[opt]off - [v]1[opt]on - [unit]COLR state[u]02.2-02.2[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Subscription option[u]02.3-02.3[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Password[u]02.4-02.4[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Wrong password attempt count[u]02.5-02.5[u]select - [v]0[opt]off - [v]1[opt]on - [unit]BAOC state[u]02.6-02.6[u]select - [v]0[opt]off - [v]1[opt]on - [unit]BAIC state[u]02.7-02.7[u]select - [v]0[opt]off - [v]1[opt]on - [unit]BOIC except directed to home HPLMN[u]03.0-03.0[u]select - [v]0[opt]off - [v]1[opt]on - [unit]BAIC state[u]03.1-03.1[u]select - [v]0[opt]off - [v]1[opt]on - [unit]BIC-Roam state[u]03.2-03.2[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CFU state[u]03.3-03.3[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CFU forwarded-to number[u]03.4-03.4[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CFB state[u]03.5-03.5[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CFB forwarded-to number[u]03.6-03.6[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CFNRy state[u]03.7-03.7[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CFNRy no reply condition timer[u]04.0-04.0[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CFNRy forward-to number[u]04.1-04.1[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CFNRc state[u]04.2-04.2[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CFNRc forward-to number[u]04.3-04.3[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Call waiting state[u]04.4-04.4[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Call hold state[u]04.5-04.5[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Explict call transfer state[u]04.6-04.6[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Multi party state[u]04.7-04.7[u]select - [v]0[opt]off - [v]1[opt]on - [unit]CAMEL flag[u]05.0-05.0[u]select - [v]0[opt]off - [v]1[opt]on - [unit]O-CSI[u]05.1-05.1[u]select - [v]0[opt]off - [v]1[opt]on - [unit]T-CSI[u]05.2-05.2[u]select - [v]0[opt]off - [v]1[opt]on - [unit]SS-CSI[u]05.3-05.3[u]select - [v]0[opt]off - [v]1[opt]on - [unit]SMS-CSI[u]05.4-05.4[u]select - [v]0[opt]off - [v]1[opt]on - [unit]GPRS-CSI[u]05.5-05.5[u]select - [v]0[opt]off - [v]1[opt]on - [unit]GPRS flag[u]05.6-05.6[u]select - [v]0[opt]off - [v]1[opt]on - [unit]PDP1[u]05.7-05.7[u]select - [v]0[opt]off - [v]1[opt]on - [unit]PDP2[u]06.0-06.0[u]select - [v]0[opt]off - [v]1[opt]on - [unit]PDP3[u]06.1-06.1[u]select - [v]0[opt]off - [v]1[opt]on - [unit]User name[u]06.2-06.2[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Certificate[u]06.3-06.3[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Alternative telephone[u]06.4-06.4[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Remark[u]06.5-06.5[u]select - [v]0[opt]off - [v]1[opt]on - [unit]MSC area restrict flag[u]06.6-06.6[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Roaming restrict due to unsupport feature flag[u]06.7-06.7[u]select - [v]0[opt]off - [v]1[opt]on - [unit]MS purged flag[u]07.0-07.0[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Mobile station not reachable for GPRS flag[u]07.1-07.1[u]select - [v]0[opt]off - [v]1[opt]on - [unit]LMSI[u]07.2-07.2[u]select - [v]0[opt]off - [v]1[opt]on - [unit]VLR number[u]07.3-07.3[u]select - [v]0[opt]off - [v]1[opt]on - [unit]MSC number[u]07.4-07.4[u]select - [v]0[opt]off - [v]1[opt]on - [unit]SGSN number[u]07.5-07.5[u]select - [v]0[opt]off - [v]1[opt]on - [unit]GGSN number[u]07.6-07.6[u]select - [v]0[opt]off - [v]1[opt]on - [unit]GGSN address[u]07.7-07.7[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Route param[u]08.0-08.0[u]select - [v]0[opt]off - [v]1[opt]on - [unit]MWD[u]08.1-08.1[u]select - [v]0[opt]off - [v]1[opt]on - [unit]Reserved[u]08.2-12.7[u]select - [remark]
Enable or disable checksum for each HLR subscriber data fields.
" - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.11 - sysCommand OBJECT-TYPE - SYNTAX INTEGER { saveUserData(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.1.12 - replicateRate OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Replication Rate - Remark:The limited number of replicating subscribers per 50ms.
- Range = 1 - 255" - ::= { system 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.2 - mHCNode OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.2.1 - mHCNodeTable OBJECT-TYPE - SYNTAX SEQUENCE OF MHCNodeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mHCNode 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.2.1.1 - mHCNodeEntry OBJECT-TYPE - SYNTAX MHCNodeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mnIndex } - ::= { mHCNodeTable 1 } - - - MHCNodeEntry ::= - SEQUENCE { - mnIndex - INTEGER, - mnName - OCTET STRING, - mnIP0 - IpAddress, - mnIP1 - IpAddress, - mnBlock - INTEGER, - mnRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.2.1.1.1 - mnIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:MHC node index number ranges from 0 to 15." - ::= { mHCNodeEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.2.1.1.2 - mnName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:MHC node name for identification purpose only." - ::= { mHCNodeEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.2.1.1.3 - mnIP0 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IP 0 - Remark:IP address of the MHC installed on platform 0." - ::= { mHCNodeEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.2.1.1.4 - mnIP1 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IP 1 - Remark:IP address of the MHC installed on platform 1. It is available only for the dual-platform system." - ::= { mHCNodeEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.2.1.1.5 - mnBlock OBJECT-TYPE - SYNTAX INTEGER - { - unblock(0), - block(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed MHC node.
- Unblock = Enable blocked MHC node.
- Block = Disable MHC node manually." - ::= { mHCNodeEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.17.2.2.1.1.6 - mnRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mHCNodeEntry 6 } - - - - END - --- --- LGC-SS-MHC-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-MME-MIB.my b/omc/bin/mib/LGC-SS-MME-MIB.my deleted file mode 100644 index 2e95bc7..0000000 --- a/omc/bin/mib/LGC-SS-MME-MIB.my +++ /dev/null @@ -1,609 +0,0 @@ --- --- LGC-SS-MME-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, July 20, 2018 at 10:11:54 --- - - LGC-SS-MME-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString8, DisplayString - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.27 - mme MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 27 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2 - parameter OBJECT IDENTIFIER ::= { mme 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.1.1 - maxENB OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Number of Max eNB." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.1.2 - maxUE OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Number of Max UE." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.1.3 - cSFallback OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Switch of CS fallback function." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2 - network OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.1 - s1MMEIp OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:IP address of S1 MME interface." - ::= { network 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.2 - s1MMEPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:port number of S1 MME interface." - ::= { network 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.3 - s11IP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:IP address of S11 interface." - ::= { network 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.4 - s11Port OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:port number of S11 interface." - ::= { network 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.5 - sGsIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:IP address of SGs interface." - ::= { network 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.6 - sGsPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:port number of SGs interface." - ::= { network 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3 - gUMMEI OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3.1 - mCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MCC." - ::= { gUMMEI 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3.2 - mNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (2..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MNC." - ::= { gUMMEI 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3.3 - mMEGid OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MME Gid." - ::= { gUMMEI 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3.4 - mMECode OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MME Code." - ::= { gUMMEI 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4 - tAIList OBJECT IDENTIFIER ::= { parameter 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1 - tAIListTable OBJECT-TYPE - SYNTAX SEQUENCE OF TAIListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:TAI List Table" - ::= { tAIList 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1 - tAIListEntry OBJECT-TYPE - SYNTAX TAIListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:TAI List Table" - INDEX { taiIndex } - ::= { tAIListTable 1 } - - - TAIListEntry ::= - SEQUENCE { - taiIndex - INTEGER, - taiMCC - OCTET STRING, - taiMNC - OCTET STRING, - taiTAC - INTEGER, - taiRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.1 - taiIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 16." - ::= { tAIListEntry 1 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.2 - taiMCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:MCC." - ::= { tAIListEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.3 - taiMNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (2..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:MNC." - ::= { tAIListEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.4 - taiTAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:TAC." - ::= { tAIListEntry 4 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.5 - taiRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tAIListEntry 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5 - eNBList OBJECT IDENTIFIER ::= { parameter 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1 - eNBListTable OBJECT-TYPE - SYNTAX SEQUENCE OF ENBListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:eNB List Table" - ::= { eNBList 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1 - eNBListEntry OBJECT-TYPE - SYNTAX ENBListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:eNB List Table" - INDEX { enbIndex } - ::= { eNBListTable 1 } - - - ENBListEntry ::= - SEQUENCE { - enbIndex - INTEGER, - enbID - INTEGER, - enbName - OCTET STRING, - enbState - INTEGER, - enbNumOfAssociatedUE - INTEGER, - enbSctpAssociationId - INTEGER - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.1 - enbIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 16." - ::= { eNBListEntry 1 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.2 - enbID OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:eNB ID." - ::= { eNBListEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.3 - enbName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:eNB name." - ::= { eNBListEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.4 - enbState OBJECT-TYPE - SYNTAX INTEGER - { - init(0), - resetting(1), - ready(2), - shutdown(3) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:state." - ::= { eNBListEntry 4 } - - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.5 - enbNumOfAssociatedUE OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Number of associated UEs." - ::= { eNBListEntry 5 } - - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.6 - enbSctpAssociationId OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:SCTP association id." - ::= { eNBListEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6 - s6a OBJECT IDENTIFIER ::= { parameter 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.1 - localHostname OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Local Hostname." - ::= { s6a 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.2 - localRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Local Realm." - ::= { s6a 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.3 - hSSHostname OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS Hostname." - ::= { s6a 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.4 - hSSRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS Realm." - ::= { s6a 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.5 - hSSIp OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS IP." - ::= { s6a 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.6 - hSSPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS port." - ::= { s6a 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.7 - s6aStatus OBJECT-TYPE - SYNTAX INTEGER - { - inactive(0), - active(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:status." - ::= { s6a 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.7 - s11 OBJECT IDENTIFIER ::= { parameter 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.7.1 - id OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MCC." - ::= { s11 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.2.7.2 - sGWIpAddressForS11 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:SGW IP Address for S11." - ::= { s11 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.3 - csta OBJECT IDENTIFIER ::= { mme 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.3.1 - ueTable OBJECT-TYPE - SYNTAX SEQUENCE OF UeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.3.1.1 - ueEntry OBJECT-TYPE - SYNTAX UeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { luTgIndex, luIndex } - ::= { ueTable 1 } - - - UeEntry ::= - SEQUENCE { - ueIndex - INTEGER, - ueData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.27.3.1.1.1 - ueIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ueEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.27.3.1.1.2 - ueData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ueEntry 2 } - - - - END - --- --- LGC-SS-MME-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-MME-MIB.my_bak b/omc/bin/mib/LGC-SS-MME-MIB.my_bak deleted file mode 100644 index 4084d60..0000000 --- a/omc/bin/mib/LGC-SS-MME-MIB.my_bak +++ /dev/null @@ -1,689 +0,0 @@ --- --- LGC-SS-MME-MIB-2.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Saturday, April 28, 2018 at 18:03:35 --- - --- LGC-SS-MME-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Saturday, April 28, 2018 at 17:25:31 --- - - LGC-SS-MME-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus, DisplayString - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.27 - mme MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 27 } - - - --- --- Type definitions --- - --- 1.3.6.1.4.1.1373.2.3.3.27 --- June 29, 2007 at 16:06 GMT --- June 05, 2007 at 12:19 GMT --- --- Type definitions --- - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 --- 1.3.6.1.4.1.1373.2.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 --- 1.3.6.1.4.1.1373.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 --- 1.3.6.1.4.1.1373.2.3.3.27.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2 - parameter OBJECT IDENTIFIER ::= { mme 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.1.1 - maxENB OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Number of Max eNB." - ::= { system 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.1.2 - maxUE OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Number of Max UE." - ::= { system 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.1.3 - cSFallback OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Switch of CS fallback function." - ::= { system 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2 - network OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.1 - s1MMEIp OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:IP address of S1 MME interface." - ::= { network 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.2 - s1MMEPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:port number of S1 MME interface." - ::= { network 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.3 - s11IP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:IP address of S11 interface." - ::= { network 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.4 - s11Port OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:port number of S11 interface." - ::= { network 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.2.5 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.5 - sGsIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:IP address of SGs interface." - ::= { network 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.2.6 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.2.6 - sGsPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:port number of SGs interface." - ::= { network 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3 - gUMMEI OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3.1 - mCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MCC." - ::= { gUMMEI 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.3.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3.2 - mNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (2..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MNC." - ::= { gUMMEI 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3.3 - mMEGid OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MME Gid." - ::= { gUMMEI 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.3.4 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.3.4 - mMECode OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MME Code." - ::= { gUMMEI 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 --- 1.3.6.1.4.1.1373.2.3.3.27.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4 - tAIList OBJECT IDENTIFIER ::= { parameter 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 --- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1 - tAIListTable OBJECT-TYPE - SYNTAX SEQUENCE OF TAIListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:TAI List Table" - ::= { tAIList 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 --- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1 - tAIListEntry OBJECT-TYPE - SYNTAX TAIListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:TAI List Table" - INDEX { taiIndex } - ::= { tAIListTable 1 } - - - TAIListEntry ::= - SEQUENCE { - taiIndex - INTEGER, - taiMCC - OCTET STRING, - taiMNC - OCTET STRING, - taiTAC - INTEGER, - taiRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.1 - taiIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 16." - ::= { tAIListEntry 1 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.2 - taiMCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:MCC." - ::= { tAIListEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.3 - taiMNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (2..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:MNC." - ::= { tAIListEntry 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.4 - taiTAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:TAC." - ::= { tAIListEntry 4 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 --- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.4.1.1.5 - taiRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tAIListEntry 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 --- 1.3.6.1.4.1.1373.2.3.3.27.2.5 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5 - eNBList OBJECT IDENTIFIER ::= { parameter 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 --- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1 - eNBListTable OBJECT-TYPE - SYNTAX SEQUENCE OF ENBListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:eNB List Table" - ::= { eNBList 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 --- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1 - eNBListEntry OBJECT-TYPE - SYNTAX ENBListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:eNB List Table" - INDEX { enbIndex } - ::= { eNBListTable 1 } - - - ENBListEntry ::= - SEQUENCE { - enbIndex - INTEGER, - enbID - INTEGER, - enbName - OCTET STRING, - enbState - INTEGER, - enbNumOfAssociatedUE - INTEGER, - enbSctpAssociationId - INTEGER, - enbRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.1 - enbIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 16." - ::= { eNBListEntry 1 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.2 - enbID OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:eNB ID." - ::= { eNBListEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.3 - enbName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:eNB name." - ::= { eNBListEntry 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.4 - enbState OBJECT-TYPE - SYNTAX INTEGER - { - init(0), - resetting(1), - ready(2), - shutdown(3) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:state." - ::= { eNBListEntry 4 } - - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.5 - enbNumOfAssociatedUE OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Number of associated UEs." - ::= { eNBListEntry 5 } - - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.6 - enbSctpAssociationId OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:SCTP association id." - ::= { eNBListEntry 6 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 --- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.5.1.1.7 - enbRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { eNBListEntry 7 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.6 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6 - s6a OBJECT IDENTIFIER ::= { parameter 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.6.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.1 - localHostname OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Local Hostname." - ::= { s6a 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.6.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.2 - localRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Local Realm." - ::= { s6a 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.6.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.3 - hSSHostname OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS Hostname." - ::= { s6a 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.6.4 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.4 - hSSRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS Realm." - ::= { s6a 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.6.5 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.5 - hSSIp OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS IP." - ::= { s6a 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.6.6 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.6 - hSSPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:HSS port." - ::= { s6a 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.6.7 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.6.7 - s6aStatus OBJECT-TYPE - SYNTAX INTEGER - { - inactive(0), - active(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:status." - ::= { s6a 7 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.7 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.7 - s11 OBJECT IDENTIFIER ::= { parameter 7 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.7.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.7.1 - id OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MCC." - ::= { s11 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.2.7.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.2.7.2 - sGWIpAddressForS11 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:SGW IP Address for S11." - ::= { s11 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.3 - -- 1.3.6.1.4.1.1373.2.3.3.27.3 - csta OBJECT IDENTIFIER ::= { mme 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.3.1 - ueTable OBJECT-TYPE - SYNTAX SEQUENCE OF UeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.3.1.1 - ueEntry OBJECT-TYPE - SYNTAX UeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { luTgIndex, luIndex } - ::= { ueTable 1 } - - - UeEntry ::= - SEQUENCE { - ueIndex - INTEGER, - ueData - DisplayString - } - --- 1.3.6.1.4.1.1373.2.3.3.27.3.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.27.3.1.1.1 - ueIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ueEntry 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.27.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.27.3.1.1.2 - ueData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ueEntry 2 } - - - - END - --- --- LGC-SS-MME-MIB-2.my --- diff --git a/omc/bin/mib/LGC-SS-MNP-MIB.my b/omc/bin/mib/LGC-SS-MNP-MIB.my deleted file mode 100644 index d279010..0000000 --- a/omc/bin/mib/LGC-SS-MNP-MIB.my +++ /dev/null @@ -1,378 +0,0 @@ --- --- LGC-SS-MNP-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 17:59:41 --- - - LGC-SS-MNP-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, RowStatus, DisplayString - FROM LGC-MIB - Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.7 - mnp MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { mss 7 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - mss OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { mnp 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.7.2 - parameter OBJECT IDENTIFIER ::= { mnp 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.2.1.1 - flag OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MNP Flag - Remark:Enable or disable MNP (Mobile Number Portability) function." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.2.1.2 - nPLRNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NPLR Address - Remark:The E.164 node address of the NPLR (Number Portability Location Register)." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.2.1.3 - routingNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Routing Number - Remark:A specific number which is part of the routing information, used by the network to route the call and the non-call related signaling messages." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.2.1.4 - routingMethod OBJECT-TYPE - SYNTAX INTEGER - { - direct(1), - indirect(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Routing Method - Remark:For every call or non-call related transaction initiated from local network, the MSC can select one of the two following routing conventions:
  • Direct = Route the calls directly from the PLMN to the ported subscriber's network.
  • Indirect = Route the calls from the PLMN to the ported subscriber's subscription network via the number range holder.
" - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.2.1.5 - rNPosition OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:RN Position - Remark:The routing number will be attached to the called number in the portability database.
This parameter specifies the digit position of the called number to append the routing number." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.2.1.6 - type OBJECT-TYPE - SYNTAX INTEGER - { - srf(0), - ansiIn(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MNP Solution - Remark:Select a solution for call related signaling in the ETSI MNP-standard:
  • MNP-SRF = Mobile Number Portability Signaling Relay Function
  • ANSI IN = American National Standard Institute Intelligent Network
" - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.2.1.7 - systemCommand OBJECT-TYPE - SYNTAX INTEGER { saveSubsData(2) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.7.2.1.8 - importSubs OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]operation[u]00.0-00.7[u]select - [v]1[opt]Send - [v]2[opt]Reading - [v]3[opt]Succeed - [v]4[opt]Failed - [unit]Imported subs.[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Loaded subs.[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { system 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.2 - localPrefix OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.2.1 - localPrefixTable OBJECT-TYPE - SYNTAX SEQUENCE OF LocalPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { localPrefix 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.2.1.1 - localPrefixEntry OBJECT-TYPE - SYNTAX LocalPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { localIndex } - ::= { localPrefixTable 1 } - - - LocalPrefixEntry ::= - SEQUENCE { - localIndex - INTEGER, - localTitle - OCTET STRING, - localPrefixNumber - OCTET STRING, - localRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.2.1.1.1 - localIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Local prefix index number ranges from 0 to 31." - ::= { localPrefixEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.2.1.1.2 - localTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Local prefix name for identification purpose only." - ::= { localPrefixEntry 2 } - - --- Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.2.1.1.3 - localPrefixNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:Specify prefix of E.164 numbers using in the local network." - ::= { localPrefixEntry 3 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.2.1.1.4 - localRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { localPrefixEntry 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.3 - portablePrefix OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.3.1 - portablePrefixTable OBJECT-TYPE - SYNTAX SEQUENCE OF PortablePrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { portablePrefix 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.3.1.1 - portablePrefixEntry OBJECT-TYPE - SYNTAX PortablePrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { portableIndex } - ::= { portablePrefixTable 1 } - - - PortablePrefixEntry ::= - SEQUENCE { - portableIndex - INTEGER, - portableTitle - DisplayString16, - portablePrefixNumber - OCTET STRING, - portableRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.3.1.1.1 - portableIndex OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Portable prefix index number ranges from 0 to 127." - ::= { portablePrefixEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.3.1.1.2 - portableTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Portable prefix name for identification purpose only." - ::= { portablePrefixEntry 2 } - - --- Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.3.1.1.3 - portablePrefixNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:Specify prefix of E.164 numbers that can be ported among networks." - ::= { portablePrefixEntry 3 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.7.2.3.1.1.4 - portableRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { portablePrefixEntry 4 } - - - - END - --- --- LGC-SS-MNP-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-MRFC-MIB.my b/omc/bin/mib/LGC-SS-MRFC-MIB.my deleted file mode 100644 index 7c0228f..0000000 --- a/omc/bin/mib/LGC-SS-MRFC-MIB.my +++ /dev/null @@ -1,381 +0,0 @@ --- --- LGC-SS-MRFC-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, September 13, 2010 at 18:10:09 --- - - LGC-SS-MRFC-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, TimeStamp, RowStatus, DisplayString, - AdminStateChoices - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.13 - mrfc MODULE-IDENTITY - LAST-UPDATED "200810151006Z" -- October 15, 2008 at 10:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 13 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { mrfc 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.13.2 - parameter OBJECT IDENTIFIER ::= { mrfc 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.8 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1 - mRFP OBJECT IDENTIFIER ::= { parameter 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.8.1 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1 - mRFPTable OBJECT-TYPE - SYNTAX SEQUENCE OF MRFPEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mRFP 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.8.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1 - mRFPEntry OBJECT-TYPE - SYNTAX MRFPEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mrfpIndex } - ::= { mRFPTable 1 } - - - MRFPEntry ::= - SEQUENCE { - mrfpIndex - INTEGER, - mrfpTitle - DisplayString16, - mrfpCreateTimeStamp - TimeStamp, - mrfpAdministrationState - AdminStateChoices, - mrfpLocalDomain - DisplayString16, - mrfpDestDomain - DisplayString16, - mrfpDestIp - IpAddress, - mrfpDestPort - INTEGER, - mrfpConfPrefix - OCTET STRING, - mrfpTransPrefix - OCTET STRING, - mrfpConfUserNumber - INTEGER, - mrfpTransUserNumber - INTEGER, - mrfpType - INTEGER, - mrfpStatus - INTEGER, - mrfpRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.1 - mrfpIndex OBJECT-TYPE - SYNTAX INTEGER (0..254) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:MRFP (Multimedia Resource Function Processor) index number ranges from 0 to 254." - ::= { mRFPEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.2 - mrfpTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:MRFP name for identification purpose only." - DEFVAL { "MRFP#" } - ::= { mRFPEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.3 - mrfpCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the MRFP." - ::= { mRFPEntry 3 } - - --- Origination MG --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.4 - mrfpAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed MRFP." - ::= { mRFPEntry 4 } - - --- Origination Trunk --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.5 - mrfpLocalDomain OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MRFC Domain - Remark:Domain name of the local MRFC (Multimedia Resource Function Controller). Use MSS IP address as default." - ::= { mRFPEntry 5 } - - --- Origination Channel --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.6 - mrfpDestDomain OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MRFP Domain - Remark:Domain name of the connected MRFP. Use MRFP IP address as default." - ::= { mRFPEntry 6 } - - --- Destination MG --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.7 - mrfpDestIp OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MRFP IP - Remark:IP address of the connected MRFP." - ::= { mRFPEntry 7 } - - --- Destination Trunk --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.8 - mrfpDestPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MRFP Port - Remark:Enter the SIP UDP transmission port that set on the connected MRFP. Default as 5060." - ::= { mRFPEntry 8 } - - --- Destination Channel --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.9 - mrfpConfPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Conf Prefix - Remark:Enter the conference ID that set on the connected MRFP.
- Default = conf" - ::= { mRFPEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.10 - mrfpTransPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Trans Prefix - Remark:Enter the transcoding ID that set on the connected MRFP.
- Default = trans" - ::= { mRFPEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.11 - mrfpConfUserNumber OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Max Conf Channels - Remark:Assign the maximum number of channels reserved for conference call use.
It cooperates with the following parameter to distribute licensed channels between conference and transcoding." - ::= { mRFPEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.12 - mrfpTransUserNumber OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Max Trans Channels - Remark:Assign the maximum number of channels reserved for transcoding use.
It cooperates with the preceding parameter to distribute licensed channels between conference and transcoding." - ::= { mRFPEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.13 - mrfpType OBJECT-TYPE - SYNTAX INTEGER - { - ipMedia(1), - iwf(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Device Type - Remark:Specify the device type of the connected MRFP." - ::= { mRFPEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.14 - mrfpStatus OBJECT-TYPE - SYNTAX INTEGER - { - offLine(0), - onLine(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Avail State - Remark:Indicate the current availability state of the connected MRFP." - ::= { mRFPEntry 14 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.13.2.1.1.1.15 - mrfpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mRFPEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.3 - csta OBJECT IDENTIFIER ::= { mrfc 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.4 - cdr OBJECT IDENTIFIER ::= { mrfc 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.4.1 - cdrHeadOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.4.2 - cdrTailOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.13.4.3 - cdrDataOid OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 3 } - - - - END - --- --- LGC-SS-MRFC-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-MSC-MIB.my b/omc/bin/mib/LGC-SS-MSC-MIB.my deleted file mode 100644 index 7216a49..0000000 --- a/omc/bin/mib/LGC-SS-MSC-MIB.my +++ /dev/null @@ -1,4939 +0,0 @@ --- --- LGC-SS-MSC-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, March 08, 2013 at 15:35:22 --- - - LGC-SS-MSC-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, TimeStamp, RowStatus, DisplayString8, - DisplayString, AdminStateChoices, OperStateChoices - FROM LGC-MIB - IpAddress, Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.1 - msc MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 1 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { msc 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2 - parameter OBJECT IDENTIFIER ::= { msc 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.1 - cDROption OBJECT-TYPE - SYNTAX Opaque (SIZE (8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]MO Call[u]00.0-00.0[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]MT Call[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]In Gateway[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Out Gateway[u]00.3-00.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]MO SMS[u]00.4-00.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]MT SMS[u]00.5-00.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Transit Call[u]00.6-00.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Roaming[u]00.7-00.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Reserved[u]01.0-01.0[u]select - [unit]Common Equipment[u]01.1-01.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]SS Action[u]01.2-01.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Term CAMEL[u]01.3-01.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI White List[u]01.4-01.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI Black List[u]01.5-01.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI Grey List[u]01.6-01.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI Unknown[u]01.7-01.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Reserved[u]02.0-02.7[u]select - [unit]Reserved[u]03.0-03.7[u]select - [remark]Control the Call Detail Record generation for different call types." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.2 - maxCallDurationMO OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MO Max Call Duration - Remark:Define the permitted maximum call duration for MO call. Any ongoing call reaching this threshold will be compulsively cut off.

- Set 0 to disable this function." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.3 - maxCallDurationMT OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MT Max Call Duration - Remark:Define the permitted maximum call duration for MT call. Any incoming call reaching this threshold will be compulsively cut off.

- Set 0 to disable this function." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.4 - locationNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Location Number - Remark:Specify the location routing number for MNP service." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.5 - suspendTimer OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Suspend Timer - Remark:If receives ISUP SUSPEND message in an ISUP call, then start the suspend timer to wait for the ISUP RESUME message. If time out, then send RELEASE to ISUP. Unit is second." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.6 - emlppPciOption OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:eMLPP PCI Option - OPAQUE DECODE RULE: - [unit]Reserved[u]00.0-00.0[u]select - [unit]Level A[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level B[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 0[u]00.3-00.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 1[u]00.4-00.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 2[u]00.5-00.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 3[u]00.6-00.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 4[u]00.7-00.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [remark] - The enhanced Multi-Level Precedence and Preemption (eMLPP) service provides the capability to classify the mobile subscribers according to a subscriber specific priority.

The Preemption Capability Indicator (PCI) is set when the traffic channel to be assigned may preempt (forced release) an existing connection with a lower priority level (active preemption)." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.7 - emlppPviOption OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:eMLPP PVI Option - OPAQUE DECODE RULE: - [unit]Reserved[u]00.0-00.0[u]select - [unit]Level A[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level B[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 0[u]00.3-00.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 1[u]00.4-00.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 2[u]00.5-00.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 3[u]00.6-00.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 4[u]00.7-00.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [remark] - The enhanced Multi-Level Precedence and Preemption (eMLPP) service provides the capability to classify the mobile subscribers according to a subscriber specific priority.

The Preemption Vulnerability Indicator (PVI) is set when the traffic channel to be assigned can be preempted by another connection that might be established later with a higher priority level (passive preemption)." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.8 - assignmentTimer OBJECT-TYPE - SYNTAX INTEGER (10..250) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Assignment Timer - Remark:Specify the maximum waiting time for receiving Assignment Complete message after the Assignment Request message has been sent. Unit is 100ms." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.9 - pagingTimer OBJECT-TYPE - SYNTAX INTEGER (10..40) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Paging Timer - Remark:Specify the maximum waiting time for receiving Paging Response message after the Paging message has been sent. Unit is 1 second." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.10 - splitEtcNumber OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Split ETC Number - Remark:Allow or forbid splitting the Correlation ID and SCF ID in the Establish Temporary Connection message." - ::= { system 10 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2 - routingZoneSet OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1 - routingZoneSetTable OBJECT-TYPE - SYNTAX SEQUENCE OF RoutingZoneSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { routingZoneSet 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1 - routingZoneSetEntry OBJECT-TYPE - SYNTAX RoutingZoneSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { rzsIndex } - ::= { routingZoneSetTable 1 } - - - RoutingZoneSetEntry ::= - SEQUENCE { - rzsIndex - INTEGER, - rzsTitle - DisplayString16, - rzsCreateTimeStamp - TimeStamp, - rzsDialingPrefixSetID - INTEGER, - rzsAnnouncementSetID - INTEGER, - rzsMSRNRangeStart - DisplayString16, - rzsMSRNRangeEnd - DisplayString16, - rzsSRFNumber0 - DisplayString16, - rzsSRFNumber1 - DisplayString16, - rzsCreateEntryRoutingSelection - INTEGER, - rzsRoutingSelectionEntries - INTEGER, - rzsRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.1 - rzsIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing Zone Set index number ranges from 1 to 31." - ::= { routingZoneSetEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.2 - rzsTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing Zone Set name for identification purpose only." - DEFVAL { "RZS#" } - ::= { routingZoneSetEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.3 - rzsCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Routing Zone Set." - ::= { routingZoneSetEntry 3 } - - --- Dialing Prefix Set ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.4 - rzsDialingPrefixSetID OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Dialing Prefix Set ID - Remark:Specify the Dialing Prefix Set to this Routing Zone Set." - DEFVAL { 0 } - ::= { routingZoneSetEntry 4 } - - --- Announcement(CUA) Set ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.5 - rzsAnnouncementSetID OBJECT-TYPE - SYNTAX INTEGER (0..256) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Announcement Set ID - Remark:Specify the Announcement Set to this Routing Zone Set." - ::= { routingZoneSetEntry 5 } - - --- MSRN Range Start --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.6 - rzsMSRNRangeStart OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSRN Start - Remark:The beginning of the MSRN range for this Routing Zone Set." - ::= { routingZoneSetEntry 6 } - - --- MSRN Range End --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.7 - rzsMSRNRangeEnd OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSRN End - Remark:The end of the MSRN range for this Routing Zone Set." - ::= { routingZoneSetEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.8 - rzsSRFNumber0 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SRF 0 Number - Remark:The E.164 node address of the SRF connecting to MSS platform 0." - ::= { routingZoneSetEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.9 - rzsSRFNumber1 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SRF 1 Number - Remark:The E.164 node address of the SRF connecting to MSS platform 1." - ::= { routingZoneSetEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.10 - rzsCreateEntryRoutingSelection OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { routingZoneSetEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.11 - rzsRoutingSelectionEntries OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Routing Selection Entries - Remark:The total number of configured Routing Selections in this Routing Zone Set." - ::= { routingZoneSetEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.12 - rzsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { routingZoneSetEntry 12 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2 - routingSelectionTable OBJECT-TYPE - SYNTAX SEQUENCE OF RoutingSelectionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { routingZoneSet 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1 - routingSelectionEntry OBJECT-TYPE - SYNTAX RoutingSelectionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { rsIndex, rsRZSIndex } - ::= { routingSelectionTable 1 } - - - RoutingSelectionEntry ::= - SEQUENCE { - rsRZSIndex - INTEGER, - rsIndex - INTEGER, - rsTitle - DisplayString16, - rsCreateTimeStamp - TimeStamp, - rsTrunkGroup - INTEGER, - rsAlternativeTrunkGroupOption - INTEGER, - rsAlternativeTrunkGroup - INTEGER, - rsNAIForOutgoingCall - INTEGER, - rsNumberOfDigitDeletion - INTEGER, - rsInsertionNumber - DisplayString16, - rsRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.1 - rsRZSIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:RSZ Index - Remark:Routing Zone Set Index for the Routing Selection." - ::= { routingSelectionEntry 1 } - - --- Route Selection Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.2 - rsIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing Selection index number range from 1 to 31." - ::= { routingSelectionEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.3 - rsTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing Selection name for identification purpose only." - DEFVAL { "RS#" } - ::= { routingSelectionEntry 3 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.4 - rsCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Routing Selection." - ::= { routingSelectionEntry 4 } - - --- Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.5 - rsTrunkGroup OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Trunk Group - Remark:Select the Trunk Group for the outgoing routing." - DEFVAL { 0 } - ::= { routingSelectionEntry 5 } - - --- Alternative Trunk Group Option --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.6 - rsAlternativeTrunkGroupOption OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alternative TG Flag - Remark:Enable or disable alternative Trunk Group when the primary Trunk Group is unavailable." - DEFVAL { disable } - ::= { routingSelectionEntry 6 } - - --- Alternative Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.7 - rsAlternativeTrunkGroup OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alternative TG - Remark:Specify the alternative Trunk Group. It's available only when the previous Alternative TG Flag is enabled." - DEFVAL { 0 } - ::= { routingSelectionEntry 7 } - - --- NAI For Outgoing Call --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.8 - rsNAIForOutgoingCall OBJECT-TYPE - SYNTAX INTEGER - { - sub(1), - unknown(2), - ndd(3), - idd(4), - UKSpecific(126) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NAI for Outgoing Call - Remark:Select the required Network Address Identifier (NAI). The NAI option enables the MSC to perform call routing." - ::= { routingSelectionEntry 8 } - - --- Number Of Digit Deletion --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.9 - rsNumberOfDigitDeletion OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Deletion Count - Remark:Number of digits to be deleted from the beginning of the dialed number." - DEFVAL { 0 } - ::= { routingSelectionEntry 9 } - - --- Insertion Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.10 - rsInsertionNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Inserted Digits - Remark:The digits to be inserted to the front of the dialed number." - DEFVAL { "FFFFFFFFFFFFFFFF" } - ::= { routingSelectionEntry 10 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.11 - rsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { routingSelectionEntry 11 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3 - dialingPrefixSet OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1 - dialingPrefixSetTable OBJECT-TYPE - SYNTAX SEQUENCE OF DialingPrefixSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { dialingPrefixSet 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1 - dialingPrefixSetEntry OBJECT-TYPE - SYNTAX DialingPrefixSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { dpsIndex } - ::= { dialingPrefixSetTable 1 } - - - DialingPrefixSetEntry ::= - SEQUENCE { - dpsIndex - INTEGER, - dpsTitle - DisplayString16, - dpsCreateTimeStamp - TimeStamp, - dpsCC - DisplayString8, - dpsNDC - DisplayString8, - dpsInternationalPrefix - DisplayString8, - dpsNationalPrefix - DisplayString8, - dpsHPLMNCC0 - DisplayString16, - dpsHPLMNCC1 - DisplayString16, - dpsHPLMNCC2 - DisplayString16, - dpsHPLMNCC3 - DisplayString16, - dpsHPLMNCC4 - DisplayString16, - dpsHPLMNCC5 - DisplayString16, - dpsHPLMNCC6 - DisplayString16, - dpsHPLMNCC7 - DisplayString16, - dpsNumberPlanArea - DisplayString8, - dpsCreateEntryDialingPrefix - INTEGER, - dpsDialingPrefixEntries - INTEGER, - dpsRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.1 - dpsIndex OBJECT-TYPE - SYNTAX INTEGER (1..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Dialing Prefix Set index number ranges from 1 to 15." - ::= { dialingPrefixSetEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.2 - dpsTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Dialing Prefix Set name for identification purpose only." - DEFVAL { "DPS#" } - ::= { dialingPrefixSetEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.3 - dpsCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Dialing Prefix Set." - ::= { dialingPrefixSetEntry 3 } - - --- Country Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.4 - dpsCC OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CC - Remark:Country Code identifies the country's network." - ::= { dialingPrefixSetEntry 4 } - - --- National Destination Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.5 - dpsNDC OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NDC - Remark:National Destination Code defines the national calling area or national network to which the subscriber belongs." - ::= { dialingPrefixSetEntry 5 } - - --- International Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.6 - dpsInternationalPrefix OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:International Prefix - Remark:Access code for international network." - ::= { dialingPrefixSetEntry 6 } - - --- National Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.7 - dpsNationalPrefix OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:National Prefix - Remark:National prefix for the operating country to make a national call." - DEFVAL { "0" } - ::= { dialingPrefixSetEntry 7 } - - --- HPLMN CC0 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.8 - dpsHPLMNCC0 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 0 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 8 } - - --- HPLMN CC1 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.9 - dpsHPLMNCC1 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 1 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 9 } - - --- HPLMN CC2 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.10 - dpsHPLMNCC2 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 2 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 10 } - - --- HPLMN CC3 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.11 - dpsHPLMNCC3 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 3 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 11 } - - --- HPLMN CC4 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.12 - dpsHPLMNCC4 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 4 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 12 } - - --- HPLMN CC5 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.13 - dpsHPLMNCC5 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 5 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 13 } - - --- HPLMN CC6 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.14 - dpsHPLMNCC6 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 6 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 14 } - - --- HPLMN CC7 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.15 - dpsHPLMNCC7 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 7 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.16 - dpsNumberPlanArea OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Number Plan Area - Remark:Specify number plan area number for MNP outbound." - ::= { dialingPrefixSetEntry 16 } - - --- Dialing Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.17 - dpsCreateEntryDialingPrefix OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { dialingPrefixSetEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.18 - dpsDialingPrefixEntries OBJECT-TYPE - SYNTAX INTEGER (0..1024) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Dialing Prefix Entries - Remark:The total number of the configured Dialing Prefixes in this Dialing Prefix Set." - ::= { dialingPrefixSetEntry 18 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.17 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.19 - dpsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { dialingPrefixSetEntry 19 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2 - dialingPrefixTable OBJECT-TYPE - SYNTAX SEQUENCE OF DialingPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { dialingPrefixSet 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1 - dialingPrefixEntry OBJECT-TYPE - SYNTAX DialingPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { dpIndex, dpDPSIndex } - ::= { dialingPrefixTable 1 } - - - DialingPrefixEntry ::= - SEQUENCE { - dpDPSIndex - INTEGER, - dpIndex - INTEGER, - dpTitle - DisplayString16, - dpLookupMethod - INTEGER, - dpCallNumberPrefix - DisplayString16, - dpStartNumber - DisplayString16, - dpEndNumber - DisplayString16, - dpCallNumberAttribute - INTEGER, - dpAdministrationState - AdminStateChoices, - dpCallNumberLength - INTEGER, - dpServiceType - INTEGER, - dpEmergencyType - INTEGER, - dpServiceKey - INTEGER, - dpNumberType - INTEGER, - dpCLIType - INTEGER, - dpRSC - INTEGER, - dpCDRFlag - INTEGER, - dpOptionForSRFMNP - INTEGER, - dpMSCOptionForINMNP - INTEGER, - dpGMSCOptionForINMNP - INTEGER, - dpPremiumCall - INTEGER, - dpOSB1Flag - INTEGER, - dpOSB2Flag - INTEGER, - dpNAIForOutgoingCall - INTEGER, - dpPSTNNumberOfDigitDeletion - INTEGER, - dpPSTNInsertionNumber - DisplayString16, - dpE164NumberOfDigitDeletion - INTEGER, - dpE164InsertionNumber - DisplayString16, - dpRowStatus - RowStatus - } - --- DP DPS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.1 - dpDPSIndex OBJECT-TYPE - SYNTAX INTEGER (1..15) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:DPS Index - Remark:Dialing Prefix Set index number for this Dialing Prefix." - ::= { dialingPrefixEntry 1 } - - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.2 - dpIndex OBJECT-TYPE - SYNTAX INTEGER (1..1024) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Dialing Prefix index number ranges from 1 to 1024." - ::= { dialingPrefixEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.3 - dpTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Dialing Prefix name for identification purpose only." - ::= { dialingPrefixEntry 3 } - - --- Lookup Method --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.4 - dpLookupMethod OBJECT-TYPE - SYNTAX INTEGER - { - prefixLookup(0), - groupLookup(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Lookup Method - Remark:Select a dialing plan lookup method. Group Lookup Method has a higher priority than Prefix Lookup Method." - DEFVAL { prefix } - ::= { dialingPrefixEntry 4 } - - --- Call Number Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.5 - dpCallNumberPrefix OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:A combination digits that dial to originate a call. It's only valid when the lookup method selected Prefix." - ::= { dialingPrefixEntry 5 } - - --- Start Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.6 - dpStartNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Group Prefix Start - Remark:The beginning of the group prefix range. It's only valid when the lookup method selected Group." - ::= { dialingPrefixEntry 6 } - - --- End Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.7 - dpEndNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Group Prefix End - Remark:The end of the group prefix range. Start prefix and end prefix must have the same length." - ::= { dialingPrefixEntry 7 } - - --- Call Number Attribute --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.8 - dpCallNumberAttribute OBJECT-TYPE - SYNTAX INTEGER - { - sub(1), - unknown(2), - ndd(3), - idd(4), - UKSpecific(126) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Number Attribute - Remark:The original type of the incoming number. It is specified by originating node for terminating node to route this call with proper dialed number manipulation." - ::= { dialingPrefixEntry 8 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.9 - dpAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:The state of the current Dialing Prefix entry." - ::= { dialingPrefixEntry 9 } - - --- Call Number Length --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.10 - dpCallNumberLength OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Number Length - Remark:The length of the dialed number. Set 0 for uncertain length." - DEFVAL { 0 } - ::= { dialingPrefixEntry 10 } - - --- Service Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.11 - dpServiceType OBJECT-TYPE - SYNTAX INTEGER - { - normalCall(0), - emergencyCall(1), - intelligentCall(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Type - Remark:Service type of the outgoing call:

- Normal = No verification for MT
- Emergency Call = No verification for MO (free call)
- Intelligent Call = Calls to intelligent peripheral" - DEFVAL { normalCall } - ::= { dialingPrefixEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.12 - dpEmergencyType OBJECT-TYPE - SYNTAX INTEGER - { - zero(0), - one(1), - two(2), - three(3), - four(4), - five(5), - six(6), - seven(7) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Type - Remark:Specify index number which associated with the 8 emergency call numbers in Location Area or Cell setting." - DEFVAL { zero } - ::= { dialingPrefixEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.13 - dpServiceKey OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Service Key - Remark:Specify service hot key which associated with the service key configuration in the PPS SRF setting." - ::= { dialingPrefixEntry 13 } - - --- Number Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.14 - dpNumberType OBJECT-TYPE - SYNTAX INTEGER - { - msisdn(0), - msrn(1), - pstn(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Number Type - Remark:It determines how the numbers are sent out." - DEFVAL { msisdn } - ::= { dialingPrefixEntry 14 } - - --- CLI Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.15 - dpCLIType OBJECT-TYPE - SYNTAX INTEGER - { - sub(0), - ndd(1), - idd(2), - unknownSub(3), - unknownNdd(4), - unknownIdd(5) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CLI Type - Remark:It determines the format of the Caller Line ID (CLI).

- Sub = Unknown(Sub) = SN
- NDD = NDC+SN
- Unknown(NDD) = Nat Prefix+NDC+SN
- IDD = +CC+NDC+SN
- Unknown(IDD) = Int Prefix+CC+NDC+SN" - DEFVAL { ndd } - ::= { dialingPrefixEntry 15 } - - --- Routing Selection Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.16 - dpRSC OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Routing Selection ID - Remark:Specify the Routing Selection ID to this Dialing Prefix." - DEFVAL { 0 } - ::= { dialingPrefixEntry 16 } - - --- CDR Flag --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.17 - dpCDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable the Call Detail Record generation of this prefix." - DEFVAL { enable } - ::= { dialingPrefixEntry 17 } - - --- MNP Flag --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.18 - dpOptionForSRFMNP OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - portableNumber(1), - portedNumber(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SRF-MNP Flag - Remark:Enable if this prefix relating to SRF MNP service." - DEFVAL { disable } - ::= { dialingPrefixEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.19 - dpMSCOptionForINMNP OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - OQoD(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IN-MNP Flag (MSC) - Remark:Enable or disable IN MNP service when the system performs as an MSC." - ::= { dialingPrefixEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.20 - dpGMSCOptionForINMNP OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - TQoD(1), - QoHR(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IN-MNP Flag (GMSC) - Remark:Enable or disable IN MNP service when the system performs as a GMSC." - ::= { dialingPrefixEntry 20 } - - --- Premium Call --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.21 - dpPremiumCall OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - information(1), - entertainment(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Premium Call Flag - Remark:Enable if this prefix relating to Premium Call service." - DEFVAL { disable } - ::= { dialingPrefixEntry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.22 - dpOSB1Flag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OSB 1 Flag - Remark:Subscribers with OSB type 1 can only make calls to this dialing prefix with Call Allow Flag enabled." - DEFVAL { disable } - ::= { dialingPrefixEntry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.23 - dpOSB2Flag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OSB 2 Flag - Remark:Subscribers with OSB type 2 can't make calls to this dialing prefix with Call Bar Flag enabled." - DEFVAL { disable } - ::= { dialingPrefixEntry 23 } - - --- NAI For Outgoing Call --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.24 - dpNAIForOutgoingCall OBJECT-TYPE - SYNTAX INTEGER - { - sub(1), - unknown(2), - ndd(3), - idd(4), - UKSpecific(126) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NAI for Outgoing Call - Remark:Select the required Network Address Identifier (NAI). The transformed incoming number will be routed to the associated trunk group." - ::= { dialingPrefixEntry 24 } - - --- PSTN Number Of Digit Deletion --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.25 - dpPSTNNumberOfDigitDeletion OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PSTN Deletion Count - Remark:Number of digits to be deleted from the beginning of the dialed number." - DEFVAL { 0 } - ::= { dialingPrefixEntry 25 } - - --- PSTN Insertion Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.26 - dpPSTNInsertionNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PSTN Inserted Digits - Remark:Digits of the number to be added to the front of the dialed number." - DEFVAL { 'FFFFFFFFFFFFFFFF'h } - ::= { dialingPrefixEntry 26 } - - --- E164 Number Of Digit Deletion --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.17 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.27 - dpE164NumberOfDigitDeletion OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:E.164 Deletion Count - Remark:Number of digits to be deleted from the beginning of the incoming number." - ::= { dialingPrefixEntry 27 } - - --- E164 Insertion Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.18 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.28 - dpE164InsertionNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:E.164 Inserted Digits - Remark:Digits of the number to be added to the front of the incoming number to convert it to an international E.164 format." - DEFVAL { 'FFFFFFFFFFFFFFFF'h } - ::= { dialingPrefixEntry 28 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.19 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.29 - dpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { dialingPrefixEntry 29 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4 - trunkGroup OBJECT IDENTIFIER ::= { parameter 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1 - trunkGroupTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkGroupEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { trunkGroup 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1 - trunkGroupEntry OBJECT-TYPE - SYNTAX TrunkGroupEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { tgIndex } - ::= { trunkGroupTable 1 } - - - TrunkGroupEntry ::= - SEQUENCE { - tgIndex - INTEGER, - tgTitle - DisplayString16, - tgCreateTimeStamp - TimeStamp, - tgAdministrationState - AdminStateChoices, - tgOperabilityStatus - OperStateChoices, - tgAvailabilityStatus - AvailStateChoices, - tgOPC - INTEGER, - tgDPC - INTEGER, - tgNetworkIndicator - INTEGER, - tgProtocolType - INTEGER, - tgProtocolVariant - INTEGER, - tgLocalDomain - OCTET STRING, - tgDestDomain - OCTET STRING, - tgDestIP0 - IpAddress, - tgDestIP1 - IpAddress, - tgDestPort - INTEGER, - tgRemoteProcessISUP - INTEGER, - tgTONIncomingSIPCall - INTEGER, - tgCircuitSelectionMode - INTEGER, - tgBackoffFlag - INTEGER, - tgTandemRestriction - INTEGER, - tgCDRFlag - INTEGER, - tgTrunkGroupType - INTEGER, - tgRoutingZoneID - INTEGER, - tgAlternativeRoutingTrigger - INTEGER, - tgIgnoreNumberPortabilityInformation - INTEGER, - tgSignalPortedNumber - INTEGER, - tgNFAS - INTEGER, - tgPrimaryLink - INTEGER, - tgBackupLink - INTEGER, - tgBSCCodec - Opaque, - tgEchoControlDeviceIndicator - INTEGER, - tgSatelliteIndicator - INTEGER, - tgCreateEntryTrunk - INTEGER, - tgTrunkEntries - INTEGER, - tgRowStatus - RowStatus, - tgEventLog - DisplayString, - tgExtendProtocolType - INTEGER - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.1 - tgIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Trunk Group index number ranges from 1 to 255." - ::= { trunkGroupEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.2 - tgTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Trunk Group name for identification purpose only." - DEFVAL { "TG#" } - ::= { trunkGroupEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.3 - tgCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Trunk Group." - ::= { trunkGroupEntry 3 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.4 - tgAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed Trunk Group." - ::= { trunkGroupEntry 4 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.5 - tgOperabilityStatus OBJECT-TYPE - SYNTAX OperStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Oper State - Remark:(Read Only) Indicate the current Trunk Group operation is qualified by Availability State." - ::= { trunkGroupEntry 5 } - - --- Availability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.6 - tgAvailabilityStatus OBJECT-TYPE - SYNTAX AvailStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Avail State - Remark:(Read Only) Qualify Operation State providing details about the current operational state." - ::= { trunkGroupEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.7 - tgOPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:The Originating Point Code of the current TG." - ::= { trunkGroupEntry 7 } - - --- DPC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.8 - tgDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DPC - Remark:The Destination Point Code of the current TG." - ::= { trunkGroupEntry 8 } - - --- Network Indication --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.9 - tgNetworkIndicator OBJECT-TYPE - SYNTAX INTEGER - { - int(0), - intSpare(1), - nat(2), - natSpare(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NI - Remark:Network Indicator specifies the Trunk Group to a network." - DEFVAL { int } - ::= { trunkGroupEntry 9 } - - --- Protocol Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.10 - tgProtocolType OBJECT-TYPE - SYNTAX INTEGER - { - aif(0), - isup(1), - bicc(2), - isdn(3), - sip(5), - staticConnection(7), - iuCS(8) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Protocol Type - Remark:Select the protocol type for this Trunk Group." - ::= { trunkGroupEntry 10 } - - --- Protocol Variant --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.11 - tgProtocolVariant OBJECT-TYPE - SYNTAX INTEGER - { - itu(0), - ansi(1), - etsi(2), - uk(3), - Qsig(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Protocol Variant - Remark:Select the protocol variant for this Trunk Group." - DEFVAL { itu } - ::= { trunkGroupEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.12 - tgLocalDomain OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local Domain - Remark:(For SIP) Define the local domain name for a SIP TG." - ::= { trunkGroupEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.13 - tgDestDomain OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest Domain - Remark:(For SIP) Specify the destination domain name for a SIP TG." - ::= { trunkGroupEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.14 - tgDestIP0 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest IP 0 - Remark:(For SIP) Specify the destination IP address for a SIP TG." - ::= { trunkGroupEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.15 - tgDestIP1 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest IP 1 - Remark:(For SIP) Specify the destination IP address for a SIP TG." - ::= { trunkGroupEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.16 - tgDestPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest Port - Remark:(For SIP) Specify the destination port for a SIP TG." - ::= { trunkGroupEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.17 - tgRemoteProcessISUP OBJECT-TYPE - SYNTAX INTEGER - { - notSupport(0), - support(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Remote Process ISUP - Remark:(For SIP) Indicate whether the remote SIP UA is able to process ISUP in SIP-ISUP interworking." - ::= { trunkGroupEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.18 - tgTONIncomingSIPCall OBJECT-TYPE - SYNTAX INTEGER - { - CLIR(0), - Sub(1), - Unknown(2), - NDD(3), - IDD(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Incoming SIP Calls TON - Remark:(For SIP) Manipulate the type of calling number for a SIP TG. It doesn't take effect when the calling number's attribute is International. It is used for Calling Line Identification Presentation (CLIP) of incoming SIP calls." - ::= { trunkGroupEntry 18 } - - --- Circuit Selection Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.19 - tgCircuitSelectionMode OBJECT-TYPE - SYNTAX INTEGER - { - clockwise(0), - antiClockwise(1), - lowToHigh(128), - highToLow(129) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Circuit Selection - Remark:Circuit selection mode of the traffic channel connections." - DEFVAL { clockwise } - ::= { trunkGroupEntry 19 } - - --- Backoff Flag --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.20 - tgBackoffFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Backoff Flag - Remark:Enable or disable back off when simultaneously select the same channel with the opposite side." - DEFVAL { enable } - ::= { trunkGroupEntry 20 } - - --- Tandem Restriction --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.21 - tgTandemRestriction OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Tandem Restriction - Remark:Enable or disable Tandem to allow or prohibit transit calls from PSTN to PSTN via this trunk group." - DEFVAL { enable } - ::= { trunkGroupEntry 21 } - - --- CDR Flag --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.22 - tgCDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable the Call Detail Record generation of this Trunk Group." - DEFVAL { enable } - ::= { trunkGroupEntry 22 } - - --- Trunk Group Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.23 - tgTrunkGroupType OBJECT-TYPE - SYNTAX INTEGER - { - normal(0), - interconnectionForMSS0(16), - interconnectionForMSS1(17) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:TG Type - Remark:Application type of this Trunk Group." - DEFVAL { normal } - ::= { trunkGroupEntry 23 } - - --- Routing Zone ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.24 - tgRoutingZoneID OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:RZS ID - Remark:Specify the Trunk Group to a Routing Zone Set. Set 255 to apply this TG in all Routing Zone Sets." - DEFVAL { 0 } - ::= { trunkGroupEntry 24 } - - --- Alternative Routing Trigger --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.17 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.25 - tgAlternativeRoutingTrigger OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Alternative RZS Trigger - Remark:Specify the Trunk Group to an alternative Routing Zone Set for backup purpose.

- 0 = Disable Alternative Routing Zone Set" - DEFVAL { 0 } - ::= { trunkGroupEntry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.26 - tgIgnoreNumberPortabilityInformation OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Ignore MNP Info - Remark:(For MNP) In the MNP port-in processing, enable to ignore the optional parameters in the incoming IAM message." - ::= { trunkGroupEntry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.27 - tgSignalPortedNumber OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Signal Ported Number - Remark:(For MNP) In the MNP port-out processing, enable to ignore the optional parameters in the outgoing IAM message." - ::= { trunkGroupEntry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.28 - tgNFAS OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NFAS Flag - Remark:(For ISDN) Enable or disable Non-Facility Associated Signaling (NFAS) with D Channel Backup feature." - ::= { trunkGroupEntry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.29 - tgPrimaryLink OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Primary Link - Remark:(For ISDN) Specify the primary D channel to control multiple trunks." - ::= { trunkGroupEntry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.30 - tgBackupLink OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Backup Link - Remark:(For ISDN) Specify a backup D channel for use when the primary NFAS D channel is unavailable." - ::= { trunkGroupEntry 30 } - - --- Codec Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.31 - tgBSCCodec OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Codec 0[u]00.0-00.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 1[u]01.0-01.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 2[u]02.0-02.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 3[u]03.0-03.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 4[u]04.0-04.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 5[u]05.0-05.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 6[u]06.0-06.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 7[u]07.0-07.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 8[u]08.0-08.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 9[u]09.0-09.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 10[u]10.0-10.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 11[u]11.0-11.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 12[u]12.0-12.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 13[u]13.0-13.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 14[u]14.0-14.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 15[u]15.0-15.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [remark] - Specify the codec type of the BSC. It is available only for circuit BSC.

Entry 0 is the highest priority, entry 13 is the lowest." - ::= { trunkGroupEntry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.32 - tgEchoControlDeviceIndicator OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Echo Control Device Indicator - Remark:Indicate including echo control device in outbound IAM message or not." - ::= { trunkGroupEntry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.33 - tgSatelliteIndicator OBJECT-TYPE - SYNTAX INTEGER - { - noSatelliteCircuit(0), - oneSatelliteCircuit(1), - twoSatelliteCircuit(2), - transit(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the bearing value of the Satellite Indicator in the outgoing ISUP IAM message. For Transit, just adopts the same value from incoming ISUP IAM message." - ::= { trunkGroupEntry 33 } - - --- Trunk --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.18 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.34 - tgCreateEntryTrunk OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { trunkGroupEntry 34 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.35 - tgTrunkEntries OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Trunk Entries - Remark:The total number of configured Trunks in this Trunk Group." - ::= { trunkGroupEntry 35 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.19 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.36 - tgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { trunkGroupEntry 36 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.37 - tgEventLog OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { trunkGroupEntry 37 } - - --- Protocol Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.38 - tgExtendProtocolType OBJECT-TYPE - SYNTAX INTEGER - { - none(0), - aoip(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Extend Protocol Type - Remark:Select the extend protocol type for this Trunk Group. Such as AOIP" - ::= { trunkGroupEntry 38 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2 - trunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { trunkGroup 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1 - trunkEntry OBJECT-TYPE - SYNTAX TrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { trunkIndex, trunkTGIndex } - ::= { trunkTable 1 } - - - TrunkEntry ::= - SEQUENCE { - trunkTGIndex - INTEGER, - trunkIndex - INTEGER, - trunkTitle - DisplayString16, - trunkCreateTimeStamp - TimeStamp, - trunkAdministrationState - AdminStateChoices, - trunkOperabilityStatus - OperStateChoices, - trunkAvailabilityStatus - AvailStateChoices, - trunkMgID - INTEGER, - trunkPortID - INTEGER, - trunkPortType - INTEGER, - trunkGroupID - INTEGER, - trunkSupervisionMethod - INTEGER, - trunkLinkID - INTEGER, - trunkUserNetworkInterface - INTEGER, - trunkCICValueAssignment - INTEGER, - trunkChannelInUse - INTEGER, - trunkChannelEntries - INTEGER, - trunkRowStatus - RowStatus - } - --- Trunk TG Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.1 - trunkTGIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:TG Index - Remark:Trunk Group index number for the Trunk." - ::= { trunkEntry 1 } - - --- Trunk Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.2 - trunkIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Trunk index number ranges from 1 to 32." - ::= { trunkEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.3 - trunkTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Trunk name for identification purpose only." - DEFVAL { "TK#" } - ::= { trunkEntry 3 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.4 - trunkCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Trunk" - ::= { trunkEntry 4 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.5 - trunkAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed Trunk." - ::= { trunkEntry 5 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.6 - trunkOperabilityStatus OBJECT-TYPE - SYNTAX OperStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Oper State - Remark:(Read Only) Indicate the current Trunk operation is qualified by Availability Status." - ::= { trunkEntry 6 } - - --- Availability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.7 - trunkAvailabilityStatus OBJECT-TYPE - SYNTAX AvailStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Avail State - Remark:(Read Only) Qualify Operation State providing details about the current operational state." - ::= { trunkEntry 7 } - - --- MG ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.8 - trunkMgID OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MG ID - Remark:Specify the Trunk to a Media Gateway. Not applicable to virtual MG." - DEFVAL { 0 } - ::= { trunkEntry 8 } - - --- Port ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.9 - trunkPortID OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Port ID - Remark:Specify the Trunk to a physical port of the selected Media Gateway. Not applicable to virtual MG." - ::= { trunkEntry 9 } - - --- Port Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.10 - trunkPortType OBJECT-TYPE - SYNTAX INTEGER - { - e1(0), - t1(1), - analogue(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Port Type - Remark:Specify the type of MG physical ports." - DEFVAL { enable } - ::= { trunkEntry 10 } - - --- Group ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.11 - trunkGroupID OBJECT-TYPE - SYNTAX INTEGER - { - group0(0), - group1(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Group ID - Remark:Select the application group for the Trunk.

- Group0 = Master is MSC 0
- Group1 = Master is MSC1" - DEFVAL { group0 } - ::= { trunkEntry 11 } - - --- Typical CIC Assignment Plan --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.12 - trunkSupervisionMethod OBJECT-TYPE - SYNTAX INTEGER - { - circuitGroup(0), - circuit(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Supervision Method - Remark:Specify the type of block request indication delivered in the ISUP trunk initialization process." - DEFVAL { enable } - ::= { trunkEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.13 - trunkLinkID OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Link ID - Remark:(For ISDN) Specify the corresponding IUA link ID which is configured in the MTP3 setting." - ::= { trunkEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.14 - trunkUserNetworkInterface OBJECT-TYPE - SYNTAX INTEGER - { - networkSide(0), - userSide(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:User Network Interface - Remark:(For ISDN) Select Q.931 switch type for ISDN call processing." - ::= { trunkEntry 14 } - - --- Typical CIC Value Assignment --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.15 - trunkCICValueAssignment OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CIC Assignment - Remark:Specify the start CIC to the Trunk for typical mode.

- E1 = 0, 32, 64 ...
- T1 = 0, 24, 48 ..." - ::= { trunkEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.16 - trunkChannelInUse OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Channel in Use - Remark:(Read Only) Display the quantity of occupied channels of this trunk in real-time." - ::= { trunkEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.17 - trunkChannelEntries OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Channel Entries - Remark:The total number of configured Channels in this Trunk." - ::= { trunkEntry 17 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.18 - trunkRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { trunkEntry 18 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3 - channelTable OBJECT-TYPE - SYNTAX SEQUENCE OF ChannelEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { trunkGroup 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1 - channelEntry OBJECT-TYPE - SYNTAX ChannelEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:3" - INDEX { tsTrunkIndex, tsIndex, tsTrunkTGIndex } - ::= { channelTable 1 } - - - ChannelEntry ::= - SEQUENCE { - tsTrunkTGIndex - INTEGER, - tsTrunkIndex - INTEGER, - tsIndex - INTEGER, - tsType - INTEGER, - tsChannelCIC - INTEGER, - tsChannelStatus - INTEGER, - tsLocalBlock - INTEGER, - tsRemoteBlock - INTEGER - } - --- CIC Trunk TG Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.1 - tsTrunkTGIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:TG Index - Remark:Trunk Group index number for this Timeslot." - ::= { channelEntry 1 } - - --- CIC Trunk Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.2 - tsTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Trunk Index - Remark:Trunk index number for this Timeslot." - ::= { channelEntry 2 } - - --- CIC Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.3 - tsIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Timeslot index number ranges from 1 to 32." - ::= { channelEntry 3 } - - --- CIC Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.4 - tsType OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - incoming(1), - outgoing(2), - bidirectional(3), - leaseLine(4), - dChannel(5), - xChannel(6) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Type - Remark:Specify the type of the channel." - DEFVAL { bidirectiona } - ::= { channelEntry 4 } - - --- Channel CIC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.5 - tsChannelCIC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CIC - Remark:Assign a Circuit Identity Code (CIC) to the channel." - ::= { channelEntry 5 } - - --- Call Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.6 - tsChannelStatus OBJECT-TYPE - SYNTAX INTEGER - { - outOfService(0), - idle(1), - busy(2), - iPALIMUsed(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Status - Remark:(Read Only) The current status of the serving channel." - ::= { channelEntry 6 } - - --- Local Block --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.7 - tsLocalBlock OBJECT-TYPE - SYNTAX INTEGER - { - unblocked(0), - localBlocked(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Local Block - Remark:(Read Only) Display the local block error if the channel is out of service." - ::= { channelEntry 7 } - - --- Remote Block --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.8 - tsRemoteBlock OBJECT-TYPE - SYNTAX INTEGER - { - unblocked(0), - remoteBlocked(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Remote Block - Remark:(Read Only) Display the remote block error if the channel is out of service." - ::= { channelEntry 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5 - locationArea OBJECT IDENTIFIER ::= { parameter 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1 - locationAreaTable OBJECT-TYPE - SYNTAX SEQUENCE OF LocationAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { locationArea 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1 - locationAreaEntry OBJECT-TYPE - SYNTAX LocationAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { laIndex } - ::= { locationAreaTable 1 } - - - LocationAreaEntry ::= - SEQUENCE { - laIndex - INTEGER, - laTitle - DisplayString16, - laCreateTimeStamp - TimeStamp, - laLAC - INTEGER, - laTrunkGroup - INTEGER, - laPageType - INTEGER, - laNumberOfRepeatPaging - INTEGER, - laNITZ - Opaque, - laLocalEmergencyNumber0 - DisplayString16, - laLocalEmergencyNumber1 - DisplayString16, - laLocalEmergencyNumber2 - DisplayString16, - laLocalEmergencyNumber3 - DisplayString16, - laLocalEmergencyNumber4 - DisplayString16, - laLocalEmergencyNumber5 - DisplayString16, - laLocalEmergencyNumber6 - DisplayString16, - laLocalEmergencyNumber7 - DisplayString16, - laCreateEntryCell - INTEGER, - laCellEntries - INTEGER, - laRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.1 - laIndex OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Location Area index number ranges from 1 to 1023." - ::= { locationAreaEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.2 - laTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Location Area name for identification purpose only." - DEFVAL { "LA#" } - ::= { locationAreaEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.3 - laCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Location Area." - ::= { locationAreaEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.4 - laLAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:LAC - Remark:Specify the Location Area Code of this location area.

- Range = 1 - 65535" - ::= { locationAreaEntry 4 } - - --- Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.5 - laTrunkGroup OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Trunk Group - Remark:Specify the serving Trunk Group of this location area." - ::= { locationAreaEntry 5 } - - --- Page Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.6 - laPageType OBJECT-TYPE - SYNTAX INTEGER - { - byLAC(0), - byAllCell(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Paging Mode - Remark:Paging messages broadcast in the specified location area or in the whole network." - DEFVAL { byLAC } - ::= { locationAreaEntry 6 } - - --- Number Of Repeat Paging --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.7 - laNumberOfRepeatPaging OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Repeat Paging Times - Remark:Specify the subsequent paging times if the initial paging fails." - DEFVAL { 2 } - ::= { locationAreaEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.8 - laNITZ OBJECT-TYPE - SYNTAX Opaque (SIZE (35)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NITZ - Remark:Network Identity and Time Zone" - ::= { locationAreaEntry 8 } - - --- Local Emergency Number0 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.9 - laLocalEmergencyNumber0 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 0 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 9 } - - --- Local Emergency Number1 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.10 - laLocalEmergencyNumber1 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 1 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 10 } - - --- Local Emergency Number2 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.11 - laLocalEmergencyNumber2 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 2 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 11 } - - --- Local Emergency Number3 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.12 - laLocalEmergencyNumber3 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 3 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 12 } - - --- Local Emergency Number4 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.13 - laLocalEmergencyNumber4 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 4 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 13 } - - --- Local Emergency Number5 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.14 - laLocalEmergencyNumber5 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 5 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 14 } - - --- Local Emergency Number6 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.15 - laLocalEmergencyNumber6 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 6 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 15 } - - --- Local Emergency Number7 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.16 - laLocalEmergencyNumber7 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 7 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 16 } - - --- Cell --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.17 - laCreateEntryCell OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { locationAreaEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.18 - laCellEntries OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Cell Entries - Remark:The total number of configured Cells in this Location Area." - ::= { locationAreaEntry 18 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.19 - laRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { locationAreaEntry 19 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2 - cellTable OBJECT-TYPE - SYNTAX SEQUENCE OF CellEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { locationArea 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1 - cellEntry OBJECT-TYPE - SYNTAX CellEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { cellIndex, cellLAIndex } - ::= { cellTable 1 } - - - CellEntry ::= - SEQUENCE { - cellLAIndex - INTEGER, - cellIndex - INTEGER, - cellTitle - DisplayString16, - cellCreateTimeStamp - TimeStamp, - cellRoutingZoneID - INTEGER, - cellRegionalSubscriptionZoneCode - INTEGER, - cellCellID - INTEGER, - cellLatitude - Opaque, - cellLongitude - Opaque, - cellLocalEmergencyNumber0 - DisplayString16, - cellLocalEmergencyNumber1 - DisplayString16, - cellLocalEmergencyNumber2 - DisplayString16, - cellLocalEmergencyNumber3 - DisplayString16, - cellLocalEmergencyNumber4 - DisplayString16, - cellLocalEmergencyNumber5 - DisplayString16, - cellLocalEmergencyNumber6 - DisplayString16, - cellLocalEmergencyNumber7 - DisplayString16, - cellRowStatus - RowStatus - } - --- Cell Location Area Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.1 - cellLAIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:LA Index - Remark:Location Area index number for this Cell." - ::= { cellEntry 1 } - - --- Cell Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.2 - cellIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Cell index number ranges from 1 to 16." - ::= { cellEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.3 - cellTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Cell name for identification purpose only." - DEFVAL { "CELL#" } - ::= { cellEntry 3 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.4 - cellCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Cell." - ::= { cellEntry 4 } - - --- Rounting Zone ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.5 - cellRoutingZoneID OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:RZS ID - Remark:Specify the Routing Zone Set to this Cell." - DEFVAL { 0 } - ::= { cellEntry 5 } - - --- Regional Subscription Zone Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.6 - cellRegionalSubscriptionZoneCode OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:RSZC - Remark:Assign a Regional Subscription Zone Code (RSZC) to the LAC.

- RSZC = CC + NDC + Zone Code" - DEFVAL { 'FF'h } - ::= { cellEntry 6 } - - --- Cell ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.7 - cellCellID OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Cell ID - Remark:Global Cell Identity defined in GSM 03.03.

- Range = 0 - 65535" - ::= { cellEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.8 - cellLatitude OBJECT-TYPE - SYNTAX Opaque (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Latitude[u]00.0-03.7[u]input - [v]toLatitude-formula-pow(2,23)/90 - [remark] - Specify the latitude of this cell for a location service use.

- Range = -90.00 - 90.00" - ::= { cellEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.9 - cellLongitude OBJECT-TYPE - SYNTAX Opaque (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Longitude[u]00.0-03.7[u]input - [v]toLongitude-formula-pow(2,24)/360 - [remark] - Specify the longitude of this cell for a location service use.

- Range = -180.00 - 180.00" - ::= { cellEntry 9 } - - --- Cell Local Emergency Number0 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.10 - cellLocalEmergencyNumber0 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 0 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 10 } - - --- Cell Local Emergency Number1 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.11 - cellLocalEmergencyNumber1 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 1 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 11 } - - --- Cell Local Emergency Number2 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.12 - cellLocalEmergencyNumber2 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 2 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 12 } - - --- Cell Local Emergency Number3 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.13 - cellLocalEmergencyNumber3 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 3 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 13 } - - --- Cell Local Emergency Number4 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.14 - cellLocalEmergencyNumber4 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 4 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 14 } - - --- Cell Local Emergency Number5 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.15 - cellLocalEmergencyNumber5 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 5 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 15 } - - --- Cell Local Emergency Number6 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.16 - cellLocalEmergencyNumber6 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 6 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 16 } - - --- Cell Local Emergency Number7 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.17 - cellLocalEmergencyNumber7 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 7 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 17 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.18 - cellRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cellEntry 18 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6 - mediaGateway OBJECT IDENTIFIER ::= { parameter 6 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1 - mediaGatewayTable OBJECT-TYPE - SYNTAX SEQUENCE OF MediaGatewayEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mediaGateway 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1 - mediaGatewayEntry OBJECT-TYPE - SYNTAX MediaGatewayEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { mgIndex } - ::= { mediaGatewayTable 1 } - - - MediaGatewayEntry ::= - SEQUENCE { - mgIndex - INTEGER, - mgTitle - DisplayString16, - mgCreateTimeStamp - TimeStamp, - mgAdministrationState - AdminStateChoices, - mgIP - IpAddress, - mgDomainName - DisplayString16, - mgSwitchingMode - INTEGER, - mgEndPoint - INTEGER, - mgToneGenCapability - INTEGER, - mgType - INTEGER, - mgMaxPhysicalPorts - INTEGER, - mgMaxChannels - INTEGER, - mgPacketizationPeriod - INTEGER, - mgPriorityLevel - INTEGER, - mgCodecType - Opaque, - mgAuditTimer - INTEGER, - mgPhysicalPortEntries - INTEGER, - mgRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.1 - mgIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Media Gateway index number ranges from 1 to 255." - ::= { mediaGatewayEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.2 - mgTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Media Gateway name for identification purpose only." - DEFVAL { "MG#" } - ::= { mediaGatewayEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.3 - mgCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the MG entry." - ::= { mediaGatewayEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.4 - mgAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed Media Gateway." - ::= { mediaGatewayEntry 4 } - - --- IP --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.5 - mgIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IP - Remark:IP address of the Media Gateway." - ::= { mediaGatewayEntry 5 } - - --- Domain Name --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.6 - mgDomainName OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Domain Name - Remark:Specify a domain name to the Media Gateway." - ::= { mediaGatewayEntry 6 } - - --- Switching Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.7 - mgSwitchingMode OBJECT-TYPE - SYNTAX INTEGER - { - mgcp(0), - eightECP(1), - megaco(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Switching Mode - Remark:Select the switching mode of the specific Media Gateway.

- 8ECP = Circuit Switch (8KE1 Card)
- MGCP = Soft Switch" - DEFVAL { mgcp } - ::= { mediaGatewayEntry 7 } - - --- End Point Description --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.8 - mgEndPoint OBJECT-TYPE - SYNTAX INTEGER - { - structured(1), - unStructured(2), - unStructuredHex(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Endpoint - Remark:Specify the method of MGCP endpoint description." - DEFVAL { structured } - ::= { mediaGatewayEntry 8 } - - --- Tone Gen Capability --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.9 - mgToneGenCapability OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Tone Generation Capacity - Remark:Enable if the Media Gateway has tone generation capability." - DEFVAL { enable } - ::= { mediaGatewayEntry 9 } - - --- MG Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.10 - mgType OBJECT-TYPE - SYNTAX INTEGER - { - audioCodes(1), - lgcMG(2), - lgcCS(3), - ipBSS(4), - analogLine(11), - vim(19), - tandem(20), - announcementServer(21), - iuupGW(23), - interactiveVoiceResponse(31), - conferenceBridge(41), - packetRelay(51), - wiretap(61), - atm(71) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Type - Remark:Select the type of Media Gateway endpoint." - DEFVAL { digitalChannel } - ::= { mediaGatewayEntry 10 } - - --- Max Physical Ports --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.11 - mgMaxPhysicalPorts OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Ports - Remark:The total physical port number of the Media Gateway. Not applicable to virtual MG." - ::= { mediaGatewayEntry 11 } - - --- Max Channels --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.12 - mgMaxChannels OBJECT-TYPE - SYNTAX INTEGER (0..1024) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Channels - Remark:The total channel number of the virtual Media Gateway. Applicable to virtual MG only." - ::= { mediaGatewayEntry 12 } - - --- Packetization Period --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.13 - mgPacketizationPeriod OBJECT-TYPE - SYNTAX INTEGER - { - x20ms(20), - x40ms(40), - x60ms(60), - x80ms(80) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Packetization Period - Remark:The period over which encoded voice bits are collected for encapsulation in." - DEFVAL { x20ms } - ::= { mediaGatewayEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.14 - mgPriorityLevel OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Priority Level - Remark:Set the priority level of the MG codec table:

- 0 = Lowest priority level
- 255 = Highest priority level" - ::= { mediaGatewayEntry 14 } - - --- Codec Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.15 - mgCodecType OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Codec 0[u]00.0-00.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 1[u]01.0-01.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 2[u]02.0-02.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 3[u]03.0-03.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 4[u]04.0-04.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 5[u]05.0-05.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 6[u]06.0-06.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 7[u]07.0-07.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 8[u]08.0-08.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 9[u]09.0-09.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 10[u]10.0-10.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 11[u]11.0-11.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 12[u]12.0-12.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 13[u]13.0-13.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 14[u]14.0-14.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 15[u]15.0-15.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [remark] - Specify the codec type of the Media Gateway. Entry 0 is the highest priority, entry 13 is the lowest." - ::= { mediaGatewayEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.16 - mgAuditTimer OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Audit Timer - Remark:The time interval between sending AUEP message from MGC to MGW to check the trunk status. Unit is second." - ::= { mediaGatewayEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.17 - mgPhysicalPortEntries OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Port Entries - Remark:The total number of the configured physical Ports of this Media Gateway." - ::= { mediaGatewayEntry 17 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.18 - mgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mediaGatewayEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2 - physicalPortTable OBJECT-TYPE - SYNTAX SEQUENCE OF PhysicalPortEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mediaGateway 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1 - physicalPortEntry OBJECT-TYPE - SYNTAX PhysicalPortEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { ppIndex, ppMGIndex } - ::= { physicalPortTable 1 } - - - PhysicalPortEntry ::= - SEQUENCE { - ppMGIndex - INTEGER, - ppIndex - INTEGER, - ppUsedFlag - INTEGER, - ppStatus - INTEGER, - ppSeizure - OCTET STRING - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.1 - ppMGIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:MG Index - Remark:Media Gateway index number for this physical Port." - ::= { physicalPortEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.2 - ppIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Port index number ranges from 1 to 32." - ::= { physicalPortEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.3 - ppUsedFlag OBJECT-TYPE - SYNTAX INTEGER - { - idle(0), - inUse(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Used Flag - Remark:(Read Only) This field indicates whether the port is in service." - ::= { physicalPortEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.4 - ppStatus OBJECT-TYPE - SYNTAX INTEGER - { - notReady(0), - ready(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Status - Remark:(Read Only) The availability status of the physical port." - ::= { physicalPortEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.5 - ppSeizure OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - RelationPoint:2.4.2.1 - Remark:(Read Only) Hyperlink of the related Trunk Group and Trunk." - ::= { physicalPortEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3 - csta OBJECT IDENTIFIER ::= { msc 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3 - tgIncomingTable OBJECT-TYPE - SYNTAX SEQUENCE OF TgIncomingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1 - tgIncomingEntry OBJECT-TYPE - SYNTAX TgIncomingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { tgIncomingTgndex, tgIncomingIndex } - ::= { tgIncomingTable 1 } - - - TgIncomingEntry ::= - SEQUENCE { - tgIncomingTgndex - INTEGER, - tgIncomingIndex - INTEGER, - tgIncomingData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1.1 - tgIncomingTgndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { tgIncomingEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1.2 - tgIncomingIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tgIncomingEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1.3 - tgIncomingData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tgIncomingEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4 - tgOutgoingTable OBJECT-TYPE - SYNTAX SEQUENCE OF TgOutgoingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1 - tgOutgoingEntry OBJECT-TYPE - SYNTAX TgOutgoingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { tgOutgoingTgIndex, tgOutgoingIndex } - ::= { tgOutgoingTable 1 } - - - TgOutgoingEntry ::= - SEQUENCE { - tgOutgoingTgIndex - INTEGER, - tgOutgoingIndex - INTEGER, - tgOutgoingData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1.1 - tgOutgoingTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { tgOutgoingEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1.2 - tgOutgoingIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tgOutgoingEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1.3 - tgOutgoingData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tgOutgoingEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5 - subsToSubsTable OBJECT-TYPE - SYNTAX SEQUENCE OF SubsToSubsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5.1 - subsToSubsEntry OBJECT-TYPE - SYNTAX SubsToSubsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { subsToSubsIndex } - ::= { subsToSubsTable 1 } - - - SubsToSubsEntry ::= - SEQUENCE { - subsToSubsIndex - INTEGER, - subsToSubsData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5.1.1 - subsToSubsIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToSubsEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5.1.2 - subsToSubsData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToSubsEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6 - subsToTrunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF SubsToTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6.1 - subsToTrunkEntry OBJECT-TYPE - SYNTAX SubsToTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { subsToTrunkIndex } - ::= { subsToTrunkTable 1 } - - - SubsToTrunkEntry ::= - SEQUENCE { - subsToTrunkIndex - INTEGER, - subsToTrunkData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6.1.1 - subsToTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToTrunkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6.1.2 - subsToTrunkData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToTrunkEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7 - trunkToSubsTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkToSubsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7.1 - trunkToSubsEntry OBJECT-TYPE - SYNTAX TrunkToSubsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { trunkToSubsIndex } - ::= { trunkToSubsTable 1 } - - - TrunkToSubsEntry ::= - SEQUENCE { - trunkToSubsIndex - INTEGER, - trunkToSubsData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7.1.1 - trunkToSubsIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToSubsEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7.1.2 - trunkToSubsData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToSubsEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8 - trunkToTrunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkToTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8.1 - trunkToTrunkEntry OBJECT-TYPE - SYNTAX TrunkToTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { trunkToTrunkIndex } - ::= { trunkToTrunkTable 1 } - - - TrunkToTrunkEntry ::= - SEQUENCE { - trunkToTrunkIndex - INTEGER, - trunkToTrunkData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8.1.1 - trunkToTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToTrunkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8.1.2 - trunkToTrunkData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToTrunkEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9 - intraconnectionTable OBJECT-TYPE - SYNTAX SEQUENCE OF IntraconnectionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9.1 - intraconnectionEntry OBJECT-TYPE - SYNTAX IntraconnectionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { intraconnectionIndex } - ::= { intraconnectionTable 1 } - - - IntraconnectionEntry ::= - SEQUENCE { - intraconnectionIndex - INTEGER, - intraconnectionData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9.1.1 - intraconnectionIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { intraconnectionEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9.1.2 - intraconnectionData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { intraconnectionEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10 - subsToIpTable OBJECT-TYPE - SYNTAX SEQUENCE OF SubsToIpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10.1 - subsToIpEntry OBJECT-TYPE - SYNTAX SubsToIpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { subsToIpIndex } - ::= { subsToIpTable 1 } - - - SubsToIpEntry ::= - SEQUENCE { - subsToIpIndex - INTEGER, - subsToIpData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10.1.1 - subsToIpIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToIpEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10.1.2 - subsToIpData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToIpEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11 - trunkToIpTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkToIpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11.1 - trunkToIpEntry OBJECT-TYPE - SYNTAX TrunkToIpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { trunkToIpIndex } - ::= { trunkToIpTable 1 } - - - TrunkToIpEntry ::= - SEQUENCE { - trunkToIpIndex - INTEGER, - trunkToIpData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11.1.1 - trunkToIpIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToIpEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11.1.2 - trunkToIpData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToIpEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12 - mobileOriginatedTable OBJECT-TYPE - SYNTAX SEQUENCE OF MobileOriginatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12.1 - mobileOriginatedEntry OBJECT-TYPE - SYNTAX MobileOriginatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mobileOriginatedIndex } - ::= { mobileOriginatedTable 1 } - - - MobileOriginatedEntry ::= - SEQUENCE { - mobileOriginatedIndex - INTEGER, - mobileOriginatedData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12.1.1 - mobileOriginatedIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mobileOriginatedEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12.1.2 - mobileOriginatedData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mobileOriginatedEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13 - mobileTerminatedTable OBJECT-TYPE - SYNTAX SEQUENCE OF MobileTerminatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13.1 - mobileTerminatedEntry OBJECT-TYPE - SYNTAX MobileTerminatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mobileTerminatedIndex } - ::= { mobileTerminatedTable 1 } - - - MobileTerminatedEntry ::= - SEQUENCE { - mobileTerminatedIndex - INTEGER, - mobileTermiginatedData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13.1.1 - mobileTerminatedIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mobileTerminatedEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13.1.2 - mobileTermiginatedData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mobileTerminatedEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14 - inTrunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF InTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14.1 - inTrunkEntry OBJECT-TYPE - SYNTAX InTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { inTrunkIndex } - ::= { inTrunkTable 1 } - - - InTrunkEntry ::= - SEQUENCE { - inTrunkIndex - INTEGER, - inTrunkData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14.1.1 - inTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { inTrunkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14.1.2 - inTrunkData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { inTrunkEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15 - outTrunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF OutTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15.1 - outTrunkEntry OBJECT-TYPE - SYNTAX OutTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { outTrunkIndex } - ::= { outTrunkTable 1 } - - - OutTrunkEntry ::= - SEQUENCE { - outTrunkIndex - INTEGER, - outTrunkData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15.1.1 - outTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { outTrunkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15.1.2 - outTrunkData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { outTrunkEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16 - ipTerminatedTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpTerminatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16.1 - ipTerminatedEntry OBJECT-TYPE - SYNTAX IpTerminatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { ipTermiginatedIndex } - ::= { ipTerminatedTable 1 } - - - IpTerminatedEntry ::= - SEQUENCE { - ipTermiginatedIndex - INTEGER, - ipTermiginatedData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16.1.1 - ipTermiginatedIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ipTerminatedEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16.1.2 - ipTermiginatedData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ipTerminatedEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.4 - cdr OBJECT IDENTIFIER ::= { msc 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.4.1 - cdrHeadOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.4.2 - cdrTailOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.4.3 - cdrDataOid OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 3 } - - - - END - --- --- LGC-SS-MSC-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-MSC-MIB_baknew.my b/omc/bin/mib/LGC-SS-MSC-MIB_baknew.my deleted file mode 100644 index 14c4c8e..0000000 --- a/omc/bin/mib/LGC-SS-MSC-MIB_baknew.my +++ /dev/null @@ -1,4932 +0,0 @@ --- --- LGC-SS-MSC-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Tuesday, March 20, 2012 at 10:02:43 --- - - LGC-SS-MSC-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, TimeStamp, RowStatus, DisplayString8, - DisplayString, AdminStateChoices, OperStateChoices - FROM LGC-MIB - IpAddress, Opaque, Integer32, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.1 - msc MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 1 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { msc 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2 - parameter OBJECT IDENTIFIER ::= { msc 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.1 - cDROption OBJECT-TYPE - SYNTAX Opaque (SIZE (8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]MO Call[u]00.0-00.0[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]MT Call[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]In Gateway[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Out Gateway[u]00.3-00.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]MO SMS[u]00.4-00.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]MT SMS[u]00.5-00.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Transit Call[u]00.6-00.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Roaming[u]00.7-00.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Reserved[u]01.0-01.0[u]select - [unit]Common Equipment[u]01.1-01.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]SS Action[u]01.2-01.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Term CAMEL[u]01.3-01.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI White List[u]01.4-01.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI Black List[u]01.5-01.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI Grey List[u]01.6-01.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI Unknown[u]01.7-01.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Reserved[u]02.0-02.7[u]select - [unit]Reserved[u]03.0-03.7[u]select - [remark]Control the Call Detail Record generation for different call types." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.2 - maxCallDurationMO OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MO Max Call Duration - Remark:Define the permitted maximum call duration for MO call. Any ongoing call reaching this threshold will be compulsively cut off.

- Set 0 to disable this function." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.3 - maxCallDurationMT OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MT Max Call Duration - Remark:Define the permitted maximum call duration for MT call. Any incoming call reaching this threshold will be compulsively cut off.

- Set 0 to disable this function." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.4 - locationNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Location Number - Remark:Specify the location routing number for MNP service." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.5 - suspendTimer OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Suspend Timer - Remark:If receives ISUP SUSPEND message in an ISUP call, then start the suspend timer to wait for the ISUP RESUME message. If time out, then send RELEASE to ISUP. Unit is second." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.6 - emlppPciOption OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:eMLPP PCI Option - OPAQUE DECODE RULE: - [unit]Reserved[u]00.0-00.0[u]select - [unit]Level A[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level B[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 0[u]00.3-00.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 1[u]00.4-00.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 2[u]00.5-00.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 3[u]00.6-00.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 4[u]00.7-00.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [remark] - The enhanced Multi-Level Precedence and Preemption (eMLPP) service provides the capability to classify the mobile subscribers according to a subscriber specific priority.

The Preemption Capability Indicator (PCI) is set when the traffic channel to be assigned may preempt (forced release) an existing connection with a lower priority level (active preemption)." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.7 - emlppPviOption OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:eMLPP PVI Option - OPAQUE DECODE RULE: - [unit]Reserved[u]00.0-00.0[u]select - [unit]Level A[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level B[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 0[u]00.3-00.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 1[u]00.4-00.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 2[u]00.5-00.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 3[u]00.6-00.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 4[u]00.7-00.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [remark] - The enhanced Multi-Level Precedence and Preemption (eMLPP) service provides the capability to classify the mobile subscribers according to a subscriber specific priority.

The Preemption Vulnerability Indicator (PVI) is set when the traffic channel to be assigned can be preempted by another connection that might be established later with a higher priority level (passive preemption)." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.8 - assignmentTimer OBJECT-TYPE - SYNTAX INTEGER (10..250) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Assignment Timer - Remark:Specify the maximum waiting time for receiving Assignment Complete message after the Assignment Request message has been sent. Unit is 100ms." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.9 - pagingTimer OBJECT-TYPE - SYNTAX INTEGER (10..40) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Paging Timer - Remark:Specify the maximum waiting time for receiving Paging Response message after the Paging message has been sent. Unit is 1 second." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.10 - splitEtcNumber OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Split ETC Number - Remark:Allow or forbid splitting the Correlation ID and SCF ID in the Establish Temporary Connection message." - ::= { system 10 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2 - routingZoneSet OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1 - routingZoneSetTable OBJECT-TYPE - SYNTAX SEQUENCE OF RoutingZoneSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { routingZoneSet 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1 - routingZoneSetEntry OBJECT-TYPE - SYNTAX RoutingZoneSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { rzsIndex } - ::= { routingZoneSetTable 1 } - - - RoutingZoneSetEntry ::= - SEQUENCE { - rzsIndex - INTEGER, - rzsTitle - DisplayString16, - rzsCreateTimeStamp - TimeStamp, - rzsDialingPrefixSetID - INTEGER, - rzsAnnouncementSetID - INTEGER, - rzsMSRNRangeStart - DisplayString16, - rzsMSRNRangeEnd - DisplayString16, - rzsSRFNumber0 - DisplayString16, - rzsSRFNumber1 - DisplayString16, - rzsCreateEntryRoutingSelection - INTEGER, - rzsRoutingSelectionEntries - INTEGER, - rzsRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.1 - rzsIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing Zone Set index number ranges from 1 to 31." - ::= { routingZoneSetEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.2 - rzsTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing Zone Set name for identification purpose only." - DEFVAL { "RZS#" } - ::= { routingZoneSetEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.3 - rzsCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Routing Zone Set." - ::= { routingZoneSetEntry 3 } - - --- Dialing Prefix Set ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.4 - rzsDialingPrefixSetID OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Dialing Prefix Set ID - Remark:Specify the Dialing Prefix Set to this Routing Zone Set." - DEFVAL { 0 } - ::= { routingZoneSetEntry 4 } - - --- Announcement(CUA) Set ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.5 - rzsAnnouncementSetID OBJECT-TYPE - SYNTAX INTEGER (0..256) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Announcement Set ID - Remark:Specify the Announcement Set to this Routing Zone Set." - ::= { routingZoneSetEntry 5 } - - --- MSRN Range Start --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.6 - rzsMSRNRangeStart OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSRN Start - Remark:The beginning of the MSRN range for this Routing Zone Set." - ::= { routingZoneSetEntry 6 } - - --- MSRN Range End --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.7 - rzsMSRNRangeEnd OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSRN End - Remark:The end of the MSRN range for this Routing Zone Set." - ::= { routingZoneSetEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.8 - rzsSRFNumber0 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SRF 0 Number - Remark:The E.164 node address of the SRF connecting to MSS platform 0." - ::= { routingZoneSetEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.9 - rzsSRFNumber1 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SRF 1 Number - Remark:The E.164 node address of the SRF connecting to MSS platform 1." - ::= { routingZoneSetEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.10 - rzsCreateEntryRoutingSelection OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { routingZoneSetEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.11 - rzsRoutingSelectionEntries OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Routing Selection Entries - Remark:The total number of configured Routing Selections in this Routing Zone Set." - ::= { routingZoneSetEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.12 - rzsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { routingZoneSetEntry 12 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2 - routingSelectionTable OBJECT-TYPE - SYNTAX SEQUENCE OF RoutingSelectionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { routingZoneSet 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1 - routingSelectionEntry OBJECT-TYPE - SYNTAX RoutingSelectionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { rsIndex, rsRZSIndex } - ::= { routingSelectionTable 1 } - - - RoutingSelectionEntry ::= - SEQUENCE { - rsRZSIndex - INTEGER, - rsIndex - INTEGER, - rsTitle - DisplayString16, - rsCreateTimeStamp - TimeStamp, - rsTrunkGroup - INTEGER, - rsAlternativeTrunkGroupOption - INTEGER, - rsAlternativeTrunkGroup - INTEGER, - rsNAIForOutgoingCall - INTEGER, - rsNumberOfDigitDeletion - INTEGER, - rsInsertionNumber - DisplayString16, - rsRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.1 - rsRZSIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:RSZ Index - Remark:Routing Zone Set Index for the Routing Selection." - ::= { routingSelectionEntry 1 } - - --- Route Selection Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.2 - rsIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing Selection index number range from 1 to 31." - ::= { routingSelectionEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.3 - rsTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing Selection name for identification purpose only." - DEFVAL { "RS#" } - ::= { routingSelectionEntry 3 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.4 - rsCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Routing Selection." - ::= { routingSelectionEntry 4 } - - --- Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.5 - rsTrunkGroup OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Trunk Group - Remark:Select the Trunk Group for the outgoing routing." - DEFVAL { 0 } - ::= { routingSelectionEntry 5 } - - --- Alternative Trunk Group Option --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.6 - rsAlternativeTrunkGroupOption OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alternative TG Flag - Remark:Enable or disable alternative Trunk Group when the primary Trunk Group is unavailable." - DEFVAL { disable } - ::= { routingSelectionEntry 6 } - - --- Alternative Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.7 - rsAlternativeTrunkGroup OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alternative TG - Remark:Specify the alternative Trunk Group. It's available only when the previous Alternative TG Flag is enabled." - DEFVAL { 0 } - ::= { routingSelectionEntry 7 } - - --- NAI For Outgoing Call --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.8 - rsNAIForOutgoingCall OBJECT-TYPE - SYNTAX INTEGER - { - sub(1), - unknown(2), - ndd(3), - idd(4), - UKSpecific(126) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NAI for Outgoing Call - Remark:Select the required Network Address Identifier (NAI). The NAI option enables the MSC to perform call routing." - ::= { routingSelectionEntry 8 } - - --- Number Of Digit Deletion --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.9 - rsNumberOfDigitDeletion OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Deletion Count - Remark:Number of digits to be deleted from the beginning of the dialed number." - DEFVAL { 0 } - ::= { routingSelectionEntry 9 } - - --- Insertion Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.10 - rsInsertionNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Inserted Digits - Remark:The digits to be inserted to the front of the dialed number." - DEFVAL { "FFFFFFFFFFFFFFFF" } - ::= { routingSelectionEntry 10 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.11 - rsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { routingSelectionEntry 11 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3 - dialingPrefixSet OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1 - dialingPrefixSetTable OBJECT-TYPE - SYNTAX SEQUENCE OF DialingPrefixSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { dialingPrefixSet 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1 - dialingPrefixSetEntry OBJECT-TYPE - SYNTAX DialingPrefixSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { dpsIndex } - ::= { dialingPrefixSetTable 1 } - - - DialingPrefixSetEntry ::= - SEQUENCE { - dpsIndex - INTEGER, - dpsTitle - DisplayString16, - dpsCreateTimeStamp - TimeStamp, - dpsCC - DisplayString8, - dpsNDC - DisplayString8, - dpsInternationalPrefix - DisplayString8, - dpsNationalPrefix - DisplayString8, - dpsHPLMNCC0 - DisplayString16, - dpsHPLMNCC1 - DisplayString16, - dpsHPLMNCC2 - DisplayString16, - dpsHPLMNCC3 - DisplayString16, - dpsHPLMNCC4 - DisplayString16, - dpsHPLMNCC5 - DisplayString16, - dpsHPLMNCC6 - DisplayString16, - dpsHPLMNCC7 - DisplayString16, - dpsNumberPlanArea - DisplayString8, - dpsCreateEntryDialingPrefix - INTEGER, - dpsDialingPrefixEntries - INTEGER, - dpsRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.1 - dpsIndex OBJECT-TYPE - SYNTAX INTEGER (1..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Dialing Prefix Set index number ranges from 1 to 15." - ::= { dialingPrefixSetEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.2 - dpsTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Dialing Prefix Set name for identification purpose only." - DEFVAL { "DPS#" } - ::= { dialingPrefixSetEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.3 - dpsCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Dialing Prefix Set." - ::= { dialingPrefixSetEntry 3 } - - --- Country Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.4 - dpsCC OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CC - Remark:Country Code identifies the country's network." - ::= { dialingPrefixSetEntry 4 } - - --- National Destination Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.5 - dpsNDC OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NDC - Remark:National Destination Code defines the national calling area or national network to which the subscriber belongs." - ::= { dialingPrefixSetEntry 5 } - - --- International Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.6 - dpsInternationalPrefix OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:International Prefix - Remark:Access code for international network." - ::= { dialingPrefixSetEntry 6 } - - --- National Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.7 - dpsNationalPrefix OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:National Prefix - Remark:National prefix for the operating country to make a national call." - DEFVAL { "0" } - ::= { dialingPrefixSetEntry 7 } - - --- HPLMN CC0 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.8 - dpsHPLMNCC0 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 0 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 8 } - - --- HPLMN CC1 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.9 - dpsHPLMNCC1 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 1 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 9 } - - --- HPLMN CC2 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.10 - dpsHPLMNCC2 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 2 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 10 } - - --- HPLMN CC3 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.11 - dpsHPLMNCC3 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 3 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 11 } - - --- HPLMN CC4 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.12 - dpsHPLMNCC4 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 4 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 12 } - - --- HPLMN CC5 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.13 - dpsHPLMNCC5 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 5 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 13 } - - --- HPLMN CC6 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.14 - dpsHPLMNCC6 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 6 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 14 } - - --- HPLMN CC7 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.15 - dpsHPLMNCC7 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:HPLMN CC 7 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.16 - dpsNumberPlanArea OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Number Plan Area - Remark:Specify number plan area number for MNP outbound." - ::= { dialingPrefixSetEntry 16 } - - --- Dialing Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.17 - dpsCreateEntryDialingPrefix OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { dialingPrefixSetEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.18 - dpsDialingPrefixEntries OBJECT-TYPE - SYNTAX INTEGER (0..1024) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Dialing Prefix Entries - Remark:The total number of the configured Dialing Prefixes in this Dialing Prefix Set." - ::= { dialingPrefixSetEntry 18 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.17 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.19 - dpsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { dialingPrefixSetEntry 19 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2 - dialingPrefixTable OBJECT-TYPE - SYNTAX SEQUENCE OF DialingPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { dialingPrefixSet 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1 - dialingPrefixEntry OBJECT-TYPE - SYNTAX DialingPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { dpIndex, dpDPSIndex } - ::= { dialingPrefixTable 1 } - - - DialingPrefixEntry ::= - SEQUENCE { - dpDPSIndex - INTEGER, - dpIndex - INTEGER, - dpTitle - DisplayString16, - dpLookupMethod - INTEGER, - dpCallNumberPrefix - DisplayString16, - dpStartNumber - DisplayString16, - dpEndNumber - DisplayString16, - dpCallNumberAttribute - INTEGER, - dpAdministrationState - AdminStateChoices, - dpCallNumberLength - INTEGER, - dpServiceType - INTEGER, - dpEmergencyType - INTEGER, - dpServiceKey - INTEGER, - dpNumberType - INTEGER, - dpCLIType - INTEGER, - dpRSC - INTEGER, - dpCDRFlag - INTEGER, - dpOptionForSRFMNP - INTEGER, - dpMSCOptionForINMNP - INTEGER, - dpGMSCOptionForINMNP - INTEGER, - dpPremiumCall - INTEGER, - dpOSB1Flag - INTEGER, - dpOSB2Flag - INTEGER, - dpNAIForOutgoingCall - INTEGER, - dpPSTNNumberOfDigitDeletion - INTEGER, - dpPSTNInsertionNumber - DisplayString16, - dpE164NumberOfDigitDeletion - INTEGER, - dpE164InsertionNumber - DisplayString16, - dpRowStatus - RowStatus - } - --- DP DPS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.1 - dpDPSIndex OBJECT-TYPE - SYNTAX INTEGER (1..15) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:DPS Index - Remark:Dialing Prefix Set index number for this Dialing Prefix." - ::= { dialingPrefixEntry 1 } - - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.2 - dpIndex OBJECT-TYPE - SYNTAX INTEGER (1..1024) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Dialing Prefix index number ranges from 1 to 1024." - ::= { dialingPrefixEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.3 - dpTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Dialing Prefix name for identification purpose only." - ::= { dialingPrefixEntry 3 } - - --- Lookup Method --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.4 - dpLookupMethod OBJECT-TYPE - SYNTAX INTEGER - { - prefixLookup(0), - groupLookup(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Lookup Method - Remark:Select a dialing plan lookup method. Group Lookup Method has a higher priority than Prefix Lookup Method." - DEFVAL { prefix } - ::= { dialingPrefixEntry 4 } - - --- Call Number Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.5 - dpCallNumberPrefix OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:A combination digits that dial to originate a call. It's only valid when the lookup method selected Prefix." - ::= { dialingPrefixEntry 5 } - - --- Start Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.6 - dpStartNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Group Prefix Start - Remark:The beginning of the group prefix range. It's only valid when the lookup method selected Group." - ::= { dialingPrefixEntry 6 } - - --- End Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.7 - dpEndNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Group Prefix End - Remark:The end of the group prefix range. Start prefix and end prefix must have the same length." - ::= { dialingPrefixEntry 7 } - - --- Call Number Attribute --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.8 - dpCallNumberAttribute OBJECT-TYPE - SYNTAX INTEGER - { - sub(1), - unknown(2), - ndd(3), - idd(4), - UKSpecific(126) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Number Attribute - Remark:The original type of the incoming number. It is specified by originating node for terminating node to route this call with proper dialed number manipulation." - ::= { dialingPrefixEntry 8 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.9 - dpAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:The state of the current Dialing Prefix entry." - ::= { dialingPrefixEntry 9 } - - --- Call Number Length --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.10 - dpCallNumberLength OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Number Length - Remark:The length of the dialed number. Set 0 for uncertain length." - DEFVAL { 0 } - ::= { dialingPrefixEntry 10 } - - --- Service Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.11 - dpServiceType OBJECT-TYPE - SYNTAX INTEGER - { - normalCall(0), - emergencyCall(1), - intelligentCall(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Type - Remark:Service type of the outgoing call:

- Normal = No verification for MT
- Emergency Call = No verification for MO (free call)
- Intelligent Call = Calls to intelligent peripheral" - DEFVAL { normalCall } - ::= { dialingPrefixEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.12 - dpEmergencyType OBJECT-TYPE - SYNTAX INTEGER - { - zero(0), - one(1), - two(2), - three(3), - four(4), - five(5), - six(6), - seven(7) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Type - Remark:Specify index number which associated with the 8 emergency call numbers in Location Area or Cell setting." - DEFVAL { zero } - ::= { dialingPrefixEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.13 - dpServiceKey OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Service Key - Remark:Specify service hot key which associated with the service key configuration in the PPS SRF setting." - ::= { dialingPrefixEntry 13 } - - --- Number Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.14 - dpNumberType OBJECT-TYPE - SYNTAX INTEGER - { - msisdn(0), - msrn(1), - pstn(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Number Type - Remark:It determines how the numbers are sent out." - DEFVAL { msisdn } - ::= { dialingPrefixEntry 14 } - - --- CLI Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.15 - dpCLIType OBJECT-TYPE - SYNTAX INTEGER - { - sub(0), - ndd(1), - idd(2), - unknownSub(3), - unknownNdd(4), - unknownIdd(5) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CLI Type - Remark:It determines the format of the Caller Line ID (CLI).

- Sub = Unknown(Sub) = SN
- NDD = NDC+SN
- Unknown(NDD) = Nat Prefix+NDC+SN
- IDD = +CC+NDC+SN
- Unknown(IDD) = Int Prefix+CC+NDC+SN" - DEFVAL { ndd } - ::= { dialingPrefixEntry 15 } - - --- Routing Selection Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.16 - dpRSC OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Routing Selection ID - Remark:Specify the Routing Selection ID to this Dialing Prefix." - DEFVAL { 0 } - ::= { dialingPrefixEntry 16 } - - --- CDR Flag --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.17 - dpCDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable the Call Detail Record generation of this prefix." - DEFVAL { enable } - ::= { dialingPrefixEntry 17 } - - --- MNP Flag --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.18 - dpOptionForSRFMNP OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - portableNumber(1), - portedNumber(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SRF-MNP Flag - Remark:Enable if this prefix relating to SRF MNP service." - DEFVAL { disable } - ::= { dialingPrefixEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.19 - dpMSCOptionForINMNP OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - OQoD(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IN-MNP Flag (MSC) - Remark:Enable or disable IN MNP service when the system performs as an MSC." - ::= { dialingPrefixEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.20 - dpGMSCOptionForINMNP OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - TQoD(1), - QoHR(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IN-MNP Flag (GMSC) - Remark:Enable or disable IN MNP service when the system performs as a GMSC." - ::= { dialingPrefixEntry 20 } - - --- Premium Call --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.21 - dpPremiumCall OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - information(1), - entertainment(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Premium Call Flag - Remark:Enable if this prefix relating to Premium Call service." - DEFVAL { disable } - ::= { dialingPrefixEntry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.22 - dpOSB1Flag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OSB 1 Flag - Remark:Subscribers with OSB type 1 can only make calls to this dialing prefix with Call Allow Flag enabled." - DEFVAL { disable } - ::= { dialingPrefixEntry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.23 - dpOSB2Flag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OSB 2 Flag - Remark:Subscribers with OSB type 2 can't make calls to this dialing prefix with Call Bar Flag enabled." - DEFVAL { disable } - ::= { dialingPrefixEntry 23 } - - --- NAI For Outgoing Call --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.24 - dpNAIForOutgoingCall OBJECT-TYPE - SYNTAX INTEGER - { - sub(1), - unknown(2), - ndd(3), - idd(4), - UKSpecific(126) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NAI for Outgoing Call - Remark:Select the required Network Address Identifier (NAI). The transformed incoming number will be routed to the associated trunk group." - ::= { dialingPrefixEntry 24 } - - --- PSTN Number Of Digit Deletion --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.25 - dpPSTNNumberOfDigitDeletion OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PSTN Deletion Count - Remark:Number of digits to be deleted from the beginning of the dialed number." - DEFVAL { 0 } - ::= { dialingPrefixEntry 25 } - - --- PSTN Insertion Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.26 - dpPSTNInsertionNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PSTN Inserted Digits - Remark:Digits of the number to be added to the front of the dialed number." - DEFVAL { 'FFFFFFFFFFFFFFFF'h } - ::= { dialingPrefixEntry 26 } - - --- E164 Number Of Digit Deletion --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.17 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.27 - dpE164NumberOfDigitDeletion OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:E.164 Deletion Count - Remark:Number of digits to be deleted from the beginning of the incoming number." - ::= { dialingPrefixEntry 27 } - - --- E164 Insertion Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.18 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.28 - dpE164InsertionNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:E.164 Inserted Digits - Remark:Digits of the number to be added to the front of the incoming number to convert it to an international E.164 format." - DEFVAL { 'FFFFFFFFFFFFFFFF'h } - ::= { dialingPrefixEntry 28 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.19 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.29 - dpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { dialingPrefixEntry 29 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4 - trunkGroup OBJECT IDENTIFIER ::= { parameter 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1 - trunkGroupTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkGroupEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { trunkGroup 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1 - trunkGroupEntry OBJECT-TYPE - SYNTAX TrunkGroupEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { tgIndex } - ::= { trunkGroupTable 1 } - - - TrunkGroupEntry ::= - SEQUENCE { - tgIndex - INTEGER, - tgTitle - DisplayString16, - tgCreateTimeStamp - TimeStamp, - tgAdministrationState - AdminStateChoices, - tgOperabilityStatus - OperStateChoices, - tgAvailabilityStatus - AvailStateChoices, - tgOPC - INTEGER, - tgDPC - INTEGER, - tgNetworkIndicator - INTEGER, - tgProtocolType - INTEGER, - tgProtocolVariant - INTEGER, - tgLocalDomain - OCTET STRING, - tgDestDomain - OCTET STRING, - tgDestIP0 - IpAddress, - tgDestIP1 - IpAddress, - tgDestPort - INTEGER, - tgRemoteProcessISUP - INTEGER, - tgTONIncomingSIPCall - INTEGER, - tgCircuitSelectionMode - INTEGER, - tgBackoffFlag - INTEGER, - tgTandemRestriction - INTEGER, - tgCDRFlag - INTEGER, - tgTrunkGroupType - INTEGER, - tgRoutingZoneID - INTEGER, - tgAlternativeRoutingTrigger - INTEGER, - tgIgnoreNumberPortabilityInformation - INTEGER, - tgSignalPortedNumber - INTEGER, - tgNFAS - INTEGER, - tgPrimaryLink - INTEGER, - tgBackupLink - INTEGER, - tgBSCCodec - Opaque, - tgEchoControlDeviceIndicator - INTEGER, - tgSatelliteIndicator - INTEGER, - tgCreateEntryTrunk - INTEGER, - tgTrunkEntries - INTEGER, - tgRowStatus - RowStatus, - tgEventLog - DisplayString - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.1 - tgIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Trunk Group index number ranges from 1 to 255." - ::= { trunkGroupEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.2 - tgTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Trunk Group name for identification purpose only." - DEFVAL { "TG#" } - ::= { trunkGroupEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.3 - tgCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Trunk Group." - ::= { trunkGroupEntry 3 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.4 - tgAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed Trunk Group." - ::= { trunkGroupEntry 4 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.5 - tgOperabilityStatus OBJECT-TYPE - SYNTAX OperStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Oper State - Remark:(Read Only) Indicate the current Trunk Group operation is qualified by Availability State." - ::= { trunkGroupEntry 5 } - - --- Availability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.6 - tgAvailabilityStatus OBJECT-TYPE - SYNTAX AvailStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Avail State - Remark:(Read Only) Qualify Operation State providing details about the current operational state." - ::= { trunkGroupEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.7 - tgOPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:The Originating Point Code of the current TG." - ::= { trunkGroupEntry 7 } - - --- DPC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.8 - tgDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DPC - Remark:The Destination Point Code of the current TG." - ::= { trunkGroupEntry 8 } - - --- Network Indication --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.9 - tgNetworkIndicator OBJECT-TYPE - SYNTAX INTEGER - { - int(0), - intSpare(1), - nat(2), - natSpare(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NI - Remark:Network Indicator specifies the Trunk Group to a network." - DEFVAL { int } - ::= { trunkGroupEntry 9 } - - --- Protocol Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.10 - tgProtocolType OBJECT-TYPE - SYNTAX INTEGER - { - aif(0), - isup(1), - bicc(2), - isdn(3), - sip(5), - staticConnection(7), - iuCS(8) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Protocol Type - Remark:Select the protocol type for this Trunk Group." - ::= { trunkGroupEntry 10 } - - --- Protocol Variant --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.11 - tgProtocolVariant OBJECT-TYPE - SYNTAX INTEGER - { - itu(0), - ansi(1), - etsi(2), - uk(3), - Qsig(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Protocol Variant - Remark:Select the protocol variant for this Trunk Group." - DEFVAL { itu } - ::= { trunkGroupEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.12 - tgLocalDomain OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local Domain - Remark:(For SIP) Define the local domain name for a SIP TG." - ::= { trunkGroupEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.13 - tgDestDomain OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest Domain - Remark:(For SIP) Specify the destination domain name for a SIP TG." - ::= { trunkGroupEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.14 - tgDestIP0 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest IP 0 - Remark:(For SIP) Specify the destination IP address for a SIP TG." - ::= { trunkGroupEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.15 - tgDestIP1 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest IP 1 - Remark:(For SIP) Specify the destination IP address for a SIP TG." - ::= { trunkGroupEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.16 - tgDestPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest Port - Remark:(For SIP) Specify the destination port for a SIP TG." - ::= { trunkGroupEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.17 - tgRemoteProcessISUP OBJECT-TYPE - SYNTAX INTEGER - { - notSupport(0), - support(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Remote Process ISUP - Remark:(For SIP) Indicate whether the remote SIP UA is able to process ISUP in SIP-ISUP interworking." - ::= { trunkGroupEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.18 - tgTONIncomingSIPCall OBJECT-TYPE - SYNTAX INTEGER - { - CLIR(0), - Sub(1), - Unknown(2), - NDD(3), - IDD(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Incoming SIP Calls TON - Remark:(For SIP) Manipulate the type of calling number for a SIP TG. It doesn't take effect when the calling number's attribute is International. It is used for Calling Line Identification Presentation (CLIP) of incoming SIP calls." - ::= { trunkGroupEntry 18 } - - --- Circuit Selection Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.19 - tgCircuitSelectionMode OBJECT-TYPE - SYNTAX INTEGER - { - clockwise(0), - antiClockwise(1), - lowToHigh(128), - highToLow(129) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Circuit Selection - Remark:Circuit selection mode of the traffic channel connections." - DEFVAL { clockwise } - ::= { trunkGroupEntry 19 } - - --- Backoff Flag --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.20 - tgBackoffFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Backoff Flag - Remark:Enable or disable back off when simultaneously select the same channel with the opposite side." - DEFVAL { enable } - ::= { trunkGroupEntry 20 } - - --- Tandem Restriction --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.21 - tgTandemRestriction OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Tandem Restriction - Remark:Enable or disable Tandem to allow or prohibit transit calls from PSTN to PSTN via this trunk group." - DEFVAL { enable } - ::= { trunkGroupEntry 21 } - - --- CDR Flag --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.22 - tgCDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable the Call Detail Record generation of this Trunk Group." - DEFVAL { enable } - ::= { trunkGroupEntry 22 } - - --- Trunk Group Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.23 - tgTrunkGroupType OBJECT-TYPE - SYNTAX INTEGER - { - normal(0), - interconnectionForMSS0(16), - interconnectionForMSS1(17) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:TG Type - Remark:Application type of this Trunk Group." - DEFVAL { normal } - ::= { trunkGroupEntry 23 } - - --- Routing Zone ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.24 - tgRoutingZoneID OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:RZS ID - Remark:Specify the Trunk Group to a Routing Zone Set. Set 255 to apply this TG in all Routing Zone Sets." - DEFVAL { 0 } - ::= { trunkGroupEntry 24 } - - --- Alternative Routing Trigger --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.17 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.25 - tgAlternativeRoutingTrigger OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Alternative RZS Trigger - Remark:Specify the Trunk Group to an alternative Routing Zone Set for backup purpose.

- 0 = Disable Alternative Routing Zone Set" - DEFVAL { 0 } - ::= { trunkGroupEntry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.26 - tgIgnoreNumberPortabilityInformation OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Ignore MNP Info - Remark:(For MNP) In the MNP port-in processing, enable to ignore the optional parameters in the incoming IAM message." - ::= { trunkGroupEntry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.27 - tgSignalPortedNumber OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Signal Ported Number - Remark:(For MNP) In the MNP port-out processing, enable to ignore the optional parameters in the outgoing IAM message." - ::= { trunkGroupEntry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.28 - tgNFAS OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NFAS Flag - Remark:(For ISDN) Enable or disable Non-Facility Associated Signaling (NFAS) with D Channel Backup feature." - ::= { trunkGroupEntry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.29 - tgPrimaryLink OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Primary Link - Remark:(For ISDN) Specify the primary D channel to control multiple trunks." - ::= { trunkGroupEntry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.30 - tgBackupLink OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Backup Link - Remark:(For ISDN) Specify a backup D channel for use when the primary NFAS D channel is unavailable." - ::= { trunkGroupEntry 30 } - - --- Codec Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.31 - tgBSCCodec OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Codec 0[u]00.0-00.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 1[u]01.0-01.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 2[u]02.0-02.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 3[u]03.0-03.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 4[u]04.0-04.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 5[u]05.0-05.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 6[u]06.0-06.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 7[u]07.0-07.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 8[u]08.0-08.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 9[u]09.0-09.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 10[u]10.0-10.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 11[u]11.0-11.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 12[u]12.0-12.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 13[u]13.0-13.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 14[u]14.0-14.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 15[u]15.0-15.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [remark] - Specify the codec type of the BSC. It is available only for circuit BSC.

Entry 0 is the highest priority, entry 13 is the lowest." - ::= { trunkGroupEntry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.32 - tgEchoControlDeviceIndicator OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Echo Control Device Indicator - Remark:Indicate including echo control device in outbound IAM message or not." - ::= { trunkGroupEntry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.33 - tgSatelliteIndicator OBJECT-TYPE - SYNTAX INTEGER - { - noSatelliteCircuit(0), - oneSatelliteCircuit(1), - twoSatelliteCircuit(2), - transit(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the bearing value of the Satellite Indicator in the outgoing ISUP IAM message. For Transit, just adopts the same value from incoming ISUP IAM message." - ::= { trunkGroupEntry 33 } - - --- Trunk --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.18 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.34 - tgCreateEntryTrunk OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { trunkGroupEntry 34 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.35 - tgTrunkEntries OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Trunk Entries - Remark:The total number of configured Trunks in this Trunk Group." - ::= { trunkGroupEntry 35 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.19 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.36 - tgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { trunkGroupEntry 36 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.37 - tgEventLog OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { trunkGroupEntry 37 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2 - trunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { trunkGroup 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1 - trunkEntry OBJECT-TYPE - SYNTAX TrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { trunkIndex, trunkTGIndex } - ::= { trunkTable 1 } - - - TrunkEntry ::= - SEQUENCE { - trunkTGIndex - INTEGER, - trunkIndex - INTEGER, - trunkTitle - DisplayString16, - trunkCreateTimeStamp - TimeStamp, - trunkAdministrationState - AdminStateChoices, - trunkOperabilityStatus - OperStateChoices, - trunkAvailabilityStatus - AvailStateChoices, - trunkMgID - INTEGER, - trunkPortID - INTEGER, - trunkPortType - INTEGER, - trunkGroupID - INTEGER, - trunkSupervisionMethod - INTEGER, - trunkLinkID - INTEGER, - trunkUserNetworkInterface - INTEGER, - trunkCICValueAssignment - INTEGER, - trunkChannelInUse - INTEGER, - trunkChannelEntries - INTEGER, - trunkRowStatus - RowStatus - } - --- Trunk TG Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.1 - trunkTGIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:TG Index - Remark:Trunk Group index number for the Trunk." - ::= { trunkEntry 1 } - - --- Trunk Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.2 - trunkIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Trunk index number ranges from 1 to 32." - ::= { trunkEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.3 - trunkTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Trunk name for identification purpose only." - DEFVAL { "TK#" } - ::= { trunkEntry 3 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.4 - trunkCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Trunk" - ::= { trunkEntry 4 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.5 - trunkAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed Trunk." - ::= { trunkEntry 5 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.6 - trunkOperabilityStatus OBJECT-TYPE - SYNTAX OperStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Oper State - Remark:(Read Only) Indicate the current Trunk operation is qualified by Availability Status." - ::= { trunkEntry 6 } - - --- Availability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.7 - trunkAvailabilityStatus OBJECT-TYPE - SYNTAX AvailStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Avail State - Remark:(Read Only) Qualify Operation State providing details about the current operational state." - ::= { trunkEntry 7 } - - --- MG ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.8 - trunkMgID OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MG ID - Remark:Specify the Trunk to a Media Gateway. Not applicable to virtual MG." - DEFVAL { 0 } - ::= { trunkEntry 8 } - - --- Port ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.9 - trunkPortID OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Port ID - Remark:Specify the Trunk to a physical port of the selected Media Gateway. Not applicable to virtual MG." - ::= { trunkEntry 9 } - - --- Port Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.10 - trunkPortType OBJECT-TYPE - SYNTAX INTEGER - { - e1(0), - t1(1), - analogue(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Port Type - Remark:Specify the type of MG physical ports." - DEFVAL { enable } - ::= { trunkEntry 10 } - - --- Group ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.11 - trunkGroupID OBJECT-TYPE - SYNTAX INTEGER - { - group0(0), - group1(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Group ID - Remark:Select the application group for the Trunk.

- Group0 = Master is MSC 0
- Group1 = Master is MSC1" - DEFVAL { group0 } - ::= { trunkEntry 11 } - - --- Typical CIC Assignment Plan --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.12 - trunkSupervisionMethod OBJECT-TYPE - SYNTAX INTEGER - { - circuitGroup(0), - circuit(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Supervision Method - Remark:Specify the type of block request indication delivered in the ISUP trunk initialization process." - DEFVAL { enable } - ::= { trunkEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.13 - trunkLinkID OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Link ID - Remark:(For ISDN) Specify the corresponding IUA link ID which is configured in the MTP3 setting." - ::= { trunkEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.14 - trunkUserNetworkInterface OBJECT-TYPE - SYNTAX INTEGER - { - networkSide(0), - userSide(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:User Network Interface - Remark:(For ISDN) Select Q.931 switch type for ISDN call processing." - ::= { trunkEntry 14 } - - --- Typical CIC Value Assignment --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.15 - trunkCICValueAssignment OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CIC Assignment - Remark:Specify the start CIC to the Trunk for typical mode.

- E1 = 0, 32, 64 ...
- T1 = 0, 24, 48 ..." - ::= { trunkEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.16 - trunkChannelInUse OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Channel in Use - Remark:(Read Only) Display the quantity of occupied channels of this trunk in real-time." - ::= { trunkEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.17 - trunkChannelEntries OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Channel Entries - Remark:The total number of configured Channels in this Trunk." - ::= { trunkEntry 17 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.18 - trunkRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { trunkEntry 18 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3 - channelTable OBJECT-TYPE - SYNTAX SEQUENCE OF ChannelEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { trunkGroup 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1 - channelEntry OBJECT-TYPE - SYNTAX ChannelEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:3" - INDEX { tsTrunkIndex, tsIndex, tsTrunkTGIndex } - ::= { channelTable 1 } - - - ChannelEntry ::= - SEQUENCE { - tsTrunkTGIndex - INTEGER, - tsTrunkIndex - INTEGER, - tsIndex - INTEGER, - tsType - INTEGER, - tsChannelCIC - INTEGER, - tsChannelStatus - INTEGER, - tsLocalBlock - INTEGER, - tsRemoteBlock - INTEGER - } - --- CIC Trunk TG Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.1 - tsTrunkTGIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:TG Index - Remark:Trunk Group index number for this Timeslot." - ::= { channelEntry 1 } - - --- CIC Trunk Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.2 - tsTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Trunk Index - Remark:Trunk index number for this Timeslot." - ::= { channelEntry 2 } - - --- CIC Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.3 - tsIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Timeslot index number ranges from 1 to 32." - ::= { channelEntry 3 } - - --- CIC Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.4 - tsType OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - incoming(1), - outgoing(2), - bidirectional(3), - leaseLine(4), - dChannel(5), - xChannel(6) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Type - Remark:Specify the type of the channel." - DEFVAL { bidirectiona } - ::= { channelEntry 4 } - - --- Channel CIC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.5 - tsChannelCIC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CIC - Remark:Assign a Circuit Identity Code (CIC) to the channel." - ::= { channelEntry 5 } - - --- Call Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.6 - tsChannelStatus OBJECT-TYPE - SYNTAX INTEGER - { - outOfService(0), - idle(1), - busy(2), - iPALIMUsed(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Status - Remark:(Read Only) The current status of the serving channel." - ::= { channelEntry 6 } - - --- Local Block --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.7 - tsLocalBlock OBJECT-TYPE - SYNTAX INTEGER - { - unblocked(0), - localBlocked(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Local Block - Remark:(Read Only) Display the local block error if the channel is out of service." - ::= { channelEntry 7 } - - --- Remote Block --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.8 - tsRemoteBlock OBJECT-TYPE - SYNTAX INTEGER - { - unblocked(0), - remoteBlocked(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Remote Block - Remark:(Read Only) Display the remote block error if the channel is out of service." - ::= { channelEntry 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5 - locationArea OBJECT IDENTIFIER ::= { parameter 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1 - locationAreaTable OBJECT-TYPE - SYNTAX SEQUENCE OF LocationAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { locationArea 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1 - locationAreaEntry OBJECT-TYPE - SYNTAX LocationAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { laIndex } - ::= { locationAreaTable 1 } - - - LocationAreaEntry ::= - SEQUENCE { - laIndex - INTEGER, - laTitle - DisplayString16, - laCreateTimeStamp - TimeStamp, - laLAC - INTEGER, - laTrunkGroup - INTEGER, - laPageType - INTEGER, - laNumberOfRepeatPaging - INTEGER, - laNITZ - Opaque, - laLocalEmergencyNumber0 - DisplayString16, - laLocalEmergencyNumber1 - DisplayString16, - laLocalEmergencyNumber2 - DisplayString16, - laLocalEmergencyNumber3 - DisplayString16, - laLocalEmergencyNumber4 - DisplayString16, - laLocalEmergencyNumber5 - DisplayString16, - laLocalEmergencyNumber6 - DisplayString16, - laLocalEmergencyNumber7 - DisplayString16, - laCreateEntryCell - INTEGER, - laCellEntries - INTEGER, - laRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.1 - laIndex OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Location Area index number ranges from 1 to 1023." - ::= { locationAreaEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.2 - laTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Location Area name for identification purpose only." - DEFVAL { "LA#" } - ::= { locationAreaEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.3 - laCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Location Area." - ::= { locationAreaEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.4 - laLAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:LAC - Remark:Specify the Location Area Code of this location area.

- Range = 1 - 65535" - ::= { locationAreaEntry 4 } - - --- Trunk Group --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.5 - laTrunkGroup OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Trunk Group - Remark:Specify the serving Trunk Group of this location area." - ::= { locationAreaEntry 5 } - - --- Page Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.6 - laPageType OBJECT-TYPE - SYNTAX INTEGER - { - byLAC(0), - byAllCell(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Paging Mode - Remark:Paging messages broadcast in the specified location area or in the whole network." - DEFVAL { byLAC } - ::= { locationAreaEntry 6 } - - --- Number Of Repeat Paging --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.7 - laNumberOfRepeatPaging OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Repeat Paging Times - Remark:Specify the subsequent paging times if the initial paging fails." - DEFVAL { 2 } - ::= { locationAreaEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.8 - laNITZ OBJECT-TYPE - SYNTAX Opaque (SIZE (35)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NITZ - Remark:Network Identity and Time Zone" - ::= { locationAreaEntry 8 } - - --- Local Emergency Number0 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.9 - laLocalEmergencyNumber0 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 0 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 9 } - - --- Local Emergency Number1 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.10 - laLocalEmergencyNumber1 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 1 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 10 } - - --- Local Emergency Number2 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.11 - laLocalEmergencyNumber2 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 2 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 11 } - - --- Local Emergency Number3 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.12 - laLocalEmergencyNumber3 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 3 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 12 } - - --- Local Emergency Number4 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.13 - laLocalEmergencyNumber4 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 4 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 13 } - - --- Local Emergency Number5 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.14 - laLocalEmergencyNumber5 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 5 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 14 } - - --- Local Emergency Number6 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.15 - laLocalEmergencyNumber6 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 6 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 15 } - - --- Local Emergency Number7 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.16 - laLocalEmergencyNumber7 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 7 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 16 } - - --- Cell --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.17 - laCreateEntryCell OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { locationAreaEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.18 - laCellEntries OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Cell Entries - Remark:The total number of configured Cells in this Location Area." - ::= { locationAreaEntry 18 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.19 - laRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { locationAreaEntry 19 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2 - cellTable OBJECT-TYPE - SYNTAX SEQUENCE OF CellEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { locationArea 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1 - cellEntry OBJECT-TYPE - SYNTAX CellEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { cellIndex, cellLAIndex } - ::= { cellTable 1 } - - - CellEntry ::= - SEQUENCE { - cellLAIndex - INTEGER, - cellIndex - INTEGER, - cellTitle - DisplayString16, - cellCreateTimeStamp - TimeStamp, - cellRoutingZoneID - INTEGER, - cellRegionalSubscriptionZoneCode - INTEGER, - cellCellID - INTEGER, - cellLatitude - Opaque, - cellLongitude - Opaque, - cellLocalEmergencyNumber0 - DisplayString16, - cellLocalEmergencyNumber1 - DisplayString16, - cellLocalEmergencyNumber2 - DisplayString16, - cellLocalEmergencyNumber3 - DisplayString16, - cellLocalEmergencyNumber4 - DisplayString16, - cellLocalEmergencyNumber5 - DisplayString16, - cellLocalEmergencyNumber6 - DisplayString16, - cellLocalEmergencyNumber7 - DisplayString16, - cellTgId - Integer32, - cellRowStatus - RowStatus - } - --- Cell Location Area Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.1 - cellLAIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:LA Index - Remark:Location Area index number for this Cell." - ::= { cellEntry 1 } - - --- Cell Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.2 - cellIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Cell index number ranges from 1 to 16." - ::= { cellEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.3 - cellTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Cell name for identification purpose only." - DEFVAL { "CELL#" } - ::= { cellEntry 3 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.4 - cellCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the Cell." - ::= { cellEntry 4 } - - --- Rounting Zone ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.5 - cellRoutingZoneID OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:RZS ID - Remark:Specify the Routing Zone Set to this Cell." - DEFVAL { 0 } - ::= { cellEntry 5 } - - --- Regional Subscription Zone Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.6 - cellRegionalSubscriptionZoneCode OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:RSZC - Remark:Assign a Regional Subscription Zone Code (RSZC) to the LAC.

- RSZC = CC + NDC + Zone Code" - DEFVAL { 'FF'h } - ::= { cellEntry 6 } - - --- Cell ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.7 - cellCellID OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Cell ID - Remark:Global Cell Identity defined in GSM 03.03.

- Range = 0 - 65535" - ::= { cellEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.8 - cellLatitude OBJECT-TYPE - SYNTAX Opaque (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Latitude[u]00.0-03.7[u]input - [v]toLatitude-formula-pow(2,23)/90 - [remark] - Specify the latitude of this cell for a location service use.

- Range = -90.00 - 90.00" - ::= { cellEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.9 - cellLongitude OBJECT-TYPE - SYNTAX Opaque (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Longitude[u]00.0-03.7[u]input - [v]toLongitude-formula-pow(2,24)/360 - [remark] - Specify the longitude of this cell for a location service use.

- Range = -180.00 - 180.00" - ::= { cellEntry 9 } - - --- Cell Local Emergency Number0 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.10 - cellLocalEmergencyNumber0 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 0 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 10 } - - --- Cell Local Emergency Number1 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.11 - cellLocalEmergencyNumber1 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 1 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 11 } - - --- Cell Local Emergency Number2 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.12 - cellLocalEmergencyNumber2 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 2 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 12 } - - --- Cell Local Emergency Number3 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.13 - cellLocalEmergencyNumber3 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 3 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 13 } - - --- Cell Local Emergency Number4 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.14 - cellLocalEmergencyNumber4 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 4 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 14 } - - --- Cell Local Emergency Number5 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.15 - cellLocalEmergencyNumber5 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 5 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 15 } - - --- Cell Local Emergency Number6 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.16 - cellLocalEmergencyNumber6 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 6 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 16 } - - --- Cell Local Emergency Number7 --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.17 - cellLocalEmergencyNumber7 OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Emergency Number 7 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.18 - cellTgId OBJECT-TYPE - SYNTAX Integer32 (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:TG ID" - ::= { cellEntry 18 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.19 - cellRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cellEntry 19 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6 - mediaGateway OBJECT IDENTIFIER ::= { parameter 6 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1 - mediaGatewayTable OBJECT-TYPE - SYNTAX SEQUENCE OF MediaGatewayEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mediaGateway 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1 - mediaGatewayEntry OBJECT-TYPE - SYNTAX MediaGatewayEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { mgIndex } - ::= { mediaGatewayTable 1 } - - - MediaGatewayEntry ::= - SEQUENCE { - mgIndex - INTEGER, - mgTitle - DisplayString16, - mgCreateTimeStamp - TimeStamp, - mgAdministrationState - AdminStateChoices, - mgIP - IpAddress, - mgDomainName - DisplayString16, - mgSwitchingMode - INTEGER, - mgEndPoint - INTEGER, - mgToneGenCapability - INTEGER, - mgType - INTEGER, - mgMaxPhysicalPorts - INTEGER, - mgMaxChannels - INTEGER, - mgPacketizationPeriod - INTEGER, - mgPriorityLevel - INTEGER, - mgCodecType - Opaque, - mgAuditTimer - INTEGER, - mgPhysicalPortEntries - INTEGER, - mgRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.1 - mgIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Media Gateway index number ranges from 1 to 255." - ::= { mediaGatewayEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.2 - mgTitle OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Media Gateway name for identification purpose only." - DEFVAL { "MG#" } - ::= { mediaGatewayEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.3 - mgCreateTimeStamp OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Creation date and time of the MG entry." - ::= { mediaGatewayEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.4 - mgAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed Media Gateway." - ::= { mediaGatewayEntry 4 } - - --- IP --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.5 - mgIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IP - Remark:IP address of the Media Gateway." - ::= { mediaGatewayEntry 5 } - - --- Domain Name --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.6 - mgDomainName OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Domain Name - Remark:Specify a domain name to the Media Gateway." - ::= { mediaGatewayEntry 6 } - - --- Switching Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.7 - mgSwitchingMode OBJECT-TYPE - SYNTAX INTEGER - { - mgcp(0), - eightECP(1), - megaco(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Switching Mode - Remark:Select the switching mode of the specific Media Gateway.

- 8ECP = Circuit Switch (8KE1 Card)
- MGCP = Soft Switch" - DEFVAL { mgcp } - ::= { mediaGatewayEntry 7 } - - --- End Point Description --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.8 - mgEndPoint OBJECT-TYPE - SYNTAX INTEGER - { - structured(1), - unStructured(2), - unStructuredHex(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Endpoint - Remark:Specify the method of MGCP endpoint description." - DEFVAL { structured } - ::= { mediaGatewayEntry 8 } - - --- Tone Gen Capability --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.9 - mgToneGenCapability OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Tone Generation Capacity - Remark:Enable if the Media Gateway has tone generation capability." - DEFVAL { enable } - ::= { mediaGatewayEntry 9 } - - --- MG Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.10 - mgType OBJECT-TYPE - SYNTAX INTEGER - { - audioCodes(1), - lgcMG(2), - lgcCS(3), - ipBSS(4), - analogLine(11), - vim(19), - tandem(20), - announcementServer(21), - iuupGW(23), - interactiveVoiceResponse(31), - conferenceBridge(41), - packetRelay(51), - wiretap(61), - atm(71) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Type - Remark:Select the type of Media Gateway endpoint." - DEFVAL { digitalChannel } - ::= { mediaGatewayEntry 10 } - - --- Max Physical Ports --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.11 - mgMaxPhysicalPorts OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Ports - Remark:The total physical port number of the Media Gateway. Not applicable to virtual MG." - ::= { mediaGatewayEntry 11 } - - --- Max Channels --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.12 - mgMaxChannels OBJECT-TYPE - SYNTAX INTEGER (0..1024) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Channels - Remark:The total channel number of the virtual Media Gateway. Applicable to virtual MG only." - ::= { mediaGatewayEntry 12 } - - --- Packetization Period --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.13 - mgPacketizationPeriod OBJECT-TYPE - SYNTAX INTEGER - { - x20ms(20), - x40ms(40), - x60ms(60), - x80ms(80) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Packetization Period - Remark:The period over which encoded voice bits are collected for encapsulation in." - DEFVAL { x20ms } - ::= { mediaGatewayEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.14 - mgPriorityLevel OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Priority Level - Remark:Set the priority level of the MG codec table:

- 0 = Lowest priority level
- 255 = Highest priority level" - ::= { mediaGatewayEntry 14 } - - --- Codec Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.15 - mgCodecType OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Codec 0[u]00.0-00.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 1[u]01.0-01.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 2[u]02.0-02.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 3[u]03.0-03.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 4[u]04.0-04.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 5[u]05.0-05.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 6[u]06.0-06.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 7[u]07.0-07.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 8[u]08.0-08.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 9[u]09.0-09.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 10[u]10.0-10.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 11[u]11.0-11.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 12[u]12.0-12.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 13[u]13.0-13.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 14[u]14.0-14.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 15[u]15.0-15.7[u]select - [v]0[opt]aLaw - [v]1[opt]uLaw - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [remark] - Specify the codec type of the Media Gateway. Entry 0 is the highest priority, entry 13 is the lowest." - ::= { mediaGatewayEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.16 - mgAuditTimer OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Audit Timer - Remark:The time interval between sending AUEP message from MGC to MGW to check the trunk status. Unit is second." - ::= { mediaGatewayEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.17 - mgPhysicalPortEntries OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Port Entries - Remark:The total number of the configured physical Ports of this Media Gateway." - ::= { mediaGatewayEntry 17 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.18 - mgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mediaGatewayEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2 - physicalPortTable OBJECT-TYPE - SYNTAX SEQUENCE OF PhysicalPortEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mediaGateway 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1 - physicalPortEntry OBJECT-TYPE - SYNTAX PhysicalPortEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { ppIndex, ppMGIndex } - ::= { physicalPortTable 1 } - - - PhysicalPortEntry ::= - SEQUENCE { - ppMGIndex - INTEGER, - ppIndex - INTEGER, - ppUsedFlag - INTEGER, - ppStatus - INTEGER, - ppSeizure - OCTET STRING - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.1 - ppMGIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:MG Index - Remark:Media Gateway index number for this physical Port." - ::= { physicalPortEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.2 - ppIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Port index number ranges from 1 to 32." - ::= { physicalPortEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.3 - ppUsedFlag OBJECT-TYPE - SYNTAX INTEGER - { - idle(0), - inUse(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Used Flag - Remark:(Read Only) This field indicates whether the port is in service." - ::= { physicalPortEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.4 - ppStatus OBJECT-TYPE - SYNTAX INTEGER - { - notReady(0), - ready(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Status - Remark:(Read Only) The availability status of the physical port." - ::= { physicalPortEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.5 - ppSeizure OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - RelationPoint:2.4.2.1 - Remark:(Read Only) Hyperlink of the related Trunk Group and Trunk." - ::= { physicalPortEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3 - csta OBJECT IDENTIFIER ::= { msc 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3 - tgIncomingTable OBJECT-TYPE - SYNTAX SEQUENCE OF TgIncomingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1 - tgIncomingEntry OBJECT-TYPE - SYNTAX TgIncomingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { tgIncomingTgndex, tgIncomingIndex } - ::= { tgIncomingTable 1 } - - - TgIncomingEntry ::= - SEQUENCE { - tgIncomingTgndex - INTEGER, - tgIncomingIndex - INTEGER, - tgIncomingData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1.1 - tgIncomingTgndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { tgIncomingEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1.2 - tgIncomingIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tgIncomingEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1.3 - tgIncomingData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tgIncomingEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4 - tgOutgoingTable OBJECT-TYPE - SYNTAX SEQUENCE OF TgOutgoingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1 - tgOutgoingEntry OBJECT-TYPE - SYNTAX TgOutgoingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { tgOutgoingTgIndex, tgOutgoingIndex } - ::= { tgOutgoingTable 1 } - - - TgOutgoingEntry ::= - SEQUENCE { - tgOutgoingTgIndex - INTEGER, - tgOutgoingIndex - INTEGER, - tgOutgoingData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1.1 - tgOutgoingTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { tgOutgoingEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1.2 - tgOutgoingIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tgOutgoingEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1.3 - tgOutgoingData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tgOutgoingEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5 - subsToSubsTable OBJECT-TYPE - SYNTAX SEQUENCE OF SubsToSubsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5.1 - subsToSubsEntry OBJECT-TYPE - SYNTAX SubsToSubsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { subsToSubsIndex } - ::= { subsToSubsTable 1 } - - - SubsToSubsEntry ::= - SEQUENCE { - subsToSubsIndex - INTEGER, - subsToSubsData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5.1.1 - subsToSubsIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToSubsEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5.1.2 - subsToSubsData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToSubsEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6 - subsToTrunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF SubsToTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6.1 - subsToTrunkEntry OBJECT-TYPE - SYNTAX SubsToTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { subsToTrunkIndex } - ::= { subsToTrunkTable 1 } - - - SubsToTrunkEntry ::= - SEQUENCE { - subsToTrunkIndex - INTEGER, - subsToTrunkData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6.1.1 - subsToTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToTrunkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6.1.2 - subsToTrunkData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToTrunkEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7 - trunkToSubsTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkToSubsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7.1 - trunkToSubsEntry OBJECT-TYPE - SYNTAX TrunkToSubsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { trunkToSubsIndex } - ::= { trunkToSubsTable 1 } - - - TrunkToSubsEntry ::= - SEQUENCE { - trunkToSubsIndex - INTEGER, - trunkToSubsData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7.1.1 - trunkToSubsIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToSubsEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7.1.2 - trunkToSubsData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToSubsEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8 - trunkToTrunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkToTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8.1 - trunkToTrunkEntry OBJECT-TYPE - SYNTAX TrunkToTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { trunkToTrunkIndex } - ::= { trunkToTrunkTable 1 } - - - TrunkToTrunkEntry ::= - SEQUENCE { - trunkToTrunkIndex - INTEGER, - trunkToTrunkData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8.1.1 - trunkToTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToTrunkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8.1.2 - trunkToTrunkData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToTrunkEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9 - intraconnectionTable OBJECT-TYPE - SYNTAX SEQUENCE OF IntraconnectionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9.1 - intraconnectionEntry OBJECT-TYPE - SYNTAX IntraconnectionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { intraconnectionIndex } - ::= { intraconnectionTable 1 } - - - IntraconnectionEntry ::= - SEQUENCE { - intraconnectionIndex - INTEGER, - intraconnectionData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9.1.1 - intraconnectionIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { intraconnectionEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9.1.2 - intraconnectionData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { intraconnectionEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10 - subsToIpTable OBJECT-TYPE - SYNTAX SEQUENCE OF SubsToIpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10.1 - subsToIpEntry OBJECT-TYPE - SYNTAX SubsToIpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { subsToIpIndex } - ::= { subsToIpTable 1 } - - - SubsToIpEntry ::= - SEQUENCE { - subsToIpIndex - INTEGER, - subsToIpData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10.1.1 - subsToIpIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToIpEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10.1.2 - subsToIpData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { subsToIpEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11 - trunkToIpTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkToIpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11.1 - trunkToIpEntry OBJECT-TYPE - SYNTAX TrunkToIpEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { trunkToIpIndex } - ::= { trunkToIpTable 1 } - - - TrunkToIpEntry ::= - SEQUENCE { - trunkToIpIndex - INTEGER, - trunkToIpData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11.1.1 - trunkToIpIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToIpEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11.1.2 - trunkToIpData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { trunkToIpEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12 - mobileOriginatedTable OBJECT-TYPE - SYNTAX SEQUENCE OF MobileOriginatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12.1 - mobileOriginatedEntry OBJECT-TYPE - SYNTAX MobileOriginatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mobileOriginatedIndex } - ::= { mobileOriginatedTable 1 } - - - MobileOriginatedEntry ::= - SEQUENCE { - mobileOriginatedIndex - INTEGER, - mobileOriginatedData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12.1.1 - mobileOriginatedIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mobileOriginatedEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12.1.2 - mobileOriginatedData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mobileOriginatedEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13 - mobileTerminatedTable OBJECT-TYPE - SYNTAX SEQUENCE OF MobileTerminatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13.1 - mobileTerminatedEntry OBJECT-TYPE - SYNTAX MobileTerminatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mobileTerminatedIndex } - ::= { mobileTerminatedTable 1 } - - - MobileTerminatedEntry ::= - SEQUENCE { - mobileTerminatedIndex - INTEGER, - mobileTermiginatedData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13.1.1 - mobileTerminatedIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mobileTerminatedEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13.1.2 - mobileTermiginatedData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mobileTerminatedEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14 - inTrunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF InTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14.1 - inTrunkEntry OBJECT-TYPE - SYNTAX InTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { inTrunkIndex } - ::= { inTrunkTable 1 } - - - InTrunkEntry ::= - SEQUENCE { - inTrunkIndex - INTEGER, - inTrunkData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14.1.1 - inTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { inTrunkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14.1.2 - inTrunkData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { inTrunkEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15 - outTrunkTable OBJECT-TYPE - SYNTAX SEQUENCE OF OutTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15.1 - outTrunkEntry OBJECT-TYPE - SYNTAX OutTrunkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { outTrunkIndex } - ::= { outTrunkTable 1 } - - - OutTrunkEntry ::= - SEQUENCE { - outTrunkIndex - INTEGER, - outTrunkData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15.1.1 - outTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { outTrunkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15.1.2 - outTrunkData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { outTrunkEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16 - ipTerminatedTable OBJECT-TYPE - SYNTAX SEQUENCE OF IpTerminatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16.1 - ipTerminatedEntry OBJECT-TYPE - SYNTAX IpTerminatedEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { ipTermiginatedIndex } - ::= { ipTerminatedTable 1 } - - - IpTerminatedEntry ::= - SEQUENCE { - ipTermiginatedIndex - INTEGER, - ipTermiginatedData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16.1.1 - ipTermiginatedIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ipTerminatedEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16.1.2 - ipTermiginatedData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ipTerminatedEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.4 - cdr OBJECT IDENTIFIER ::= { msc 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.4.1 - cdrHeadOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.4.2 - cdrTailOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.4.3 - cdrDataOid OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 3 } - - - - END - --- --- LGC-SS-MSC-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-MTP3-MIB.my b/omc/bin/mib/LGC-SS-MTP3-MIB.my deleted file mode 100644 index ae2f601..0000000 --- a/omc/bin/mib/LGC-SS-MTP3-MIB.my +++ /dev/null @@ -1,2414 +0,0 @@ --- --- LGC-SS-MTP3-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, April 29, 2011 at 11:05:40 --- - - LGC-SS-MTP3-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus, AdminStateChoices - FROM LGC-MIB - IpAddress, Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.2.2 - mtp3 MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { platplatform 2 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.2 - platplatform OBJECT IDENTIFIER ::= { wxc2 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.2.2.2 - parameter OBJECT IDENTIFIER ::= { mtp3 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.1.1 - tCPPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:TCP Port - Remark:Specify a TCP port for the SCCP-Lite protocol." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.1.2 - systemCommand OBJECT-TYPE - SYNTAX INTEGER { reset(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2 - intNetwork OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.1 - intOPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Assign a default Point Code to the local MSC. This OPC is applicable only to the international signaling network." - ::= { intNetwork 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.2 - intPointCodeLength OBJECT-TYPE - SYNTAX INTEGER - { - bit14(0), - bit24(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PC Length - Remark:Specify the length of Point Code using in the international signaling network. It can be 14 bits or 24 bits." - ::= { intNetwork 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.3 - intPointCodeType OBJECT-TYPE - SYNTAX INTEGER - { - itu(0), - ansi(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PC Type - Remark:Specify the protocol stack using in the international signaling network. It can be ITU or ANSI." - ::= { intNetwork 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.4 - intLocalACN OBJECT-TYPE - SYNTAX Opaque (SIZE (36)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Location Updating[u]0.0-0.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Cancellation[u]1.0-1.7[u]select - [v]3[opt]Version 3 - [unit]Roaming Number Enquiry[u]2.0-2.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Info Retrieval[u]3.0-3.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Reset Context[u]4.0-4.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Handover Control[u]5.0-5.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Equipment Management[u]6.0-6.7[u]select - [v]2[opt]Version 2 - [unit]Info Retrieval[u]7.0-7.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Inter-VLR Info Retrieval[u]8.0-8.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Subscriber Data Management[u]9.0-9.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Tracing[u]10.0-10.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Functional SS[u]11.0-11.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Unstructured SS[u]12.0-12.7[u]select - [v]2[opt]Version 2 - [unit]Short Message Gateway[u]13.0-13.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MO Short Message Relay[u]14.0-14.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Short Message Alert[u]15.0-15.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Short Message Waiting Data Management[u]16.0-16.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MT Short Message Relay[u]17.0-17.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]IMSI Retrieval[u]18.0-18.7[u]select - [v]2[opt]Version 2 - [unit]MS Purging[u]19.0-19.7[u]select - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Subscriber Info Enquiry[u]20.0-20.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Any Time Info Enquiry[u]21.0-21.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Control Transfer[u]22.0-22.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]SS Invocation Notification[u]23.0-23.7[u]select - [v]3[opt]Version 3 - [unit]Group Call Control[u]25.0-25.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Updating[u]26.0-26.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Info Retrieval[u]27.0-27.7[u]select - [v]3[opt]Version 3 - [unit]Failure Reporting[u]28.0-28.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Notifying[u]29.0-29.7[u]select - [v]3[opt]Version 3 - [unit]Reporting[u]30.0-30.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Completion[u]31.0-31.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Internal SIWFS Allocation[u]24.0-24.7[u]select - [v]3[opt]Version 3 - [unit]Internal Security Triplets[u]32.0-32.7[u]select - [v]2[opt]Version 2 - [unit]Internal Subscriber Interrogating[u]33.0-33.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Subscriber Management[u]34.0-34.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Ping AUC[u]35.0-35.7[u]select - [v]2[opt]Version 2 - [remark] - Define the default application context version for each MAP operation which is supported by the local MSC in the international signaling network." - ::= { intNetwork 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5 - intRoutingTable OBJECT-TYPE - SYNTAX SEQUENCE OF IntRoutingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { intNetwork 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1 - intRoutingEntry OBJECT-TYPE - SYNTAX IntRoutingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { intIndex } - ::= { intRoutingTable 1 } - - - IntRoutingEntry ::= - SEQUENCE { - intIndex - INTEGER, - intTitle - OCTET STRING, - intDPC - INTEGER, - intOPCMultiple - INTEGER, - intNormalLinkset - INTEGER, - intAlternativeLinkset - INTEGER, - intM3uaRoutingContext - INTEGER, - intACN - Opaque, - intRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1.1 - intIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing entry index number ranges from 0 to 1023." - ::= { intRoutingEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1.2 - intTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing destination name for identification purpose only." - DEFVAL { "-" } - ::= { intRoutingEntry 2 } - - --- MSRN Range Start --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1.3 - intDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DPC - Remark:Decimal Point Code of the routing destination node." - ::= { intRoutingEntry 3 } - - --- MSRN Range End --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1.4 - intOPCMultiple OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Specify a virtual Point Code to the local MSC. This OPC will be transmitted between the local MSC and the destination node.
From the destination node's perspective, it's the unique Point Code of the local MSC.
The compulsory OPC makes the system more compatible with other networks by means of supporting multiple point codes.
Set 0 to use the default OPC for this routing entry." - ::= { intRoutingEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1.5 - intNormalLinkset OBJECT-TYPE - SYNTAX INTEGER (0..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Normal Linkset - Remark:Specify the primary linkset to the routing entry for signaling addressing." - ::= { intRoutingEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1.6 - intAlternativeLinkset OBJECT-TYPE - SYNTAX INTEGER (0..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alternative Linkset - Remark:Specify a secondary linkset to the routing entry for signaling addressing when the primary linkset is unavailable." - ::= { intRoutingEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1.7 - intM3uaRoutingContext OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:M3UA Routing Context - Remark:Define routing context to identify M3UA traffic transmitted between the local MSC and the destination node.
The routing context must be unique for each M3UA application defined." - ::= { intRoutingEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1.8 - intACN OBJECT-TYPE - SYNTAX Opaque (SIZE (36)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Location Updating[u]0.0-0.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Cancellation[u]1.0-1.7[u]select - [v]3[opt]Version 3 - [unit]Roaming Number Enquiry[u]2.0-2.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Info Retrieval[u]3.0-3.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Reset Context[u]4.0-4.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Handover Control[u]5.0-5.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Equipment Management[u]6.0-6.7[u]select - [v]2[opt]Version 2 - [unit]Info Retrieval[u]7.0-7.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Inter-VLR Info Retrieval[u]8.0-8.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Subscriber Data Management[u]9.0-9.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Tracing[u]10.0-10.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Functional SS[u]11.0-11.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Unstructured SS[u]12.0-12.7[u]select - [v]2[opt]Version 2 - [unit]Short Message Gateway[u]13.0-13.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MO Short Message Relay[u]14.0-14.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Short Message Alert[u]15.0-15.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Short Message Waiting Data Management[u]16.0-16.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MT Short Message Relay[u]17.0-17.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]IMSI Retrieval[u]18.0-18.7[u]select - [v]2[opt]Version 2 - [unit]MS Purging[u]19.0-19.7[u]select - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Subscriber Info Enquiry[u]20.0-20.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Any Time Info Enquiry[u]21.0-21.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Control Transfer[u]22.0-22.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]SS Invocation Notification[u]23.0-23.7[u]select - [v]3[opt]Version 3 - [unit]Group Call Control[u]25.0-25.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Updating[u]26.0-26.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Info Retrieval[u]27.0-27.7[u]select - [v]3[opt]Version 3 - [unit]Failure Reporting[u]28.0-28.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Notifying[u]29.0-29.7[u]select - [v]3[opt]Version 3 - [unit]Reporting[u]30.0-30.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Completion[u]31.0-31.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Internal SIWFS Allocation[u]24.0-24.7[u]select - [v]3[opt]Version 3 - [unit]Internal Security Triplets[u]32.0-32.7[u]select - [v]2[opt]Version 2 - [unit]Internal Subscriber Interrogating[u]33.0-33.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Subscriber Management[u]34.0-34.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Ping AUC[u]35.0-35.7[u]select - [v]2[opt]Version 2 - [remark] - Define specific application context version for each MAP operation which is applying between the local MSC and the destination node.

The compulsory application context version makes the system more compatible with other networks by means of flexible MAP version adjustment." - ::= { intRoutingEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.2.5.1.9 - intRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { intRoutingEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3 - intSNetwork OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.1 - intsOPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Assign a default Point Code to the local MSC. This OPC is applicable only to the international-spare signaling network." - ::= { intSNetwork 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.2 - intsPointCodeLength OBJECT-TYPE - SYNTAX INTEGER - { - bit14(0), - bit24(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PC Length - Remark:Specify the length of Point Code using in the international-spare signaling network. It can be 14 bits or 24 bits." - ::= { intSNetwork 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.3 - intsPointCodeType OBJECT-TYPE - SYNTAX INTEGER - { - itu(0), - ansi(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PC Type - Remark:Specify the protocol stack using in the international-spare signaling network. It can be ITU or ANSI." - ::= { intSNetwork 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.4 - intsLocalACN OBJECT-TYPE - SYNTAX Opaque (SIZE (36)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Location Updating[u]0.0-0.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Cancellation[u]1.0-1.7[u]select - [v]3[opt]Version 3 - [unit]Roaming Number Enquiry[u]2.0-2.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Info Retrieval[u]3.0-3.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Reset Context[u]4.0-4.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Handover Control[u]5.0-5.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Equipment Management[u]6.0-6.7[u]select - [v]2[opt]Version 2 - [unit]Info Retrieval[u]7.0-7.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Inter-VLR Info Retrieval[u]8.0-8.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Subscriber Data Management[u]9.0-9.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Tracing[u]10.0-10.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Functional SS[u]11.0-11.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Unstructured SS[u]12.0-12.7[u]select - [v]2[opt]Version 2 - [unit]Short Message Gateway[u]13.0-13.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MO Short Message Relay[u]14.0-14.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Short Message Alert[u]15.0-15.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Short Message Waiting Data Management[u]16.0-16.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MT Short Message Relay[u]17.0-17.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]IMSI Retrieval[u]18.0-18.7[u]select - [v]2[opt]Version 2 - [unit]MS Purging[u]19.0-19.7[u]select - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Subscriber Info Enquiry[u]20.0-20.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Any Time Info Enquiry[u]21.0-21.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Control Transfer[u]22.0-22.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]SS Invocation Notification[u]23.0-23.7[u]select - [v]3[opt]Version 3 - [unit]Group Call Control[u]25.0-25.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Updating[u]26.0-26.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Info Retrieval[u]27.0-27.7[u]select - [v]3[opt]Version 3 - [unit]Failure Reporting[u]28.0-28.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Notifying[u]29.0-29.7[u]select - [v]3[opt]Version 3 - [unit]Reporting[u]30.0-30.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Completion[u]31.0-31.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Internal SIWFS Allocation[u]24.0-24.7[u]select - [v]3[opt]Version 3 - [unit]Internal Security Triplets[u]32.0-32.7[u]select - [v]2[opt]Version 2 - [unit]Internal Subscriber Interrogating[u]33.0-33.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Subscriber Management[u]34.0-34.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Ping AUC[u]35.0-35.7[u]select - [v]2[opt]Version 2 - [remark] - Define the default application context version for each MAP operation which is supported by the local MSC in the international-spare signaling network." - ::= { intSNetwork 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5 - intSRoutingTable OBJECT-TYPE - SYNTAX SEQUENCE OF IntSRoutingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { intSNetwork 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1 - intSRoutingEntry OBJECT-TYPE - SYNTAX IntSRoutingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { intsIndex } - ::= { intSRoutingTable 1 } - - - IntSRoutingEntry ::= - SEQUENCE { - intsIndex - INTEGER, - intsTitle - OCTET STRING, - intsDPC - INTEGER, - intsOPCMultiple - INTEGER, - intsNormalLinkset - INTEGER, - intsAlternativeLinkset - INTEGER, - intsM3uaRoutingContext - INTEGER, - intsACN - Opaque, - intsRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1.1 - intsIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing entry index number ranges from 0 to 1023." - ::= { intSRoutingEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1.2 - intsTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing destination name for identification purpose only." - DEFVAL { "-" } - ::= { intSRoutingEntry 2 } - - --- MSRN Range Start --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1.3 - intsDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DPC - Remark:Decimal Point Code of the routing destination node." - ::= { intSRoutingEntry 3 } - - --- MSRN Range End --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1.4 - intsOPCMultiple OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Specify a virtual Point Code to the local MSC. This OPC will be transmitted between the local MSC and the destination node.
From the destination node's perspective, it's the unique Point Code of the local MSC.
The compulsory OPC makes the system more compatible with other networks by means of supporting multiple point codes.
Set 0 to use the default OPC for this routing entry." - ::= { intSRoutingEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1.5 - intsNormalLinkset OBJECT-TYPE - SYNTAX INTEGER (0..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Normal Linkset - Remark:Specify the primary linkset to the routing entry for signaling addressing." - ::= { intSRoutingEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1.6 - intsAlternativeLinkset OBJECT-TYPE - SYNTAX INTEGER (0..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alternative Linkset - Remark:Specify a secondary linkset to the routing entry for signaling addressing when the primary linkset is unavailable." - ::= { intSRoutingEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1.7 - intsM3uaRoutingContext OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:M3UA Routing Context - Remark:Define routing context to identify M3UA traffic transmitted between the local MSC and the destination node.
The routing context must be unique for each M3UA application defined." - ::= { intSRoutingEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1.8 - intsACN OBJECT-TYPE - SYNTAX Opaque (SIZE (36)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Location Updating[u]0.0-0.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Cancellation[u]1.0-1.7[u]select - [v]3[opt]Version 3 - [unit]Roaming Number Enquiry[u]2.0-2.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Info Retrieval[u]3.0-3.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Reset Context[u]4.0-4.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Handover Control[u]5.0-5.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Equipment Management[u]6.0-6.7[u]select - [v]2[opt]Version 2 - [unit]Info Retrieval[u]7.0-7.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Inter-VLR Info Retrieval[u]8.0-8.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Subscriber Data Management[u]9.0-9.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Tracing[u]10.0-10.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Functional SS[u]11.0-11.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Unstructured SS[u]12.0-12.7[u]select - [v]2[opt]Version 2 - [unit]Short Message Gateway[u]13.0-13.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MO Short Message Relay[u]14.0-14.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Short Message Alert[u]15.0-15.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Short Message Waiting Data Management[u]16.0-16.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MT Short Message Relay[u]17.0-17.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]IMSI Retrieval[u]18.0-18.7[u]select - [v]2[opt]Version 2 - [unit]MS Purging[u]19.0-19.7[u]select - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Subscriber Info Enquiry[u]20.0-20.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Any Time Info Enquiry[u]21.0-21.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Control Transfer[u]22.0-22.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]SS Invocation Notification[u]23.0-23.7[u]select - [v]3[opt]Version 3 - [unit]Group Call Control[u]25.0-25.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Updating[u]26.0-26.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Info Retrieval[u]27.0-27.7[u]select - [v]3[opt]Version 3 - [unit]Failure Reporting[u]28.0-28.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Notifying[u]29.0-29.7[u]select - [v]3[opt]Version 3 - [unit]Reporting[u]30.0-30.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Completion[u]31.0-31.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Internal SIWFS Allocation[u]24.0-24.7[u]select - [v]3[opt]Version 3 - [unit]Internal Security Triplets[u]32.0-32.7[u]select - [v]2[opt]Version 2 - [unit]Internal Subscriber Interrogating[u]33.0-33.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Subscriber Management[u]34.0-34.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Ping AUC[u]35.0-35.7[u]select - [v]2[opt]Version 2 - [remark] - Define specific application context version for each MAP operation which is applying between the local MSC and the destination node.

The compulsory application context version makes the system more compatible with other networks by means of flexible MAP version adjustment." - ::= { intSRoutingEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.3.5.1.9 - intsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { intSRoutingEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4 - natNetwork OBJECT IDENTIFIER ::= { parameter 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.1 - natOPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Assign a default Point Code to the local MSC. This OPC is applicable only to the national signaling network." - ::= { natNetwork 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.2 - natPointCodeLength OBJECT-TYPE - SYNTAX INTEGER - { - bit14(0), - bit24(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PC Length - Remark:Specify the length of Point Code using in the national signaling network. It can be 14 bits or 24 bits." - ::= { natNetwork 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.3 - natPointCodeType OBJECT-TYPE - SYNTAX INTEGER - { - itu(0), - ansi(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PC Type - Remark:Specify the protocol stack using in the national signaling network. It can be ITU or ANSI." - ::= { natNetwork 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.4 - natLocalACN OBJECT-TYPE - SYNTAX Opaque (SIZE (36)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Location Updating[u]0.0-0.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Cancellation[u]1.0-1.7[u]select - [v]3[opt]Version 3 - [unit]Roaming Number Enquiry[u]2.0-2.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Info Retrieval[u]3.0-3.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Reset Context[u]4.0-4.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Handover Control[u]5.0-5.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Equipment Management[u]6.0-6.7[u]select - [v]2[opt]Version 2 - [unit]Info Retrieval[u]7.0-7.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Inter-VLR Info Retrieval[u]8.0-8.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Subscriber Data Management[u]9.0-9.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Tracing[u]10.0-10.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Functional SS[u]11.0-11.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Unstructured SS[u]12.0-12.7[u]select - [v]2[opt]Version 2 - [unit]Short Message Gateway[u]13.0-13.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MO Short Message Relay[u]14.0-14.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Short Message Alert[u]15.0-15.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Short Message Waiting Data Management[u]16.0-16.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MT Short Message Relay[u]17.0-17.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]IMSI Retrieval[u]18.0-18.7[u]select - [v]2[opt]Version 2 - [unit]MS Purging[u]19.0-19.7[u]select - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Subscriber Info Enquiry[u]20.0-20.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Any Time Info Enquiry[u]21.0-21.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Control Transfer[u]22.0-22.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]SS Invocation Notification[u]23.0-23.7[u]select - [v]3[opt]Version 3 - [unit]Group Call Control[u]25.0-25.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Updating[u]26.0-26.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Info Retrieval[u]27.0-27.7[u]select - [v]3[opt]Version 3 - [unit]Failure Reporting[u]28.0-28.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Notifying[u]29.0-29.7[u]select - [v]3[opt]Version 3 - [unit]Reporting[u]30.0-30.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Completion[u]31.0-31.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Internal SIWFS Allocation[u]24.0-24.7[u]select - [v]3[opt]Version 3 - [unit]Internal Security Triplets[u]32.0-32.7[u]select - [v]2[opt]Version 2 - [unit]Internal Subscriber Interrogating[u]33.0-33.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Subscriber Management[u]34.0-34.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Ping AUC[u]35.0-35.7[u]select - [v]2[opt]Version 2 - [remark] - Define the default application context version for each MAP operation which is supported by the local MSC in the national signaling network." - ::= { natNetwork 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5 - natRoutingTable OBJECT-TYPE - SYNTAX SEQUENCE OF NatRoutingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { natNetwork 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1 - natRoutingEntry OBJECT-TYPE - SYNTAX NatRoutingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { natIndex } - ::= { natRoutingTable 1 } - - - NatRoutingEntry ::= - SEQUENCE { - natIndex - INTEGER, - natTitle - OCTET STRING, - natDPC - INTEGER, - natOPCMultiple - INTEGER, - natNormalLinkset - INTEGER, - natAlternativeLinkset - INTEGER, - natM3uaRoutingContext - INTEGER, - natACN - Opaque, - natRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1.1 - natIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing entry index number ranges from 0 to 1023." - ::= { natRoutingEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1.2 - natTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing destination name for identification purpose only." - DEFVAL { "-" } - ::= { natRoutingEntry 2 } - - --- MSRN Range Start --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1.3 - natDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DPC - Remark:Decimal Point Code of the routing destination node." - ::= { natRoutingEntry 3 } - - --- MSRN Range End --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1.4 - natOPCMultiple OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Specify a virtual Point Code to the local MSC. This OPC will be transmitted between the local MSC and the destination node.
From the destination node's perspective, it's the unique Point Code of the local MSC.
The compulsory OPC makes the system more compatible with other networks by means of supporting multiple point codes.
Set 0 to use the default OPC for this routing entry." - ::= { natRoutingEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1.5 - natNormalLinkset OBJECT-TYPE - SYNTAX INTEGER (0..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Normal Linkset - Remark:Specify the primary linkset to the routing entry for signaling addressing." - ::= { natRoutingEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1.6 - natAlternativeLinkset OBJECT-TYPE - SYNTAX INTEGER (0..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alternative Linkset - Remark:Specify a secondary linkset to the routing entry for signaling addressing when the primary linkset is unavailable." - ::= { natRoutingEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1.7 - natM3uaRoutingContext OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:M3UA Routing Context - Remark:Define routing context to identify M3UA traffic transmitted between the local MSC and the destination node.
The routing context must be unique for each M3UA application defined." - ::= { natRoutingEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1.8 - natACN OBJECT-TYPE - SYNTAX Opaque (SIZE (36)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Location Updating[u]0.0-0.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Cancellation[u]1.0-1.7[u]select - [v]3[opt]Version 3 - [unit]Roaming Number Enquiry[u]2.0-2.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Info Retrieval[u]3.0-3.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Reset Context[u]4.0-4.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Handover Control[u]5.0-5.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Equipment Management[u]6.0-6.7[u]select - [v]2[opt]Version 2 - [unit]Info Retrieval[u]7.0-7.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Inter-VLR Info Retrieval[u]8.0-8.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Subscriber Data Management[u]9.0-9.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Tracing[u]10.0-10.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Functional SS[u]11.0-11.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Unstructured SS[u]12.0-12.7[u]select - [v]2[opt]Version 2 - [unit]Short Message Gateway[u]13.0-13.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MO Short Message Relay[u]14.0-14.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Short Message Alert[u]15.0-15.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Short Message Waiting Data Management[u]16.0-16.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MT Short Message Relay[u]17.0-17.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]IMSI Retrieval[u]18.0-18.7[u]select - [v]2[opt]Version 2 - [unit]MS Purging[u]19.0-19.7[u]select - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Subscriber Info Enquiry[u]20.0-20.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Any Time Info Enquiry[u]21.0-21.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Control Transfer[u]22.0-22.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]SS Invocation Notification[u]23.0-23.7[u]select - [v]3[opt]Version 3 - [unit]Group Call Control[u]25.0-25.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Updating[u]26.0-26.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Info Retrieval[u]27.0-27.7[u]select - [v]3[opt]Version 3 - [unit]Failure Reporting[u]28.0-28.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Notifying[u]29.0-29.7[u]select - [v]3[opt]Version 3 - [unit]Reporting[u]30.0-30.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Completion[u]31.0-31.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Internal SIWFS Allocation[u]24.0-24.7[u]select - [v]3[opt]Version 3 - [unit]Internal Security Triplets[u]32.0-32.7[u]select - [v]2[opt]Version 2 - [unit]Internal Subscriber Interrogating[u]33.0-33.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Subscriber Management[u]34.0-34.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Ping AUC[u]35.0-35.7[u]select - [v]2[opt]Version 2 - [remark] - Define specific application context version for each MAP operation which is applying between the local MSC and the destination node.

The compulsory application context version makes the system more compatible with other networks by means of flexible MAP version adjustment." - ::= { natRoutingEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.4.5.1.9 - natRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { natRoutingEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5 - natSNetwork OBJECT IDENTIFIER ::= { parameter 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.1 - natSpareOPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Assign a default Point Code to the local MSC. This OPC is applicable only to the national-spare signaling network." - ::= { natSNetwork 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.2 - natSparePointCodeLength OBJECT-TYPE - SYNTAX INTEGER - { - bit14(0), - bit24(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PC Length - Remark:Specify the length of Point Code using in the national-spare signaling network. It can be 14 bits or 24 bits." - ::= { natSNetwork 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.3 - natSparePointCodeType OBJECT-TYPE - SYNTAX INTEGER - { - itu(0), - ansi(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PC Type - Remark:Specify the protocol stack using in the national-spare signaling network. It can be ITU or ANSI." - ::= { natSNetwork 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.4 - natSpareLocalACN OBJECT-TYPE - SYNTAX Opaque (SIZE (36)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Location Updating[u]0.0-0.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Cancellation[u]1.0-1.7[u]select - [v]3[opt]Version 3 - [unit]Roaming Number Enquiry[u]2.0-2.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Info Retrieval[u]3.0-3.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Reset Context[u]4.0-4.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Handover Control[u]5.0-5.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Equipment Management[u]6.0-6.7[u]select - [v]2[opt]Version 2 - [unit]Info Retrieval[u]7.0-7.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Inter-VLR Info Retrieval[u]8.0-8.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Subscriber Data Management[u]9.0-9.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Tracing[u]10.0-10.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Functional SS[u]11.0-11.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Unstructured SS[u]12.0-12.7[u]select - [v]2[opt]Version 2 - [unit]Short Message Gateway[u]13.0-13.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MO Short Message Relay[u]14.0-14.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Short Message Alert[u]15.0-15.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Short Message Waiting Data Management[u]16.0-16.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MT Short Message Relay[u]17.0-17.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]IMSI Retrieval[u]18.0-18.7[u]select - [v]2[opt]Version 2 - [unit]MS Purging[u]19.0-19.7[u]select - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Subscriber Info Enquiry[u]20.0-20.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Any Time Info Enquiry[u]21.0-21.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Control Transfer[u]22.0-22.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]SS Invocation Notification[u]23.0-23.7[u]select - [v]3[opt]Version 3 - [unit]Group Call Control[u]25.0-25.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Updating[u]26.0-26.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Info Retrieval[u]27.0-27.7[u]select - [v]3[opt]Version 3 - [unit]Failure Reporting[u]28.0-28.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Notifying[u]29.0-29.7[u]select - [v]3[opt]Version 3 - [unit]Reporting[u]30.0-30.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Completion[u]31.0-31.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Internal SIWFS Allocation[u]24.0-24.7[u]select - [v]3[opt]Version 3 - [unit]Internal Security Triplets[u]32.0-32.7[u]select - [v]2[opt]Version 2 - [unit]Internal Subscriber Interrogating[u]33.0-33.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Subscriber Management[u]34.0-34.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Ping AUC[u]35.0-35.7[u]select - [v]2[opt]Version 2 - [remark] - Define the default application context version for each MAP operation which is supported by the local MSC in the national-spare signaling network." - ::= { natSNetwork 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5 - natSRoutingTable OBJECT-TYPE - SYNTAX SEQUENCE OF NatSRoutingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { natSNetwork 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1 - natSRoutingEntry OBJECT-TYPE - SYNTAX NatSRoutingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { natsIndex } - ::= { natSRoutingTable 1 } - - - NatSRoutingEntry ::= - SEQUENCE { - natsIndex - INTEGER, - natsTitle - OCTET STRING, - natsDPC - INTEGER, - natsOPCMultiple - INTEGER, - natsNormalLinkset - INTEGER, - natsAlternativeLinkset - INTEGER, - natsM3uaRoutingContext - INTEGER, - natsACN - Opaque, - natsRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1.1 - natsIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing entry index number ranges from 0 to 1023." - ::= { natSRoutingEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1.2 - natsTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing destination name for identification purpose only." - DEFVAL { "-" } - ::= { natSRoutingEntry 2 } - - --- MSRN Range Start --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1.3 - natsDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DPC - Remark:Decimal Point Code of the routing destination node." - ::= { natSRoutingEntry 3 } - - --- MSRN Range End --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1.4 - natsOPCMultiple OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Specify a virtual Point Code to the local MSC. This OPC will be transmitted between the local MSC and the destination node.
From the destination node's perspective, it's the unique Point Code of the local MSC.
The compulsory OPC makes the system more compatible with other networks by means of supporting multiple point codes.
Set 0 to use the default OPC for this routing entry." - ::= { natSRoutingEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1.5 - natsNormalLinkset OBJECT-TYPE - SYNTAX INTEGER (0..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Normal Linkset - Remark:Specify the primary linkset to the routing entry for signaling addressing." - ::= { natSRoutingEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1.6 - natsAlternativeLinkset OBJECT-TYPE - SYNTAX INTEGER (0..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Alternative Linkset - Remark:Specify a secondary linkset to the routing entry for signaling addressing when the primary linkset is unavailable." - ::= { natSRoutingEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1.7 - natsM3uaRoutingContext OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:M3UA Routing Context - Remark:Define routing context to identify M3UA traffic transmitted between the local MSC and the destination node.
The routing context must be unique for each M3UA application defined." - ::= { natSRoutingEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1.8 - natsACN OBJECT-TYPE - SYNTAX Opaque (SIZE (36)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Location Updating[u]0.0-0.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Cancellation[u]1.0-1.7[u]select - [v]3[opt]Version 3 - [unit]Roaming Number Enquiry[u]2.0-2.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Location Info Retrieval[u]3.0-3.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Reset Context[u]4.0-4.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Handover Control[u]5.0-5.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Equipment Management[u]6.0-6.7[u]select - [v]2[opt]Version 2 - [unit]Info Retrieval[u]7.0-7.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Inter-VLR Info Retrieval[u]8.0-8.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Subscriber Data Management[u]9.0-9.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Tracing[u]10.0-10.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Functional SS[u]11.0-11.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Network Unstructured SS[u]12.0-12.7[u]select - [v]2[opt]Version 2 - [unit]Short Message Gateway[u]13.0-13.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MO Short Message Relay[u]14.0-14.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Short Message Alert[u]15.0-15.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [unit]Short Message Waiting Data Management[u]16.0-16.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]MT Short Message Relay[u]17.0-17.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]IMSI Retrieval[u]18.0-18.7[u]select - [v]2[opt]Version 2 - [unit]MS Purging[u]19.0-19.7[u]select - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Subscriber Info Enquiry[u]20.0-20.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Any Time Info Enquiry[u]21.0-21.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Control Transfer[u]22.0-22.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]SS Invocation Notification[u]23.0-23.7[u]select - [v]3[opt]Version 3 - [unit]Group Call Control[u]25.0-25.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Updating[u]26.0-26.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Location Info Retrieval[u]27.0-27.7[u]select - [v]3[opt]Version 3 - [unit]Failure Reporting[u]28.0-28.7[u]select - [v]3[opt]Version 3 - [unit]GPRS Notifying[u]29.0-29.7[u]select - [v]3[opt]Version 3 - [unit]Reporting[u]30.0-30.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Call Completion[u]31.0-31.7[u]select - [v]1[opt]Version 1 - [v]2[opt]Version 2 - [v]3[opt]Version 3 - [unit]Internal SIWFS Allocation[u]24.0-24.7[u]select - [v]3[opt]Version 3 - [unit]Internal Security Triplets[u]32.0-32.7[u]select - [v]2[opt]Version 2 - [unit]Internal Subscriber Interrogating[u]33.0-33.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Subscriber Management[u]34.0-34.7[u]select - [v]2[opt]Version 2 - [unit]Internal HLR Ping AUC[u]35.0-35.7[u]select - [v]2[opt]Version 2 - [remark] - Define specific application context version for each MAP operation which is applying between the local MSC and the destination node.

The compulsory application context version makes the system more compatible with other networks by means of flexible MAP version adjustment." - ::= { natSRoutingEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.5.5.1.9 - natsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { natSRoutingEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6 - linkSet OBJECT IDENTIFIER ::= { parameter 6 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1 - linkSetTable OBJECT-TYPE - SYNTAX SEQUENCE OF LinkSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { linkSet 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1 - linkSetEntry OBJECT-TYPE - SYNTAX LinkSetEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { lsIndex } - ::= { linkSetTable 1 } - - - LinkSetEntry ::= - SEQUENCE { - lsIndex - INTEGER, - lsTitle - OCTET STRING, - lsAdministrationState - AdminStateChoices, - lsStatus - INTEGER, - lsNetworkIndicate - INTEGER, - lsDPC - INTEGER, - lsLoopbackOption - INTEGER, - lsOPCMultiple - INTEGER, - lsRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1.1 - lsIndex OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Linkset index number ranges from 0 to 511." - ::= { linkSetEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1.2 - lsTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Linkset destination name for identification purpose only." - DEFVAL { "-" } - ::= { linkSetEntry 2 } - - --- Country Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1.3 - lsAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed linkset by lock and unlock commands." - ::= { linkSetEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1.4 - lsStatus OBJECT-TYPE - SYNTAX INTEGER - { - offline(0), - online(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Linkset Status - Remark:(Read Only) The current status of the serving linkset." - ::= { linkSetEntry 4 } - - --- National Destination Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1.5 - lsNetworkIndicate OBJECT-TYPE - SYNTAX INTEGER - { - international(0), - internationalSpare(1), - national(2), - nationalSpare(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NI - Remark:Identify the Network Indicator of this linkset." - ::= { linkSetEntry 5 } - - --- International Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1.6 - lsDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DPC - Remark:Decimal Point Code of the linkset destination node." - ::= { linkSetEntry 6 } - - --- National Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1.7 - lsLoopbackOption OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Loopback Flag - Remark:Enable to loop all data on this linkset from transmit side back to receive side.
Enable it on the linksets connected between two MSS platforms." - ::= { linkSetEntry 7 } - - --- HPLMN CC0 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1.8 - lsOPCMultiple OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Specify a virtual Point Code to the local MSC. This OPC will be transmitted between the local MSC and the destination node.
From the destination node's perspective, it's the unique Point Code of the local MSC.
The compulsory OPC makes the system more compatible with other networks by means of supporting multiple point codes.
Set 0 to use the default OPC of the specific signaling network." - ::= { linkSetEntry 8 } - - --- HPLMN CC1 --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.6.1.1.9 - lsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { linkSetEntry 9 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7 - link OBJECT IDENTIFIER ::= { parameter 7 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1 - linkTable OBJECT-TYPE - SYNTAX SEQUENCE OF LinkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { link 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1 - linkEntry OBJECT-TYPE - SYNTAX LinkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { lkIndex } - ::= { linkTable 1 } - - - LinkEntry ::= - SEQUENCE { - lkIndex - INTEGER, - lkTitle - OCTET STRING, - lkAdministrationState - AdminStateChoices, - lkLinkStatus - INTEGER, - lkType - INTEGER, - lkLinkSetID - INTEGER, - lkSLC - INTEGER, - lkHostIP - IpAddress, - lkAlternativeHostIP - IpAddress, - lkSgID - INTEGER, - lkM2uaInterfaceID - INTEGER, - lkMTP3LiteApplicationMode - INTEGER, - lkMTP3LiteRemoteIP - IpAddress, - lkMTP3LiteInactivityTimeout - INTEGER, - lkMTP3LiteAllowedTimeoutTimes - INTEGER, - lkRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.1 - lkIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Link index number ranges from 0 to 1023." - ::= { linkEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.2 - lkTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Link destination name for identification purpose only." - DEFVAL { "-" } - ::= { linkEntry 2 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.3 - lkAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed link by lock and unlock commands." - ::= { linkEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.4 - lkLinkStatus OBJECT-TYPE - SYNTAX INTEGER - { - offline(0), - online(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Link Status - Remark:(Read Only) The current status of the serving link." - ::= { linkEntry 4 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.5 - lkType OBJECT-TYPE - SYNTAX INTEGER - { - circuit-8ecp(0), - m2ua(1), - mtp3-lite(2), - iua(3), - m3ua(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Signaling Type - Remark:Specify the signaling type of this link.

- ECP = 8KE1 Control Protocol defined for circuit switch applications.
- M2UA = Signaling transport over MTP2 User Adaptation Layer.
- M3UA = Signaling transport over MTP3 User Adaptation Layer.
- IUA = Signaling transport over ISDN User Adaptation Layer.
- MTP3-Lite = Protocol definded for IPA BSS or AMG connections." - DEFVAL { m2ua } - ::= { linkEntry 5 } - - --- Availability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.6 - lkLinkSetID OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Linkset ID - Remark:Specify the index number of the associated linkset to this link.
- Range = 0 - 511." - ::= { linkEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.7 - lkSLC OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SLC - Remark:Signaling Link Code ranges from 0 to 15. The SLC must be unique for each link within the same linkset." - ::= { linkEntry 7 } - - --- DPC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.8 - lkHostIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Primary Host IP - Remark:Specify the primary management server of this link. Enter the IP address of MSC-0 or MSC-1." - ::= { linkEntry 8 } - - --- Protocol Variant --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.9 - lkAlternativeHostIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Alternative Host IP - Remark:Specify a secondary mangement server of this link just in case the primary server is unavailable. Enter the IP address of MSC-1 or MSC-0." - ::= { linkEntry 9 } - - --- Network Indication --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.10 - lkSgID OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SG ID - Remark:Specify the index number of the relevant signaling gateway to this link.
- Range = 0 - 255." - ::= { linkEntry 10 } - - --- Protocol Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.11 - lkM2uaInterfaceID OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:M2UA IID - Remark:Specify the M2UA Interface Identifier (IID) to this link. The IID must be unique for each link connected to the same signaling gateway." - ::= { linkEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.12 - lkMTP3LiteApplicationMode OBJECT-TYPE - SYNTAX INTEGER - { - server(0), - client(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MTP3-Lite Application Mode - Remark:Specify the application mode of the local MSC when connecting to the IPA BSS or AMG." - ::= { linkEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.13 - lkMTP3LiteRemoteIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MTP3-Lite Remote IP - Remark:IP address of the connected IPA BSS or AMG." - ::= { linkEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.14 - lkMTP3LiteInactivityTimeout OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MTP3-Lite Inactivity Timeout - Remark:Specify the allowable interval of time without receiving a heartbeat from IPA BSS or AMG. Unit is second." - ::= { linkEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.15 - lkMTP3LiteAllowedTimeoutTimes OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MTP3-Lite Allowed Timeout Times - Remark:Define the maximum number of allowed inactivity timeout." - ::= { linkEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.7.1.1.16 - lkRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { linkEntry 16 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8 - sG OBJECT IDENTIFIER ::= { parameter 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8.1 - signalingGatewayTable OBJECT-TYPE - SYNTAX SEQUENCE OF SignalingGatewayEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sG 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8.1.1 - signalingGatewayEntry OBJECT-TYPE - SYNTAX SignalingGatewayEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { sgIndex } - ::= { signalingGatewayTable 1 } - - - SignalingGatewayEntry ::= - SEQUENCE { - sgIndex - INTEGER, - sgAdministrationState - AdminStateChoices, - sgApplicationMode - INTEGER, - sgAckOption - INTEGER, - sgSignalingType - INTEGER, - sgRemoteIP - IpAddress, - sgRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8.1.1.1 - sgIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Signaling gateway index number ranges from 0 to 255." - ::= { signalingGatewayEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8.1.1.2 - sgAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed SG entry by lock and unlock commands." - ::= { signalingGatewayEntry 2 } - - --- IP --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8.1.1.3 - sgApplicationMode OBJECT-TYPE - SYNTAX INTEGER - { - client(0), - server(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Application Mode - Remark:Specify the application mode of the connected signaling gateway." - ::= { signalingGatewayEntry 3 } - - --- Domain Name --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8.1.1.4 - sgAckOption OBJECT-TYPE - SYNTAX INTEGER - { - allow(0), - forbid(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:ACK Option - Remark:Enable or disable ACK message delivery on this SG entry." - ::= { signalingGatewayEntry 4 } - - --- Switching Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8.1.1.5 - sgSignalingType OBJECT-TYPE - SYNTAX INTEGER - { - m2ua(0), - iua(1), - m3ua(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Signaling Type - Remark:Specify the signaling type of this signaling gateway.

- M2UA = Signaling transport over MTP2 User Adaptation Layer.
- M3UA = Signaling transport over MTP3 User Adaptation Layer.
- IUA = Signaling transport over ISDN User Adaptation Layer." - ::= { signalingGatewayEntry 5 } - - --- End Point Description --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8.1.1.6 - sgRemoteIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Remote IP - Remark:IP address of the signaling gateway destination." - ::= { signalingGatewayEntry 6 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.2.2.2.8.1.1.7 - sgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { signalingGatewayEntry 7 } - - - - END - --- --- LGC-SS-MTP3-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-OPPS-MIB.my b/omc/bin/mib/LGC-SS-OPPS-MIB.my deleted file mode 100644 index 50b14b2..0000000 --- a/omc/bin/mib/LGC-SS-OPPS-MIB.my +++ /dev/null @@ -1,538 +0,0 @@ --- --- LGC-SS-OPPS-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, September 15, 2010 at 17:02:41 --- - - LGC-SS-OPPS-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, RowStatus, DisplayString - FROM LGC-MIB - Opaque, Integer32, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.12 - opps MODULE-IDENTITY - LAST-UPDATED "200810201438Z" -- October 20, 2008 at 14:38 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - ::= { application 12 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { opps 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.12.2 - parameter OBJECT IDENTIFIER ::= { opps 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.1 - sysControl OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.1.1 - license OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:License - Remark:(Read Only) The maximum subscriber capacity of OPPS determined by License Control." - DEFVAL { "" } - ::= { sysControl 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.1.2 - oPRStatus OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:OPR Status - Remark:(Read Only) The administration state of OPR service which determined by License Control." - ::= { sysControl 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.1.3 - iMDXStatus OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:IMDX Status - Remark:(Read Only) The administration state of IMDX service which determined by License Control." - ::= { sysControl 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.1.4 - cDROption OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable OPR CDR generation." - ::= { sysControl 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.1.5 - replaceOption OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Replace Option - Remark:Enable or disable overwrite the existing OPPS subscriber data when create an OPPS subscriber with the same MSISDN." - ::= { sysControl 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.1.6 - command OBJECT-TYPE - SYNTAX INTEGER { saveUserData(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sysControl 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.1.7 - importSubs OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Progress Report[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Requesting - [v]2[opt]Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total IMEIs[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Imported IMEIs[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { sysControl 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2 - oPR OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.1 - cosID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:COS ID - Remark:Specify index of a Class of Service (COS) to the OPR applications for charging purpose." - ::= { oPR 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.2 - autoRegisterOption OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Auto-Registration Option - Remark:Enable or disable auto-registration function to the OPR subscribers from the PLMN without roaming agreement." - ::= { oPR 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.3 - autoCleanupThreshold OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Auto-Cleanup Threshold - Remark:The OPPS will send a warning alarm and clean up database by deleting the trial accounts when the OPR license utilization level reaches this threshold.

- Range = 0.50 - 0.99" - ::= { oPR 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.4 - welcomeSMS OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..120)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Welcome SMS - Remark:Customize the text format in a welcome short message. It is sent to the user when he successfully registered to the OPR service and informs him his local phone number and PIN." - DEFVAL { "" } - ::= { oPR 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.5 - pLMNListOption OBJECT-TYPE - SYNTAX INTEGER - { - allow(0), - bar(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PLMN List Option - Remark:Allow or reject the mobile subscribers from the specific PLMNs to register to the local network.

- Allow = The following PLMN list is a white-list.
- Bar = The following PLMN list is a black-list." - ::= { oPR 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.20 - pLMNListTable OBJECT-TYPE - SYNTAX SEQUENCE OF PLMNListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:This table is controled by plmnListOption.The MccMnc is not allowed to register OPR service When plmnListOption is allow and MccMnc is not exist in the table;he MccMnc is not allowed to register OPR service When plmnListOption is bar and MccMnc is exist in the table;The MccMnc is allowed to register OPR service When plmnListOption is allow and MccMnc is exist in the table;The MccMnc is allowed to register OPR service When plmnListOption is bar and MccMnc is not exist in the table;" - ::= { oPR 20 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.20.1 - pLMNListEntry OBJECT-TYPE - SYNTAX PLMNListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { plIndex } - ::= { pLMNListTable 1 } - - - PLMNListEntry ::= - SEQUENCE { - plIndex - INTEGER, - plTitle - OCTET STRING, - plMCCAndMNC - OCTET STRING, - plRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.20.1.1 - plIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:PLMN index number ranges from 1 to 32." - ::= { pLMNListEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.20.1.2 - plTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:PLMN name for identification purpose only." - ::= { pLMNListEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.20.1.3 - plMCCAndMNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (5)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MCC & MNC - Remark:Mobile Country Code and Mobile Network Code of this PLMN." - ::= { pLMNListEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.2.20.1.4 - plRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { pLMNListEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3 - iMDX OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3.1 - exclusiveLevel OBJECT-TYPE - SYNTAX INTEGER - { - normal(0), - exclusiveHalf(1), - exclusiveFull(2), - shutdown(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Exclusive Level - Remark:Exclusive access provides solutions to restrict the IMDX registration from a predefined range of users:

- Normal = Full IMDX functions.
- Exclusive Half = Prohibit the public (roaming) users from registration.
- Exclusive Full = Prohibit both public (roaming) and hybrid users from registration.
- Shutdown = Shutdown IMDX. Forbid all users from registration." - ::= { iMDX 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3.2 - exclusiveRejectionCause OBJECT-TYPE - SYNTAX INTEGER - { - c11(0), - c12(1), - c13(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Exclusive Rejection Cause - Remark:In the exclusive access mode, the network sends a Location Area Updating Reject message to MS to indicate the cause of rejection:

- C11 = PLMN not allowed
- C12 = LA not allowed
- C13 = Roaming not allowed in this LA" - ::= { iMDX 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3.20 - privateDialingPrefixTable OBJECT-TYPE - SYNTAX SEQUENCE OF PrivateDialingPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:MT is a private user if any prefix of MT MSISDN is exist in this table." - ::= { iMDX 20 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3.20.1 - privateDialingPrefixEntry OBJECT-TYPE - SYNTAX PrivateDialingPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { pdpIndex } - ::= { privateDialingPrefixTable 1 } - - - PrivateDialingPrefixEntry ::= - SEQUENCE { - pdpIndex - INTEGER, - pdpTitle - OCTET STRING, - pdpAttribution - OCTET STRING, - pdpPrivateDialingPrefix - OCTET STRING, - pdpRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3.20.1.1 - pdpIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Private dialing prefix index number ranges from 1 to 16." - ::= { privateDialingPrefixEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3.20.1.2 - pdpTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Private dialing prefix name for identification purpose only." - ::= { privateDialingPrefixEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3.20.1.3 - pdpAttribution OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..2)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Attribution - Remark:Specify number plan of the the incoming private calls.

- 80 = Unknown
- 81 = National number
- 91 = International number" - ::= { privateDialingPrefixEntry 3 } - - --- Call Number Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3.20.1.4 - pdpPrivateDialingPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:Specify dialing prefix of the incoming private call. Originating call with this prefix will be treated as private call." - ::= { privateDialingPrefixEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.2.3.20.1.5 - pdpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { privateDialingPrefixEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.3 - csta OBJECT IDENTIFIER ::= { opps 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.4 - cdr OBJECT IDENTIFIER ::= { opps 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.4.1 - cdrHeadOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.4.2 - cdrTailOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.4.3 - cdrDataOid OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.5 - userDataOperation OBJECT IDENTIFIER ::= { opps 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.5.1 - index OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { userDataOperation 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.12.5.2 - operationUserData OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { userDataOperation 2 } - - - - END - --- --- LGC-SS-OPPS-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-PALIM-MIB.my b/omc/bin/mib/LGC-SS-PALIM-MIB.my deleted file mode 100644 index 9941d65..0000000 --- a/omc/bin/mib/LGC-SS-PALIM-MIB.my +++ /dev/null @@ -1,4985 +0,0 @@ --- --- LGC-SS-PALIM-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, June 21, 2019 at 09:44:52 --- - - LGC-SS-PALIM-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, RowStatus, DisplayString8, DisplayString, - AdminStateChoices, OperStateChoices - FROM LGC-MIB - IpAddress, Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.14 - palim MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 14 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2 - parameter OBJECT IDENTIFIER ::= { palim 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.5 - idlePeriodToPurge OBJECT-TYPE - SYNTAX INTEGER (0..1440) - UNITS "hours" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:How long to purge the inactive user." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.10 - maxLicense OBJECT-TYPE - SYNTAX INTEGER (0..200000) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Max number of user in VBSC." - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.11 - pagingOptimization OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:If enabled, VBSC will page all pods of the cluster user last logged in." - ::= { system 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.12 - lUHandling OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Switch of LU handling function." - ::= { system 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.13 - firstPageTimer OBJECT-TYPE - SYNTAX INTEGER (1..30) - UNITS "seconds" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Paging cluster timer, it is for the first page." - ::= { system 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.14 - secondPageTimer OBJECT-TYPE - SYNTAX INTEGER (0..30) - UNITS "seconds" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Paging all timer, it is for the second page." - ::= { system 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.15 - timeIntervalBetweenPingpongHandovers OBJECT-TYPE - SYNTAX INTEGER (0..60) - UNITS "seconds" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Time Interval between Pingpong Handovers." - ::= { system 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.16 - inactivityTestInterval OBJECT-TYPE - SYNTAX INTEGER (0..3600) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Inactivity test interval of altoPOD. Name:altoGateway MF Heart Beat Interval" - ::= { system 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.17 - lIForAllCalls OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:If enabled, VBSC will do call intercept for all calls." - ::= { system 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.18 - switchingMechanism OBJECT-TYPE - SYNTAX INTEGER - { - null(0), - user2UserInSetup(1), - colp(2), - callingSubAddressSetup(3), - user2UserInConnect(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Tagging method for LCP in GCS." - ::= { system 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.19 - resetSrrFlagForMoSms OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Reset SRR Flag for MO SMS - Remark:Reset Status Report Request Flag for MO SMS." - ::= { system 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.23 - multiplexIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { system 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.24 - mocn OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Switch of MO-CN function." - ::= { system 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.1.25 - defaultMocnMscId OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:default MO-CN MSC id." - ::= { system 25 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4 - tGToMSC OBJECT IDENTIFIER ::= { parameter 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1 - tGToMSCTable OBJECT-TYPE - SYNTAX SEQUENCE OF TGToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:TG to MSC" - ::= { tGToMSC 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1 - tGToMSCEntry OBJECT-TYPE - SYNTAX TGToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:TG to MSC" - INDEX { tgIndex } - ::= { tGToMSCTable 1 } - - - TGToMSCEntry ::= - SEQUENCE { - tgIndex - INTEGER, - tgTitle - OCTET STRING, - tgAdministrationState - AdminStateChoices, - tgOperabilityStatus - OperStateChoices, - tgAvailabilityStatus - INTEGER, - tgOPC - INTEGER, - tgDPC - INTEGER, - tgNetworkIndicator - INTEGER, - tgProtocolType - INTEGER, - tgCircuitSelectionMode - INTEGER, - tgTrunkGroupType - INTEGER, - tgNetworkName - OCTET STRING, - tgMOCNMcc - OCTET STRING, - tgMOCNMnc - OCTET STRING, - tgMOCNLac - INTEGER, - tgCreateEntryTrunkToMSC - INTEGER, - tgTrunkToMSCEntries - INTEGER, - tgRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.1 - tgIndex OBJECT-TYPE - SYNTAX INTEGER (1..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 8." - ::= { tGToMSCEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.2 - tgTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of the selected Trunk Group (max 64 characters)." - ::= { tGToMSCEntry 2 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.3 - tgAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Control the operation of the managed Trunk Group." - ::= { tGToMSCEntry 3 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.4 - tgOperabilityStatus OBJECT-TYPE - SYNTAX OperStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark: (Read Only) Indicate whether the externalities (such as MSC configuration, MG configuration, physical connection) are qualified." - ::= { tGToMSCEntry 4 } - - --- Availability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.5 - tgAvailabilityStatus OBJECT-TYPE - SYNTAX INTEGER - { - offLine(0), - onLine(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:(Read Only) Indicate whether the internalities (such as Trunk and TG configuration) are qualified." - ::= { tGToMSCEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.6 - tgOPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:The Originating Point Code of the current TG." - ::= { tGToMSCEntry 6 } - - --- DPC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.7 - tgDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:The Destination Point Code of the current TG." - ::= { tGToMSCEntry 7 } - - --- Network Indication --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.8 - tgNetworkIndicator OBJECT-TYPE - SYNTAX INTEGER - { - int(0), - intSpare(1), - nat(2), - natSpare(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the Trunk Group to a network." - DEFVAL { int } - ::= { tGToMSCEntry 8 } - - --- Protocol Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.9 - tgProtocolType OBJECT-TYPE - SYNTAX INTEGER - { - aif(0), - aoip(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Select the protocol type for this Trunk Group. " - ::= { tGToMSCEntry 9 } - - --- Circuit Selection Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.10 - tgCircuitSelectionMode OBJECT-TYPE - SYNTAX INTEGER - { - clockwise(0), - antiClockwise(1), - odd(2), - even(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Circuit selection mode of the traffic channel connections." - DEFVAL { clockwise } - ::= { tGToMSCEntry 10 } - - --- Trunk Group Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.11 - tgTrunkGroupType OBJECT-TYPE - SYNTAX INTEGER { out(0) } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Application type of this Trunk Group." - DEFVAL { normal } - ::= { tGToMSCEntry 11 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.15 - tgNetworkName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Network Name." - ::= { tGToMSCEntry 15 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.16 - tgMOCNMcc OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MOCN MCC - Remark:used for MOCN only." - ::= { tGToMSCEntry 16 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.17 - tgMOCNMnc OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (2..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MOCN MNC - Remark:used for MOCN only." - ::= { tGToMSCEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.18 - tgMOCNLac OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MOCN LAC - Remark:used for MOCN only." - ::= { tGToMSCEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.28 - tgCreateEntryTrunkToMSC OBJECT-TYPE - SYNTAX INTEGER (1..128) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Create Trunk Entry" - ::= { tGToMSCEntry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.29 - tgTrunkToMSCEntries OBJECT-TYPE - SYNTAX INTEGER (0..128) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Trunk Entries - Remark:The total number of configured Trunks in this Trunk Group." - ::= { tGToMSCEntry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.1.1.30 - tgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tGToMSCEntry 30 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2 - trunkToMSCTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Trunk to MSC" - ::= { tGToMSC 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1 - trunkToMSCEntry OBJECT-TYPE - SYNTAX TrunkToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2 Name:Trunk to MSC" - INDEX { trunkIndex, trunkTGIndex } - ::= { trunkToMSCTable 1 } - - - TrunkToMSCEntry ::= - SEQUENCE { - trunkTGIndex - INTEGER, - trunkIndex - INTEGER, - trunkTitle - OCTET STRING, - trunkAdministrationState - AdminStateChoices, - trunkOperabilityStatus - OperStateChoices, - trunkAvailabilityStatus - INTEGER, - trunkMgID - INTEGER, - trunkPortID - INTEGER, - trunkPortType - INTEGER, - trunkGroupID - INTEGER, - trunkCICValueAssignment - INTEGER, - trunkChannelInUse - INTEGER, - trunkChannelToMSCEntries - INTEGER, - trunkRowStatus - RowStatus - } - --- Trunk TG Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.1 - trunkTGIndex OBJECT-TYPE - SYNTAX INTEGER (1..8) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Trunk Group Index for the Trunk." - ::= { trunkToMSCEntry 1 } - - --- Trunk Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.2 - trunkIndex OBJECT-TYPE - SYNTAX INTEGER (1..128) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 32." - ::= { trunkToMSCEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.3 - trunkTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of the selected Trunk (max 64 characters)." - ::= { trunkToMSCEntry 3 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.4 - trunkAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Control the operation of the managed Trunk." - ::= { trunkToMSCEntry 4 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.5 - trunkOperabilityStatus OBJECT-TYPE - SYNTAX OperStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:(Read Only) Indicate whether the externalities (such as MSC configuration, MG configuration, physical connection) are qualified." - ::= { trunkToMSCEntry 5 } - - --- Availability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.6 - trunkAvailabilityStatus OBJECT-TYPE - SYNTAX INTEGER - { - offLine(0), - onLine(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:(Read Only) Indicate whether the internalities (such as Trunk and TG configuration) are qualified." - ::= { trunkToMSCEntry 6 } - - --- MG ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.7 - trunkMgID OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MG ID - Remark:Specify the Trunk to a Media Gateway.
Not applicable to virtual MG." - DEFVAL { 0 } - ::= { trunkToMSCEntry 7 } - - --- Port ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.8 - trunkPortID OBJECT-TYPE - SYNTAX INTEGER (0..128) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the Trunk to a physical port of the selected Media
Gateway. Not applicable to virtual MG." - ::= { trunkToMSCEntry 8 } - - --- Port Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.9 - trunkPortType OBJECT-TYPE - SYNTAX INTEGER - { - e1(0), - t1(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the type of MG physical ports." - DEFVAL { enable } - ::= { trunkToMSCEntry 9 } - - --- Group ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.10 - trunkGroupID OBJECT-TYPE - SYNTAX INTEGER - { - group0(0), - group1(1) - } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Select the application group of the Trunk
for redundancy backup." - DEFVAL { group0 } - ::= { trunkToMSCEntry 10 } - - --- Typical CIC Value Assignment --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.11 - trunkCICValueAssignment OBJECT-TYPE - SYNTAX INTEGER (0..4096) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the start CIC to the Trunk for typical mode." - ::= { trunkToMSCEntry 11 } - - --- Port ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.12 - trunkChannelInUse OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Channel number in use." - ::= { trunkToMSCEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.17 - trunkChannelToMSCEntries OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Channel Entries" - ::= { trunkToMSCEntry 17 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.2.1.18 - trunkRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { trunkToMSCEntry 18 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.3 - channelToMSCTable OBJECT-TYPE - SYNTAX SEQUENCE OF ChannelToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Channel to MSC" - ::= { tGToMSC 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.3.1 - channelToMSCEntry OBJECT-TYPE - SYNTAX ChannelToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:3 Name:Channel to MSC" - INDEX { tsTrunkIndex, tsIndex, tsTrunkTGIndex } - ::= { channelToMSCTable 1 } - - - ChannelToMSCEntry ::= - SEQUENCE { - tsTrunkTGIndex - INTEGER, - tsTrunkIndex - INTEGER, - tsIndex - INTEGER, - tsChannelCIC - INTEGER, - tsChannelStatus - INTEGER, - tsBlock - INTEGER - } - --- CIC Trunk TG Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.3.1.1 - tsTrunkTGIndex OBJECT-TYPE - SYNTAX INTEGER (1..8) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:TG Index - Remark:Trunk Group Index for the Time Slot." - ::= { channelToMSCEntry 1 } - - --- CIC Trunk Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.3.1.2 - tsTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (1..128) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Trunk Index for the Time Slot." - ::= { channelToMSCEntry 2 } - - --- CIC Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.3.1.3 - tsIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 32." - ::= { channelToMSCEntry 3 } - - --- Channel CIC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.3.1.4 - tsChannelCIC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Assign a Circuit Identity Code to the channel." - ::= { channelToMSCEntry 4 } - - --- Call Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.3.1.5 - tsChannelStatus OBJECT-TYPE - SYNTAX INTEGER - { - outOfService(0), - idle(1), - busy(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:The status of the channel." - ::= { channelToMSCEntry 5 } - - --- Local Block --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.4.3.1.6 - tsBlock OBJECT-TYPE - SYNTAX INTEGER - { - unblocked(0), - localBlocked(1), - remoteBlocked(2) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Local block." - ::= { channelToMSCEntry 6 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5 - mGToMSC OBJECT IDENTIFIER ::= { parameter 5 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1 - mGToMSCTable OBJECT-TYPE - SYNTAX SEQUENCE OF MGToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:MG to MSC" - ::= { mGToMSC 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1 - mGToMSCEntry OBJECT-TYPE - SYNTAX MGToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:MG to MSC" - INDEX { mgIndex } - ::= { mGToMSCTable 1 } - - - MGToMSCEntry ::= - SEQUENCE { - mgIndex - INTEGER, - mgTitle - OCTET STRING, - mgAdministrationState - AdminStateChoices, - mgIP - IpAddress, - mgDomainName - DisplayString16, - mgSwitchingMode - INTEGER, - mgEndPoint - INTEGER, - mgType - INTEGER, - mgMaxPhysicalPorts - INTEGER, - mgMaxChannels - INTEGER, - mgPacketizationPeriod - INTEGER, - mgCodecType - Opaque, - mgAuditTimer - INTEGER, - mgPhysicalPortToMSCEntries - INTEGER, - mgRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.1 - mgIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 32." - ::= { mGToMSCEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.2 - mgTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of the selected Media Gateway (max 64 characters)." - ::= { mGToMSCEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.3 - mgAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Control the operation of the managed Media Gateway." - ::= { mGToMSCEntry 3 } - - --- IP --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.4 - mgIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:IP address of the Media Gateway or 8KE1 Card." - ::= { mGToMSCEntry 4 } - - --- Domain Name --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.5 - mgDomainName OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify a domain name to the Media Gateway." - ::= { mGToMSCEntry 5 } - - --- Switching Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.6 - mgSwitchingMode OBJECT-TYPE - SYNTAX INTEGER { mgcp(0) } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Select the switching mode of the specified MG." - DEFVAL { mgcp } - ::= { mGToMSCEntry 6 } - - --- End Point Description --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.7 - mgEndPoint OBJECT-TYPE - SYNTAX INTEGER - { - structured(1), - unstructured(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the method of MGCP endpoint description." - DEFVAL { structured } - ::= { mGToMSCEntry 7 } - - --- MG Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.9 - mgType OBJECT-TYPE - SYNTAX INTEGER - { - audioCodes(1), - tandem(20), - imptandem(23), - aoip(24) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Select the type of MG endpoint." - DEFVAL { 1 } - ::= { mGToMSCEntry 9 } - - --- Max Physical Ports --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.10 - mgMaxPhysicalPorts OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:The total physical port number of the MG.
Not applicable to virtual MG." - ::= { mGToMSCEntry 10 } - - --- Max Channels --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.11 - mgMaxChannels OBJECT-TYPE - SYNTAX INTEGER (0..1024) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:The total channel number of the virtual MG.
Applicable to virtual MG only." - ::= { mGToMSCEntry 11 } - - --- Packetization Period --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.12 - mgPacketizationPeriod OBJECT-TYPE - SYNTAX INTEGER - { - x20ms(20), - x40ms(40), - x60ms(60), - x80ms(80) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:The period over which encoded voice bits are
collected for encapsulation in." - DEFVAL { x20ms } - ::= { mGToMSCEntry 12 } - - --- Codec Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.14 - mgCodecType OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Codec 0[u]00.0-00.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 1[u]01.0-01.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 2[u]02.0-02.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 3[u]03.0-03.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 4[u]04.0-04.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 5[u]05.0-05.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 6[u]06.0-06.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 7[u]07.0-07.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 8[u]08.0-08.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 9[u]09.0-09.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 10[u]10.0-10.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 11[u]11.0-11.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 12[u]12.0-12.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 13[u]13.0-13.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 14[u]14.0-14.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 15[u]15.0-15.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [remark]Codec Type." - ::= { mGToMSCEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.15 - mgAuditTimer OBJECT-TYPE - SYNTAX INTEGER (0..255) - UNITS "seconds" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Audit Timer." - ::= { mGToMSCEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.16 - mgPhysicalPortToMSCEntries OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Physical Port Entries - Remark:The total number of the configured Physical
Ports in this Media Gateway." - ::= { mGToMSCEntry 16 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.1.1.17 - mgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mGToMSCEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.2 - physicalPortToMSCTable OBJECT-TYPE - SYNTAX SEQUENCE OF PhysicalPortToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Physical Port to MSC" - ::= { mGToMSC 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.2.1 - physicalPortToMSCEntry OBJECT-TYPE - SYNTAX PhysicalPortToMSCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2 Name:Physical Port to MSC" - INDEX { ppIndex, ppMGIndex } - ::= { physicalPortToMSCTable 1 } - - - PhysicalPortToMSCEntry ::= - SEQUENCE { - ppMGIndex - INTEGER, - ppIndex - INTEGER, - ppUsedFlag - INTEGER, - ppStatus - INTEGER - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.2.1.1 - ppMGIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Media Gateway Index for the Physical Port." - ::= { physicalPortToMSCEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.2.1.2 - ppIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 32." - ::= { physicalPortToMSCEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.2.1.3 - ppUsedFlag OBJECT-TYPE - SYNTAX INTEGER - { - idle(0), - inUse(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Used flag." - ::= { physicalPortToMSCEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.5.2.1.4 - ppStatus OBJECT-TYPE - SYNTAX INTEGER - { - notReady(0), - ready(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:The status of the physical port." - ::= { physicalPortToMSCEntry 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6 - locationArea OBJECT IDENTIFIER ::= { parameter 6 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1 - locationAreaTable OBJECT-TYPE - SYNTAX SEQUENCE OF LocationAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { locationArea 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1 - locationAreaEntry OBJECT-TYPE - SYNTAX LocationAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { laIndex } - ::= { locationAreaTable 1 } - - - LocationAreaEntry ::= - SEQUENCE { - laIndex - INTEGER, - laType - INTEGER, - laLAC - INTEGER, - laMCC - OCTET STRING, - laMNC - OCTET STRING, - laNRILength - INTEGER, - laCreateEntryCell - INTEGER, - laCellEntries - INTEGER, - laRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1.1 - laIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 256." - ::= { locationAreaEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1.2 - laType OBJECT-TYPE - SYNTAX INTEGER { out(1) } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of the selected Location Area (max 16 characters)." - ::= { locationAreaEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1.3 - laLAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Local area code." - ::= { locationAreaEntry 3 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1.4 - laMCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Mobile Country Code,the length is 3." - ::= { locationAreaEntry 4 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1.5 - laMNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Mobile National Code,the length is 2 to 3." - ::= { locationAreaEntry 5 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1.6 - laNRILength OBJECT-TYPE - SYNTAX INTEGER (0..10) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:NRI Length from 0 to 10, NRI routing will be disabled when NRI Length is 0." - ::= { locationAreaEntry 6 } - - --- Cell --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1.16 - laCreateEntryCell OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { locationAreaEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1.17 - laCellEntries OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Cell or NRI Entries - Key Parameter:Yes - Remark:The total number of configured Cells in this LAC." - ::= { locationAreaEntry 17 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.1.1.18 - laRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { locationAreaEntry 18 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2 - cellTable OBJECT-TYPE - SYNTAX SEQUENCE OF CellEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Cell or NRI" - ::= { locationArea 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1 - cellEntry OBJECT-TYPE - SYNTAX CellEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { cellIndex, cellLAIndex } - ::= { cellTable 1 } - - - CellEntry ::= - SEQUENCE { - cellLAIndex - INTEGER, - cellIndex - INTEGER, - cellCellID - INTEGER, - cellTgID - INTEGER, - cellNRI - INTEGER, - cellNBMCC - OCTET STRING, - cellNBMNC - OCTET STRING, - cellNBLAC - INTEGER, - cellNRIRouteAdministration - INTEGER, - cellRowStatus - RowStatus - } - --- Cell Location Area Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.1 - cellLAIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Location Area Index for the Cell." - ::= { cellEntry 1 } - - --- Cell Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.2 - cellIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 0 to 255." - ::= { cellEntry 2 } - - --- Cell ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.3 - cellCellID OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Global Cell Identity defined in GSM 03.03." - ::= { cellEntry 3 } - - --- Cell ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.4 - cellTgID OBJECT-TYPE - SYNTAX INTEGER (1..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:TG ID - Remark:Trunk Group id configured in TG to MSC." - ::= { cellEntry 4 } - - --- Cell ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.5 - cellNRI OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Network Resource Indication." - ::= { cellEntry 5 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.6 - cellNBMCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Non-Broacast MCC, the length is 3." - ::= { cellEntry 6 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.7 - cellNBMNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Non-Broacast MNC,the length is 2 to 3." - ::= { cellEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.8 - cellNBLAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Non-Broacast LAC." - ::= { cellEntry 8 } - - --- Cell ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.9 - cellNRIRouteAdministration OBJECT-TYPE - SYNTAX INTEGER - { - block(0), - unblock(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Administration State of NRI Routing." - ::= { cellEntry 9 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.6.2.1.10 - cellRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cellEntry 10 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.7 - mocnControl OBJECT IDENTIFIER ::= { parameter 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.7.1 - status OBJECT-TYPE - SYNTAX INTEGER - { - disabled(0), - blackList(1), - whiteList(2) - } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:The type of the user registration control table." - ::= { mocnControl 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.7.2 - lURejectCause OBJECT-TYPE - SYNTAX INTEGER - { - pLMNnotallowed(11), - lACnotallowed(12), - roamingnotallowed(13) - } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:The LU reject cause returned to MS." - ::= { mocnControl 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.7.3 - mocnControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF MocnControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mocnControl 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.7.3.1 - mocnControlEntry OBJECT-TYPE - SYNTAX MocnControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { rcIndex } - ::= { mocnControlTable 1 } - - - MocnControlEntry ::= - SEQUENCE { - rcIndex - INTEGER, - rcIMSIPrefix - OCTET STRING, - rcTgToMsc - INTEGER, - rcRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.7.3.1.1 - rcIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 256." - ::= { mocnControlEntry 1 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.7.3.1.2 - rcIMSIPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:IMSI prefix." - ::= { mocnControlEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.7.3.1.3 - rcTgToMsc OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Tg to MSC." - ::= { mocnControlEntry 3 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.7.3.1.10 - rcRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mocnControlEntry 10 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8 - tGToRGW OBJECT IDENTIFIER ::= { parameter 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1 - tGToRGWTable OBJECT-TYPE - SYNTAX SEQUENCE OF TGToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:TG to RGW" - ::= { tGToRGW 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1 - tGToRGWEntry OBJECT-TYPE - SYNTAX TGToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:TG to RGW" - INDEX { tgmIndex } - ::= { tGToRGWTable 1 } - - - TGToRGWEntry ::= - SEQUENCE { - tgmIndex - INTEGER, - tgmTitle - OCTET STRING, - tgmAdministrationState - AdminStateChoices, - tgmOperabilityStatus - OperStateChoices, - tgmAvailabilityStatus - INTEGER, - tgmOPC - INTEGER, - tgmDPC - INTEGER, - tgmNetworkIndicator - INTEGER, - tgmProtocolType - INTEGER, - tgmCircuitSelectionMode - INTEGER, - tgmTrunkGroupType - INTEGER, - tgmLac - INTEGER, - tgmCellId - INTEGER, - tgmChannelQuench - INTEGER, - tgmIPEndPoint - INTEGER, - tgmQuietTimeInactivityTest - Opaque, - tgmLatitude - OCTET STRING, - tgmLongitude - OCTET STRING, - tgmCreateEntryTrunkToRGW - INTEGER, - tgmTrunkToRGWEntries - INTEGER, - tgmRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.1 - tgmIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 256." - ::= { tGToRGWEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.2 - tgmTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of the selected Trunk Group (max 64 characters)." - ::= { tGToRGWEntry 2 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.3 - tgmAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Control the operation of the managed Trunk Group." - ::= { tGToRGWEntry 3 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.4 - tgmOperabilityStatus OBJECT-TYPE - SYNTAX OperStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:(Read Only) Indicate the current Trunk Group operation
is qualified by Availability Status." - ::= { tGToRGWEntry 4 } - - --- Availability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.5 - tgmAvailabilityStatus OBJECT-TYPE - SYNTAX INTEGER - { - offLine(0), - onLine(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:(Read Only) Qualify Operation State providing details
about the current operational status." - ::= { tGToRGWEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.6 - tgmOPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:The Originating Point Code of the current TG." - ::= { tGToRGWEntry 6 } - - --- DPC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.7 - tgmDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:The Destination Point Code of the current TG." - ::= { tGToRGWEntry 7 } - - --- Network Indication --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.8 - tgmNetworkIndicator OBJECT-TYPE - SYNTAX INTEGER - { - int(0), - intSpare(1), - nat(2), - natSpare(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the Trunk Group to a network." - DEFVAL { int } - ::= { tGToRGWEntry 8 } - - --- Protocol Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.9 - tgmProtocolType OBJECT-TYPE - SYNTAX INTEGER - { - aif(0), - mf(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Select the protocol type for this Trunk Group. " - ::= { tGToRGWEntry 9 } - - --- Circuit Selection Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.10 - tgmCircuitSelectionMode OBJECT-TYPE - SYNTAX INTEGER - { - clockwise(0), - antiClockwise(1), - odd(2), - even(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Circuit selection mode of the traffic channel connections." - DEFVAL { clockwise } - ::= { tGToRGWEntry 10 } - - --- Trunk Group Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.11 - tgmTrunkGroupType OBJECT-TYPE - SYNTAX INTEGER { in(1) } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Application type of this Trunk Group." - DEFVAL { normal } - ::= { tGToRGWEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.13 - tgmLac OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Lac." - ::= { tGToRGWEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.14 - tgmCellId OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Cell Id." - ::= { tGToRGWEntry 14 } - - --- Protocol Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.15 - tgmChannelQuench OBJECT-TYPE - SYNTAX INTEGER - { - disabled(0), - enabled(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Channel Quench flag. " - ::= { tGToRGWEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.16 - tgmIPEndPoint OBJECT-TYPE - SYNTAX INTEGER (0..4) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Stream IP End Point in RtpProxy." - ::= { tGToRGWEntry 16 } - - --- Inactivity Test - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.17 - tgmQuietTimeInactivityTest OBJECT-TYPE - SYNTAX Opaque (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Inactivity Test[u]00.0-00.7[u]select - [v]0[opt]disabled completely - [v]1[opt]disabled specific time - [v]2[opt]enabled completely - [unit]disabled start time[u]01.0-01.7[u]select - [v]0[opt]AM 00:00 - [v]1[opt]AM 00:30 - [v]2[opt]AM 01:00 - [v]3[opt]AM 01:30 - [v]4[opt]AM 02:00 - [v]5[opt]AM 02:30 - [v]6[opt]AM 03:00 - [v]7[opt]AM 03:30 - [v]8[opt]AM 04:00 - [v]9[opt]AM 04:30 - [v]10[opt]AM 05:00 - [v]11[opt]AM 05:30 - [v]12[opt]AM 06:00 - [v]13[opt]AM 06:30 - [v]14[opt]AM 07:00 - [v]15[opt]AM 07:30 - [v]16[opt]AM 08:00 - [v]17[opt]AM 08:30 - [v]18[opt]AM 09:00 - [v]19[opt]AM 09:30 - [v]20[opt]AM 10:00 - [v]21[opt]AM 10:30 - [v]22[opt]AM 11:00 - [v]23[opt]AM 11:30 - [v]24[opt]AM 12:00 - [v]25[opt]PM 00:30 - [v]26[opt]PM 01:00 - [v]27[opt]PM 01:30 - [v]28[opt]PM 02:00 - [v]29[opt]PM 02:30 - [v]30[opt]PM 03:00 - [v]31[opt]PM 03:30 - [v]32[opt]PM 04:00 - [v]33[opt]PM 04:30 - [v]34[opt]PM 05:00 - [v]35[opt]PM 05:30 - [v]36[opt]PM 06:00 - [v]37[opt]PM 06:30 - [v]38[opt]PM 07:00 - [v]39[opt]PM 07:30 - [v]40[opt]PM 08:00 - [v]41[opt]PM 08:30 - [v]42[opt]PM 09:00 - [v]43[opt]PM 09:30 - [v]44[opt]PM 10:00 - [v]45[opt]PM 10:30 - [v]46[opt]PM 11:00 - [v]47[opt]PM 11:30 - [unit]disabled end time[u]02.0-02.7[u]select - [v]0[opt]AM 00:00 - [v]1[opt]AM 00:30 - [v]2[opt]AM 01:00 - [v]3[opt]AM 01:30 - [v]4[opt]AM 02:00 - [v]5[opt]AM 02:30 - [v]6[opt]AM 03:00 - [v]7[opt]AM 03:30 - [v]8[opt]AM 04:00 - [v]9[opt]AM 04:30 - [v]10[opt]AM 05:00 - [v]11[opt]AM 05:30 - [v]12[opt]AM 06:00 - [v]13[opt]AM 06:30 - [v]14[opt]AM 07:00 - [v]15[opt]AM 07:30 - [v]16[opt]AM 08:00 - [v]17[opt]AM 08:30 - [v]18[opt]AM 09:00 - [v]19[opt]AM 09:30 - [v]20[opt]AM 10:00 - [v]21[opt]AM 10:30 - [v]22[opt]AM 11:00 - [v]23[opt]AM 11:30 - [v]24[opt]AM 12:00 - [v]25[opt]PM 00:30 - [v]26[opt]PM 01:00 - [v]27[opt]PM 01:30 - [v]28[opt]PM 02:00 - [v]29[opt]PM 02:30 - [v]30[opt]PM 03:00 - [v]31[opt]PM 03:30 - [v]32[opt]PM 04:00 - [v]33[opt]PM 04:30 - [v]34[opt]PM 05:00 - [v]35[opt]PM 05:30 - [v]36[opt]PM 06:00 - [v]37[opt]PM 06:30 - [v]38[opt]PM 07:00 - [v]39[opt]PM 07:30 - [v]40[opt]PM 08:00 - [v]41[opt]PM 08:30 - [v]42[opt]PM 09:00 - [v]43[opt]PM 09:30 - [v]44[opt]PM 10:00 - [v]45[opt]PM 10:30 - [v]46[opt]PM 11:00 - [v]47[opt]PM 11:30 - [remark]Quiet Time Inactivity test of altoPOD." - ::= { tGToRGWEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.18 - tgmLatitude OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Latitude of altoPod (-90, 90), indicate south if less than 0." - ::= { tGToRGWEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.19 - tgmLongitude OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Longitude of altoPod (0, 360), indicate west when more than 180." - ::= { tGToRGWEntry 19 } - - --- Trunk --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.18 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.28 - tgmCreateEntryTrunkToRGW OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Create Trunk Entry" - ::= { tGToRGWEntry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.29 - tgmTrunkToRGWEntries OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Trunk Entries - Remark:The total number of configured Trunks in this Trunk Group." - ::= { tGToRGWEntry 29 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.19 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.1.1.30 - tgmRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tGToRGWEntry 30 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2 - trunkToRGWTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Trunk to RGW" - ::= { tGToRGW 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1 - trunkToRGWEntry OBJECT-TYPE - SYNTAX TrunkToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2 Name:Trunk to RGW" - INDEX { trunkmIndex, trunkmTGIndex } - ::= { trunkToRGWTable 1 } - - - TrunkToRGWEntry ::= - SEQUENCE { - trunkmTGIndex - INTEGER, - trunkmIndex - INTEGER, - trunkmTitle - OCTET STRING, - trunkmAdministrationState - AdminStateChoices, - trunkmOperabilityStatus - OperStateChoices, - trunkmAvailabilityStatus - INTEGER, - trunkmMgID - INTEGER, - trunkmPortID - INTEGER, - trunkmPortType - INTEGER, - trunkmGroupID - INTEGER, - trunkmCICValueAssignment - INTEGER, - trunkmChannelInUse - INTEGER, - trunkmChannelToRGWEntries - INTEGER, - trunkmRowStatus - RowStatus - } - --- Trunk TG Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.1 - trunkmTGIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Trunk Group Index for the Trunk." - ::= { trunkToRGWEntry 1 } - - --- Trunk Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.2 - trunkmIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 32." - ::= { trunkToRGWEntry 2 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.3 - trunkmTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of the selected Trunk (max 64 characters)." - ::= { trunkToRGWEntry 3 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.4 - trunkmAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Control the operation of the managed Trunk." - ::= { trunkToRGWEntry 4 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.5 - trunkmOperabilityStatus OBJECT-TYPE - SYNTAX OperStateChoices - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:(Read Only) Indicate the current linkset operation
is qualified by Availability Status." - ::= { trunkToRGWEntry 5 } - - --- Availability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.6 - trunkmAvailabilityStatus OBJECT-TYPE - SYNTAX INTEGER - { - offLine(0), - onLine(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:(Read Only) Qualify Operation State providing details
about the current operational status." - ::= { trunkToRGWEntry 6 } - - --- MG ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.7 - trunkmMgID OBJECT-TYPE - SYNTAX INTEGER (0..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Specify the Trunk to a Media Gateway.
Not applicable to virtual MG." - DEFVAL { 0 } - ::= { trunkToRGWEntry 7 } - - --- Port ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.8 - trunkmPortID OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the Trunk to a physical port of the selected Media
Gateway. Not applicable to virtual MG." - ::= { trunkToRGWEntry 8 } - - --- Port Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.9 - trunkmPortType OBJECT-TYPE - SYNTAX INTEGER - { - e1(0), - t1(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the type of MG physical ports." - DEFVAL { enable } - ::= { trunkToRGWEntry 9 } - - --- Group ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.10 - trunkmGroupID OBJECT-TYPE - SYNTAX INTEGER - { - group0(0), - group1(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Select the application group of the Trunk
for redundancy backup." - DEFVAL { group0 } - ::= { trunkToRGWEntry 10 } - - --- Typical CIC Value Assignment --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.11 - trunkmCICValueAssignment OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the start CIC to the Trunk for typical mode." - ::= { trunkToRGWEntry 11 } - - --- Port ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.12 - trunkmChannelInUse OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Channel number in use." - ::= { trunkToRGWEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.17 - trunkmChannelToRGWEntries OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Channel Entries" - ::= { trunkToRGWEntry 17 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.2.1.18 - trunkmRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { trunkToRGWEntry 18 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.3 - channelToRGWTable OBJECT-TYPE - SYNTAX SEQUENCE OF ChannelToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Channel to RGW" - ::= { tGToRGW 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.3.1 - channelToRGWEntry OBJECT-TYPE - SYNTAX ChannelToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:3 Name:Channel to RGW" - INDEX { tsmIndex, tsmTrunkIndex, tsmTrunkTGIndex } - ::= { channelToRGWTable 1 } - - - ChannelToRGWEntry ::= - SEQUENCE { - tsmTrunkTGIndex - INTEGER, - tsmTrunkIndex - INTEGER, - tsmIndex - INTEGER, - tsmChannelCIC - INTEGER, - tsmChannelStatus - INTEGER, - tsmBlock - INTEGER - } - --- CIC Trunk TG Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.3.1.1 - tsmTrunkTGIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Trunk Group Index for the Channel." - ::= { channelToRGWEntry 1 } - - --- CIC Trunk Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.3.1.2 - tsmTrunkIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Trunk Index for the Time Slot." - ::= { channelToRGWEntry 2 } - - --- CIC Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.3.1.3 - tsmIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 32." - ::= { channelToRGWEntry 3 } - - --- Channel CIC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.3.1.4 - tsmChannelCIC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Assign a Circuit Identity Code to the channel." - ::= { channelToRGWEntry 4 } - - --- Call Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.3.1.5 - tsmChannelStatus OBJECT-TYPE - SYNTAX INTEGER - { - outOfService(0), - idle(1), - busy(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:The status of the channel." - ::= { channelToRGWEntry 5 } - - --- Local Block --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.8.3.1.6 - tsmBlock OBJECT-TYPE - SYNTAX INTEGER - { - unblocked(0), - localBlocked(1), - remoteBlocked(2) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Local block." - ::= { channelToRGWEntry 6 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9 - mGToRGW OBJECT IDENTIFIER ::= { parameter 9 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1 - mGToRGWTable OBJECT-TYPE - SYNTAX SEQUENCE OF MGToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:MG to RGW" - ::= { mGToRGW 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1 - mGToRGWEntry OBJECT-TYPE - SYNTAX MGToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:MG to RGW" - INDEX { mgmIndex } - ::= { mGToRGWTable 1 } - - - MGToRGWEntry ::= - SEQUENCE { - mgmIndex - INTEGER, - mgmTitle - OCTET STRING, - mgmAdministrationState - AdminStateChoices, - mgmIP - IpAddress, - mgmDomainName - DisplayString16, - mgmSwitchingMode - INTEGER, - mgmEndPoint - INTEGER, - mgmType - INTEGER, - mgmMaxPhysicalPorts - INTEGER, - mgmMaxChannels - INTEGER, - mgmPacketizationPeriod - INTEGER, - mgmChannelType - INTEGER, - mgmCodecType - Opaque, - mgmSilenceSuppression - INTEGER, - mgmRtpMultiplex - INTEGER, - mgmAuditTimer - INTEGER, - mgmPhysicalPortToRGWEntries - INTEGER, - mgmRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.1 - mgmIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 256." - ::= { mGToRGWEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.2 - mgmTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of the selected Media Gateway (max 64 characters)." - ::= { mGToRGWEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.3 - mgmAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Control the operation of the managed Media Gateway." - ::= { mGToRGWEntry 3 } - - --- IP --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.4 - mgmIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:IP address of the Media Gateway or 8KE1 Card." - ::= { mGToRGWEntry 4 } - - --- Domain Name --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.5 - mgmDomainName OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Specify a domain name to the Media Gateway." - ::= { mGToRGWEntry 5 } - - --- Switching Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.6 - mgmSwitchingMode OBJECT-TYPE - SYNTAX INTEGER { mgcp(0) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Select the switching mode of the specified MG." - DEFVAL { mgcp } - ::= { mGToRGWEntry 6 } - - --- End Point Description --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.7 - mgmEndPoint OBJECT-TYPE - SYNTAX INTEGER - { - structured(1), - unstructured(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the method of MGCP endpoint description." - DEFVAL { structured } - ::= { mGToRGWEntry 7 } - - --- MG Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.9 - mgmType OBJECT-TYPE - SYNTAX INTEGER - { - internal(0), - audioCodes(1), - lgcMG(2), - lgcCS(3), - ipBSS(4), - rgwMG(5), - analogLine(11), - tandem(20), - announcementServer(21) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Select the type of MG endpoint." - DEFVAL { digitalChannel } - ::= { mGToRGWEntry 9 } - - --- Max Physical Ports --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.10 - mgmMaxPhysicalPorts OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:The total physical port number of the MG.
Not applicable to virtual MG." - ::= { mGToRGWEntry 10 } - - --- Max Channels --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.11 - mgmMaxChannels OBJECT-TYPE - SYNTAX INTEGER (0..1024) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:The total channel number of the virtual MG.
Applicable to virtual MG only." - ::= { mGToRGWEntry 11 } - - --- Packetization Period --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.12 - mgmPacketizationPeriod OBJECT-TYPE - SYNTAX INTEGER - { - x20ms(20), - x40ms(40), - x60ms(60), - x80ms(80), - x100ms(100) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:The period over which encoded voice bits are
collected for encapsulation in." - DEFVAL { x20ms } - ::= { mGToRGWEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.13 - mgmChannelType OBJECT-TYPE - SYNTAX INTEGER - { - rtp(0), - udp(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Channel Type." - ::= { mGToRGWEntry 13 } - - --- Codec Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.14 - mgmCodecType OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Codec 0[u]00.0-00.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 1[u]01.0-01.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 2[u]02.0-02.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 3[u]03.0-03.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 4[u]04.0-04.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 5[u]05.0-05.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 6[u]06.0-06.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 7[u]07.0-07.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 8[u]08.0-08.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 9[u]09.0-09.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 10[u]10.0-10.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 11[u]11.0-11.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 12[u]12.0-12.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 13[u]13.0-13.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 14[u]14.0-14.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [unit]Codec 15[u]15.0-15.7[u]select - [v]0[opt]A_Law - [v]1[opt]Mu_Law - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [remark]Codec Type." - ::= { mGToRGWEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.15 - mgmSilenceSuppression OBJECT-TYPE - SYNTAX INTEGER - { - enable(0), - disable(1) - } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Silence Suppression." - ::= { mGToRGWEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.16 - mgmRtpMultiplex OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Rtp Multiplex." - ::= { mGToRGWEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.18 - mgmAuditTimer OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:The time interval between sending AUEP message from MGC to MGW to check the trunk status. Set 0 to disable." - ::= { mGToRGWEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.19 - mgmPhysicalPortToRGWEntries OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Physical Port Entries - Remark:The total number of the configured Physical
Ports in this Media Gateway." - ::= { mGToRGWEntry 19 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.1.1.20 - mgmRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mGToRGWEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.2 - physicalPortToRGWTable OBJECT-TYPE - SYNTAX SEQUENCE OF PhysicalPortToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Physical Port to RGW" - ::= { mGToRGW 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.2.1 - physicalPortToRGWEntry OBJECT-TYPE - SYNTAX PhysicalPortToRGWEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2 Name:Physical Port to RGW" - INDEX { ppmIndex, ppmMGIndex } - ::= { physicalPortToRGWTable 1 } - - - PhysicalPortToRGWEntry ::= - SEQUENCE { - ppmMGIndex - INTEGER, - ppmIndex - INTEGER, - ppmUsedFlag - INTEGER, - ppmStatus - INTEGER - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.2.1.1 - ppmMGIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Media Gateway Index for the Physical Port." - ::= { physicalPortToRGWEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.2.1.2 - ppmIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 32." - ::= { physicalPortToRGWEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.2.1.3 - ppmUsedFlag OBJECT-TYPE - SYNTAX INTEGER - { - idle(0), - inUse(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Used flag." - ::= { physicalPortToRGWEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.9.2.1.4 - ppmStatus OBJECT-TYPE - SYNTAX INTEGER - { - notReady(0), - ready(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:The status of the physical port." - ::= { physicalPortToRGWEntry 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10 - localSwitchingArea OBJECT IDENTIFIER ::= { parameter 10 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.1 - localSwitchingAreaTable OBJECT-TYPE - SYNTAX SEQUENCE OF LocalSwitchingAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { localSwitchingArea 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.1.1 - localSwitchingAreaEntry OBJECT-TYPE - SYNTAX LocalSwitchingAreaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { lsaIndex } - ::= { localSwitchingAreaTable 1 } - - - LocalSwitchingAreaEntry ::= - SEQUENCE { - lsaIndex - INTEGER, - lsaTitle - OCTET STRING, - lsaLCPOption - INTEGER, - lsaCreateEntryLsaPod - INTEGER, - lsaLsaPodEntries - INTEGER, - lsaRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.1.1.1 - lsaIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 512." - ::= { localSwitchingAreaEntry 1 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.1.1.2 - lsaTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of the Local Switching Area (max 64 characters)." - ::= { localSwitchingAreaEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.1.1.3 - lsaLCPOption OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { localSwitchingAreaEntry 3 } - - --- Cell --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.1.1.8 - lsaCreateEntryLsaPod OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { localSwitchingAreaEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.1.1.9 - lsaLsaPodEntries OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:altoPod Entries - Remark:The total number of configured Pods in this LSA." - ::= { localSwitchingAreaEntry 9 } --- Name:altoPod Entries - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.1.1.10 - lsaRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { localSwitchingAreaEntry 10 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.2 - lsaPodTable OBJECT-TYPE - SYNTAX SEQUENCE OF LsaPodEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { localSwitchingArea 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.2.1 - lsaPodEntry OBJECT-TYPE - SYNTAX LsaPodEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { lsapodPodIndex, lsapodLSAIndex } - ::= { lsaPodTable 1 } - - - LsaPodEntry ::= - SEQUENCE { - lsapodLSAIndex - INTEGER, - lsapodPodIndex - INTEGER, - lsapodTitle - OCTET STRING, - lsapodTgID - INTEGER, - lsapodRowStatus - RowStatus - } - --- Cell Location Area Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.2.1.1 - lsapodLSAIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:LSA Index for the Pod." - ::= { lsaPodEntry 1 } - - --- Cell Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.2.1.2 - lsapodPodIndex OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number range from 0 to 511." - ::= { lsaPodEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.2.1.3 - lsapodTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of this LSA Pod (max 64 characters)." - ::= { lsaPodEntry 3 } - - --- Cell ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.2.1.4 - lsapodTgID OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:altoPod ID - Remark:Tg Index." - ::= { lsaPodEntry 4 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.10.2.1.10 - lsapodRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { lsaPodEntry 10 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11 - cluster OBJECT IDENTIFIER ::= { parameter 11 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.1 - clusterTable OBJECT-TYPE - SYNTAX SEQUENCE OF ClusterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cluster 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.1.1 - clusterEntry OBJECT-TYPE - SYNTAX ClusterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { clsIndex } - ::= { clusterTable 1 } - - - ClusterEntry ::= - SEQUENCE { - clsIndex - INTEGER, - clsTitle - OCTET STRING, - clsLUTimeTableId - INTEGER, - clsCreateEntryClusterPod - INTEGER, - clsClusterPodEntries - INTEGER, - clsRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.1.1.1 - clsIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 512." - ::= { clusterEntry 1 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.1.1.2 - clsTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of this Cluster (max 64 characters)." - ::= { clusterEntry 2 } - - --- Cell ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.1.1.3 - clsLUTimeTableId OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:LU time table id." - ::= { clusterEntry 3 } - - --- Cell --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.1.1.8 - clsCreateEntryClusterPod OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { clusterEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.1.1.9 - clsClusterPodEntries OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:altoPod Entries - Remark:The total number of configured Pods in this Cluster." - ::= { clusterEntry 9 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.1.1.10 - clsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { clusterEntry 10 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.2 - clusterPodTable OBJECT-TYPE - SYNTAX SEQUENCE OF ClusterPodEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Cluster Pod" - ::= { cluster 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.2.1 - clusterPodEntry OBJECT-TYPE - SYNTAX ClusterPodEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2 Name:Cluster Pod" - INDEX { clpClusterIndex, clpPodIndex } - ::= { clusterPodTable 1 } - - - ClusterPodEntry ::= - SEQUENCE { - clpClusterIndex - INTEGER, - clpPodIndex - INTEGER, - clpTitle - OCTET STRING, - clpTgID - INTEGER, - clpRowStatus - RowStatus - } - --- Cell Location Area Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.2.1.1 - clpClusterIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Cluster Index for the Pod." - ::= { clusterPodEntry 1 } - - --- Cell Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.2.1.2 - clpPodIndex OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number range from 0 to 511." - ::= { clusterPodEntry 2 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.2.1.3 - clpTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title of this Cluster Pod (max 64 characters)." - ::= { clusterPodEntry 3 } - - --- Cell ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.2.1.4 - clpTgID OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:altoPod ID - Remark:Tg Index." - ::= { clusterPodEntry 4 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.11.2.1.10 - clpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { clusterPodEntry 10 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.12 - lUTimeControl OBJECT IDENTIFIER ::= { parameter 12 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.12.1 - lUTimeTableTable OBJECT-TYPE - SYNTAX SEQUENCE OF LUTimeTableEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:LU Time Table" - ::= { lUTimeControl 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.12.1.1 - lUTimeTableEntry OBJECT-TYPE - SYNTAX LUTimeTableEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:LU Time Table" - INDEX { luttIndex } - ::= { lUTimeTableTable 1 } - - - LUTimeTableEntry ::= - SEQUENCE { - luttIndex - INTEGER, - luttTimeSlots - Opaque, - luttRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.12.1.1.1 - luttIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 16." - ::= { lUTimeTableEntry 1 } - - --- Creation Time Stamp --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.12.1.1.2 - luttTimeSlots OBJECT-TYPE - SYNTAX Opaque (SIZE (4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]00:00-00:30[u]00.0-00.0[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]00:30-01:00[u]00.1-00.1[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]01:00-01:30[u]00.2-00.2[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]01:30-02:00[u]00.3-00.3[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]02:00-02:30[u]00.4-00.4[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]02:30-03:00[u]00.5-00.5[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]03:00-03:30[u]00.6-00.6[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]03:30-04:00[u]00.7-00.7[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]04:00-04:30[u]01.0-01.0[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]04:30-05:00[u]01.1-01.1[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]05:00-05:30[u]01.2-01.2[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]05:30-06:00[u]01.3-01.3[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]06:00-06:30[u]01.4-01.4[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]06:30-07:00[u]01.5-01.5[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]07:00-07:30[u]01.6-01.6[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]07:30-08:00[u]01.7-01.7[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]08:00-08:30[u]02.0-02.0[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]08:30-09:00[u]02.1-02.1[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]09:00-09:30[u]02.2-02.2[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]09:30-10:00[u]02.3-02.3[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]10:00-10:30[u]02.4-02.4[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]10:30-11:00[u]02.5-02.5[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]11:00-11:30[u]02.6-02.6[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]11:30-12:00[u]02.7-02.7[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]12:00-12:30[u]03.0-03.0[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]12:30-13:00[u]03.1-03.1[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]13:00-13:30[u]03.2-03.2[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]13:30-14:00[u]03.3-03.3[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]14:00-14:30[u]03.4-03.4[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]14:30-15:00[u]03.5-03.5[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]15:00-15:30[u]03.6-03.6[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]15:30-16:00[u]03.7-03.7[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]16:00-16:30[u]04.0-04.0[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]16:30-17:00[u]04.1-04.1[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]17:00-17:30[u]04.2-04.2[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]17:30-18:00[u]04.3-04.3[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]18:00-18:30[u]04.4-04.4[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]18:30-19:00[u]04.5-04.5[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]19:00-19:30[u]04.6-04.6[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]19:30-20:00[u]04.7-04.7[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]20:00-20:30[u]05.0-05.0[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]20:30-21:00[u]05.1-05.1[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]21:00-21:30[u]05.2-05.2[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]21:30-22:00[u]05.3-05.3[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]22:00-22:30[u]05.4-05.4[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]22:30-23:00[u]05.5-05.5[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]23:00-23:30[u]05.6-05.6[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked - [unit]23:30-00:00[u]05.7-05.7[u]select - [v]0[opt]Non Blocked - [v]1[opt]Blocked" - ::= { lUTimeTableEntry 2 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.14.2.12.1.1.10 - luttRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { lUTimeTableEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13 - mocnCellMapping OBJECT IDENTIFIER ::= { parameter 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1 - mocnCellMappingTable OBJECT-TYPE - SYNTAX SEQUENCE OF MocnCellMappingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:MOCN Cell Mapping" - ::= { mocnCellMapping 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1 - mocnCellMappingEntry OBJECT-TYPE - SYNTAX MocnCellMappingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:MOCN Cell Mapping" - INDEX { mocnCellMappingIndex } - ::= { mocnCellMappingTable 1 } - - - MocnCellMappingEntry ::= - SEQUENCE { - mocnCellMappingIndex - INTEGER, - mocnCellMappingTitle - OCTET STRING, - mocnCellMappingLacMSC1 - INTEGER, - mocnCellMappingCellIdMSC1 - INTEGER, - mocnCellMappingLacMSC2 - INTEGER, - mocnCellMappingCellIdMSC2 - INTEGER, - mocnCellMappingLacMSC3 - INTEGER, - mocnCellMappingCellIdMSC3 - INTEGER, - mocnCellMappingRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1.1 - mocnCellMappingIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number range from 1 to 256." - ::= { mocnCellMappingEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1.2 - mocnCellMappingTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Title of the selected Trunk Group (max 64 characters)." - ::= { mocnCellMappingEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1.3 - mocnCellMappingLacMSC1 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSC 1 Lac" - ::= { mocnCellMappingEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1.4 - mocnCellMappingCellIdMSC1 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSC 1 Cell Id" - ::= { mocnCellMappingEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1.5 - mocnCellMappingLacMSC2 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSC 2 Lac" - ::= { mocnCellMappingEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1.6 - mocnCellMappingCellIdMSC2 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSC 2 Cell Id" - ::= { mocnCellMappingEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1.7 - mocnCellMappingLacMSC3 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSC 3 Lac" - ::= { mocnCellMappingEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1.8 - mocnCellMappingCellIdMSC3 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSC 3 Cell Id" - ::= { mocnCellMappingEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.2.13.1.1.20 - mocnCellMappingRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mocnCellMappingEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3 - csta OBJECT IDENTIFIER ::= { palim 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.1 - luTable OBJECT-TYPE - SYNTAX SEQUENCE OF LuEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.1.1 - luEntry OBJECT-TYPE - SYNTAX LuEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { luTgIndex, luIndex } - ::= { luTable 1 } - - - LuEntry ::= - SEQUENCE { - luTgIndex - INTEGER, - luIndex - INTEGER, - luData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.1.1.1 - luTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { luEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.1.1.2 - luIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { luEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.1.1.3 - luData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { luEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.2 - moTable OBJECT-TYPE - SYNTAX SEQUENCE OF MoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.2.1 - moEntry OBJECT-TYPE - SYNTAX MoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { moTgIndex, moIndex } - ::= { moTable 1 } - - - MoEntry ::= - SEQUENCE { - moTgIndex - INTEGER, - moIndex - INTEGER, - moData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.2.1.1 - moTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { moEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.2.1.2 - moIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { moEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.2.1.3 - moData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { moEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.3 - mtTable OBJECT-TYPE - SYNTAX SEQUENCE OF MtEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.3.1 - mtEntry OBJECT-TYPE - SYNTAX MtEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mtTgIndex, mtIndex } - ::= { mtTable 1 } - - - MtEntry ::= - SEQUENCE { - mtTgIndex - INTEGER, - mtIndex - INTEGER, - mtData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.3.1.1 - mtTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { mtEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.3.1.2 - mtIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mtEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.3.1.3 - mtData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mtEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.4 - smoTable OBJECT-TYPE - SYNTAX SEQUENCE OF SmoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.4.1 - smoEntry OBJECT-TYPE - SYNTAX SmoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { smoTgIndex, smoIndex } - ::= { smoTable 1 } - - - SmoEntry ::= - SEQUENCE { - smoTgIndex - INTEGER, - smoIndex - INTEGER, - smoData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.4.1.1 - smoTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { smoEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.4.1.2 - smoIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { smoEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.4.1.3 - smoData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { smoEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.5 - smtTable OBJECT-TYPE - SYNTAX SEQUENCE OF SmtEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.5.1 - smtEntry OBJECT-TYPE - SYNTAX SmtEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { smtTgIndex, smtIndex } - ::= { smtTable 1 } - - - SmtEntry ::= - SEQUENCE { - smtTgIndex - INTEGER, - smtIndex - INTEGER, - smtData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.5.1.1 - smtTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { smtEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.5.1.2 - smtIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { smtEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.5.1.3 - smtData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { smtEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.6 - bscTable OBJECT-TYPE - SYNTAX SEQUENCE OF BscEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.6.1 - bscEntry OBJECT-TYPE - SYNTAX BscEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { bscTgIndex, bscIndex } - ::= { bscTable 1 } - - - BscEntry ::= - SEQUENCE { - bscTgIndex - INTEGER, - bscIndex - INTEGER, - bscData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.6.1.1 - bscTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..256) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { bscEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.6.1.2 - bscIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { bscEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.6.1.3 - bscData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { bscEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.7 - intraHOTable OBJECT-TYPE - SYNTAX SEQUENCE OF IntraHOEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.7.1 - intraHOEntry OBJECT-TYPE - SYNTAX IntraHOEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { intraHoTgIndex, intraHoIndex } - ::= { intraHOTable 1 } - - - IntraHOEntry ::= - SEQUENCE { - intraHoTgIndex - INTEGER, - intraHoIndex - INTEGER, - intraHoData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.7.1.1 - intraHoTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..8) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { intraHOEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.7.1.2 - intraHoIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { intraHOEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.7.1.3 - intraHoData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { intraHOEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.8 - emergencyCallTable OBJECT-TYPE - SYNTAX SEQUENCE OF EmergencyCallEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.8.1 - emergencyCallEntry OBJECT-TYPE - SYNTAX EmergencyCallEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { emergencyCallTgIndex, emergencyCallIndex } - ::= { emergencyCallTable 1 } - - - EmergencyCallEntry ::= - SEQUENCE { - emergencyCallTgIndex - INTEGER, - emergencyCallIndex - INTEGER, - emergencyCallData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.8.1.1 - emergencyCallTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..8) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { emergencyCallEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.8.1.2 - emergencyCallIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { emergencyCallEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.8.1.3 - emergencyCallData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { emergencyCallEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.9 - mscStatsTable OBJECT-TYPE - SYNTAX SEQUENCE OF MscStatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.9.1 - mscStatsEntry OBJECT-TYPE - SYNTAX MscStatsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mscStatsTgIndex, mscStatsIndex } - ::= { mscStatsTable 1 } - - - MscStatsEntry ::= - SEQUENCE { - mscStatsTgIndex - INTEGER, - mscStatsIndex - INTEGER, - mscStatsData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.9.1.1 - mscStatsTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { mscStatsEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.9.1.2 - mscStatsIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { mscStatsEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.9.1.3 - mscStatsData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { mscStatsEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.10 - lsPerRgwTable OBJECT-TYPE - SYNTAX SEQUENCE OF LsPerRgwEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.10.1 - lsPerRgwEntry OBJECT-TYPE - SYNTAX LsPerRgwEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { lsPerRgwTgIndex, lsPerRgwIndex } - ::= { lsPerRgwTable 1 } - - - LsPerRgwEntry ::= - SEQUENCE { - lsPerRgwTgIndex - INTEGER, - lsPerRgwIndex - INTEGER, - lsPerRgwData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.10.1.1 - lsPerRgwTgIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { lsPerRgwEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.10.1.2 - lsPerRgwIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { lsPerRgwEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.10.1.3 - lsPerRgwData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { lsPerRgwEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.11 - lsPerClusterTable OBJECT-TYPE - SYNTAX SEQUENCE OF LsPerClusterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.11.1 - lsPerClusterEntry OBJECT-TYPE - SYNTAX LsPerClusterEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { lsPerClusterClusterIndex, lsPerClusterIndex } - ::= { lsPerClusterTable 1 } - - - LsPerClusterEntry ::= - SEQUENCE { - lsPerClusterClusterIndex - INTEGER, - lsPerClusterIndex - INTEGER, - lsPerClusterData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.11.1.1 - lsPerClusterClusterIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { lsPerClusterEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.11.1.2 - lsPerClusterIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { lsPerClusterEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.11.1.3 - lsPerClusterData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { lsPerClusterEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.12 - lsPerLsaTable OBJECT-TYPE - SYNTAX SEQUENCE OF LsPerLsaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.12.1 - lsPerLsaEntry OBJECT-TYPE - SYNTAX LsPerLsaEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { lsPerLsaLsaIndex, lsPerLsaIndex } - ::= { lsPerLsaTable 1 } - - - LsPerLsaEntry ::= - SEQUENCE { - lsPerLsaLsaIndex - INTEGER, - lsPerLsaIndex - INTEGER, - lsPerLsaData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.12.1.1 - lsPerLsaLsaIndex OBJECT-TYPE - SYNTAX INTEGER (1..512) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { lsPerLsaEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.12.1.2 - lsPerLsaIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { lsPerLsaEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.14.3.12.1.3 - lsPerLsaData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { lsPerLsaEntry 3 } - - - - END - --- --- LGC-SS-PALIM-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-PPS-MIB.my b/omc/bin/mib/LGC-SS-PPS-MIB.my deleted file mode 100644 index c4cea56..0000000 --- a/omc/bin/mib/LGC-SS-PPS-MIB.my +++ /dev/null @@ -1,5116 +0,0 @@ --- --- LGC-SS-PPS-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, June 20, 2012 at 14:00:43 --- - - LGC-SS-PPS-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, RowStatus, DisplayString - FROM LGC-MIB - IpAddress, Opaque, Integer32, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.6 - pps MODULE-IDENTITY - LAST-UPDATED "200811241438Z" -- November 24, 2008 at 14:38 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - ::= { application 6 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { pps 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.6.2 - parameter OBJECT IDENTIFIER ::= { pps 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1 - serviceControl OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1 - license OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Max License - Remark:(Read Only) The maximum subscriber capacity of PPS determined by License Control." - ::= { serviceControl 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2 - cDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable the Call Detail Record generation of the prepaid calls." - ::= { serviceControl 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3 - blackListThreshold OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Black List Threshold - Remark:Mark subscriber in black list and suspend service when the recharge fail times cross this threshold." - ::= { serviceControl 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.4 - maxBalance OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Balance - Remark:Specify the permitted maximum balance for the prepaid accounts. This value is for overflow prevention. Unit the minimum currency unit." - ::= { serviceControl 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.5 - currencySymbol OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Currency Symbol - Remark:Symbol of local currency for short message display, such as $." - ::= { serviceControl 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.6 - cOSOption OBJECT-TYPE - SYNTAX INTEGER - { - group64(0), - group4(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:COS Option - Remark:Select the maximum quantity of COSs supported by PPS." - ::= { serviceControl 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.7 - mNPChargeFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MNP Charge Flag - Remark:Enable or disable charging for MNP calls." - ::= { serviceControl 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.8 - oprAccountValidity OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPR Account Validity - Remark:Specify the retention period of a fresh OPR account without recharging balance.

- Range = 0 - 127 days" - ::= { serviceControl 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.9 - language0SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Language 0 SMS Encoding Type - Remark:Specify the coding scheme of PPS notification short message." - ::= { serviceControl 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.10 - language1SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Language 1 SMS Encoding Type - Remark:Specify the coding scheme of PPS notification short message." - ::= { serviceControl 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.11 - language2SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Language 2 SMS Encoding Type - Remark:Specify the coding scheme of PPS notification short message." - ::= { serviceControl 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.12 - language3SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Language 3 SMS Encoding Type - Remark:Specify the coding scheme of PPS notification short message." - ::= { serviceControl 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.13 - language4SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Language 4 SMS Encoding Type - Remark:Specify the coding scheme of PPS notification short message." - ::= { serviceControl 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.14 - externalRCM OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:External RCMS - Remark:Enable or disable external Recharge Card Management System (RCMS) support." - ::= { serviceControl 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.15 - chargeByCellFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:It is only available when the prepaid users are charged by location. Enable = Only Cell ID is used to determined Tariff Table ID; Disable = [LAC+Cell ID] is used to determined Tariff Table ID." - ::= { serviceControl 15 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.16 - notChangeExpiryForTransfer OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:To change or not change expiry date when doing Balance Transfer." - ::= { serviceControl 16 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.17 - ussdCallbackSerivceKey OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:USSD-Callback Service Key - Remark:The service key defined for USSD-Callback serive" - ::= { serviceControl 17 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.18 - ucbcNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:UCBC Number - Remark:The E.164 node address of the USSD-Callback Center." - ::= { serviceControl 18 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.20 - promptResolutionTable OBJECT-TYPE - SYNTAX SEQUENCE OF PromptResolutionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.20.1 - promptResolutionEntry OBJECT-TYPE - SYNTAX PromptResolutionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { prIndex } - ::= { promptResolutionTable 1 } - - - PromptResolutionEntry ::= - SEQUENCE { - prIndex - INTEGER, - prTitle - OCTET STRING, - prCurrencyResolution - INTEGER, - prDateFormat - INTEGER, - prCurrencySymbolPosition - INTEGER, - prRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.20.1.1 - prIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Prompt Resolution index number." - ::= { promptResolutionEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.20.1.2 - prTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Prompt Resolution name for identification purpose only." - ::= { promptResolutionEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.20.1.3 - prCurrencyResolution OBJECT-TYPE - SYNTAX INTEGER - { - n1(0), - n10(1), - n100(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Currency Resolution - Remark:Specify the number of decimal place in the PPS notification short message balance display and audio prompt.

For example, balance=1234:
- 1 = 1234
- 10 = 123.4
- 100 = 12.34" - ::= { promptResolutionEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.20.1.4 - prDateFormat OBJECT-TYPE - SYNTAX INTEGER - { - yyyymmdd(0), - ddmmyyyy(1), - mmddyyyy(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Date Format - Remark:Specify date format in PPS notification short message and audio prompt." - ::= { promptResolutionEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.20.1.5 - prCurrencySymbolPosition OBJECT-TYPE - SYNTAX INTEGER - { - front(0), - rear(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Currency Symbol Position - Remark:Specify the position of the currency symbol in PPS notification short message.

- At the front of the balance: $5
- At the rear of the balance: 5$" - ::= { promptResolutionEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.20.1.6 - prRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { promptResolutionEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.21 - mNPPrefixesTable OBJECT-TYPE - SYNTAX SEQUENCE OF MNPPrefixesEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.21.1 - mNPPrefixesEntry OBJECT-TYPE - SYNTAX MNPPrefixesEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mnpIndex } - ::= { mNPPrefixesTable 1 } - - - MNPPrefixesEntry ::= - SEQUENCE { - mnpIndex - INTEGER, - mnpTitle - OCTET STRING, - mnpPrefix - OCTET STRING, - mnpRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.21.1.1 - mnpIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:MNP prefix index number ranges from 0 to 31." - ::= { mNPPrefixesEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.21.1.2 - mnpTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:MNP prefix name for identification purpose only." - ::= { mNPPrefixesEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.21.1.3 - mnpPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:Add the MNP related prefixes in this list if the MNP charging is enabled." - ::= { mNPPrefixesEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.21.1.4 - mnpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mNPPrefixesEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22 - sMSSentenceTable OBJECT-TYPE - SYNTAX SEQUENCE OF SMSSentenceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1 - sMSSentenceEntry OBJECT-TYPE - SYNTAX SMSSentenceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { ssIndex } - ::= { sMSSentenceTable 1 } - - - SMSSentenceEntry ::= - SEQUENCE { - ssIndex - INTEGER, - ssTitle - OCTET STRING, - ssEnglish - OCTET STRING, - ssLanguage0Content - OCTET STRING, - ssLanguage1Content - OCTET STRING, - ssLanguage2Content - OCTET STRING, - ssLanguage3Content - OCTET STRING, - ssLanguage4Content - OCTET STRING, - ssRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1.1 - ssIndex OBJECT-TYPE - SYNTAX INTEGER (0..4) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number for identification purpose only." - ::= { sMSSentenceEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1.2 - ssTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Notification short message element name for identification purpose only." - ::= { sMSSentenceEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1.3 - ssEnglish OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:English - Remark:Notification short message element in English description." - ::= { sMSSentenceEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1.4 - ssLanguage0Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..99)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Language 0 Content - Remark:Customize the notification short message contents according to local language manner." - ::= { sMSSentenceEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1.5 - ssLanguage1Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..99)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Language 1 Content - Remark:Customize the notification short message contents according to local language manner." - ::= { sMSSentenceEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1.6 - ssLanguage2Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..99)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Language 2 Content - Remark:Customize the notification short message contents according to local language manner." - ::= { sMSSentenceEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1.7 - ssLanguage3Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..99)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Language 3 Content - Remark:Customize the notification short message contents according to local language manner." - ::= { sMSSentenceEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1.8 - ssLanguage4Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..99)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Language 4 Content - Remark:Customize the notification short message contents according to local language manner." - ::= { sMSSentenceEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.22.1.9 - ssRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSSentenceEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.24 - thirdPartyInfoTable OBJECT-TYPE - SYNTAX SEQUENCE OF ThirdPartyInfoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.24.1 - thirdPartyInfoEntry OBJECT-TYPE - SYNTAX ThirdPartyInfoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { tpiIndex } - ::= { thirdPartyInfoTable 1 } - - - ThirdPartyInfoEntry ::= - SEQUENCE { - tpiIndex - INTEGER, - tpiTitle - OCTET STRING, - tpiServiceID - OCTET STRING, - tpiServicePassword - OCTET STRING, - tpiRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.24.1.1 - tpiIndex OBJECT-TYPE - SYNTAX INTEGER (0..7) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Third party system index number ranges from 0 to 7." - ::= { thirdPartyInfoEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.24.1.2 - tpiTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Third party system name for identification purpose only." - ::= { thirdPartyInfoEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.24.1.3 - tpiServiceID OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service ID - Remark:Service ID in the third party billing request." - ::= { thirdPartyInfoEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.24.1.4 - tpiServicePassword OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Password - Remark:Service Password in the third party billing request." - ::= { thirdPartyInfoEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.24.1.5 - tpiRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { thirdPartyInfoEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25 - basicTariffZoneTable OBJECT-TYPE - SYNTAX SEQUENCE OF BasicTariffZoneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1 - basicTariffZoneEntry OBJECT-TYPE - SYNTAX BasicTariffZoneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { btzIndex } - ::= { basicTariffZoneTable 1 } - - - BasicTariffZoneEntry ::= - SEQUENCE { - btzIndex - INTEGER, - btzTitle - OCTET STRING, - btzMCC - OCTET STRING, - btzMNC - OCTET STRING, - btzLAC - INTEGER, - btzCellID - INTEGER, - btzMOTariffID - INTEGER, - btzMTTariffID - INTEGER, - btzRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1.1 - btzIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Basic tariff zone index number ranges from 0 to 63." - ::= { basicTariffZoneEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1.2 - btzTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Basic tariff zone name for identification purpose only." - ::= { basicTariffZoneEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1.3 - btzMCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MCC - Remark:Mobile Country Code" - ::= { basicTariffZoneEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1.4 - btzMNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (2..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MNC - Remark:Mobile Network Code" - ::= { basicTariffZoneEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1.5 - btzLAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:LAC - Remark:Location Area Code.

- LAC = 65535: All location areas in the network use the same basic tariff." - ::= { basicTariffZoneEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1.6 - btzCellID OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Cell ID - Remark:Global Cell Identity defined in GSM03.03.

- Cell ID = 65535: All cells in the LAC use the same basic tariff." - ::= { basicTariffZoneEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1.7 - btzMOTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MO Tariff ID - Remark:Assign MO Tariff ID to this billing zone." - ::= { basicTariffZoneEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1.8 - btzMTTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MT Tariff Zone - Remark:Assign MT Tariff ID to the billing zone." - ::= { basicTariffZoneEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.25.1.9 - btzRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.31 - radiusGGSNTable OBJECT-TYPE - SYNTAX SEQUENCE OF RadiusGGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.31.1 - radiusGGSNEntry OBJECT-TYPE - SYNTAX RadiusGGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { rgIndex } - ::= { radiusGGSNTable 1 } - - - RadiusGGSNEntry ::= - SEQUENCE { - rgIndex - INTEGER, - rgTitle - OCTET STRING, - rgNasIP - IpAddress, - rgNASKey - OCTET STRING, - rgNASPassword - OCTET STRING, - rgRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.31.1.1 - rgIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:GGSN index number ranges from 0 to 63." - ::= { radiusGGSNEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.31.1.2 - rgTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:GGSN name for identification purpose only." - ::= { radiusGGSNEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.31.1.6 - rgNasIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NAS IP - Remark:Specify IP address to identify the Network Access Server, which can be gateway GPRS support node or MMS Charging Agent (MCA)." - ::= { radiusGGSNEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.31.1.7 - rgNASKey OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NAS Key - Remark:Specify the cryptographic key used between PPS and the Network Access Server." - ::= { radiusGGSNEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.31.1.8 - rgNASPassword OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NAS Password - Remark:Specify the password used between PPS and the Network Access Server." - ::= { radiusGGSNEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.31.1.9 - rgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { radiusGGSNEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.32 - radiusSGSNTable OBJECT-TYPE - SYNTAX SEQUENCE OF RadiusSGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.32.1 - radiusSGSNEntry OBJECT-TYPE - SYNTAX RadiusSGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { rsIndex } - ::= { radiusSGSNTable 1 } - - - RadiusSGSNEntry ::= - SEQUENCE { - rsIndex - INTEGER, - rsTitle - OCTET STRING, - rsSgsnIP - IpAddress, - rsCOSID - INTEGER, - rsAPNName - OCTET STRING, - rsTariffID - INTEGER, - rsRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.32.1.1 - rsIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:SGSN index number ranges from 0 to 63." - ::= { radiusSGSNEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.32.1.2 - rsTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:SGSN name for identification purpose only." - ::= { radiusSGSNEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.32.1.3 - rsSgsnIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN IP - Remark:Specify IP address to identify the service GPRS support node." - ::= { radiusSGSNEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.32.1.4 - rsCOSID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:COS ID - Remark:Specify a tariff ID to this SGSN." - ::= { radiusSGSNEntry 4 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.32.1.5 - rsAPNName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:APN Name - Remark:APN of the SCSCF" - ::= { radiusSGSNEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.32.1.6 - rsTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Tariff ID - Remark:Specify a tariff ID to this APN." - ::= { radiusSGSNEntry 6 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.32.1.7 - rsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { radiusSGSNEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33 - bundlePlanTable OBJECT-TYPE - SYNTAX SEQUENCE OF BundlePlanEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 33 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1 - bundlePlanEntry OBJECT-TYPE - SYNTAX BundlePlanEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { bpIndex } - ::= { bundlePlanTable 1 } - - BundlePlanEntry ::= - SEQUENCE { - bpIndex - INTEGER, - bpTitle - OCTET STRING, - bpCharge - INTEGER, - bpData - INTEGER, - bpMOVoice - INTEGER, - bpMTVoice - INTEGER, - bpSMS - INTEGER, - bpValidity - INTEGER, - bpApplyFlag - INTEGER, - bpApplyCode - INTEGER, - bpRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.1 - bpIndex OBJECT-TYPE - SYNTAX INTEGER (1..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:BundlePlan index number ranges from 1 to 15." - ::= { bundlePlanEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.2 - bpTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:BunlePlan name for identification purpose only." - ::= { bundlePlanEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.3 - bpCharge OBJECT-TYPE - SYNTAX INTEGER (0..100000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Charge - Remark:How much to charge for this plan." - ::= { bundlePlanEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.4 - bpData OBJECT-TYPE - SYNTAX INTEGER (0..102400) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Data Volume - Remark: Data Volume for this plan." - ::= { bundlePlanEntry 4 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.5 - bpMOVoice OBJECT-TYPE - SYNTAX INTEGER (0..10000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MO Voice Mins - Remark:Mo Voice minutes of this plan" - ::= { bundlePlanEntry 5 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.6 - bpMTVoice OBJECT-TYPE - SYNTAX INTEGER (0..10000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MT Voice Mins - Remark:MT Voice minutes of this plan" - ::= { bundlePlanEntry 6 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.7 - bpSMS OBJECT-TYPE - SYNTAX INTEGER (0..5000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SMS - Remark:MO SMS of this plan" - ::= { bundlePlanEntry 7 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.8 - bpValidity OBJECT-TYPE - SYNTAX INTEGER (0..300) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Validity - Remark:Validity of this plan" - ::= { bundlePlanEntry 8 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.9 - bpApplyFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - mifiPlan(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Apply Flag - Remark:The plan is applied or not" - ::= { bundlePlanEntry 9 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.10 - bpApplyCode OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Apply Code - Remark:The code to apply Bundle Plan, 0 means # is used" - ::= { bundlePlanEntry 10 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.1.33.1.11 - bpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { bundlePlanEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2 - cOS OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50 - cOSTable OBJECT-TYPE - SYNTAX SEQUENCE OF COSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 50 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1 - cOSEntry OBJECT-TYPE - SYNTAX COSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { cosIndex } - ::= { cOSTable 1 } - - - COSEntry ::= - SEQUENCE { - cosIndex - INTEGER, - cosTitle - OCTET STRING, - cosTariffEntries - INTEGER, - cosServiceControlEntries - INTEGER, - cosAccountValidityEntries - INTEGER, - cosSMSNotificationInquiryEntries - INTEGER, - cosRechargeCardValidityEntries - INTEGER, - cosRechargePromotionEntries - INTEGER, - cosCAPPlanEntries - INTEGER, - cosPoolAccountEntries - INTEGER, - cosGprsControlEntries - INTEGER, - cosRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.1 - cosIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:COS index number ranges from 0 to 63." - ::= { cOSEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.2 - cosTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:COS name for identification purpose only." - ::= { cOSEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.3 - cosTariffEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.4 - cosServiceControlEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.5 - cosAccountValidityEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.6 - cosSMSNotificationInquiryEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.7 - cosRechargeCardValidityEntries OBJECT-TYPE - SYNTAX INTEGER (4) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.8 - cosRechargePromotionEntries OBJECT-TYPE - SYNTAX INTEGER (4) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.9 - cosCAPPlanEntries OBJECT-TYPE - SYNTAX INTEGER (2) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.10 - cosPoolAccountEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.11 - cosGprsControlEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.50.1.12 - cosRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51 - tariffTable OBJECT-TYPE - SYNTAX SEQUENCE OF TariffEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 51 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1 - tariffEntry OBJECT-TYPE - SYNTAX TariffEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { tariffIndex, tariffCOSIndex } - ::= { tariffTable 1 } - - - TariffEntry ::= - SEQUENCE { - tariffCOSIndex - INTEGER, - tariffIndex - INTEGER, - tariffTitle - OCTET STRING, - tariffMOTariffID - INTEGER, - tariffMTTariffID - INTEGER, - tariffChargeBy - INTEGER, - tariffRechargePromotionStartDate - OCTET STRING, - tariffRechargePromotionEndDate - OCTET STRING, - tariffCAPPlanResetDay - INTEGER, - tariffPromotionIddMoCall - INTEGER, - tariffPromotionNddMoCall - INTEGER, - tariffPromotionLocalMoCall - INTEGER, - tariffPromotionIddMoSMS - INTEGER, - tariffPromotionNddMoSMS - INTEGER, - tariffPromotionLocalMoSMS - INTEGER, - tariffPromotionGprs - INTEGER, - tariffPromotionTransfer - INTEGER, - tariffPromotionTransferPriority - INTEGER, - tariffPromotionDebit - INTEGER, - tariffRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.1 - tariffCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.2 - tariffIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tariffEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.3 - tariffTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tariffEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.4 - tariffMOTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MO Tariff ID - Remark:Select an MO tariff for this COS." - ::= { tariffEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.5 - tariffMTTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MT Tariff ID - Remark:Select an MT tariff for this COS." - ::= { tariffEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.6 - tariffChargeBy OBJECT-TYPE - SYNTAX INTEGER - { - tariffSetInSubscriberProfile(0), - parameterBasicTariffZone(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Charge By - Remark:PPS basic tariff may be applied on either area (parameter Basic tariff zone) or subscriber (Tariff ID in subscriber profile) basis. This parameter defines which one is preference when debiting a subscriber." - ::= { tariffEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.7 - tariffRechargePromotionStartDate OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Start Date - Remark:The promotion period is the period of time in which the recharge promotion is valid. Operator defines the promotion period by specifying the start date. Each COS may have its own promotion period. Subscriber recharges his account within the promotion period of his COS will receive a promotion bonus." - ::= { tariffEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.8 - tariffRechargePromotionEndDate OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:End Date - Remark:The promotion period is the period of time in which the recharge promotion is valid. Operator defines the promotion period by specifying the end date. Each COS may have its own promotion period. Subscriber recharges his account within the promotion period of his COS will receive a promotion bonus." - ::= { tariffEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.9 - tariffCAPPlanResetDay OBJECT-TYPE - SYNTAX INTEGER (1..28) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Reset Date - Remark:All PPS subscribers' capped call and GPRS accumulation data will be cleared on the monthly date." - ::= { tariffEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.10 - tariffPromotionIddMoCall OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IDD MO Call - Remark:Specify whether the promotion bonus can be used to pay for international MO call." - ::= { tariffEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.11 - tariffPromotionNddMoCall OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NDD MO Call - Remark:Specify whether the promotion bonus can be used to pay for national MO call." - ::= { tariffEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.12 - tariffPromotionLocalMoCall OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local MO Call - Remark:Specify whether the promotion bonus can be used to pay for local MO call." - ::= { tariffEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.13 - tariffPromotionIddMoSMS OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IDD MO SMS - Remark:Specify whether the promotion bonus can be used to pay for international MO short message." - ::= { tariffEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.14 - tariffPromotionNddMoSMS OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NDD MO SMS - Remark:Specify whether the promotion bonus can be used to pay for national MO short message." - ::= { tariffEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.15 - tariffPromotionLocalMoSMS OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local MO SMS - Remark:Specify whether the promotion bonus can be used to pay for local MO short message." - ::= { tariffEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.16 - tariffPromotionGprs OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:GPRS - Remark:Specify whether the promotion bonus can be used to pay for GPRS applications." - ::= { tariffEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.17 - tariffPromotionTransfer OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Transfer - Remark:Specify whether the promotion bonus can be transferred to other accounts." - ::= { tariffEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.18 - tariffPromotionTransferPriority OBJECT-TYPE - SYNTAX INTEGER - { - inferiorToBalance(0), - superiorToBalance(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Transfer Priority - Remark:If the promotion bonus can be transferred to other accounts, specify which has priority between bonus and balance." - ::= { tariffEntry 18 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.19 - tariffPromotionDebit OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Debit - Remark:Specify whether the promotion bonus can be used for Debit procedures." - ::= { tariffEntry 19 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.51.1.20 - tariffRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52 - serviceControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF ServiceControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 52 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1 - serviceControlEntry OBJECT-TYPE - SYNTAX ServiceControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { scIndex, scCOSIndex } - ::= { serviceControlTable 1 } - - - ServiceControlEntry ::= - SEQUENCE { - scCOSIndex - INTEGER, - scIndex - INTEGER, - scTitle - OCTET STRING, - scMOThresholdSet - INTEGER, - scMOMinimumBalance - INTEGER, - scMTChargeFlag - INTEGER, - scMTBalanceControl - INTEGER, - scMTBalanceThreshold - INTEGER, - scCloseUserGroupService - INTEGER, - scRechargeViaCreditCard - INTEGER, - scCreditVault - INTEGER, - scCreditVaultAmount - INTEGER, - scPoolAccountFlag - INTEGER, - scPoolAccountChangeChargeFlag - INTEGER, - scPoolAccountFreeChangeTimes - INTEGER, - scFreeSmsRelatedCOS - INTEGER, - scFreeSmsActiveDays - INTEGER, - scFreeSmsRentType - INTEGER, - scfCallMeBackThreshold - INTEGER, - scCallMeBackMaxTimes - INTEGER, - scMTSMSCharge - INTEGER, - scBundleDataWarnThreshold - INTEGER, - scBundleDataWarnThresholdLow - INTEGER, - scEventChargingFlag - INTEGER, - scCapBundleControl - INTEGER, - scBundlePlanControl - INTEGER, - scRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.1 - scCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.2 - scIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceControlEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.3 - scTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceControlEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.4 - scMOThresholdSet OBJECT-TYPE - SYNTAX INTEGER - { - notSet(0), - set(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Threshold Flag - Remark:Enable or disable minimum balance validation for the MO call." - ::= { serviceControlEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.5 - scMOMinimumBalance OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Minimum Balance - Remark:Specify a minimum balance for MO call. The subscriber whose balance is below this threshold cannot make MO call. Unit is the smallest currency unit." - ::= { serviceControlEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.6 - scMTChargeFlag OBJECT-TYPE - SYNTAX INTEGER - { - notCharge(0), - charge(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Charged Flag - Remark:Enable or disable MT call charge for prepaid subscriber." - ::= { serviceControlEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.7 - scMTBalanceControl OBJECT-TYPE - SYNTAX INTEGER - { - noLimitation(0), - thresholdUsed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Balance Control - Remark:Enable or disable MT call when balance reaches the following threshold." - ::= { serviceControlEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.8 - scMTBalanceThreshold OBJECT-TYPE - SYNTAX INTEGER (-1000000..1000000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Balance Threshold - Remark:Set threshold for balance control, can be positive or negative. Unit is the smallest currency unit." - ::= { serviceControlEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.9 - scCloseUserGroupService OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CUG Service Flag - Remark:Enable or disable Closed User Group service of this COS." - ::= { serviceControlEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.10 - scRechargeViaCreditCard OBJECT-TYPE - SYNTAX INTEGER - { - support(0), - unsupport(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Recharge via Credit Card - Remark:Enable or disable recharge balance by credit card." - ::= { serviceControlEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.11 - scCreditVault OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Credit Vault - Remark:Enable or disable overdraft and define its quota when a COS subscriber makes call with insufficient balance. The system will deduct the overdraft by debiting his account balance at the next recharge." - ::= { serviceControlEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.12 - scCreditVaultAmount OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Credit Vault Amount - Remark:The amount of the credit vault. Unit is the minimum currency unit." - ::= { serviceControlEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.13 - scPoolAccountFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Pool Account Flag - Remark:Enable or disable the parent and children number service." - ::= { serviceControlEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.14 - scPoolAccountChangeChargeFlag OBJECT-TYPE - SYNTAX INTEGER - { - notCharge(0), - charge(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Charge for Change - Remark:Enable or disable charge for changing child number." - ::= { serviceControlEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.15 - scPoolAccountFreeChangeTimes OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free Changes - Remark:Define the free change times of child number if charge is enabled." - ::= { serviceControlEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.16 - scFreeSmsRelatedCOS OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Switch COS - Remark:Specify the index number of the relevant COS which configured particular rent and SMS tariff. The new COS will take effect when the Free SMS service is activated by customer." - ::= { serviceControlEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.17 - scFreeSmsActiveDays OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Active Days - Remark:Specify the period of validity for the activated free SMS service. At the expiration of this service, the COS will be automatically switched back to the customer original COS. Unit is day.

- Set 255 to prolong validity period indefinitely till the customer deactivates it manually." - ::= { serviceControlEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.18 - scFreeSmsRentType OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Rent Type - Remark:Specify the Rent ID (1-8) in the relevant MO tariff rent table.

- 0 = Rent Free" - ::= { serviceControlEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.19 - scfCallMeBackThreshold OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Call Me Back Threshold - Remark:Subscriber is only allowed to apply call me back service when his remaining balance is less than this value. Unit is minimum currency unit.

- 0 = No limitation" - ::= { serviceControlEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.20 - scCallMeBackMaxTimes OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.21 - scMTSMSCharge OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MT SMS Charge - Remark:Specify charging amount for per prepaid MT SMS. Unit is the smallest currency unit." - ::= { serviceControlEntry 21 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.22 - scBundleDataWarnThreshold OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Bundle Data Warning Threshold - Remark:Specify the threshold below which a warning SMS will be sent." - ::= { serviceControlEntry 22 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.23 - scBundleDataWarnThresholdLow OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Bundle Data Warning Threshold Low - Remark:Specify the threshold below which a warning SMS will be sent." - ::= { serviceControlEntry 23 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.24 - scEventChargingFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Event Charing Flag - Remark:Enable or disable event charge procedure." - ::= { serviceControlEntry 24 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.25 - scCapBundleControl OBJECT-TYPE - SYNTAX INTEGER - { - CAP(0), - Bundle(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CAP Bundle Control - Remark:To enable CAP or Bundle function in this COS." - ::= { serviceControlEntry 25 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.26 - scBundlePlanControl OBJECT-TYPE - SYNTAX INTEGER - { - BundlePlan(0), - DataPlan(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Bundle Plan Control - Remark:To enable Bundle or Data Plan function in this COS." - ::= { serviceControlEntry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.52.1.30 - scRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53 - accountValidityTable OBJECT-TYPE - SYNTAX SEQUENCE OF AccountValidityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 53 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1 - accountValidityEntry OBJECT-TYPE - SYNTAX AccountValidityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { avIndex, avCOSIndex } - ::= { accountValidityTable 1 } - - - AccountValidityEntry ::= - SEQUENCE { - avCOSIndex - INTEGER, - avIndex - INTEGER, - avTitle - OCTET STRING, - avMaxAccountValidityDays - INTEGER, - avActionWhenAccountExpires - INTEGER, - avDaysKeepingAnExpiredAccount - INTEGER, - avActionAfterDaysKeepingAnExpiredAccount - INTEGER, - avActionAfterRecharge - INTEGER, - avActionAfterBalanceDepleted - INTEGER, - avValidDaysChangeTo - INTEGER, - avActivationByInquiryIs - INTEGER, - avValidDaysActivatedByInquiringAccountWithZeroBalance - INTEGER, - avExpiredWhen - INTEGER, - avBundlePlanId - INTEGER, - avRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.1 - avCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.2 - avIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { accountValidityEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.3 - avTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { accountValidityEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.4 - avMaxAccountValidityDays OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Max Account Validity - Remark:Specify the maximum account validity for prepaid subscriber. Unit is day. The account validity can't be extended by recharging once it reaches this threshold." - ::= { accountValidityEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.5 - avActionWhenAccountExpires OBJECT-TYPE - SYNTAX INTEGER - { - notClearBalance(0), - clearBalance(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:When account expires - Remark:Enable this option to clear balance off an expired account. The balance can't be reused after cleared." - ::= { accountValidityEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.6 - avDaysKeepingAnExpiredAccount OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Keep expired account for - Remark:Number of days to reserve an expired prepaid account in the system. The expired account will be released if the subscriber doesn't recharge it in this period. After released, the MSISDN of the released account can be reused by other subscribers." - ::= { accountValidityEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.7 - avActionAfterDaysKeepingAnExpiredAccount OBJECT-TYPE - SYNTAX INTEGER - { - notClearBalance(0), - clearBalance(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:After that - Remark:Enable this option to clear balance off a released account. The balance can't be reused after cleared." - ::= { accountValidityEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.8 - avActionAfterRecharge OBJECT-TYPE - SYNTAX INTEGER - { - accumulateValidity(0), - replaceValidity(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:After recharge, account validity - Remark:Select the period of account validity increment mode after a successful recharge.

- Accumulate = the period of validity will be accumulated to the recharged account.

- Replace = If the validity of the recharged money is more than the current account validity, the account validity will be replaced by the validity of recharged money. If the validity of the recharged money is less than the current account validity, the account validity will not be changed after a successful recharge." - ::= { accountValidityEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.9 - avActionAfterBalanceDepleted OBJECT-TYPE - SYNTAX INTEGER - { - notChangeAccountValidity(0), - changeAccountValidity(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:When balance is depleted, account validity - Remark:Enable or disable account validity adjustment when balance reaches zero.

- Change = Change the validity to the preset period.
- Not Change = No change on validity." - ::= { accountValidityEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.10 - avValidDaysChangeTo OBJECT-TYPE - SYNTAX INTEGER (0..128) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Change validity to - Remark:Preset a validity adjustment period for a zero balance account." - ::= { accountValidityEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.11 - avActivationByInquiryIs OBJECT-TYPE - SYNTAX INTEGER - { - disabled(0), - enabled(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Activation by inquiring - Remark:Enable or disable activate a fresh account by dialing the balance inquiring number." - ::= { accountValidityEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.12 - avValidDaysActivatedByInquiringAccountWithZeroBalance OBJECT-TYPE - SYNTAX INTEGER (0..1100) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Initial validity of activated account - Remark:Define an initial validity for an account who is activated from fresh status by dialing the inquiry number." - ::= { accountValidityEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.13 - avExpiredWhen OBJECT-TYPE - SYNTAX INTEGER - { - mo(0), - mt(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Expired When - Remark:Expired when MO or MT expiration day reaches." - ::= { accountValidityEntry 13 } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.14 - avBundlePlanId OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Bundle Plan Actived - Remark:Define the bundle plan when account is activated." - ::= { accountValidityEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.53.1.20 - avRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54 - sMSNotificationInquiryTable OBJECT-TYPE - SYNTAX SEQUENCE OF SMSNotificationInquiryEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 54 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1 - sMSNotificationInquiryEntry OBJECT-TYPE - SYNTAX SMSNotificationInquiryEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { smsIndex, smsCOSIndex } - ::= { sMSNotificationInquiryTable 1 } - - - SMSNotificationInquiryEntry ::= - SEQUENCE { - smsCOSIndex - INTEGER, - smsIndex - INTEGER, - smsTitle - OCTET STRING, - smsNotificationWhenRecharge - INTEGER, - smsNotificationWhenInquiry - INTEGER, - smsNotificationWhenExpired - INTEGER, - smsTheDaysSendingSMSBeforeExpiredDay - INTEGER, - smsNotificationWhenBalanceInsufficient - INTEGER, - smsInsufficientBalanceThreshold - INTEGER, - smsChargeWhenInquiryBySMS - INTEGER, - smsFreeInquiryPerDay - INTEGER, - smsNotificationWhenCleanBalance - INTEGER, - smsNotificationWhenCapPlanChanged - INTEGER, - smsNotificationWhenApplyOverdraft - INTEGER, - smsNotificationWhenRentCharge - INTEGER, - smsNotificationWhenFFRegistration - INTEGER, - smsNotificationWhenFFSuspended - INTEGER, - smsNotificationWhenFFExceedThreshold - INTEGER, - smsNotificationWhenFFRemoved - INTEGER, - smsRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.1 - smsCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotificationInquiryEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.2 - smsIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSNotificationInquiryEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.3 - smsTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSNotificationInquiryEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.4 - smsNotificationWhenRecharge OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Successful Recharge - Remark:Enable or disable feedback short message of recharge result." - ::= { sMSNotificationInquiryEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.5 - smsNotificationWhenInquiry OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Account Inquiry - Remark:Enable or disable feedback short message of balance inquiry." - ::= { sMSNotificationInquiryEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.6 - smsNotificationWhenExpired OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Expiration - Remark:Enable or disable notification short message sending when an account is going to expire." - ::= { sMSNotificationInquiryEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.7 - smsTheDaysSendingSMSBeforeExpiredDay OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:before expiration - Remark:Define the sending days before account expires." - ::= { sMSNotificationInquiryEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.8 - smsNotificationWhenBalanceInsufficient OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Insufficient Balance - Remark:Enable or disable notification short message sending when the account's balance is too low." - ::= { sMSNotificationInquiryEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.9 - smsInsufficientBalanceThreshold OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:When balance reaches - Remark:Define the low balance level to send notification short message. Unit is the minimum currency unit." - ::= { sMSNotificationInquiryEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.10 - smsChargeWhenInquiryBySMS OBJECT-TYPE - SYNTAX INTEGER - { - notCharge(0), - charge(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Charge Flag - Remark:Enable or disable charge for inquiry short message." - ::= { sMSNotificationInquiryEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.11 - smsFreeInquiryPerDay OBJECT-TYPE - SYNTAX INTEGER (0..128) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free Inquiry per Day - Remark:Define the quantity of free inquiry short messages on a daily basis if charge flag is enabled." - ::= { sMSNotificationInquiryEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.12 - smsNotificationWhenCleanBalance OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Clear Balance - Remark:Enable or disable notification short message sending when the balance is cleared from an expired account." - ::= { sMSNotificationInquiryEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.13 - smsNotificationWhenCapPlanChanged OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CAP Plan Upgrade - Remark:Enable or disable notification short message sending when the predefined CAP threshold is about to grade up." - ::= { sMSNotificationInquiryEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.14 - smsNotificationWhenApplyOverdraft OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Overdraw Balance - Remark:Enable or disable notification short message sending when the account takes out an overdraft to pay for the charge." - ::= { sMSNotificationInquiryEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.15 - smsNotificationWhenRentCharge OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Rent Charge - Remark:Enable or disable notification short message when rent charge is applied." - ::= { sMSNotificationInquiryEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.16 - smsNotificationWhenFFRegistration OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Friends and Family Registration - Remark:Enable or disable notification short message when friends and family plan is registered." - ::= { sMSNotificationInquiryEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.17 - smsNotificationWhenFFSuspended OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Friends and Family Suspended - Remark:Enable or disable notification short message when friends and family plan is suspended." - ::= { sMSNotificationInquiryEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.18 - smsNotificationWhenFFExceedThreshold OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Friends and Family Exceed Threshold - Remark:Enable or disable notification short message when friends and family plan exceed the free voice call duration or free sms threshold." - ::= { sMSNotificationInquiryEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.19 - smsNotificationWhenFFRemoved OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Friends and Family Removed - Remark:Enable or disable notification short message when friends and family plan is removed." - ::= { sMSNotificationInquiryEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.54.1.20 - smsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotificationInquiryEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.55 - rechargeCardValidityTable OBJECT-TYPE - SYNTAX SEQUENCE OF RechargeCardValidityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 55 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.55.1 - rechargeCardValidityEntry OBJECT-TYPE - SYNTAX RechargeCardValidityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { rcvIndex, rcvCOSIndex } - ::= { rechargeCardValidityTable 1 } - - - RechargeCardValidityEntry ::= - SEQUENCE { - rcvCOSIndex - INTEGER, - rcvIndex - INTEGER, - rcvTitle - OCTET STRING, - rcvCardCredit - INTEGER, - rcvMOValidity - INTEGER, - rcvMTValidity - INTEGER, - rcvRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.55.1.1 - rcvCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { rechargeCardValidityEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.55.1.2 - rcvIndex OBJECT-TYPE - SYNTAX INTEGER (0..3) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargeCardValidityEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.55.1.3 - rcvTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargeCardValidityEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.55.1.4 - rcvCardCredit OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Face Value - Remark:Recharge card face value. Unit is the basic currency unit." - ::= { rechargeCardValidityEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.55.1.5 - rcvMOValidity OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MO Validity - Remark:Account validity. This validity will be added to the account validity after a successful recharge." - ::= { rechargeCardValidityEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.55.1.6 - rcvMTValidity OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MT Validity - Remark:Legal MT period. Subscriber can make MT call in this period. Normally the legal MT period is longer than the account validity." - ::= { rechargeCardValidityEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.55.1.7 - rcvRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { rechargeCardValidityEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.56 - rechargePromotionTable OBJECT-TYPE - SYNTAX SEQUENCE OF RechargePromotionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 56 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.56.1 - rechargePromotionEntry OBJECT-TYPE - SYNTAX RechargePromotionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { rpIndex, rpCOSIndex } - ::= { rechargePromotionTable 1 } - - - RechargePromotionEntry ::= - SEQUENCE { - rpCOSIndex - INTEGER, - rpIndex - Integer32, - rpTitle - OCTET STRING, - rpRechargeCardCredit - Integer32, - rpPromotionBonus - Integer32, - rpPromotionValidity - Integer32, - rpRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.56.1.1 - rpCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { rechargePromotionEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.56.1.2 - rpIndex OBJECT-TYPE - SYNTAX Integer32 (0..3) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargePromotionEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.56.1.3 - rpTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargePromotionEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.56.1.4 - rpRechargeCardCredit OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Face Value - Remark:The face value of the chosen recharge card. Unit is the basic currency unit." - ::= { rechargePromotionEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.56.1.5 - rpPromotionBonus OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Promotion Bonus - Remark:The amount of the bonus binding with the specific recharge card." - ::= { rechargePromotionEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.56.1.6 - rpPromotionValidity OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Bonus Validity - Remark:Specify the period of time that the bonus is valid. Bonus over the validity period will be obsolete and deleted from account." - ::= { rechargePromotionEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.56.1.7 - rpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { rechargePromotionEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57 - cAPPlanTable OBJECT-TYPE - SYNTAX SEQUENCE OF CAPPlanEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 57 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1 - cAPPlanEntry OBJECT-TYPE - SYNTAX CAPPlanEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { cpIndex, cpCOSIndex } - ::= { cAPPlanTable 1 } - - - CAPPlanEntry ::= - SEQUENCE { - cpCOSIndex - INTEGER, - cpIndex - INTEGER, - cpTitle - OCTET STRING, - cpFlag - INTEGER, - cpType - INTEGER, - cpThreshold0 - INTEGER, - cpThreshold1 - INTEGER, - cpThreshold2 - INTEGER, - cpTariffID0 - INTEGER, - cpTariffID1 - INTEGER, - cpTariffID2 - INTEGER, - cpTariffID3 - INTEGER, - cpRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.1 - cpCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { cAPPlanEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.2 - cpIndex OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.3 - cpTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.4 - cpFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - capCallOnly(1), - capSMOnly(2), - capSMAndCall(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Flag - Remark:Disable or select the cap call function mode for the specified CAP Plan." - ::= { cAPPlanEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.5 - cpType OBJECT-TYPE - SYNTAX INTEGER - { - capByAmount(0), - capByCharge(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Type - Remark:There are two types of CAP Call measurements adopted in the market:

- By Amount = Accumulated call duration or accumulated number of SM.

- By Charge = Accumulated call charge or accumulated SM charge." - ::= { cAPPlanEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.6 - cpThreshold0 OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Threshold 1 - Remark:Define the trigger to activate the tariff for the next CAP segment. Definition in the basic count unit of time or balance." - ::= { cAPPlanEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.7 - cpThreshold1 OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Threshold 2 - Remark:Define the trigger to activate the tariff for the next CAP segment. Definition in the basic count unit of time or balance." - ::= { cAPPlanEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.8 - cpThreshold2 OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Threshold 3 - Remark:Define the trigger to activate the tariff for the next CAP segment. Definition in the basic count unit of time or balance." - ::= { cAPPlanEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.9 - cpTariffID0 OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Tariff 0 - Remark:Specify the tariff ID to the relevant CAP segment." - ::= { cAPPlanEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.10 - cpTariffID1 OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Tariff 1 - Remark:Specify the tariff ID to the relevant CAP segment." - ::= { cAPPlanEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.11 - cpTariffID2 OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Tariff 2 - Remark:Specify the tariff ID to the relevant CAP segment." - ::= { cAPPlanEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.12 - cpTariffID3 OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Tariff 3 - Remark:Specify the tariff ID to the relevant CAP segment." - ::= { cAPPlanEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.57.1.13 - cpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { cAPPlanEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58 - poolAccountTable OBJECT-TYPE - SYNTAX SEQUENCE OF PoolAccountEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 58 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1 - poolAccountEntry OBJECT-TYPE - SYNTAX PoolAccountEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { paIndex, paCOSIndex } - ::= { poolAccountTable 1 } - - - PoolAccountEntry ::= - SEQUENCE { - paCOSIndex - INTEGER, - paIndex - INTEGER, - paTitle - OCTET STRING, - paRole - INTEGER, - paParentChosenCosA - INTEGER, - paParentChosenCosB - INTEGER, - paChildAllowSelfRecharge - INTEGER, - paChildAllowSelfTransfer - INTEGER, - paChildCreditFrom - INTEGER, - paChildMaxCallsPerDay - INTEGER, - paChildMaxSMSPerDay - INTEGER, - paChildMaxConsumedFee - INTEGER, - paRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.1 - paCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { poolAccountEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.2 - paIndex OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.3 - paTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.4 - paRole OBJECT-TYPE - SYNTAX INTEGER - { - normal(0), - parent(1), - child(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Role - Remark:Specify the pool account status and role of this COS.

- Normal = The pool account parameters are inactive in this COS.
- Parent = The parameters for parent are active.
- Child = The parameters for child are active." - ::= { poolAccountEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.5 - paParentChosenCosA OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Parent Chosen COS A - Remark:Specify two COS for child accounts with different authority levels when the upper Role is set to Parent. Choose one of the COSs when add child number." - ::= { poolAccountEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.6 - paParentChosenCosB OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Parent Chosen COS B - Remark:Specify two COS for child accounts with different authority levels when the upper Role is set to Parent. Choose one of the COSs when add child number." - ::= { poolAccountEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.7 - paChildAllowSelfRecharge OBJECT-TYPE - SYNTAX INTEGER - { - no(0), - yes(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Child Recharge Flag - Remark:Enable or disable the child account charge balance by recharge card." - ::= { poolAccountEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.8 - paChildAllowSelfTransfer OBJECT-TYPE - SYNTAX INTEGER - { - no(0), - yes(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Child Transfer Flag - Remark:Enable or disable the child account transfer balance privately." - ::= { poolAccountEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.9 - paChildCreditFrom OBJECT-TYPE - SYNTAX INTEGER - { - autoPeriodicRechargeFromParent(0), - parentTransfer(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Child Credit From - Remark:Specify the mode that the parent account replenishes child accounts.

- Auto Replenish = Parent account automatically replenishes the child accounts to the Child Max Consumed Credit on a daily basis.

- Manually Transfer = When the credit in the child account reaches the Child Max Consumed Credit, a short message will be sent to notify his parent to transfer credit manually." - ::= { poolAccountEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.10 - paChildMaxCallsPerDay OBJECT-TYPE - SYNTAX INTEGER (0..1000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Child Max Calls per Day - Remark:Specify the limit of calls that the child account can make on a daily basis." - ::= { poolAccountEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.11 - paChildMaxSMSPerDay OBJECT-TYPE - SYNTAX INTEGER (0..1000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Child Max SMS per Day - Remark:Specify the limit of short messages that the child account can send on a daily basis." - ::= { poolAccountEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.12 - paChildMaxConsumedFee OBJECT-TYPE - SYNTAX INTEGER (0..100000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Child Max Consumption - Remark:This parameter is affiliated with the Child Credit From parameter. Unit is the minimum currency unit.

- For Auto Replenish, it is the ceiling credit.

- For Manually Transfer, it is the lower credit limit to trigger notification short message." - ::= { poolAccountEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.58.1.13 - paRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { poolAccountEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59 - gprsControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF GprsControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 59 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1 - gprsControlEntry OBJECT-TYPE - SYNTAX GprsControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { gcIndex, gcCOSIndex } - ::= { gprsControlTable 1 } - - - GprsControlEntry ::= - SEQUENCE { - gcCOSIndex - INTEGER, - gcIndex - INTEGER, - gcTitle - OCTET STRING, - gcGprsChargeStatus - INTEGER, - gcMiniBalanceForGprs - INTEGER, - gcInactiveSessionLimit - INTEGER, - gcGprsNotificationWhenTerminate - INTEGER, - gcMaxSmsForGprsNotificationPerDay - INTEGER, - gcMaxVolumeQuotaEachTime - INTEGER, - gcVolumeThresholdDiff - INTEGER, - gcMaxDurationQuotaEachTime - INTEGER, - gcDurationThresholdDiff - INTEGER, - gcChargeBy - INTEGER, - gcGprsCapPlanType - INTEGER, - gcGprsCapPlanThreshold0 - INTEGER, - gcGprsCapPlanThreshold1 - INTEGER, - gcGprsCapPlanThreshold2 - INTEGER, - gcGprsCapPlanTariffID0 - INTEGER, - gcGprsCapPlanTariffID1 - INTEGER, - gcGprsCapPlanTariffID2 - INTEGER, - gcGprsCapPlanTariffID3 - INTEGER, - gcRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.1 - gcCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.2 - gcIndex OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.3 - gcTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.4 - gcGprsChargeStatus OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Charge Flag - Remark:Enable or disable charge for GPRS service." - ::= { gprsControlEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.5 - gcMiniBalanceForGprs OBJECT-TYPE - SYNTAX INTEGER (0..100000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Minimum Balance - Remark:Specify a minimum balance for GPRS service. The subscriber whose balance is below this threshold can't apply GPRS service. Unit is the minimum currency unit.

- 0 means no balance limitation." - ::= { gprsControlEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.6 - gcInactiveSessionLimit OBJECT-TYPE - SYNTAX INTEGER (0..36000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Inactive Session Limit - Remark:Specify a timer to avoid seizing GPRS link in inactivity state for a long time. When the timer reaches 0, the system will disconnect the GPRS session.

- 0 means no limitation." - ::= { gprsControlEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.7 - gcGprsNotificationWhenTerminate OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Notification SMS Flag - Remark:Enable or disable send notification SMS after a GPRS session to inform user the data amount and charge." - ::= { gprsControlEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.8 - gcMaxSmsForGprsNotificationPerDay OBJECT-TYPE - SYNTAX INTEGER (0..1000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Max Notification SMS per Day - Remark:Set the maximum number of GPRS notification SMS allowed per day.

- Range = 0 - 1000" - ::= { gprsControlEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.9 - gcMaxVolumeQuotaEachTime OBJECT-TYPE - SYNTAX INTEGER (1..1024000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Max Volume Quota Each Time - Remark:Specify data quota allocation for GPRS session per each GGSN request.

- Range = 1 - 1024000 KB" - ::= { gprsControlEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.10 - gcVolumeThresholdDiff OBJECT-TYPE - SYNTAX INTEGER (1..102400) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Volume Threshold Diff - Remark:This parameter is associated with the upper Volume Quota parameter. When the remaining data amount reaches to this value, the GGSN will initiate a new request to ask for another data quota allocation.

- Range = 1 - 102400 KB" - ::= { gprsControlEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.11 - gcMaxDurationQuotaEachTime OBJECT-TYPE - SYNTAX INTEGER (60..6000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.12 - gcDurationThresholdDiff OBJECT-TYPE - SYNTAX INTEGER (30..90) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.13 - gcChargeBy OBJECT-TYPE - SYNTAX INTEGER - { - cosDefined(0), - sgsnLocation(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Charge By - Remark:Specify the way to charge GPRS service.

- By COS = Charge by the tariff set in this COS.
- By SGSN Location = Charge by the tariff set in the RADIUS SGSN table." - ::= { gprsControlEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.14 - gcGprsCapPlanType OBJECT-TYPE - SYNTAX INTEGER - { - volume(0), - chargedFee(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Type - Remark:There are two types of CAP GPRS measurements adopted in the market:

- By volume = Accumulated data amount (KB)
- By charge = Accumulated service charge." - ::= { gprsControlEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.15 - gcGprsCapPlanThreshold0 OBJECT-TYPE - SYNTAX INTEGER (0..1073741824) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Threshold 1 - Remark:Define the CAP trigger point to activate the new tariff of the next CAP segment.

The CAP counting unit is in data amount (KB) if the tariff charging unit is volume and the CAP counting unit is minimum currency unit if the charge type is charge." - ::= { gprsControlEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.16 - gcGprsCapPlanThreshold1 OBJECT-TYPE - SYNTAX INTEGER (0..1073741824) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Threshold 2 - Remark:Define the CAP trigger point to activate the new tariff of the next CAP segment." - ::= { gprsControlEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.17 - gcGprsCapPlanThreshold2 OBJECT-TYPE - SYNTAX INTEGER (0..1073741824) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Threshold 3 - Remark:Define the CAP trigger point to activate the new tariff of the next CAP segment." - ::= { gprsControlEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.18 - gcGprsCapPlanTariffID0 OBJECT-TYPE - SYNTAX INTEGER (0..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Tariff 0 - Remark:Specify the tariff ID to the CAP segment." - ::= { gprsControlEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.19 - gcGprsCapPlanTariffID1 OBJECT-TYPE - SYNTAX INTEGER (0..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Tariff 1 - Remark:Specify the tariff ID to the CAP segment." - ::= { gprsControlEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.20 - gcGprsCapPlanTariffID2 OBJECT-TYPE - SYNTAX INTEGER (0..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Tariff 2 - Remark:Specify the tariff ID to the CAP segment." - ::= { gprsControlEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.21 - gcGprsCapPlanTariffID3 OBJECT-TYPE - SYNTAX INTEGER (0..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Tariff 3 - Remark:Specify the tariff ID to the CAP segment." - ::= { gprsControlEntry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.59.1.22 - gcRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60 - friendAndFamilyControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF FriendAndFamilyControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 60 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1 - friendAndFamilyControlEntry OBJECT-TYPE - SYNTAX FriendAndFamilyControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { ffCOSIndex, ffIndex } - ::= { friendAndFamilyControlTable 1 } - - - FriendAndFamilyControlEntry ::= - SEQUENCE { - ffCOSIndex - INTEGER, - ffIndex - INTEGER, - ffTitle - OCTET STRING, - ffFlag - INTEGER, - ffChangeChargeFlag - INTEGER, - ffFreeChangeTimes - INTEGER, - ffNumberTypeLocal - INTEGER, - ffNumberTypeNDD - INTEGER, - ffNumberTypeIDD - INTEGER, - ffBalanceThresholdForFriendFamilyCall - INTEGER, - ffKeepOrRemoveFriendFamilyNumber - INTEGER, - ffBalanceThresholdToKeepFriendFamilyNumber - INTEGER, - ff0RentCharge - INTEGER, - ff0MaxNumbers - INTEGER, - ff0FreeCallDuration - INTEGER, - ff0FreeSMS - INTEGER, - ff0RentID - INTEGER, - ff1RentCharge - INTEGER, - ff1MaxNumbers - INTEGER, - ff1FreeCallDuration - INTEGER, - ff1FreeSMS - INTEGER, - ff1RentID - INTEGER, - ff2RentCharge - INTEGER, - ff2MaxNumbers - INTEGER, - ff2FreeCallDuration - INTEGER, - ff2FreeSMS - INTEGER, - ff2RentID - INTEGER, - ff3RentCharge - INTEGER, - ff3MaxNumbers - INTEGER, - ff3FreeCallDuration - INTEGER, - ff3FreeSMS - INTEGER, - ff3RentID - INTEGER, - ff4RentCharge - INTEGER, - ff4MaxNumbers - INTEGER, - ff4FreeCallDuration - INTEGER, - ff4FreeSMS - INTEGER, - ff4RentID - INTEGER, - ff5RentCharge - INTEGER, - ff5MaxNumbers - INTEGER, - ff5FreeCallDuration - INTEGER, - ff5FreeSMS - INTEGER, - ff5RentID - INTEGER, - fAndFRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.1 - ffCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { friendAndFamilyControlEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.2 - ffIndex OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { friendAndFamilyControlEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.3 - ffTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { friendAndFamilyControlEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.4 - ffFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Flag - Remark:Enable or disable friends and family service." - ::= { friendAndFamilyControlEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.5 - ffChangeChargeFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Charge for Change - Remark:Enable or disable charge for changing friends and family number." - ::= { friendAndFamilyControlEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.6 - ffFreeChangeTimes OBJECT-TYPE - SYNTAX INTEGER (0..36000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free Changes - Remark:Define the free change times of changing friends and family numbers." - ::= { friendAndFamilyControlEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.7 - ffNumberTypeLocal OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Local Number - Remark:Enable or disable friends and family number to be local number." - ::= { friendAndFamilyControlEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.8 - ffNumberTypeNDD OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NDD Number - Remark:Enable or disable the friends and family number to be NDD number." - ::= { friendAndFamilyControlEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.9 - ffNumberTypeIDD OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IDD Number - Remark:Enable or disable the friends and family number to be IDD number." - ::= { friendAndFamilyControlEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.10 - ffBalanceThresholdForFriendFamilyCall OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Balance Threshold to Call FF Number - Remark:Balance threshold to allow calls to friends and family number." - ::= { friendAndFamilyControlEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.11 - ffKeepOrRemoveFriendFamilyNumber OBJECT-TYPE - SYNTAX INTEGER - { - remove(0), - keep(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Keep or Remove FF Number - Remark:Keep or remove friends and family number to next month." - ::= { friendAndFamilyControlEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.12 - ffBalanceThresholdToKeepFriendFamilyNumber OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Balance Threshold to Keep FF Number - Remark:Balance threshold to carry its friends and family number to next month." - ::= { friendAndFamilyControlEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.13 - ff0RentCharge OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Type Name:Registration Fee - Remark:Registration fee for the first month of friends and family plan activation." - ::= { friendAndFamilyControlEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.14 - ff0MaxNumbers OBJECT-TYPE - SYNTAX INTEGER (0..5) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Numbers - Remark:Maximum friends and family members per subscriber." - ::= { friendAndFamilyControlEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.15 - ff0FreeCallDuration OBJECT-TYPE - SYNTAX INTEGER (0..20000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free Call Duration - Remark:Free call duration of calling for friends and family members." - ::= { friendAndFamilyControlEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.16 - ff0FreeSMS OBJECT-TYPE - SYNTAX INTEGER (0..60000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free SMS - Remark:Free SMS of calling for friends and family members." - ::= { friendAndFamilyControlEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.17 - ff0RentID OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Rent ID - Remark:The rent ID for friends and family plan registration fee." - ::= { friendAndFamilyControlEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.18 - ff1RentCharge OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Type Name:Registration Fee - Remark:Registration fee for the first month of friends and family plan activation." - ::= { friendAndFamilyControlEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.19 - ff1MaxNumbers OBJECT-TYPE - SYNTAX INTEGER (0..5) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Numbers - Remark:Maximum friends and family members per subscriber." - ::= { friendAndFamilyControlEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.20 - ff1FreeCallDuration OBJECT-TYPE - SYNTAX INTEGER (0..20000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free Call Duration - Remark:Free call duration of calling for friends and family members." - ::= { friendAndFamilyControlEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.21 - ff1FreeSMS OBJECT-TYPE - SYNTAX INTEGER (0..60000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free SMS - Remark:Free SMS of calling for friends and family members." - ::= { friendAndFamilyControlEntry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.22 - ff1RentID OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Rent ID - Remark:The rent ID for friends and family plan registration fee." - ::= { friendAndFamilyControlEntry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.23 - ff2RentCharge OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Type Name:Registration Fee - Remark:Registration fee for the first month of friends and family plan activation." - ::= { friendAndFamilyControlEntry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.24 - ff2MaxNumbers OBJECT-TYPE - SYNTAX INTEGER (0..5) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Numbers - Remark:Maximum friends and family members per subscriber." - ::= { friendAndFamilyControlEntry 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.25 - ff2FreeCallDuration OBJECT-TYPE - SYNTAX INTEGER (0..20000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free Call Duration - Remark:Free call duration of calling for friends and family members." - ::= { friendAndFamilyControlEntry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.26 - ff2FreeSMS OBJECT-TYPE - SYNTAX INTEGER (0..60000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free SMS - Remark:Free SMS of calling for friends and family members." - ::= { friendAndFamilyControlEntry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.27 - ff2RentID OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Rent ID - Remark:The rent ID for friends and family plan registration fee." - ::= { friendAndFamilyControlEntry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.28 - ff3RentCharge OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Type Name:Registration Fee - Remark:Registration fee for the first month of friends and family plan activation." - ::= { friendAndFamilyControlEntry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.29 - ff3MaxNumbers OBJECT-TYPE - SYNTAX INTEGER (0..5) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Numbers - Remark:Maximum friends and family members per subscriber." - ::= { friendAndFamilyControlEntry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.30 - ff3FreeCallDuration OBJECT-TYPE - SYNTAX INTEGER (0..20000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free Call Duration - Remark:Free call duration of calling for friends and family members." - ::= { friendAndFamilyControlEntry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.31 - ff3FreeSMS OBJECT-TYPE - SYNTAX INTEGER (0..60000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free SMS - Remark:Free SMS of calling for friends and family members." - ::= { friendAndFamilyControlEntry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.32 - ff3RentID OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Rent ID - Remark:The rent ID for friends and family plan registration fee." - ::= { friendAndFamilyControlEntry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.33 - ff4RentCharge OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Type Name:Registration Fee - Remark:Registration fee for the first month of friends and family plan activation." - ::= { friendAndFamilyControlEntry 33 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.34 - ff4MaxNumbers OBJECT-TYPE - SYNTAX INTEGER (0..5) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Numbers - Remark:Maximum friends and family members per subscriber." - ::= { friendAndFamilyControlEntry 34 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.35 - ff4FreeCallDuration OBJECT-TYPE - SYNTAX INTEGER (0..20000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free Call Duration - Remark:Free call duration of calling for friends and family members." - ::= { friendAndFamilyControlEntry 35 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.36 - ff4FreeSMS OBJECT-TYPE - SYNTAX INTEGER (0..60000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free SMS - Remark:Free SMS of calling for friends and family members." - ::= { friendAndFamilyControlEntry 36 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.37 - ff4RentID OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Rent ID - Remark:The rent ID for friends and family plan registration fee." - ::= { friendAndFamilyControlEntry 37 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.38 - ff5RentCharge OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Type Name:Registration Fee - Remark:Registration fee for the first month of friends and family plan activation." - ::= { friendAndFamilyControlEntry 38 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.39 - ff5MaxNumbers OBJECT-TYPE - SYNTAX INTEGER (0..5) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Numbers - Remark:Maximum friends and family members per subscriber." - ::= { friendAndFamilyControlEntry 39 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.40 - ff5FreeCallDuration OBJECT-TYPE - SYNTAX INTEGER (0..20000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free Call Duration - Remark:Free call duration of calling for friends and family members." - ::= { friendAndFamilyControlEntry 40 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.41 - ff5FreeSMS OBJECT-TYPE - SYNTAX INTEGER (0..60000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Free SMS - Remark:Free SMS of calling for friends and family members." - ::= { friendAndFamilyControlEntry 41 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.42 - ff5RentID OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Rent ID - Remark:The rent ID for friends and family plan registration fee." - ::= { friendAndFamilyControlEntry 42 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.2.60.1.43 - fAndFRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { friendAndFamilyControlEntry 43 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3 - srfParameters OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.26 - iVRSourceTable OBJECT-TYPE - SYNTAX SEQUENCE OF IVRSourceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.26.1 - iVRSourceEntry OBJECT-TYPE - SYNTAX IVRSourceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { ivrIndex } - ::= { iVRSourceTable 1 } - - - IVRSourceEntry ::= - SEQUENCE { - ivrIndex - INTEGER, - ivrTitle - OCTET STRING, - ivrInquiry - INTEGER, - ivrRecharge - INTEGER, - ivrRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.26.1.1 - ivrIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { iVRSourceEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.26.1.2 - ivrTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { iVRSourceEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.26.1.3 - ivrInquiry OBJECT-TYPE - SYNTAX INTEGER - { - localSRF(0), - externalIVR(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Inquiry - Remark:Specify the Interactive Voice Response source for inquiry prompt." - ::= { iVRSourceEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.26.1.4 - ivrRecharge OBJECT-TYPE - SYNTAX INTEGER - { - localSRF(0), - externalIVR(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Recharge - Remark:Specify the Interactive Voice Response source for recharge prompt." - ::= { iVRSourceEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.26.1.5 - ivrRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { iVRSourceEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.27 - sRFNumberTable OBJECT-TYPE - SYNTAX SEQUENCE OF SRFNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.27.1 - sRFNumberEntry OBJECT-TYPE - SYNTAX SRFNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { srfIndex } - ::= { sRFNumberTable 1 } - - - SRFNumberEntry ::= - SEQUENCE { - srfIndex - INTEGER, - srfTitle - OCTET STRING, - srfNumber - OCTET STRING, - srfRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.27.1.1 - srfIndex OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sRFNumberEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.27.1.2 - srfTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sRFNumberEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.27.1.3 - srfNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:E.164 Number - Remark:The E.164 node address of the specific SRF." - ::= { sRFNumberEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.27.1.4 - srfRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sRFNumberEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.28 - serviceNumberTable OBJECT-TYPE - SYNTAX SEQUENCE OF ServiceNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.28.1 - serviceNumberEntry OBJECT-TYPE - SYNTAX ServiceNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { snIndex } - ::= { serviceNumberTable 1 } - - - ServiceNumberEntry ::= - SEQUENCE { - snIndex - INTEGER, - snTitle - OCTET STRING, - snServiceNumber - OCTET STRING, - snRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.28.1.1 - snIndex OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceNumberEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.28.1.2 - snTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceNumberEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.28.1.3 - snServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Number - Remark:Define dedicated shortcut number for specific operation." - ::= { serviceNumberEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.28.1.4 - snRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceNumberEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.29 - serviceKeyTable OBJECT-TYPE - SYNTAX SEQUENCE OF ServiceKeyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.29.1 - serviceKeyEntry OBJECT-TYPE - SYNTAX ServiceKeyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { skIndex } - ::= { serviceKeyTable 1 } - - - ServiceKeyEntry ::= - SEQUENCE { - skIndex - INTEGER, - skTitle - OCTET STRING, - skServiceKey - INTEGER, - skRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.29.1.1 - skIndex OBJECT-TYPE - SYNTAX INTEGER (0..6) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceKeyEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.29.1.2 - skTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceKeyEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.29.1.3 - skServiceKey OBJECT-TYPE - SYNTAX INTEGER (0..12) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Key - Remark:Define dedicated hot key for specific operation." - ::= { serviceKeyEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.29.1.4 - skRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceKeyEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.61 - ussdServiceNumberTable OBJECT-TYPE - SYNTAX SEQUENCE OF UssdServiceNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 61 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.61.1 - ussdServiceNumberEntry OBJECT-TYPE - SYNTAX UssdServiceNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:USSD Service Number" - INDEX { ussdsnIndex } - ::= { ussdServiceNumberTable 1 } - - - UssdServiceNumberEntry ::= - SEQUENCE { - ussdsnIndex - INTEGER, - ussdsnTitle - OCTET STRING, - ussdsnServiceNumber - OCTET STRING, - ussdsnRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.61.1.1 - ussdsnIndex OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { ussdServiceNumberEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.61.1.2 - ussdsnTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { ussdServiceNumberEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.61.1.3 - ussdsnServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Number - Remark:Define dedicated shortcut number for specific operation." - ::= { ussdServiceNumberEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.61.1.4 - ussdsnRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ussdServiceNumberEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.62 - ussdServiceKeyTable OBJECT-TYPE - SYNTAX SEQUENCE OF UssdServiceKeyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 62 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.62.1 - ussdServiceKeyEntry OBJECT-TYPE - SYNTAX UssdServiceKeyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:USSD Service Key" - INDEX { ussdskIndex } - ::= { ussdServiceKeyTable 1 } - - - UssdServiceKeyEntry ::= - SEQUENCE { - ussdskIndex - INTEGER, - ussdskTitle - OCTET STRING, - ussdskServiceKey - INTEGER, - ussdskRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.62.1.1 - ussdskIndex OBJECT-TYPE - SYNTAX INTEGER (0..7) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { ussdServiceKeyEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.62.1.2 - ussdskTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { ussdServiceKeyEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.62.1.3 - ussdskServiceKey OBJECT-TYPE - SYNTAX INTEGER (0..12) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Key - Remark:Define dedicated hot key for specific operation." - ::= { ussdServiceKeyEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.3.62.1.4 - ussdskRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { ussdServiceKeyEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4 - callRouteToVMS OBJECT IDENTIFIER ::= { parameter 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.1 - pLMNServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Service Number - Remark:Subscriber dials this service number by handset to enter and maintain his mailbox or leave message to other subscribers." - ::= { callRouteToVMS 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.2 - pSTNServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Service Number (PSTN) - Remark:Subscriber dials this service number from PSTN to enter and maintain his mailbox or leave message to other subscribers following the system prompt." - ::= { callRouteToVMS 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.3 - vMSLeaveMessageNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Leave Message Number - Remark:Dedicated service number for leaving message. User uses either handset or PSTN telephone to call this number to leave message to system subscribers." - ::= { callRouteToVMS 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.4 - routeMethodOption OBJECT-TYPE - SYNTAX INTEGER - { - byPrefix(0), - byWholeNumber(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Route Method - Remark:Define the routing type for the above VMS service number." - ::= { callRouteToVMS 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.5 - routeNumberOption OBJECT-TYPE - SYNTAX INTEGER - { - callerNumber(0), - calledNumber(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Route Number - Remark:Define which number to route for the following VMS User Segments." - ::= { callRouteToVMS 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.6 - isPostpaidAllowed OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Postpaid Flag - Remark:Enable or disable voice mail service for postpaid subscribers." - ::= { callRouteToVMS 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.7 - ringBackServiceKey OBJECT-TYPE - SYNTAX INTEGER (0..12) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Ringback Service Key - Remark:Define a dedicated hot key to ring back the caller." - ::= { callRouteToVMS 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30 - vMSUserSegmentsTable OBJECT-TYPE - SYNTAX SEQUENCE OF VMSUserSegmentsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { callRouteToVMS 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30.1 - vMSUserSegmentsEntry OBJECT-TYPE - SYNTAX VMSUserSegmentsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { vusIndex } - ::= { vMSUserSegmentsTable 1 } - - - VMSUserSegmentsEntry ::= - SEQUENCE { - vusIndex - INTEGER, - vusTitle - OCTET STRING, - vusStartMSISDN - OCTET STRING, - vusEndMSISDN - OCTET STRING, - vusPLMNServiceNumber - OCTET STRING, - vusPSTNServiceNumber - OCTET STRING, - vusLeaveMessageDepositNumber - OCTET STRING, - vusRowStatus - Integer32 - } - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30.1.1 - vusIndex OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { vMSUserSegmentsEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30.1.2 - vusTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { vMSUserSegmentsEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30.1.3 - vusStartMSISDN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MSISDN Start - Remark:The beginning of the MSISDN range." - ::= { vMSUserSegmentsEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30.1.4 - vusEndMSISDN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MSISDN End - Remark:The end of the MSISDN range." - ::= { vMSUserSegmentsEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30.1.5 - vusPLMNServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Service Number - Remark:Specify internal service numbers to route the caller to host VMS." - ::= { vMSUserSegmentsEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30.1.6 - vusPSTNServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Service Number (PSTN) - Remark:Specify internal service numbers to route the caller to host VMS." - ::= { vMSUserSegmentsEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30.1.7 - vusLeaveMessageDepositNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Leave Message Number - Remark:Specify internal service numbers to route the caller to host VMS." - ::= { vMSUserSegmentsEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.4.30.1.8 - vusRowStatus OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { vMSUserSegmentsEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.5 - fileOperation OBJECT IDENTIFIER ::= { parameter 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.5.1 - importSubs OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Progress Report[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Requesting - [v]2[opt]Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total Subscribers[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Imported Subscribers[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { fileOperation 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.5.2 - importRechangeCard OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Progress Report[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Requesting - [v]2[opt]Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total Cards[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Imported Cards[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { fileOperation 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.5.3 - newTariffFlag OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes" - ::= { fileOperation 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.5.4 - newTariffStarTime OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (14)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes" - ::= { fileOperation 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.2.5.5 - saveCommand OBJECT-TYPE - SYNTAX INTEGER - { - saveUserData(1), - saveTariff(2), - saveRechargeCard(3), - saveAll(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { fileOperation 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.3 - csta OBJECT IDENTIFIER ::= { pps 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.4 - cdr OBJECT IDENTIFIER ::= { pps 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.4.1 - cdrHeadOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.4.2 - cdrTailOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.6.4.3 - cdrDataOid OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 3 } - - - - END - --- --- LGC-SS-PPS-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-RCM-MIB.my b/omc/bin/mib/LGC-SS-RCM-MIB.my deleted file mode 100644 index 8aef33e..0000000 --- a/omc/bin/mib/LGC-SS-RCM-MIB.my +++ /dev/null @@ -1,3779 +0,0 @@ --- --- LGC-SS-RCM-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, July 02, 2010 at 17:28:59 --- - - LGC-SS-RCM-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, RowStatus, DisplayString - FROM LGC-MIB - IpAddress, Opaque, Integer32, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.26 - rcm MODULE-IDENTITY - LAST-UPDATED "200811241438Z" -- November 24, 2008 at 14:38 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - ::= { application 26 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { rcm 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.26.2 - parameter OBJECT IDENTIFIER ::= { rcm 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1 - serviceControl OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.1 - license OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.2 - cDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.3 - blackListThreshold OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.4 - maxBalance OBJECT-TYPE - SYNTAX INTEGER (0..1000000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.5 - currencySymbol OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.6 - cOSOption OBJECT-TYPE - SYNTAX INTEGER - { - group64(0), - group4(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.7 - mNPChargeFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.8 - oprAccountValidity OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:OPR initial validity days." - ::= { serviceControl 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.9 - language0SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.10 - language1SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.11 - language2SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.12 - language3SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.13 - language4SMEncodeType OBJECT-TYPE - SYNTAX INTEGER - { - bits7(0), - bits8(1), - unicode(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.20 - promptResolutionTable OBJECT-TYPE - SYNTAX SEQUENCE OF PromptResolutionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.20.1 - promptResolutionEntry OBJECT-TYPE - SYNTAX PromptResolutionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { prIndex } - ::= { promptResolutionTable 1 } - - - PromptResolutionEntry ::= - SEQUENCE { - prIndex - INTEGER, - prTitle - OCTET STRING, - prCurrencyResolution - INTEGER, - prDateFormat - INTEGER, - prCurrencySymbolPosition - INTEGER, - prRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.20.1.1 - prIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { promptResolutionEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.20.1.2 - prTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { promptResolutionEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.20.1.3 - prCurrencyResolution OBJECT-TYPE - SYNTAX INTEGER - { - n1(0), - n10(1), - n100(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { promptResolutionEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.20.1.4 - prDateFormat OBJECT-TYPE - SYNTAX INTEGER - { - yyyymmdd(0), - ddmmyyyy(1), - mmddyyyy(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { promptResolutionEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.20.1.5 - prCurrencySymbolPosition OBJECT-TYPE - SYNTAX INTEGER - { - front(0), - rear(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { promptResolutionEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.20.1.6 - prRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { promptResolutionEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.21 - mNPPrefixesTable OBJECT-TYPE - SYNTAX SEQUENCE OF MNPPrefixesEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.21.1 - mNPPrefixesEntry OBJECT-TYPE - SYNTAX MNPPrefixesEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { mnpIndex } - ::= { mNPPrefixesTable 1 } - - - MNPPrefixesEntry ::= - SEQUENCE { - mnpIndex - INTEGER, - mnpTitle - OCTET STRING, - mnpPrefix - OCTET STRING, - mnpRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.21.1.1 - mnpIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mNPPrefixesEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.21.1.2 - mnpTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mNPPrefixesEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.21.1.3 - mnpPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mNPPrefixesEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.21.1.4 - mnpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mNPPrefixesEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22 - sMSSentenceTable OBJECT-TYPE - SYNTAX SEQUENCE OF SMSSentenceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1 - sMSSentenceEntry OBJECT-TYPE - SYNTAX SMSSentenceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { ssIndex } - ::= { sMSSentenceTable 1 } - - - SMSSentenceEntry ::= - SEQUENCE { - ssIndex - INTEGER, - ssTitle - OCTET STRING, - ssEnglish - OCTET STRING, - ssLanguage0Content - OCTET STRING, - ssLanguage1Content - OCTET STRING, - ssLanguage2Content - OCTET STRING, - ssLanguage3Content - OCTET STRING, - ssLanguage4Content - OCTET STRING, - ssRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1.1 - ssIndex OBJECT-TYPE - SYNTAX INTEGER (0..4) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSSentenceEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1.2 - ssTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSSentenceEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1.3 - ssEnglish OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSSentenceEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1.4 - ssLanguage0Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSSentenceEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1.5 - ssLanguage1Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMSSentenceEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1.6 - ssLanguage2Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMSSentenceEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1.7 - ssLanguage3Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMSSentenceEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1.8 - ssLanguage4Content OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..127)) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMSSentenceEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.22.1.9 - ssRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSSentenceEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.24 - thirdPartyInfoTable OBJECT-TYPE - SYNTAX SEQUENCE OF ThirdPartyInfoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.24.1 - thirdPartyInfoEntry OBJECT-TYPE - SYNTAX ThirdPartyInfoEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { tpiIndex } - ::= { thirdPartyInfoTable 1 } - - - ThirdPartyInfoEntry ::= - SEQUENCE { - tpiIndex - INTEGER, - tpiTitle - OCTET STRING, - tpiServiceID - OCTET STRING, - tpiServicePassword - OCTET STRING, - tpiRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.24.1.1 - tpiIndex OBJECT-TYPE - SYNTAX INTEGER (0..7) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { thirdPartyInfoEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.24.1.2 - tpiTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { thirdPartyInfoEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.24.1.3 - tpiServiceID OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { thirdPartyInfoEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.24.1.4 - tpiServicePassword OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { thirdPartyInfoEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.24.1.5 - tpiRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { thirdPartyInfoEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25 - basicTariffZoneTable OBJECT-TYPE - SYNTAX SEQUENCE OF BasicTariffZoneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1 - basicTariffZoneEntry OBJECT-TYPE - SYNTAX BasicTariffZoneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { btzIndex } - ::= { basicTariffZoneTable 1 } - - - BasicTariffZoneEntry ::= - SEQUENCE { - btzIndex - INTEGER, - btzTitle - OCTET STRING, - btzMCC - OCTET STRING, - btzMNC - OCTET STRING, - btzLAC - INTEGER, - btzCellID - INTEGER, - btzMOTariffID - INTEGER, - btzMTTariffID - INTEGER, - btzRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1.1 - btzIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1.2 - btzTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1.3 - btzMCC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1.4 - btzMNC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (2..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1.5 - btzLAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1.6 - btzCellID OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1.7 - btzMOTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1.8 - btzMTTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.25.1.9 - btzRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { basicTariffZoneEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.31 - radiusGGSNTable OBJECT-TYPE - SYNTAX SEQUENCE OF RadiusGGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.31.1 - radiusGGSNEntry OBJECT-TYPE - SYNTAX RadiusGGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { rgIndex } - ::= { radiusGGSNTable 1 } - - - RadiusGGSNEntry ::= - SEQUENCE { - rgIndex - INTEGER, - rgTitle - OCTET STRING, - rgNasIP - IpAddress, - rgNASKey - OCTET STRING, - rgNASPassword - OCTET STRING, - rgRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.31.1.1 - rgIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { radiusGGSNEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.31.1.2 - rgTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Title." - ::= { radiusGGSNEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.31.1.6 - rgNasIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NAS IP - Remark:NAS IP." - ::= { radiusGGSNEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.31.1.7 - rgNASKey OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:NAS Key." - ::= { radiusGGSNEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.31.1.8 - rgNASPassword OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:NAS Password." - ::= { radiusGGSNEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.31.1.9 - rgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { radiusGGSNEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.32 - radiusSGSNTable OBJECT-TYPE - SYNTAX SEQUENCE OF RadiusSGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceControl 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.32.1 - radiusSGSNEntry OBJECT-TYPE - SYNTAX RadiusSGSNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { rsIndex } - ::= { radiusSGSNTable 1 } - - - RadiusSGSNEntry ::= - SEQUENCE { - rsIndex - INTEGER, - rsTitle - OCTET STRING, - rsSgsnIP - IpAddress, - rsTariffID - INTEGER, - rsRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.32.1.1 - rsIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { radiusSGSNEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.32.1.2 - rsTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { radiusSGSNEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.32.1.3 - rsSgsnIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SGSN IP - Remark:SGSN IP." - ::= { radiusSGSNEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.32.1.4 - rsTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Tariff ID." - ::= { radiusSGSNEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.1.32.1.5 - rsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { radiusSGSNEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2 - cOS OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50 - cOSTable OBJECT-TYPE - SYNTAX SEQUENCE OF COSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 50 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1 - cOSEntry OBJECT-TYPE - SYNTAX COSEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { cosIndex } - ::= { cOSTable 1 } - - - COSEntry ::= - SEQUENCE { - cosIndex - INTEGER, - cosTitle - OCTET STRING, - cosTariffEntries - INTEGER, - cosServiceControlEntries - INTEGER, - cosAccountValidityEntries - INTEGER, - cosSMSNotificationInquiryEntries - INTEGER, - cosRechargeCardValidityEntries - INTEGER, - cosRechargePromotionEntries - INTEGER, - cosCAPPlanEntries - INTEGER, - cosPoolAccountEntries - INTEGER, - cosGprsControlEntries - INTEGER, - cosRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.1 - cosIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.2 - cosTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.3 - cosTariffEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.4 - cosServiceControlEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.5 - cosAccountValidityEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.6 - cosSMSNotificationInquiryEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.7 - cosRechargeCardValidityEntries OBJECT-TYPE - SYNTAX INTEGER (4) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.8 - cosRechargePromotionEntries OBJECT-TYPE - SYNTAX INTEGER (4) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.9 - cosCAPPlanEntries OBJECT-TYPE - SYNTAX INTEGER (2) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.10 - cosPoolAccountEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.11 - cosGprsControlEntries OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cOSEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.50.1.12 - cosRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cOSEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51 - tariffTable OBJECT-TYPE - SYNTAX SEQUENCE OF TariffEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 51 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1 - tariffEntry OBJECT-TYPE - SYNTAX TariffEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { tariffIndex, tariffCOSIndex } - ::= { tariffTable 1 } - - - TariffEntry ::= - SEQUENCE { - tariffCOSIndex - INTEGER, - tariffIndex - INTEGER, - tariffTitle - OCTET STRING, - tariffMOTariffID - INTEGER, - tariffMTTariffID - INTEGER, - tariffChargeBy - INTEGER, - tariffRechargePromotionStartDate - OCTET STRING, - tariffRechargePromotionEndDate - OCTET STRING, - tariffCAPPlanResetDay - INTEGER, - tariffPromotionIddMoCall - INTEGER, - tariffPromotionNddMoCall - INTEGER, - tariffPromotionLocalMoCall - INTEGER, - tariffPromotionIddMoSMS - INTEGER, - tariffPromotionNddMoSMS - INTEGER, - tariffPromotionLocalMoSMS - INTEGER, - tariffPromotionGprs - INTEGER, - tariffPromotionTransfer - INTEGER, - tariffPromotionTransferPriority - INTEGER, - tariffRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.1 - tariffCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.2 - tariffIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tariffEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.3 - tariffTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tariffEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.4 - tariffMOTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tariffEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.5 - tariffMTTariffID OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { tariffEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.6 - tariffChargeBy OBJECT-TYPE - SYNTAX INTEGER - { - tariffSetInSubscriberProfile(0), - parameterBasicTariffZone(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.7 - tariffRechargePromotionStartDate OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.8 - tariffRechargePromotionEndDate OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.9 - tariffCAPPlanResetDay OBJECT-TYPE - SYNTAX INTEGER (1..28) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.10 - tariffPromotionIddMoCall OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.11 - tariffPromotionNddMoCall OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.12 - tariffPromotionLocalMoCall OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.13 - tariffPromotionIddMoSMS OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.14 - tariffPromotionNddMoSMS OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.15 - tariffPromotionLocalMoSMS OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.16 - tariffPromotionGprs OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.17 - tariffPromotionTransfer OBJECT-TYPE - SYNTAX INTEGER - { - notAllowed(0), - allowed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.18 - tariffPromotionTransferPriority OBJECT-TYPE - SYNTAX INTEGER - { - inferiorToBalance(0), - superiorToBalance(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.51.1.19 - tariffRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { tariffEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52 - serviceControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF ServiceControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 52 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1 - serviceControlEntry OBJECT-TYPE - SYNTAX ServiceControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { scIndex, scCOSIndex } - ::= { serviceControlTable 1 } - - - ServiceControlEntry ::= - SEQUENCE { - scCOSIndex - INTEGER, - scIndex - INTEGER, - scTitle - OCTET STRING, - scMOThresholdSet - INTEGER, - scMOMinimumBalance - INTEGER, - scMTChargeFlag - INTEGER, - scMTBalanceControl - INTEGER, - scMTBalanceThreshold - INTEGER, - scFriendFamilyFlag - INTEGER, - scFriendFamilyChangeChargeFlag - INTEGER, - scFriendFamilyFreeChangeTimes - INTEGER, - scCloseUserGroupService - INTEGER, - scRechargeViaCreditCard - INTEGER, - scCreditVault - INTEGER, - scCreditVaultAmount - INTEGER, - scPoolAccountFlag - INTEGER, - scPoolAccountChangeChargeFlag - INTEGER, - scPoolAccountFreeChangeTimes - INTEGER, - scFreeSmsRelatedCOS - INTEGER, - scFreeSmsActiveDays - INTEGER, - scFreeSmsRentType - INTEGER, - scfCallMeBackThreshold - INTEGER, - scRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.1 - scCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.2 - scIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceControlEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.3 - scTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceControlEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.4 - scMOThresholdSet OBJECT-TYPE - SYNTAX INTEGER - { - notSet(0), - set(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceControlEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.5 - scMOMinimumBalance OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceControlEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.6 - scMTChargeFlag OBJECT-TYPE - SYNTAX INTEGER - { - notCharge(0), - charge(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceControlEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.7 - scMTBalanceControl OBJECT-TYPE - SYNTAX INTEGER - { - noLimitation(0), - thresholdUsed(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceControlEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.8 - scMTBalanceThreshold OBJECT-TYPE - SYNTAX INTEGER (-1000000..1000000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceControlEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.9 - scFriendFamilyFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.10 - scFriendFamilyChangeChargeFlag OBJECT-TYPE - SYNTAX INTEGER - { - notCharge(0), - charge(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.11 - scFriendFamilyFreeChangeTimes OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.12 - scCloseUserGroupService OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.13 - scRechargeViaCreditCard OBJECT-TYPE - SYNTAX INTEGER - { - support(0), - unsupport(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.14 - scCreditVault OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.15 - scCreditVaultAmount OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.16 - scPoolAccountFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.17 - scPoolAccountChangeChargeFlag OBJECT-TYPE - SYNTAX INTEGER - { - notCharge(0), - charge(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.18 - scPoolAccountFreeChangeTimes OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.19 - scFreeSmsRelatedCOS OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.20 - scFreeSmsActiveDays OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.21 - scFreeSmsRentType OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.22 - scfCallMeBackThreshold OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.52.1.23 - scRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceControlEntry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53 - accountValidityTable OBJECT-TYPE - SYNTAX SEQUENCE OF AccountValidityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 53 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1 - accountValidityEntry OBJECT-TYPE - SYNTAX AccountValidityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { avIndex, avCOSIndex } - ::= { accountValidityTable 1 } - - - AccountValidityEntry ::= - SEQUENCE { - avCOSIndex - INTEGER, - avIndex - INTEGER, - avTitle - OCTET STRING, - avMaxAccountValidityDays - INTEGER, - avActionWhenAccountExpires - INTEGER, - avDaysKeepingAnExpiredAccount - INTEGER, - avActionAfterDaysKeepingAnExpiredAccount - INTEGER, - avActionAfterRecharge - INTEGER, - avActionAfterBalanceDepleted - INTEGER, - avValidDaysChangeTo - INTEGER, - avActivationByInquiryIs - INTEGER, - avValidDaysActivatedByInquiringAccountWithZeroBalance - INTEGER, - avRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.1 - avCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.2 - avIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { accountValidityEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.3 - avTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { accountValidityEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.4 - avMaxAccountValidityDays OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { accountValidityEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.5 - avActionWhenAccountExpires OBJECT-TYPE - SYNTAX INTEGER - { - notClearBalance(0), - clearBalance(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { accountValidityEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.6 - avDaysKeepingAnExpiredAccount OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.7 - avActionAfterDaysKeepingAnExpiredAccount OBJECT-TYPE - SYNTAX INTEGER - { - notClearBalance(0), - clearBalance(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.8 - avActionAfterRecharge OBJECT-TYPE - SYNTAX INTEGER - { - accumulateValidity(0), - replaceValidity(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.9 - avActionAfterBalanceDepleted OBJECT-TYPE - SYNTAX INTEGER - { - notChangeAccountValidity(0), - changeAccountValidity(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.10 - avValidDaysChangeTo OBJECT-TYPE - SYNTAX INTEGER (0..128) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.11 - avActivationByInquiryIs OBJECT-TYPE - SYNTAX INTEGER - { - disabled(0), - eabled(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.12 - avValidDaysActivatedByInquiringAccountWithZeroBalance OBJECT-TYPE - SYNTAX INTEGER (0..128) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.53.1.13 - avRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { accountValidityEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54 - sMSNotificationInquiryTable OBJECT-TYPE - SYNTAX SEQUENCE OF SMSNotificationInquiryEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 54 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1 - sMSNotificationInquiryEntry OBJECT-TYPE - SYNTAX SMSNotificationInquiryEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { smsIndex, smsCOSIndex } - ::= { sMSNotificationInquiryTable 1 } - - - SMSNotificationInquiryEntry ::= - SEQUENCE { - smsCOSIndex - INTEGER, - smsIndex - INTEGER, - smsTitle - OCTET STRING, - smsNotificationWhenRecharge - INTEGER, - smsNotificationWhenInquiry - INTEGER, - smsNotificationWhenExpired - INTEGER, - smsTheDaysSendingSMSBeforeExpiredDay - INTEGER, - smsNotificationWhenBalanceInsufficient - INTEGER, - smsInsufficientBalanceThreshold - INTEGER, - smsChargeWhenInquiryBySMS - INTEGER, - smsFreeInquiryPerDay - INTEGER, - smsNotificationWhenCleanBalance - INTEGER, - smsNotificationWhenCapPlanChanged - INTEGER, - smsNotificationWhenApplyOverdraft - INTEGER, - smsRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.1 - smsCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotificationInquiryEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.2 - smsIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSNotificationInquiryEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.3 - smsTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSNotificationInquiryEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.4 - smsNotificationWhenRecharge OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSNotificationInquiryEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.5 - smsNotificationWhenInquiry OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSNotificationInquiryEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.6 - smsNotificationWhenExpired OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMSNotificationInquiryEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.7 - smsTheDaysSendingSMSBeforeExpiredDay OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotificationInquiryEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.8 - smsNotificationWhenBalanceInsufficient OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotificationInquiryEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.9 - smsInsufficientBalanceThreshold OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotificationInquiryEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.10 - smsChargeWhenInquiryBySMS OBJECT-TYPE - SYNTAX INTEGER - { - notCharge(0), - charge(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotificationInquiryEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.11 - smsFreeInquiryPerDay OBJECT-TYPE - SYNTAX INTEGER (0..128) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotificationInquiryEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.12 - smsNotificationWhenCleanBalance OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Wether or not to send a notification SMS when clear expired account balance." - ::= { sMSNotificationInquiryEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.13 - smsNotificationWhenCapPlanChanged OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Whether or not to send a notification SMS when CAP Plan is to be changed." - ::= { sMSNotificationInquiryEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.14 - smsNotificationWhenApplyOverdraft OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Notification When Apply Overdraft." - ::= { sMSNotificationInquiryEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.54.1.15 - smsRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotificationInquiryEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.55 - rechargeCardValidityTable OBJECT-TYPE - SYNTAX SEQUENCE OF RechargeCardValidityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 55 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.55.1 - rechargeCardValidityEntry OBJECT-TYPE - SYNTAX RechargeCardValidityEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { rcvIndex, rcvCOSIndex } - ::= { rechargeCardValidityTable 1 } - - - RechargeCardValidityEntry ::= - SEQUENCE { - rcvCOSIndex - INTEGER, - rcvIndex - INTEGER, - rcvTitle - OCTET STRING, - rcvCardCredit - INTEGER, - rcvMOValidity - INTEGER, - rcvMTValidity - INTEGER, - rcvRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.55.1.1 - rcvCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { rechargeCardValidityEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.55.1.2 - rcvIndex OBJECT-TYPE - SYNTAX INTEGER (0..3) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargeCardValidityEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.55.1.3 - rcvTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargeCardValidityEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.55.1.4 - rcvCardCredit OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargeCardValidityEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.55.1.5 - rcvMOValidity OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargeCardValidityEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.55.1.6 - rcvMTValidity OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargeCardValidityEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.55.1.7 - rcvRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { rechargeCardValidityEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.56 - rechargePromotionTable OBJECT-TYPE - SYNTAX SEQUENCE OF RechargePromotionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 56 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.56.1 - rechargePromotionEntry OBJECT-TYPE - SYNTAX RechargePromotionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { rpIndex, rpCOSIndex } - ::= { rechargePromotionTable 1 } - - - RechargePromotionEntry ::= - SEQUENCE { - rpCOSIndex - INTEGER, - rpIndex - Integer32, - rpTitle - OCTET STRING, - rpRechargeCardCredit - Integer32, - rpPromotionBonus - Integer32, - rpPromotionValidity - Integer32, - rpRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.56.1.1 - rpCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { rechargePromotionEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.56.1.2 - rpIndex OBJECT-TYPE - SYNTAX Integer32 (0..3) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargePromotionEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.56.1.3 - rpTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargePromotionEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.56.1.4 - rpRechargeCardCredit OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargePromotionEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.56.1.5 - rpPromotionBonus OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargePromotionEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.56.1.6 - rpPromotionValidity OBJECT-TYPE - SYNTAX Integer32 (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { rechargePromotionEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.56.1.7 - rpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { rechargePromotionEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57 - cAPPlanTable OBJECT-TYPE - SYNTAX SEQUENCE OF CAPPlanEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 57 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1 - cAPPlanEntry OBJECT-TYPE - SYNTAX CAPPlanEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { cpIndex, cpCOSIndex } - ::= { cAPPlanTable 1 } - - - CAPPlanEntry ::= - SEQUENCE { - cpCOSIndex - INTEGER, - cpIndex - INTEGER, - cpTitle - OCTET STRING, - cpFlag - INTEGER, - cpType - INTEGER, - cpThreshold0 - INTEGER, - cpThreshold1 - INTEGER, - cpThreshold2 - INTEGER, - cpTariffID0 - INTEGER, - cpTariffID1 - INTEGER, - cpTariffID2 - INTEGER, - cpTariffID3 - INTEGER, - cpRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.1 - cpCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { cAPPlanEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.2 - cpIndex OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.3 - cpTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.4 - cpFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - capCallOnly(1), - capSMOnly(2), - capSMAndCall(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.5 - cpType OBJECT-TYPE - SYNTAX INTEGER - { - capByAmount(0), - capByCharge(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.6 - cpThreshold0 OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.7 - cpThreshold1 OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.8 - cpThreshold2 OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.9 - cpTariffID0 OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.10 - cpTariffID1 OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.11 - cpTariffID2 OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.12 - cpTariffID3 OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cAPPlanEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.57.1.13 - cpRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { cAPPlanEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58 - poolAccountTable OBJECT-TYPE - SYNTAX SEQUENCE OF PoolAccountEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 58 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1 - poolAccountEntry OBJECT-TYPE - SYNTAX PoolAccountEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { paIndex, paCOSIndex } - ::= { poolAccountTable 1 } - - - PoolAccountEntry ::= - SEQUENCE { - paCOSIndex - INTEGER, - paIndex - INTEGER, - paTitle - OCTET STRING, - paRole - INTEGER, - paParentChosenCosA - INTEGER, - paParentChosenCosB - INTEGER, - paChildAllowSelfRecharge - INTEGER, - paChildAllowSelfTransfer - INTEGER, - paChildCreditFrom - INTEGER, - paChildMaxCallsPerDay - INTEGER, - paChildMaxSMSPerDay - INTEGER, - paChildMaxConsumedFee - INTEGER, - paRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.1 - paCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { poolAccountEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.2 - paIndex OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.3 - paTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.4 - paRole OBJECT-TYPE - SYNTAX INTEGER - { - normal(0), - parent(1), - child(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.5 - paParentChosenCosA OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.6 - paParentChosenCosB OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { poolAccountEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.7 - paChildAllowSelfRecharge OBJECT-TYPE - SYNTAX INTEGER - { - no(0), - yes(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.8 - paChildAllowSelfTransfer OBJECT-TYPE - SYNTAX INTEGER - { - no(0), - yes(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.9 - paChildCreditFrom OBJECT-TYPE - SYNTAX INTEGER - { - autoPeriodicRechargeFromParent(0), - parentTransfer(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.10 - paChildMaxCallsPerDay OBJECT-TYPE - SYNTAX INTEGER (0..1000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.11 - paChildMaxSMSPerDay OBJECT-TYPE - SYNTAX INTEGER (0..1000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.12 - paChildMaxConsumedFee OBJECT-TYPE - SYNTAX INTEGER (0..100000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { poolAccountEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.58.1.13 - paRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { poolAccountEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59 - gprsControlTable OBJECT-TYPE - SYNTAX SEQUENCE OF GprsControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cOS 59 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1 - gprsControlEntry OBJECT-TYPE - SYNTAX GprsControlEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { gcIndex, gcCOSIndex } - ::= { gprsControlTable 1 } - - - GprsControlEntry ::= - SEQUENCE { - gcCOSIndex - INTEGER, - gcIndex - INTEGER, - gcTitle - OCTET STRING, - gcGprsChargeStatus - INTEGER, - gcMiniBalanceForGprs - INTEGER, - gcInactiveSessionLimit - INTEGER, - gcGprsNotificationWhenTerminate - INTEGER, - gcMaxSmsForGprsNotificationPerDay - INTEGER, - gcMaxVolumeQuotaEachTime - INTEGER, - gcVolumeThresholdDiff - INTEGER, - gcMaxDurationQuotaEachTime - INTEGER, - gcDurationThresholdDiff - INTEGER, - gcChargeBy - INTEGER, - gcGprsCapPlanType - INTEGER, - gcGprsCapPlanThreshold0 - INTEGER, - gcGprsCapPlanThreshold1 - INTEGER, - gcGprsCapPlanThreshold2 - INTEGER, - gcGprsCapPlanTariffID0 - INTEGER, - gcGprsCapPlanTariffID1 - INTEGER, - gcGprsCapPlanTariffID2 - INTEGER, - gcGprsCapPlanTariffID3 - INTEGER, - gcRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.1 - gcCOSIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.2 - gcIndex OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.3 - gcTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.4 - gcGprsChargeStatus OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.5 - gcMiniBalanceForGprs OBJECT-TYPE - SYNTAX INTEGER (0..100000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.6 - gcInactiveSessionLimit OBJECT-TYPE - SYNTAX INTEGER (0..36000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.7 - gcGprsNotificationWhenTerminate OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.8 - gcMaxSmsForGprsNotificationPerDay OBJECT-TYPE - SYNTAX INTEGER (0..1000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.9 - gcMaxVolumeQuotaEachTime OBJECT-TYPE - SYNTAX INTEGER (1..1024000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.10 - gcVolumeThresholdDiff OBJECT-TYPE - SYNTAX INTEGER (1..102400) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.11 - gcMaxDurationQuotaEachTime OBJECT-TYPE - SYNTAX INTEGER (60..6000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.12 - gcDurationThresholdDiff OBJECT-TYPE - SYNTAX INTEGER (30..90) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.13 - gcChargeBy OBJECT-TYPE - SYNTAX INTEGER - { - cosDefined(0), - sgsnLocation(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gprsControlEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.14 - gcGprsCapPlanType OBJECT-TYPE - SYNTAX INTEGER - { - volume(0), - chargedFee(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.15 - gcGprsCapPlanThreshold0 OBJECT-TYPE - SYNTAX INTEGER (0..1073741824) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.16 - gcGprsCapPlanThreshold1 OBJECT-TYPE - SYNTAX INTEGER (0..1073741824) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.17 - gcGprsCapPlanThreshold2 OBJECT-TYPE - SYNTAX INTEGER (0..1073741824) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.18 - gcGprsCapPlanTariffID0 OBJECT-TYPE - SYNTAX INTEGER (0..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.19 - gcGprsCapPlanTariffID1 OBJECT-TYPE - SYNTAX INTEGER (0..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.20 - gcGprsCapPlanTariffID2 OBJECT-TYPE - SYNTAX INTEGER (0..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.21 - gcGprsCapPlanTariffID3 OBJECT-TYPE - SYNTAX INTEGER (0..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.2.59.1.22 - gcRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gprsControlEntry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3 - srfParameters OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.26 - iVRSourceTable OBJECT-TYPE - SYNTAX SEQUENCE OF IVRSourceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.26.1 - iVRSourceEntry OBJECT-TYPE - SYNTAX IVRSourceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { ivrIndex } - ::= { iVRSourceTable 1 } - - - IVRSourceEntry ::= - SEQUENCE { - ivrIndex - INTEGER, - ivrTitle - OCTET STRING, - ivrInquiry - INTEGER, - ivrRecharge - INTEGER, - ivrRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.26.1.1 - ivrIndex OBJECT-TYPE - SYNTAX INTEGER (0) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { iVRSourceEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.26.1.2 - ivrTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { iVRSourceEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.26.1.3 - ivrInquiry OBJECT-TYPE - SYNTAX INTEGER - { - localSRF(0), - externalIVR(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { iVRSourceEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.26.1.4 - ivrRecharge OBJECT-TYPE - SYNTAX INTEGER - { - localSRF(0), - externalIVR(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { iVRSourceEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.26.1.5 - ivrRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { iVRSourceEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.27 - sRFNumberTable OBJECT-TYPE - SYNTAX SEQUENCE OF SRFNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.27.1 - sRFNumberEntry OBJECT-TYPE - SYNTAX SRFNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { srfIndex } - ::= { sRFNumberTable 1 } - - - SRFNumberEntry ::= - SEQUENCE { - srfIndex - INTEGER, - srfTitle - OCTET STRING, - srfNumber - OCTET STRING, - srfRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.27.1.1 - srfIndex OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sRFNumberEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.27.1.2 - srfTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sRFNumberEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.27.1.3 - srfNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sRFNumberEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.27.1.4 - srfRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { sRFNumberEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.28 - serviceNumberTable OBJECT-TYPE - SYNTAX SEQUENCE OF ServiceNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.28.1 - serviceNumberEntry OBJECT-TYPE - SYNTAX ServiceNumberEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { snIndex } - ::= { serviceNumberTable 1 } - - - ServiceNumberEntry ::= - SEQUENCE { - snIndex - INTEGER, - snTitle - OCTET STRING, - snServiceNumber - OCTET STRING, - snRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.28.1.1 - snIndex OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceNumberEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.28.1.2 - snTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceNumberEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.28.1.3 - snServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceNumberEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.28.1.4 - snRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceNumberEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.29 - serviceKeyTable OBJECT-TYPE - SYNTAX SEQUENCE OF ServiceKeyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { srfParameters 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.29.1 - serviceKeyEntry OBJECT-TYPE - SYNTAX ServiceKeyEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { skIndex } - ::= { serviceKeyTable 1 } - - - ServiceKeyEntry ::= - SEQUENCE { - skIndex - INTEGER, - skTitle - OCTET STRING, - skServiceKey - INTEGER, - skRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.29.1.1 - skIndex OBJECT-TYPE - SYNTAX INTEGER (0..6) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceKeyEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.29.1.2 - skTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceKeyEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.29.1.3 - skServiceKey OBJECT-TYPE - SYNTAX INTEGER (0..12) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { serviceKeyEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.3.29.1.4 - skRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { serviceKeyEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4 - callRouteToVMS OBJECT IDENTIFIER ::= { parameter 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.1 - pLMNServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { callRouteToVMS 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.2 - pSTNServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { callRouteToVMS 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.3 - vMSLeaveMessageNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { callRouteToVMS 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.4 - routeMethodOption OBJECT-TYPE - SYNTAX INTEGER - { - byPrefix(0), - byWholeNumber(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { callRouteToVMS 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.5 - routeNumberOption OBJECT-TYPE - SYNTAX INTEGER - { - callerNumber(0), - calledNumber(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { callRouteToVMS 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.6 - isPostpaidAllowed OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { callRouteToVMS 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.7 - ringBackServiceKey OBJECT-TYPE - SYNTAX INTEGER (0..12) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { callRouteToVMS 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30 - vMSUserSegmentsTable OBJECT-TYPE - SYNTAX SEQUENCE OF VMSUserSegmentsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { callRouteToVMS 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30.1 - vMSUserSegmentsEntry OBJECT-TYPE - SYNTAX VMSUserSegmentsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { vusIndex } - ::= { vMSUserSegmentsTable 1 } - - - VMSUserSegmentsEntry ::= - SEQUENCE { - vusIndex - INTEGER, - vusTitle - OCTET STRING, - vusStartMSISDN - OCTET STRING, - vusEndMSISDN - OCTET STRING, - vusPLMNServiceNumber - OCTET STRING, - vusPSTNServiceNumber - OCTET STRING, - vusLeaveMessageDepositNumber - OCTET STRING, - vusRowStatus - Integer32 - } - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30.1.1 - vusIndex OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { vMSUserSegmentsEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30.1.2 - vusTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { vMSUserSegmentsEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30.1.3 - vusStartMSISDN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { vMSUserSegmentsEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30.1.4 - vusEndMSISDN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { vMSUserSegmentsEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30.1.5 - vusPLMNServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { vMSUserSegmentsEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30.1.6 - vusPSTNServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { vMSUserSegmentsEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30.1.7 - vusLeaveMessageDepositNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { vMSUserSegmentsEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.4.30.1.8 - vusRowStatus OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { vMSUserSegmentsEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.5 - fileOperation OBJECT IDENTIFIER ::= { parameter 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.5.1 - importSubs OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Progress Report[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Requesting - [v]2[opt]Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total Subscribers[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Imported Subscribers[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { fileOperation 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.5.2 - importRechangeCard OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Progress Report[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Requesting - [v]2[opt]Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total Cards[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Imported Cards[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { fileOperation 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.5.3 - newTariffFlag OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes" - ::= { fileOperation 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.5.4 - newTariffStarTime OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (14)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes" - ::= { fileOperation 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.2.5.5 - saveCommand OBJECT-TYPE - SYNTAX INTEGER - { - saveUserData(1), - saveTariff(2), - saveRechargeCard(3), - saveAll(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { fileOperation 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.3 - csta OBJECT IDENTIFIER ::= { rcm 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.4 - cdr OBJECT IDENTIFIER ::= { rcm 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.4.1 - cdrHeadOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.4.2 - cdrTailOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.26.4.3 - cdrDataOid OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 3 } - - - - END - --- --- LGC-SS-RCM-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-RCS-MIB.my b/omc/bin/mib/LGC-SS-RCS-MIB.my deleted file mode 100644 index a53f78d..0000000 --- a/omc/bin/mib/LGC-SS-RCS-MIB.my +++ /dev/null @@ -1,1123 +0,0 @@ --- --- LGC-SS-RCS-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, October 28, 2019 at 15:02:46 --- - - LGC-SS-RCS-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus, DisplayString8, DisplayString - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.30 - rcs MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 30 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.30.2 - parameter OBJECT IDENTIFIER ::= { rcs 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1.1 - pLMNId OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:PLMN id." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1.2 - rNCId OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:RNC id." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1.3 - networkIndicator OBJECT-TYPE - SYNTAX INTEGER - { - international(0), - internationalSpare(1), - national(2), - nationalSpare(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Network Indicator." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1.4 - opc OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:OPC." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1.5 - ssn OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:ssn." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1.6 - iuhSCTPPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:SCTP port of Iuh interface." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1.7 - maxUEInactiveTime OBJECT-TYPE - SYNTAX INTEGER (0..2592000) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:max inactive time of UE to deregister." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1.8 - mocn OBJECT-TYPE - SYNTAX INTEGER - { - false(0), - true(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:MO-CN." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.1.9 - defaultMocnCnId OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:default MO-CN core network Id." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.2 - iuCS OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.2.1 - dpcIuCS OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:DPC of IuCS interface." - ::= { iuCS 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.2.2 - ssnIuCS OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:ssn of IuCS interface." - ::= { iuCS 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.2.3 - rtpIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Rtp IP." - ::= { iuCS 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.2.4 - lSSwitch OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:switch of local swtiching function." - ::= { iuCS 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.3 - iuPS OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.3.1 - dpcIuPS OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:DPC of IuPS interface." - ::= { iuPS 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.3.2 - ssnIuPS OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:ssn of IuPS interface." - ::= { iuPS 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.3.3 - gtpIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:gtp IP." - ::= { iuPS 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4 - podList OBJECT IDENTIFIER ::= { parameter 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1 - podListTable OBJECT-TYPE - SYNTAX SEQUENCE OF PodListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Pod List Table" - ::= { podList 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1 - podListEntry OBJECT-TYPE - SYNTAX PodListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:Pod List Table" - INDEX { podIndex } - ::= { podListTable 1 } - - - PodListEntry ::= - SEQUENCE { - podIndex - INTEGER, - podIdentity - OCTET STRING, - podAdminState - INTEGER, - podOpState - INTEGER, - podRFTxStatus - INTEGER, - podPodId - INTEGER, - podLsaId - INTEGER, - podPLMNID - OCTET STRING, - podLacRac - OCTET STRING, - podCellID - INTEGER, - podRncID - INTEGER, - podSAC - INTEGER, - podBroadcastSAC - INTEGER, - podBroadcastLAC - INTEGER, - podSaiLac - INTEGER, - podPCPICHPower - OCTET STRING, - podRFCandidateList - OCTET STRING, - podFapIP - IpAddress, - podNTPServer - IpAddress, - podFAPGatewayServer - IpAddress, - podManagementServer - IpAddress, - podSBCRegisterStatus - INTEGER, - podPeriodicInformInterval - INTEGER, - podPodName - OCTET STRING, - podUpdateToPod - INTEGER, - podRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.1 - podIndex OBJECT-TYPE - SYNTAX INTEGER (1..128) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 256." - ::= { podListEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.2 - podIdentity OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:pod identity." - ::= { podListEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.3 - podAdminState OBJECT-TYPE - SYNTAX INTEGER - { - lock(0), - unlock(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:administrative state." - ::= { podListEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.4 - podOpState OBJECT-TYPE - SYNTAX INTEGER - { - disabled(0), - enabled(1), - timeout(2) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:operational state." - ::= { podListEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.5 - podRFTxStatus OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Current status of this FAP RF transmitter." - ::= { podListEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.6 - podPodId OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:MG ID." - ::= { podListEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.7 - podLsaId OBJECT-TYPE - SYNTAX INTEGER (0..1024) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:ID of local switching area." - ::= { podListEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.8 - podPLMNID OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (5..6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:PLMN ID." - ::= { podListEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.9 - podLacRac OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..24)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:LAC and RAC." - ::= { podListEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.10 - podCellID OBJECT-TYPE - SYNTAX INTEGER (0..268435455) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Cell ID." - ::= { podListEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.11 - podRncID OBJECT-TYPE - SYNTAX INTEGER (0..4095) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:RNC ID." - ::= { podListEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.12 - podSAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:SAC." - ::= { podListEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.13 - podBroadcastSAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:SAC." - ::= { podListEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.14 - podBroadcastLAC OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:SAC." - ::= { podListEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.15 - podSaiLac OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:SAC." - ::= { podListEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.16 - podPCPICHPower OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..24)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:PCPICH Power." - ::= { podListEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.17 - podRFCandidateList OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..48)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:RF Candidate List." - ::= { podListEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.18 - podFapIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:IP Address of FAP." - ::= { podListEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.19 - podNTPServer OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:NTP Server IP Address." - ::= { podListEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.20 - podFAPGatewayServer OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:IP Address of FAP Gateway Server." - ::= { podListEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.21 - podManagementServer OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Management Server." - ::= { podListEntry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.22 - podSBCRegisterStatus OBJECT-TYPE - SYNTAX INTEGER - { - false(0), - true(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Remark:Whether or not the SBC registers to hnbGw." - ::= { podListEntry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.23 - podPeriodicInformInterval OBJECT-TYPE - SYNTAX INTEGER (0..90) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:The duration in seconds of the interval for which the CPE MUST attempt to connect with the ACS and call the Inform method if parameter PeriodicInformEnable is true. Range: 0-90. " - ::= { podListEntry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.24 - podPodName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..64)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Pod Name." - ::= { podListEntry 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.25 - podUpdateToPod OBJECT-TYPE - SYNTAX INTEGER - { - updateToAgw(0), - updateToPod(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION " " - ::= { podListEntry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.4.1.1.26 - podRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { podListEntry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.5 - imsiPrefix OBJECT IDENTIFIER ::= { parameter 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.5.1 - imsiPrefixTable OBJECT-TYPE - SYNTAX SEQUENCE OF ImsiPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:IMSI Prefix Table" - ::= { imsiPrefix 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.5.1.1 - imsiPrefixEntry OBJECT-TYPE - SYNTAX ImsiPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:IMSI Prefix Table" - INDEX { isIndex } - ::= { imsiPrefixTable 1 } - - - ImsiPrefixEntry ::= - SEQUENCE { - isIndex - INTEGER, - isPrefix - OCTET STRING, - isCnId - INTEGER, - isRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.5.1.1.1 - isIndex OBJECT-TYPE - SYNTAX INTEGER (1..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 64." - ::= { imsiPrefixEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.5.1.1.2 - isPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:imsi prefix." - ::= { imsiPrefixEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.5.1.1.8 - isCnId OBJECT-TYPE - SYNTAX INTEGER (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Core network id." - ::= { imsiPrefixEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.5.1.1.20 - isRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { imsiPrefixEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6 - coreNetwork OBJECT IDENTIFIER ::= { parameter 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6.1 - coreNetworkTable OBJECT-TYPE - SYNTAX SEQUENCE OF CoreNetworkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:Core Network Table" - ::= { coreNetwork 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6.1.1 - coreNetworkEntry OBJECT-TYPE - SYNTAX CoreNetworkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:Core Network Table" - INDEX { cnIndex } - ::= { coreNetworkTable 1 } - - - CoreNetworkEntry ::= - SEQUENCE { - cnIndex - INTEGER, - cnNetworkName - OCTET STRING, - cnCSDpc - INTEGER, - cnPSDpc - INTEGER, - cnPlmnId - OCTET STRING, - cnLac - INTEGER, - cnRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6.1.1.1 - cnIndex OBJECT-TYPE - SYNTAX INTEGER (1..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 8." - ::= { coreNetworkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6.1.1.2 - cnNetworkName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:network name." - ::= { coreNetworkEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6.1.1.3 - cnCSDpc OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:CS DPC." - ::= { coreNetworkEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6.1.1.4 - cnPSDpc OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:PS DPC." - ::= { coreNetworkEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6.1.1.5 - cnPlmnId OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (6)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:PLMN ID." - ::= { coreNetworkEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6.1.1.6 - cnLac OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:CN Lac." - ::= { coreNetworkEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.6.1.1.10 - cnRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { coreNetworkEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7 - mocnCellMapping OBJECT IDENTIFIER ::= { parameter 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1 - cellMappingTable OBJECT-TYPE - SYNTAX SEQUENCE OF CellMappingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mocnCellMapping 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1 - cellMappingEntry OBJECT-TYPE - SYNTAX CellMappingEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { cellMappingIndex } - ::= { cellMappingTable 1 } - - - CellMappingEntry ::= - SEQUENCE { - cellMappingIndex - INTEGER, - cellMappingTitle - OCTET STRING, - cellMappingLacCN0 - INTEGER, - cellMappingCellIdCN0 - INTEGER, - cellMappingRacCN0 - INTEGER, - cellMappingLacCN1 - INTEGER, - cellMappingCellIdCN1 - INTEGER, - cellMappingRacCN1 - INTEGER, - cellMappingLacCN2 - INTEGER, - cellMappingCellIdCN2 - INTEGER, - cellMappingRacCN2 - INTEGER, - cellMappingRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.1 - cellMappingIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:POD Index - Remark:Index of POD." - ::= { cellMappingEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.2 - cellMappingTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Identify of POD." - ::= { cellMappingEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.3 - cellMappingLacCN0 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CN 0 Lac" - ::= { cellMappingEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.4 - cellMappingCellIdCN0 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CN 0 Cell Id" - ::= { cellMappingEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.5 - cellMappingRacCN0 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CN 0 Rac" - ::= { cellMappingEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.6 - cellMappingLacCN1 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CN 1 Lac" - ::= { cellMappingEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.7 - cellMappingCellIdCN1 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CN 1 Cell Id" - ::= { cellMappingEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.8 - cellMappingRacCN1 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CN 1 Rac" - ::= { cellMappingEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.9 - cellMappingLacCN2 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CN 2 Lac" - ::= { cellMappingEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.10 - cellMappingCellIdCN2 OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CN 2 Cell Id" - ::= { cellMappingEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.11 - cellMappingRacCN2 OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:CN 2 Rac" - ::= { cellMappingEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.2.7.1.1.30 - cellMappingRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cellMappingEntry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.3 - csta OBJECT IDENTIFIER ::= { rcs 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.3.1 - gwTable OBJECT-TYPE - SYNTAX SEQUENCE OF GwEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.3.1.1 - gwEntry OBJECT-TYPE - SYNTAX GwEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { gwIndex } - ::= { gwTable 1 } - - - GwEntry ::= - SEQUENCE { - gwIndex - INTEGER, - gwData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.30.3.1.1.1 - gwIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gwEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.3.1.1.2 - gwData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gwEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.3.2 - fapsTable OBJECT-TYPE - SYNTAX SEQUENCE OF FapsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { csta 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.3.2.1 - fapsEntry OBJECT-TYPE - SYNTAX FapsEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { fapsIndex } - ::= { fapsTable 1 } - - - FapsEntry ::= - SEQUENCE { - fapsPodId - INTEGER, - fapsIndex - INTEGER, - fapsData - DisplayString - } - - -- 1.3.6.1.4.1.1373.2.3.3.30.3.2.1.1 - fapsPodId OBJECT-TYPE - SYNTAX INTEGER (1..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { fapsEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.3.2.1.2 - fapsIndex OBJECT-TYPE - SYNTAX INTEGER (0..95) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { fapsEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.30.3.2.1.3 - fapsData OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { fapsEntry 3 } - - - - END - --- --- LGC-SS-RCS-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-RLS-MIB.my b/omc/bin/mib/LGC-SS-RLS-MIB.my deleted file mode 100644 index 7774692..0000000 --- a/omc/bin/mib/LGC-SS-RLS-MIB.my +++ /dev/null @@ -1,588 +0,0 @@ --- --- LGC-SS-RLS-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, September 23, 2010 at 11:37:05 --- - - LGC-SS-RLS-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus, AdminStateChoices - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.15 - rls MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 15 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.15.2 - parameter OBJECT IDENTIFIER ::= { rls 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.1.1 - rLSFlag OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:RLS Flag - Remark:Enable or disable RTP Local Switching function." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.1.2 - saveCommand OBJECT-TYPE - SYNTAX INTEGER { saveParameter(1) } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2 - vimMg OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1 - vimMgTable OBJECT-TYPE - SYNTAX SEQUENCE OF VimMgEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:VIM MG" - ::= { vimMg 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1 - vimMgEntry OBJECT-TYPE - SYNTAX VimMgEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:VIM MG" - INDEX { vmIndex } - ::= { vimMgTable 1 } - - - VimMgEntry ::= - SEQUENCE { - vmIndex - INTEGER, - vmTitle - OCTET STRING, - vmAdministrationState - AdminStateChoices, - vmIP - IpAddress, - vmDomainName - OCTET STRING, - vmSwitchingMode - INTEGER, - vmEndPoint - INTEGER, - vmType - INTEGER, - vmMaxPhysicalPorts - INTEGER, - vmMaxChannels - INTEGER, - vmPacketizationPeriod - INTEGER, - vmCodecType - INTEGER, - vmAuditTimer - INTEGER, - vmPhysicalPortEntries - INTEGER, - vmRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.1 - vmIndex OBJECT-TYPE - SYNTAX INTEGER (1..10) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Media gateway index number ranges from 1 to 10." - ::= { vimMgEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.2 - vmTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Media gateway name for identification purpose only." - ::= { vimMgEntry 2 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.3 - vmAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed media gateway by lock and unlock commands." - ::= { vimMgEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.4 - vmIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IP - Remark:IP address of the connected media gateway." - ::= { vimMgEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.5 - vmDomainName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Domain Name - Remark:Domain name of the connected media gateway." - ::= { vimMgEntry 5 } - - --- Switching Mode --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.6 - vmSwitchingMode OBJECT-TYPE - SYNTAX INTEGER - { - mgcp(0), - eightECP(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Switching Mode - Remark:Switching mode of the media gateway. Select MGCP as default." - DEFVAL { mgcp } - ::= { vimMgEntry 6 } - - --- End Point Description --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.7 - vmEndPoint OBJECT-TYPE - SYNTAX INTEGER - { - structured(1), - unStructured(2), - unStructuredHex(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Endpoint - Remark:Method of MGCP endpoint description. Select Unstructured as default." - DEFVAL { structured } - ::= { vimMgEntry 7 } - - --- MG Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.8 - vmType OBJECT-TYPE - SYNTAX INTEGER - { - audioCodes(1), - lgcMG(2), - lgcCS(3), - ipBSS(4), - analogLine(11), - vim(19), - tandem(20), - announcementServer(21), - interactiveVoiceResponse(31), - conferenceBridge(41), - packetRelay(51), - wiretap(61), - atm(71) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Type - Remark:(Read Only) Type of media gateway endpoint." - DEFVAL { digitalChannel } - ::= { vimMgEntry 8 } - - --- Max Physical Ports --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.9 - vmMaxPhysicalPorts OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Ports - Remark:The total physical port number of the media gateway." - ::= { vimMgEntry 9 } - - --- Max Channels --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.10 - vmMaxChannels OBJECT-TYPE - SYNTAX INTEGER (0..1024) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Channels - Remark:The total channel number of the virtual media gateway. Applicable to virtual media gateway only." - ::= { vimMgEntry 10 } - - --- Packetization Period --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.11 - vmPacketizationPeriod OBJECT-TYPE - SYNTAX INTEGER - { - x20ms(20), - x40ms(40), - x60ms(60), - x80ms(80) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Packetization Period - Remark:The period over which encoded voice bits are collected for encapsulation in." - DEFVAL { x20ms } - ::= { vimMgEntry 11 } - - --- Codec Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.12 - vmCodecType OBJECT-TYPE - SYNTAX INTEGER - { - aLaw(0), - uLaw(1), - fr(2), - efr(3), - AMR-12-2(4), - g729b(5), - AMR-10-2(6), - AMR-7-95(7), - AMR-7-4(8), - AMR-6-7(9), - AMR-5-15(10), - AMR-5-9(11), - AMR-4-75(12), - g729(13), - null(255) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Codec Type - Remark:(Read Only) Codec type of the media gateway." - ::= { vimMgEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.13 - vmAuditTimer OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Audit Timer - Remark:The time interval between sending AUEP message from MGC to MGW to check the trunk status. Unit is second." - ::= { vimMgEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.14 - vmPhysicalPortEntries OBJECT-TYPE - SYNTAX INTEGER (0..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Port Entries - Remark:The total number of the configured physical ports of this media gateway." - ::= { vimMgEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1.1.15 - vmRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { vimMgEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.2 - physicalPortTable OBJECT-TYPE - SYNTAX SEQUENCE OF PhysicalPortEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { vimMg 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.2.1 - physicalPortEntry OBJECT-TYPE - SYNTAX PhysicalPortEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:2" - INDEX { ppIndex, ppMGIndex } - ::= { physicalPortTable 1 } - - - PhysicalPortEntry ::= - SEQUENCE { - ppMGIndex - INTEGER, - ppIndex - INTEGER, - ppAdministrationState - AdminStateChoices, - ppUsedFlag - INTEGER, - ppStatus - INTEGER, - ppPlatID - INTEGER - } - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.2.1.1 - ppMGIndex OBJECT-TYPE - SYNTAX INTEGER (1..8) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:MG Index - Remark:(Read Only) Index number of the serving media gateway." - ::= { physicalPortEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.2.1.2 - ppIndex OBJECT-TYPE - SYNTAX INTEGER (1..32) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Port ID - Remark:(Read Only) Physical port index number ranges from 1 to 32." - ::= { physicalPortEntry 2 } - - --- Administration State --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.2.1.3 - ppAdministrationState OBJECT-TYPE - SYNTAX AdminStateChoices - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed physical port by lock and unlock commands." - ::= { physicalPortEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.2.1.4 - ppUsedFlag OBJECT-TYPE - SYNTAX INTEGER - { - idle(0), - inUse(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Used Flag - Remark:The occupancy status of the physical port." - ::= { physicalPortEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.2.1.5 - ppStatus OBJECT-TYPE - SYNTAX INTEGER - { - notReady(0), - ready(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Status - Remark:The current availability status of the physical port." - ::= { physicalPortEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.2.2.1.6 - ppPlatID OBJECT-TYPE - SYNTAX INTEGER (0..1) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Platform ID - Remark:Specify the serving MSC platform, either MSC-0 or MSC-1." - ::= { physicalPortEntry 6 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.3 - routingZone OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.3.1 - routingZoneTable OBJECT-TYPE - SYNTAX SEQUENCE OF RoutingZoneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { routingZone 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.3.1.1 - routingZoneEntry OBJECT-TYPE - SYNTAX RoutingZoneEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { rzIndex } - ::= { routingZoneTable 1 } - - - RoutingZoneEntry ::= - SEQUENCE { - rzIndex - INTEGER, - rzSite - INTEGER, - rzRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.3.1.1.1 - rzIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing zone index number ranges from 1 to 31." - ::= { routingZoneEntry 1 } - - --- DPC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.15.2.3.1.1.2 - rzSite OBJECT-TYPE - SYNTAX INTEGER - { - local(0), - remote(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Site - Remark:Determine each Routing Zone which configured in MSC Routing Zone table to Local or Remote. iRLS will not be invocated by the calls within local Routing Zone." - ::= { routingZoneEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.15.2.3.1.1.3 - rzRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { routingZoneEntry 3 } - - - - END - --- --- LGC-SS-RLS-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-RTPPROXY-MIB.my b/omc/bin/mib/LGC-SS-RTPPROXY-MIB.my deleted file mode 100644 index 420d477..0000000 --- a/omc/bin/mib/LGC-SS-RTPPROXY-MIB.my +++ /dev/null @@ -1,225 +0,0 @@ --- --- LGC-SS-RTPPROXY-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, February 27, 2012 at 17:18:47 --- - - LGC-SS-RTPPROXY-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.18 - rtpproxy MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 18 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { rtpproxy 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.18.2 - parameter OBJECT IDENTIFIER ::= { rtpproxy 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.1.1 - rtpProxyFlag OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:RtpProxy Flag - Remark:RtpProxy Flag." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.1.2 - applicationType OBJECT-TYPE - SYNTAX INTEGER - { - tandem(0), - implicittandem(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Application Type - Remark:Application Type." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.1.3 - domainName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Domain Name - Remark:Domain Name." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.1.4 - interBaseUdpPortRGW OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Inter Base Udp Port (RGW) - Remark:Inter Base Udp Port (RGW)." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.1.5 - intraBaseUdpPortAC OBJECT-TYPE - SYNTAX INTEGER (0..511) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Intra Base Udp Port (AC) - Remark:Intra Base Udp Port (AC)." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.1.6 - interAddressRGW OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Inter Address (RGW) - Remark:Inter Address (RGW)." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.1.7 - intraAddressAC OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Intra Address (AC) - Remark:Intra Address (AC)." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.2 - voiceStreamIP OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.2.1 - iPEndpoint1 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IP Endpoint 1 - Remark:IP Endpoint 1." - ::= { voiceStreamIP 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.2.2 - iPEndpoint2 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IP Endpoint 2 - Remark:IP Endpoint 2." - ::= { voiceStreamIP 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.2.3 - iPEndpoint3 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IP Endpoint 3 - Remark:IP Endpoint 3." - ::= { voiceStreamIP 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.18.2.2.4 - iPEndpoint4 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IP Endpoint 3 - Remark:IP Endpoint 3." - ::= { voiceStreamIP 4 } - - - - END - --- --- LGC-SS-RTPPROXY-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-SCCP-MIB.my b/omc/bin/mib/LGC-SS-SCCP-MIB.my deleted file mode 100644 index ca1b9dc..0000000 --- a/omc/bin/mib/LGC-SS-SCCP-MIB.my +++ /dev/null @@ -1,1280 +0,0 @@ --- --- LGC-SS-SCCP-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, August 22, 2011 at 13:38:48 --- - - LGC-SS-SCCP-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, RowStatus - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.2.3 - sccp MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { plat 3 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.2 - plat OBJECT IDENTIFIER ::= { wxc2 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.2.3.2 - parameter OBJECT IDENTIFIER ::= { sccp 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.1.1 - version OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Version - Remark:Version of SCCP software." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.1.2 - systemCommand OBJECT-TYPE - SYNTAX INTEGER { reset(0) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2 - localNode OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1 - localNodeTable OBJECT-TYPE - SYNTAX SEQUENCE OF LocalNodeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { localNode 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1.1 - localNodeEntry OBJECT-TYPE - SYNTAX LocalNodeEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { lnIndex } - ::= { localNodeTable 1 } - - - LocalNodeEntry ::= - SEQUENCE { - lnIndex - INTEGER, - lnTitle - OCTET STRING, - lnNetworkIndicator - INTEGER, - lnMSISDN - OCTET STRING, - lnIP0 - IpAddress, - lnIP1 - IpAddress, - acnVersionId - INTEGER, - lnRowStatus - RowStatus - } - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1.1.1 - lnIndex OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:The Sub-System Number (SSN) of this local node." - ::= { localNodeEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1.1.2 - lnTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Local Node name for identification." - ::= { localNodeEntry 2 } - - --- National Destination Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1.1.3 - lnNetworkIndicator OBJECT-TYPE - SYNTAX INTEGER - { - international(0), - internationalSpare(1), - national(2), - nationalSpare(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NI - Remark:Network Indicator identifies the type of network." - ::= { localNodeEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1.1.4 - lnMSISDN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..18)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSISDN - Remark:The E.164 node address of this local node." - ::= { localNodeEntry 4 } - - --- DPC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1.1.5 - lnIP0 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IP 0 - Remark:The IP address of the local node server 0." - ::= { localNodeEntry 5 } - - --- DPC --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1.1.6 - lnIP1 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:IP 1 - Remark:The IP address of the local node server 1." - ::= { localNodeEntry 6 } - - --- Route Selection RZS Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1.1.7 - acnVersionId OBJECT-TYPE - SYNTAX INTEGER (1..31) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Routing Zone Set Index for the Routing Selection." - ::= { localNodeEntry 7 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.2.1.1.8 - lnRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { localNodeEntry 8 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3 - gTT OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1 - gTTTable OBJECT-TYPE - SYNTAX SEQUENCE OF GTTEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { gTT 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1 - gTTEntry OBJECT-TYPE - SYNTAX GTTEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { gttIndex } - ::= { gTTTable 1 } - - - GTTEntry ::= - SEQUENCE { - gttIndex - INTEGER, - gttGTTState - INTEGER, - gttNumberPlan - INTEGER, - gttTranslationType - INTEGER, - gttStartNumber - OCTET STRING, - gttEndNumber - OCTET STRING, - gttNetworkIndicate - INTEGER, - gttDPC - INTEGER, - gttSSN - INTEGER, - gttRouteIndicator - INTEGER, - gttAddressIndicator - INTEGER, - gttReplaceStartDigit - INTEGER, - gttReplaceEndDigit - INTEGER, - gttReplacingNumberPlan - INTEGER, - gttReplacingDigits - OCTET STRING, - acnVersionID - INTEGER, - gttRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.1 - gttIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:GTT index number ranges from 0 to 1023." - ::= { gTTEntry 1 } - - --- Country Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.2 - gttGTTState OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of this Global Title Translation (GTT) entry." - ::= { gTTEntry 2 } - - --- International Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.3 - gttNumberPlan OBJECT-TYPE - SYNTAX INTEGER - { - imsi-or-msisdn-ansi(0), - msisdn(1), - imsi(6), - gt(7) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Input Numbering Plan - Remark:Type of the input number." - ::= { gTTEntry 3 } - - --- National Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.4 - gttTranslationType OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Translation Type - Remark:Translation examines the destination address and decides how to identify it over the network." - ::= { gTTEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.5 - gttStartNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Number Start - Remark:The beginning of the number range for this GTT entry." - ::= { gTTEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.6 - gttEndNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Number End - Remark:The end of the number range for this GTT entry." - ::= { gTTEntry 6 } - - --- National Destination Code --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.7 - gttNetworkIndicate OBJECT-TYPE - SYNTAX INTEGER - { - international(0), - internationalSpare(1), - national(2), - nationalSpare(3) - } - UNITS "0" - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Network Indicator - Remark:Network Indicator identifies the type of network." - ::= { gTTEntry 7 } - - --- MSRN Range Start --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.8 - gttDPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DPC - Remark:Destination Point Code in decimal format." - ::= { gTTEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.9 - gttSSN OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SSN - Remark:Sub-System Number in decimal format." - ::= { gTTEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.10 - gttRouteIndicator OBJECT-TYPE - SYNTAX INTEGER - { - onGT(0), - onSSN(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Routing Indicator - Remark:SSN for subsystem, GT for global title.
- For IMSI and MSISDN, select Route on SSN.
- For the connected network, select Route on GT." - ::= { gTTEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.11 - gttAddressIndicator OBJECT-TYPE - SYNTAX INTEGER - { - null(0), - dpcSSN(3), - gtSSN(6), - gtDPCSSN(7) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Address Indicator - Remark:Contribution of SCCP address." - ::= { gTTEntry 11 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.12 - gttReplaceStartDigit OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Replace Digits Start - Remark:If the number is going to replace digits, start with this digit (position from left to right).
- Range = 0 - 16, 0 means void." - ::= { gTTEntry 12 } - - --- Operability Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.13 - gttReplaceEndDigit OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Replace Digits End - Remark:If the number is going to replace digits, end on this digit (position from left to right).
- Range = 0 - 16, 0 means void." - ::= { gTTEntry 13 } - - --- International Prefix --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.14 - gttReplacingNumberPlan OBJECT-TYPE - SYNTAX INTEGER - { - msisdn(1), - imsi(6), - gt(7) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Output Numbering Plan - Remark:Type of the output number." - ::= { gTTEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.15 - gttReplacingDigits OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Replace Digits - Remark:If the number is going to replace digits, replace them with this string." - ::= { gTTEntry 15 } - - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.16 - acnVersionID OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:ACN Version Index - Remark:Index number range from 0 to 1023." - ::= { gTTEntry 16 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.3.1.1.17 - gttRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { gTTEntry 17 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4 - acnVersion OBJECT IDENTIFIER ::= { parameter 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1 - acnVersionTable OBJECT-TYPE - SYNTAX SEQUENCE OF AcnVersionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { acnVersion 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1 - acnVersionEntry OBJECT-TYPE - SYNTAX AcnVersionEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:ACN Version" - INDEX { acnIndex } - ::= { acnVersionTable 1 } - - - AcnVersionEntry ::= - SEQUENCE { - acnIndex - INTEGER, - acnVersionState - INTEGER, - acnLocationUpdating - INTEGER, - acnLocationCancellation - INTEGER, - acnRoamingNumberEnquiry - INTEGER, - acnLocationInfoRetrieval - INTEGER, - acnResetContext - INTEGER, - acnHandoverControl - INTEGER, - acnEquipmentManagement - INTEGER, - acnInfoRetrieval - INTEGER, - acnInterVLRInfoRetrieval - INTEGER, - acnSubscriberDataManagement - INTEGER, - acnTracing - INTEGER, - acnNetworkFunctionalSS - INTEGER, - acnNetworkUnstructuredSS - INTEGER, - acnShortMessageGateway - INTEGER, - acnMOShortMessageRelay - INTEGER, - acnShortMessageAlert - INTEGER, - acnShortMessageWDM - INTEGER, - acnMTShortMessageRelay - INTEGER, - acnIMSIRetrieval - INTEGER, - acnMSPurging - INTEGER, - acnSubscriberInfoEnquiry - INTEGER, - acnAnyTimeInfoEnquiry - INTEGER, - acnCallControlTransfer - INTEGER, - acnSSInvocationNotification - INTEGER, - acnGroupCallControl - INTEGER, - acnGPRSLocationUpdating - INTEGER, - acnGPRSLocationInfoRetrieval - INTEGER, - acnFailureReporting - INTEGER, - acnGPRSNotifying - INTEGER, - acnReporting - INTEGER, - acnCallCompletion - INTEGER, - acnInternalSIWFSAllocation - INTEGER, - acnInternalSecurityTriplets - INTEGER, - acnInternalSubscriberInterrogating - INTEGER, - acnInternalHLRSubscriberManagement - INTEGER, - acnInternalHLRPingAUC - INTEGER, - acnSupportedCamelPhases - INTEGER, - acnRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.1 - acnIndex OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 0 to 1023." - ::= { acnVersionEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.2 - acnVersionState OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Version State - Remark:GTT State." - ::= { acnVersionEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.3 - acnLocationUpdating OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Location Updating - Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.4 - acnLocationCancellation OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.5 - acnRoamingNumberEnquiry OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Roaming Number Enquiry - Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.6 - acnLocationInfoRetrieval OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.7 - acnResetContext OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.8 - acnHandoverControl OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.9 - acnEquipmentManagement OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.10 - acnInfoRetrieval OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.11 - acnInterVLRInfoRetrieval OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.12 - acnSubscriberDataManagement OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.13 - acnTracing OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.14 - acnNetworkFunctionalSS OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.15 - acnNetworkUnstructuredSS OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.16 - acnShortMessageGateway OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.17 - acnMOShortMessageRelay OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.18 - acnShortMessageAlert OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.19 - acnShortMessageWDM OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.20 - acnMTShortMessageRelay OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.21 - acnIMSIRetrieval OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.22 - acnMSPurging OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.23 - acnSubscriberInfoEnquiry OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.24 - acnAnyTimeInfoEnquiry OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 24 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.25 - acnCallControlTransfer OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.26 - acnSSInvocationNotification OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.27 - acnGroupCallControl OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.28 - acnGPRSLocationUpdating OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.29 - acnGPRSLocationInfoRetrieval OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.30 - acnFailureReporting OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.31 - acnGPRSNotifying OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.32 - acnReporting OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.33 - acnCallCompletion OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 33 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.34 - acnInternalSIWFSAllocation OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 34 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.35 - acnInternalSecurityTriplets OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 35 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.36 - acnInternalSubscriberInterrogating OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 36 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.37 - acnInternalHLRSubscriberManagement OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 37 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.38 - acnInternalHLRPingAUC OBJECT-TYPE - SYNTAX INTEGER - { - version1(1), - version2(2), - version3(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 38 } - - - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.39 - acnSupportedCamelPhases OBJECT-TYPE - SYNTAX INTEGER - { - phase1(1), - phase12(3), - phase123(7) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:VLR Supported Camel Phases - Remark:Numbering Plan. Describe which numbering plan will be used for the global title. The numbering plan chosen will aid the routing system in determining the correct network system to direct the message." - ::= { acnVersionEntry 39 } - - --- Row Status --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.2.3.2.4.1.1.40 - acnRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { acnVersionEntry 40 } - - - - END - --- --- LGC-SS-SCCP-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-SMEG-MIB.my b/omc/bin/mib/LGC-SS-SMEG-MIB.my deleted file mode 100644 index a1d5a28..0000000 --- a/omc/bin/mib/LGC-SS-SMEG-MIB.my +++ /dev/null @@ -1,313 +0,0 @@ --- --- LGC-SS-SMEG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, January 20, 2011 at 10:07:05 --- - - LGC-SS-SMEG-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus, DisplayString - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.11 - smeg MODULE-IDENTITY - LAST-UPDATED "200810151006Z" -- October 15, 2008 at 10:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 11 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { smeg 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.11.2 - parameter OBJECT IDENTIFIER ::= { smeg 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.1.1 - license OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:License - Remark:(Read Only) The maximum BHSM capacity of SMEG determined by License Control. SMEG will stop transiting SMS once the traffic reaches the maximum BHSM." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.1.2 - countryCode OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..2)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CC - Remark:Country Code identifies the country's network." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.1.3 - nationalDestinationCode OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NDC - Remark:National Destination Code defines the national calling area or national network to which the subscriber belongs." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.1.4 - maxSMSPerEmail OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max SMS per Email - Remark:Define the maximum number of SMS can be concatenated per long email." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.1.5 - localDomainName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local Domain Name - Remark:This name is the domain-part after the @ sign in the email address. This email address is used to transfer emails from email server to SMEG. Normally, it is the SMEG's host name." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.1.6 - domainNameForEmail OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Domain Name for Email - Remark:The domain name of email server is the domain-part after the @ sign in the email address. This email address is used to communicate emails between external email servers and the email server which connected with SMEG. It is the domain name which can be looked up in the public Domain Name System." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.1.7 - saveCommand OBJECT-TYPE - SYNTAX INTEGER { saveParameter(1) } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.1.8 - flag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Flag - Remark:Open or close SMEG service." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.2 - protocol OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.2.1 - sMPPLinkAlias OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SMPP Link Alias - Remark:Alias of the SMPP link which corresponds to the link configured in EMS > Configuration > NSS > SMPP." - ::= { protocol 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.2.2 - sMTPEmailServerIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SMTP Email Server IP - Remark:IP address of the email server." - ::= { protocol 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.2.3 - sMTPAuthenticationFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SMTP AUTH Flag - Remark:SMTP Authentication provides an access control mechanism. It is used to allow legitimate users to relay mail while denying relay service to unauthorized users, such as spammers. Configure the authentication parameters when it is enabled on the email server side." - ::= { protocol 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.2.4 - sMTPAuthenticationUserName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SMTP AUTH User - Remark:User name for SMTP Authentication." - ::= { protocol 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.2.5 - sMTPAuthenticationPassword OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SMTP AUTH Password - Remark:Password for SMTP Authentication." - ::= { protocol 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.3 - allowedUserPrefix OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.3.1 - allowedUserPrefixTable OBJECT-TYPE - SYNTAX SEQUENCE OF AllowedUserPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { allowedUserPrefix 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.3.1.1 - allowedUserPrefixEntry OBJECT-TYPE - SYNTAX AllowedUserPrefixEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { aupIndex } - ::= { allowedUserPrefixTable 1 } - - - AllowedUserPrefixEntry ::= - SEQUENCE { - aupIndex - INTEGER, - aupPrefix - OCTET STRING, - aupRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.3.1.1.1 - aupIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Allowed user prefix index number ranges from 1 to 16." - ::= { allowedUserPrefixEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.3.1.1.2 - aupPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:Prefix determines the range of subscribers allowed to receive email messages." - ::= { allowedUserPrefixEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.11.2.3.1.1.3 - aupRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { allowedUserPrefixEntry 3 } - - - - END - --- --- LGC-SS-SMEG-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-SMPP-MIB.my b/omc/bin/mib/LGC-SS-SMPP-MIB.my deleted file mode 100644 index 176c788..0000000 --- a/omc/bin/mib/LGC-SS-SMPP-MIB.my +++ /dev/null @@ -1,400 +0,0 @@ --- --- LGC-SS-SMPP-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, September 23, 2010 at 12:15:09 --- - - LGC-SS-SMPP-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16, RowStatus - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.2.18 - smpp MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { platform 18 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.2 - platform OBJECT IDENTIFIER ::= { wxc2 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { smpp 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.2.18.2 - parameter OBJECT IDENTIFIER ::= { smpp 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2 - sMPPLink OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1 - sMPPLinkTable OBJECT-TYPE - SYNTAX SEQUENCE OF SMPPLinkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMPPLink 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1 - sMPPLinkEntry OBJECT-TYPE - SYNTAX SMPPLinkEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { slIndex } - ::= { sMPPLinkTable 1 } - - - SMPPLinkEntry ::= - SEQUENCE { - slIndex - INTEGER, - slLinkAlias - OCTET STRING, - slLinkType - INTEGER, - slServerType - INTEGER, - slSessionType - INTEGER, - slSystemID - OCTET STRING, - slPassword - OCTET STRING, - slSystemType - OCTET STRING, - slLocalGTT - OCTET STRING, - slRemoteGTT - OCTET STRING, - slLocalIP - IpAddress, - slRemoteIP - IpAddress, - slSessionInitTimer - INTEGER, - slEnquireLinkTimer - INTEGER, - slInactivityTimer - INTEGER, - slResponseTimer - INTEGER, - slLocalSSN - INTEGER, - slRemoteSSN - INTEGER, - slFlag - INTEGER, - slRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.1 - slIndex OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:SMPP connection index number ranges from 0 to 31." - ::= { sMPPLinkEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.2 - slLinkAlias OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Link Alias - Remark:Name of the SMPP connection. Generally use the name of the remote SMPP entity." - ::= { sMPPLinkEntry 2 } - - --- Dialing Prefix Set ID --- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.3 - slLinkType OBJECT-TYPE - SYNTAX INTEGER - { - udp(0), - tcp(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Link Type - Remark:Transport protocol of the SMPP connection." - DEFVAL { udp } - ::= { sMPPLinkEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.4 - slServerType OBJECT-TYPE - SYNTAX INTEGER - { - client(0), - server(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Server Type - Remark:Specify the application type of the local SMPP entity.

- Client = Work as External Short Message Entity (ESME)
- Server = Work as Short Message Center (SMSC)" - DEFVAL { client } - ::= { sMPPLinkEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.5 - slSessionType OBJECT-TYPE - SYNTAX INTEGER - { - bindTX(0), - bindRX(1), - bindTRX(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Session Type - Remark:Specify how the local SMPP entity shall bind to the remote SMPP entity.

- Tx = Work as Transmitter
- Rx = Work as Receiver
- TRx = Work as Transceiver" - ::= { sMPPLinkEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.6 - slSystemID OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:System ID - Remark:Specify the user name for the gateway to use when connecting to the remote SMPP entity." - ::= { sMPPLinkEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.7 - slPassword OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Password - Remark:Specify the password for the gateway to use when connecting to the remote SMPP entity." - ::= { sMPPLinkEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.8 - slSystemType OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:System Type - Remark:An optional login parameter that should be set only if required by the remote SMPP entity. The remote SMPP administrator will provide this value, which when required, is usually a short text string." - ::= { sMPPLinkEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.9 - slLocalGTT OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local GTT - Remark:Specify the GTT of local SMPP entity." - ::= { sMPPLinkEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.10 - slRemoteGTT OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Remote GTT - Remark:Specify the GTT of remote SMPP entity." - ::= { sMPPLinkEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.11 - slLocalIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Local IP - Remark:Specify the IP address of local SMPP entity." - ::= { sMPPLinkEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.12 - slRemoteIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Remote IP - Remark:Specify the IP address of remote SMPP entity." - ::= { sMPPLinkEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.13 - slSessionInitTimer OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Session Init Timer - Remark:Specify the maximum time-out value for the time period between an application's network connection setup request and BIND request.
If the time-out value is reached, the connection is terminated." - ::= { sMPPLinkEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.14 - slEnquireLinkTimer OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Enquire Link Timer - Remark:Specify the minimum time-out period between the SMPP service's sending of ENQUIRE LINK requests to an application." - ::= { sMPPLinkEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.15 - slInactivityTimer OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Inactivity Timer - Remark:Specify the maximum time-out period allowed for inactivity between an application's request towards the SMPP service.
If the time-out value is reached, the connection is terminated." - ::= { sMPPLinkEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.16 - slResponseTimer OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Response Timer - Remark:Specify the maximum time-out period allowed between the SMPP service sends a request to an application and a response to the request is received.
If the time-out value is reached, the connection is terminated." - ::= { sMPPLinkEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.17 - slLocalSSN OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Local SSN - Remark:Specify the subsystem number of local SMPP entity." - ::= { sMPPLinkEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.18 - slRemoteSSN OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Remote SSN - Remark:Specify the subsystem number of remote SMPP entity." - ::= { sMPPLinkEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.19 - slFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Flag - Remark:Enable or disable this SMPP connection." - ::= { sMPPLinkEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.2.18.2.2.1.1.20 - slRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMPPLinkEntry 20 } - - - - END - --- --- LGC-SS-SMPP-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-SMSC-MIB.my b/omc/bin/mib/LGC-SS-SMSC-MIB.my deleted file mode 100644 index bc49f36..0000000 --- a/omc/bin/mib/LGC-SS-SMSC-MIB.my +++ /dev/null @@ -1,546 +0,0 @@ --- --- LGC-SS-SMSC-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Tuesday, May 03, 2011 at 09:17:38 --- - - LGC-SS-SMSC-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus, DisplayString - FROM LGC-MIB - OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.5 - smsc MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 5 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { smsc 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.5.2 - parameter OBJECT IDENTIFIER ::= { smsc 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.1 - cDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable the Call Detail Record generation of short messages." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.2 - sMValidity OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SM Validity - Remark:Define the maximum duration of a pending message which should be kept in sending array till reaches the called subscriber. Messages can't send out in the validity period will be deleted. The minimum unit is 1 second." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.3 - logFlag OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Log Flag - Remark:Enable or disable SM Log generation of the short message service." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.4 - command OBJECT-TYPE - SYNTAX INTEGER - { - deletePendingSM(5), - reset(6) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.5 - localPollingFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Enable or disable resend pending SMS to unattainable local users." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.6 - localRoamingOutPollingFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Enable or disable resend pending SMS to unattainable outbound roaming users." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.7 - visitorRoamingInPollingFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Enable or disable resend pending SMS to unattainable inbound roaming users." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.8 - otherPollingFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Enable or disable resend pending SMS to other unattainable users." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.9 - pollingNumber OBJECT-TYPE - SYNTAX INTEGER (0..64) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Define the maximum port number that the queue of pending SMS may grow to." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.10 - priorityFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:SM_RP_PRI Flag - Remark:Specify the priority parameter of SM_RP_PRI. Enable = High; Disable = Low." - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.1.11 - tpReplyPathFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:TP Reply Path Flag - Remark:Enable or disable TP-Reply-Path parameter in the SMS-DELIVER data unit. Enable = Reply path is available; Disable = Reply path is unavailable." - ::= { system 11 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.5.2.2 - mSISDNSegment OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.5.2.2.1 - mSISDNSegmentTable OBJECT-TYPE - SYNTAX SEQUENCE OF MSISDNSegmentEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { mSISDNSegment 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.5.2.2.1.1 - mSISDNSegmentEntry OBJECT-TYPE - SYNTAX MSISDNSegmentEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { msIndex } - ::= { mSISDNSegmentTable 1 } - - - MSISDNSegmentEntry ::= - SEQUENCE { - msIndex - INTEGER, - msStartNumber - OCTET STRING, - msEndNumber - OCTET STRING, - msRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.2.1.1.1 - msIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:MSISDN segment index number ranges from 0 to 15." - ::= { mSISDNSegmentEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.2.1.1.2 - msStartNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSISDN Start - Remark:First MSISDN in the range. Only the involved subscribers are allowed to use the short message service." - ::= { mSISDNSegmentEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.2.1.1.3 - msEndNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MSISDN End - Remark:Last MSISDN in the range. Only the involved subscribers are allowed to use the short message service." - ::= { mSISDNSegmentEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.2.1.1.4 - msRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { mSISDNSegmentEntry 4 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.8 - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3 - sMPP OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.8.1 - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1 - sMPPTable OBJECT-TYPE - SYNTAX SEQUENCE OF SMPPEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMPP 1 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.8.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1 - sMPPEntry OBJECT-TYPE - SYNTAX SMPPEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { smppIndex } - ::= { sMPPTable 1 } - - - SMPPEntry ::= - SEQUENCE { - smppIndex - INTEGER, - smppLinkAlias - OCTET STRING, - smppSessionType - INTEGER, - smppServiceNumber - OCTET STRING, - smppDataCodingScheme - INTEGER, - smppPlatformNum - INTEGER, - smppTimeToLive - INTEGER, - smppManipulationFlag - INTEGER, - smppTON - INTEGER, - smppNPI - INTEGER, - smppRowStatus - RowStatus - } - --- Index --- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.1 - smppIndex OBJECT-TYPE - SYNTAX INTEGER { create(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:SMPP connection index number ranges from 0 to 31." - ::= { sMPPEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.2 - smppLinkAlias OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Link Alias - Remark:Alias of the SMPP link which corresponds to the link configured in EMS > Configuration > NSS > SMPP." - ::= { sMPPEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.3 - smppSessionType OBJECT-TYPE - SYNTAX INTEGER - { - bindTX(0), - bindRX(1), - bindTRX(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Session Type - Remark:Specify how the local SMPP entity shall bind to the remote SMPP entity.

- Tx = Work as Transmitter
- Rx = Work as Receiver
- TRx = Work as Transceiver" - ::= { sMPPEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.4 - smppServiceNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Service Number - Remark:Specify the service center number which will be displayed on the terminating mobile." - ::= { sMPPEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.5 - smppDataCodingScheme OBJECT-TYPE - SYNTAX INTEGER - { - smpp7def7(0), - smpp8dcs4def7(1), - smpp8dcs0def7(2), - smpp7def8(16), - smpp8dcs4def8(17), - smpp8dcs0def8(18) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DCS - Remark:Data Coding Scheme" - ::= { sMPPEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.6 - smppPlatformNum OBJECT-TYPE - SYNTAX INTEGER - { - plat0(0), - plat1(1), - ignore(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Platform ID - Remark:Specify the serving MSC platform." - ::= { sMPPEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.7 - smppTimeToLive OBJECT-TYPE - SYNTAX INTEGER (0..2147483647) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Time to Live - Remark:Define the maximum duration of a pending message which should be kept in sending array till reaches the called subscriber. Messages can't send out in the validity period will be deleted.
- Range = 1 - 604800 seconds" - ::= { sMPPEntry 7 } - - --- - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.8 - smppManipulationFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Manipulation Flag - Remark:Enable or disable CLI Manipulation in XAPP setting." - ::= { sMPPEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.9 - smppTON OBJECT-TYPE - SYNTAX INTEGER - { - unknown(0), - international(1), - national(2), - networkSpecific(3), - subscriberNumber(4), - alphanumeric(5), - abbreviated(6) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:TON - Remark:Indicate Type of Number for destination. If not known set to Unknown." - ::= { sMPPEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.10 - smppNPI OBJECT-TYPE - SYNTAX INTEGER - { - unknown(0), - isdn(1), - data(3), - telex(4), - landMobile(6), - national(8), - private(9), - ermes(10), - internet(14), - wapClientID(18) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:NPI - Remark:Indicate Numbering Plan Indicator for destination. If not known set to Unknown." - ::= { sMPPEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.11 - smppRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMPPEntry 11 } - - - - END - --- --- LGC-SS-SMSC-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-SPGW-MIB.my b/omc/bin/mib/LGC-SS-SPGW-MIB.my deleted file mode 100644 index 5c43802..0000000 --- a/omc/bin/mib/LGC-SS-SPGW-MIB.my +++ /dev/null @@ -1,1207 +0,0 @@ --- --- LGC-SS-SPGW-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Sunday, May 27, 2018 at 17:13:04 --- - --- LGC-SS-SPGW-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Tuesday, May 01, 2018 at 14:31:01 --- --- LGC-SS-SPGW-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, April 27, 2018 at 17:30:48 --- --- LGC-SS-SPGW-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, April 25, 2018 at 14:46:11 --- --- LGC-SS-SPGW-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, April 19, 2018 at 19:39:14 --- --- LGC-SS-SPGW-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Sunday, April 08, 2018 at 15:35:42 --- --- LGC-SS-SPGW-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Sunday, April 08, 2018 at 15:34:37 --- --- LGC-SS-SPGW-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, March 22, 2018 at 10:39:37 --- --- LGC-SS-MME-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, March 21, 2018 at 17:28:26 --- - - LGC-SS-SPGW-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus - FROM LGC-MIB - IpAddress, Integer32, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.28 - spgw MODULE-IDENTITY - LAST-UPDATED "200811241438Z" -- November 24, 2008 at 14:38 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - ::= { application 28 } - - - --- --- Type definitions --- - --- 1.3.6.1.4.1.1373.2.3.3.28 --- November 24, 2008 at 14:38 GMT --- --- Type definitions --- --- 1.3.6.1.4.1.1373.2.3.3.28 --- November 24, 2008 at 14:38 GMT --- --- Type definitions --- --- 1.3.6.1.4.1.1373.2.3.3.28 --- November 24, 2008 at 14:38 GMT --- --- Type definitions --- --- 1.3.6.1.4.1.1373.2.3.3.28 --- November 24, 2008 at 14:38 GMT --- --- Type definitions --- --- 1.3.6.1.4.1.1373.2.3.3.28 --- November 24, 2008 at 14:38 GMT --- --- Type definitions --- --- 1.3.6.1.4.1.1373.2.3.3.38 --- November 24, 2008 at 14:38 GMT --- --- Type definitions --- --- 1.3.6.1.4.1.1373.2.3.3.6 --- November 24, 2008 at 14:38 GMT --- --- Type definitions --- --- 1.3.6.1.4.1.1373.2.3.3.15 --- November 24, 2008 at 14:38 GMT --- --- Type definitions --- - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- Node definitions --- --- Node definitions --- --- Node definitions --- --- Node definitions --- --- Node definitions --- --- Node definitions --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2 --- 1.3.6.1.4.1.1373.2.3.3.6.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2 - -- 1.3.6.1.4.1.1373.2.3.3.28.2 - parameter OBJECT IDENTIFIER ::= { spgw 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.2 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1 - networkParameter OBJECT IDENTIFIER ::= { parameter 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.2.1 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1 - s11IPAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.2.2 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2 - s1UIPAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.2.3 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3 - s1UPortNumber OBJECT-TYPE - SYNTAX Unsigned32 (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.2.4 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1.4 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.4 - sgiIPAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.2.5 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1.5 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.5 - defaultDNSAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.6 - secondaryDNSAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.2.6 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1.6 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.7 - ueIPAddressPool OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 7 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1.7 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.8 - ueIPAddressMask OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 8 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1.10 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.9 - redirectIPAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 9 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.1.11 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.1.11 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.1.11 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.11 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.1.10 - pcscfipAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { networkParameter 10 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.4 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.2 - controlParameter OBJECT IDENTIFIER ::= { parameter 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.2.1 - ueDefaultMTU OBJECT-TYPE - SYNTAX Unsigned32 (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 1300 } - ::= { controlParameter 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.2.2 - freeServerEnable OBJECT-TYPE - SYNTAX Integer32 (0..1) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { controlParameter 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.3 - freeServerList OBJECT IDENTIFIER ::= { parameter 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1 - freeServerListTable OBJECT-TYPE - SYNTAX SEQUENCE OF FreeServerListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:freeServer List Table" - ::= { freeServerList 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1 - freeServerListEntry OBJECT-TYPE - SYNTAX FreeServerListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:freeServer List Table" - INDEX { freeServerIndex } - ::= { freeServerListTable 1 } - - - FreeServerListEntry ::= - SEQUENCE { - freeServerIndex - INTEGER, - freeServerIP - IpAddress, - freeServerRowStatus - RowStatus - } - --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.0 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.0 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.0 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.1 - freeServerIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 16." - ::= { freeServerListEntry 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.2 - freeServerIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:IP." - ::= { freeServerListEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.28.2.3.1.1.3 - freeServerRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { freeServerListEntry 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.4 - defaultPCCuleList OBJECT IDENTIFIER ::= { parameter 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1 - defaultPCCuleListTable OBJECT-TYPE - SYNTAX SEQUENCE OF DefaultPCCuleListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Name:defaultPCCule List Table" - ::= { defaultPCCuleList 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1 - defaultPCCuleListEntry OBJECT-TYPE - SYNTAX DefaultPCCuleListEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1 Name:defaultPCCule List Table" - INDEX { defaultPCCuleIndex } - ::= { defaultPCCuleListTable 1 } - - - DefaultPCCuleListEntry ::= - SEQUENCE { - defaultPCCuleIndex - INTEGER, - ruleName - OCTET STRING, - apnAMBRUL - INTEGER, - apnAMBRDL - INTEGER, - defaultPCCuleStatus - RowStatus - } - --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.0 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.0 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.0 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.1 - defaultPCCuleIndex OBJECT-TYPE - SYNTAX INTEGER (1..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:Index number range from 1 to 16." - ::= { defaultPCCuleListEntry 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.2 - ruleName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (1..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:rule Name." - ::= { defaultPCCuleListEntry 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.3 - apnAMBRUL OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:apn AMBRUL." - ::= { defaultPCCuleListEntry 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.4 - apnAMBRDL OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - Remark:apn AMBRDL." - ::= { defaultPCCuleListEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.28.2.4.1.1.5 - defaultPCCuleStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { defaultPCCuleListEntry 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.3 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.5 - diameterLocalSetting OBJECT IDENTIFIER ::= { parameter 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.15.2.3.1 --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.1.1 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.5.1 - localHostName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { diameterLocalSetting 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.2 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.5.2 - localRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { diameterLocalSetting 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.1.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.3 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.5.3 - diameterConfigFilePath OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { diameterLocalSetting 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.1.4 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.1.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.1.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.5.4 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.5.4 - diameterLogFunction OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { disable } - ::= { diameterLocalSetting 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6 - gxInterfaceSetting OBJECT IDENTIFIER ::= { parameter 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.1 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.1 - gxFunctionEnabled OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { disable } - ::= { gxInterfaceSetting 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.2 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.2 - dataChargingEnabled OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { disable } - ::= { gxInterfaceSetting 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.3 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.3 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.3 - primaryPCRFHostName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gxInterfaceSetting 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.4 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.4 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.4 - primaryPCRFRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gxInterfaceSetting 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.5 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.5 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.5 - primaryPCRFIPAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gxInterfaceSetting 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.6 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.6 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.6 - primaryPCRFPortNumber OBJECT-TYPE - SYNTAX Unsigned32 (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gxInterfaceSetting 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.7 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.7 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.7 - secondaryPCRFHostName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gxInterfaceSetting 7 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.8 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.8 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.8 - secondaryPCRFRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gxInterfaceSetting 8 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.9 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.9 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.9 - secondaryPCRFIPAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gxInterfaceSetting 9 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.2.10 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.2.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.2.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.6.10 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.6.10 - secondaryPCRFPortNumber OBJECT-TYPE - SYNTAX Unsigned32 (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 0 } - ::= { gxInterfaceSetting 10 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.3 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.7 - gyInterfaceSetting OBJECT IDENTIFIER ::= { parameter 7 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.3.1 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.3.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.3.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.7.1 - gyFunctionEnabled OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { disable } - ::= { gyInterfaceSetting 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.3.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.3.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.3.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.2 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.7.2 - ocsHostName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gyInterfaceSetting 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.3 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.7.3 - ocsRealm OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gyInterfaceSetting 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.3.4 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.3.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.3.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.4 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.7.4 - ocsIPAddress OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { gyInterfaceSetting 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.2.3.5 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.2.3.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.2.3.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.7.5 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.7.5 - ocsPortNumber OBJECT-TYPE - SYNTAX Unsigned32 (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 0 } - ::= { gyInterfaceSetting 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8 - loggingLevelSetting OBJECT IDENTIFIER ::= { parameter 8 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.1 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.1 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.1 - outputPath OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { loggingLevelSetting 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.1 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.1 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.2 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.2 - asyncSystemModule OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.2 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.2 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.3 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.3 - udpModule OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.3 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.3 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.4 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.4 - gtpv1UModule OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 4 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.4 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.4 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.5 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.5 - gtpv2CModule OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 5 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.5 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.5 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.6 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.6 - spgwAPPModule OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.6 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.6 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.7 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.7 - s11Module OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 7 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.7 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.7 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.8 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.8 - utilModule OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 8 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.8 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.8 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.9 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.9 - ittiModule OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 9 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.9 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.9 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.10 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.10 - gxModule OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 10 } - - --- 1.3.6.1.4.1.1373.2.3.3.6.2.1.3.1.2.10 --- 1.3.6.1.4.1.1373.2.3.3.38.2.1.3.1.2.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.1.3.1.2.10 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.11 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.11 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.11 --- 1.3.6.1.4.1.1373.2.3.3.28.2.8.11 - -- 1.3.6.1.4.1.1373.2.3.3.28.2.8.11 - gyModule OBJECT-TYPE - SYNTAX Unsigned32 (0..8) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - DEFVAL { 7 } - ::= { loggingLevelSetting 11 } - - - - END - --- --- LGC-SS-SPGW-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-TMG-MIB.my b/omc/bin/mib/LGC-SS-TMG-MIB.my deleted file mode 100644 index c1b0ca5..0000000 --- a/omc/bin/mib/LGC-SS-TMG-MIB.my +++ /dev/null @@ -1,293 +0,0 @@ --- --- LGC-SS-TMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, September 23, 2010 at 13:47:35 --- - --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, March 12, 2010 at 14:15:06 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, March 11, 2010 at 10:05:09 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, March 11, 2010 at 10:04:10 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, March 10, 2010 at 14:44:19 --- --- LGC-SS-AMG-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Wednesday, March 10, 2010 at 11:35:26 --- - - LGC-SS-TMG-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString - FROM LGC-MIB - IpAddress, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.20 - tmg MODULE-IDENTITY - LAST-UPDATED "201003101054Z" -- March 10, 2010 at 10:54 GMT - ORGANIZATION - "altobridge" - CONTACT-INFO - "Contact-info." - DESCRIPTION - "Description." - REVISION "201003101055Z" -- March 10, 2010 at 10:55 GMT - DESCRIPTION - "1st Version" - ::= { application 20 } - - - - --- --- Node definitions --- - --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3.3.18 --- March 10, 2010 at 10:54 GMT --- March 10, 2010 at 10:55 GMT --- --- Node definitions --- --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 --- 1.3.6.1.4.1.1373.2.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 --- 1.3.6.1.4.1.1373.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 --- 1.3.6.1.4.1.1373.2.3.3.18.1 - -- 1.3.6.1.4.1.1373.2.3.3.20.1 - heartbeat OBJECT-TYPE - SYNTAX DisplayString - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { tmg 1 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 --- 1.3.6.1.4.1.1373.2.3.3.18.2 - -- 1.3.6.1.4.1.1373.2.3.3.20.2 - parameter OBJECT IDENTIFIER ::= { tmg 2 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 --- 1.3.6.1.4.1.1373.2.3.3.18.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.1 - localIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local IP - Remark:Specify the IP address of the target Media Gateway." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.2 - netMask OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Netmask - Remark:A netmask is a 32-bit mask used to divide an IP address into subnets and specify the networks available hosts." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.3 - gateway OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Gateway - Remark:Specify the IP address of the gateway used to pass traffic from Media Gateway to other subnets." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.4 - systemID OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:System ID - Remark:Specify the system ID of the target Media Gateway.
- Range = 0 - 31" - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.5 - subSystemID OBJECT-TYPE - SYNTAX INTEGER (0..7) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Sub-System ID - Remark:Specify the subsystem ID of the target Media Gateway.
- Range = 0 - 1" - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.6 - proxyIP OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Proxy IP - Remark:Specify the IP address of the connected RTP proxy server." - ::= { system 6 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.7 - portType OBJECT-TYPE - SYNTAX INTEGER - { - t1(0), - e1(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Port Type - Remark:Specify the physical interface type of target Media Gateway." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.8 - interfaceID OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Interface ID - Remark:Specify the interface identifier to the Media Gateway physical interface." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.9 - signalType OBJECT-TYPE - SYNTAX INTEGER - { - m2ua(0), - iua(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Signaling Type - Remark:Specify the signaling type of the Media Gateway physical interface." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.10 - crc4Switch OBJECT-TYPE - SYNTAX INTEGER - { - closed(0), - open(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CRC4 Flag - Remark:Enable or disable Cyclic Redundancy Check on the Media Gateway physical interface." - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.11 - isdnType OBJECT-TYPE - SYNTAX INTEGER - { - lt(0), - nt(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:ISDN Type - Remark:Specify termination type of the Media Gateway for ISDN connection." - ::= { system 11 } - - --- 1.3.6.1.4.1.1373.2.3.3.18.2.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.20.2.1.12 - rebootCommand OBJECT-TYPE - SYNTAX INTEGER { reboot(1) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 12 } - - - - END - --- --- LGC-SS-TMG-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-UDM-MIB.my b/omc/bin/mib/LGC-SS-UDM-MIB.my deleted file mode 100644 index 0de1fb9..0000000 --- a/omc/bin/mib/LGC-SS-UDM-MIB.my +++ /dev/null @@ -1,1384 +0,0 @@ --- --- LGC-SS-UDM-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Monday, March 30, 2020 at 10:35:24 --- - - LGC-SS-UDM-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString16 - FROM LGC-MIB - Opaque, Integer32, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.53 - udm MODULE-IDENTITY - LAST-UPDATED "202001090950Z" -- January 09, 2020 at 09:50 GMT - ORGANIZATION - "Organization." - CONTACT-INFO - "Contact-info." - DESCRIPTION - "Description." - ::= { application 53 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2 - parameter OBJECT IDENTIFIER ::= { udm 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.1 - adminState OBJECT-TYPE - SYNTAX INTEGER - { - unlock(0), - lock(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Number of Max eNB." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.2 - label OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Number of Max UE." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.3 - nfInstanceID OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Switch of CS fallback function." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.4 - hplmnID OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.5 - sericeIP OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.6 - servicePort OBJECT-TYPE - SYNTAX Integer32 (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.7 - nrf0Path OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.8 - nrf1Path OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.9 - defaultAusfURI OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.10 - defaultNrfNotifyURI OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.11 - fqdn OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.12 - priority OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.13 - capacity OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.14 - groupID OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.15 - supRanges OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.16 - gpsiRanges OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.17 - scheme OBJECT-TYPE - SYNTAX INTEGER - { - http(0), - https(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.18 - op0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.19 - op1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.20 - op2 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.21 - op3 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..31)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.22 - rlist0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..9)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.23 - rlist1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..9)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.24 - rlist2 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..9)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.25 - rlist3 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..9)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.26 - homeNetworkPrivateKey OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..63)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.27 - snssais OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.1.38 - importData OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Command[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Sending Command - [v]2[opt]In Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total Numbers[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Success Numbers[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { system 38 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.2 - subsUEAMBRTemplate OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.2.1 - ambrTable OBJECT-TYPE - SYNTAX SEQUENCE OF AmbrEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { subsUEAMBRTemplate 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.2.1.1 - ambrEntry OBJECT-TYPE - SYNTAX AmbrEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { ambrIndex } - ::= { ambrTable 1 } - - - AmbrEntry ::= - SEQUENCE { - ambrIndex - INTEGER, - ambrName - OCTET STRING, - ambrUplink - OCTET STRING, - ambrDownlink - OCTET STRING, - ambrRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.2.1.1.1 - ambrIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { ambrEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.2.1.1.2 - ambrName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Label" - ::= { ambrEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.2.1.1.3 - ambrUplink OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Uplink" - ::= { ambrEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.2.1.1.4 - ambrDownlink OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Downlink" - ::= { ambrEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.2.1.1.5 - ambrRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { ambrEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.3 - subsSNSSAISTemplate OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.3.1 - snssaiTable OBJECT-TYPE - SYNTAX SEQUENCE OF SnssaiEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { subsSNSSAISTemplate 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.3.1.1 - snssaiEntry OBJECT-TYPE - SYNTAX SnssaiEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { snssaiIndex } - ::= { snssaiTable 1 } - - - SnssaiEntry ::= - SEQUENCE { - snssaiIndex - INTEGER, - snssaiName - OCTET STRING, - snssaiSupportedFeatures - INTEGER, - snssaiDefaultSNSSAIs - OCTET STRING, - snssaiSingleNssais - OCTET STRING, - snssaiRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.3.1.1.1 - snssaiIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { snssaiEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.3.1.1.2 - snssaiName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Label" - ::= { snssaiEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.3.1.1.3 - snssaiSupportedFeatures OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SupportedFeatures" - ::= { snssaiEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.3.1.1.4 - snssaiDefaultSNSSAIs OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DefaultSNSSAIs" - ::= { snssaiEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.3.1.1.5 - snssaiSingleNssais OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SingleNSSAIs" - ::= { snssaiEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.3.1.1.6 - snssaiRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { snssaiEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.4 - forbiddenAreasTemplate OBJECT IDENTIFIER ::= { parameter 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.4.1 - arfbTable OBJECT-TYPE - SYNTAX SEQUENCE OF ArfbEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { forbiddenAreasTemplate 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.4.1.1 - arfbEntry OBJECT-TYPE - SYNTAX ArfbEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { arfbIndex } - ::= { arfbTable 1 } - - - ArfbEntry ::= - SEQUENCE { - arfbIndex - INTEGER, - arfbName - OCTET STRING, - arfbTACs - OCTET STRING, - arfbAreaCodes - OCTET STRING, - arfbRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.4.1.1.1 - arfbIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { arfbEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.4.1.1.2 - arfbName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Label" - ::= { arfbEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.4.1.1.3 - arfbTACs OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:TACs" - ::= { arfbEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.4.1.1.4 - arfbAreaCodes OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:AreaCodes" - ::= { arfbEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.4.1.1.5 - arfbRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { arfbEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5 - serviceAreaRestrictionTemplate OBJECT IDENTIFIER ::= { parameter 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5.1 - sarTable OBJECT-TYPE - SYNTAX SEQUENCE OF SarEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { serviceAreaRestrictionTemplate 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5.1.1 - sarEntry OBJECT-TYPE - SYNTAX SarEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { sarIndex } - ::= { sarTable 1 } - - - SarEntry ::= - SEQUENCE { - sarIndex - INTEGER, - sarName - OCTET STRING, - sarRestrictionType - INTEGER, - sarTACs - OCTET STRING, - sarAreaCodes - OCTET STRING, - sarMaxTAs - INTEGER, - sarRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5.1.1.1 - sarIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { sarEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5.1.1.2 - sarName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Label" - ::= { sarEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5.1.1.3 - sarRestrictionType OBJECT-TYPE - SYNTAX INTEGER - { - allowedAreas(0), - notAllowedAreas(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:RestrictionType" - ::= { sarEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5.1.1.4 - sarTACs OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:TACs" - ::= { sarEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5.1.1.5 - sarAreaCodes OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:AreaCodes" - ::= { sarEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5.1.1.6 - sarMaxTAs OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:MaxTAs" - ::= { sarEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.5.1.1.7 - sarRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sarEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6 - subsSmfSelectionTemplate OBJECT IDENTIFIER ::= { parameter 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1 - smfselTable OBJECT-TYPE - SYNTAX SEQUENCE OF SmfselEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { subsSmfSelectionTemplate 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1 - smfselEntry OBJECT-TYPE - SYNTAX SmfselEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { smfselIndex } - ::= { smfselTable 1 } - - - SmfselEntry ::= - SEQUENCE { - smfselIndex - INTEGER, - smfselName - OCTET STRING, - smfselSNSSAI - OCTET STRING, - smfselDnnName - OCTET STRING, - smfselDefaultDnnInd - INTEGER, - smfselLboRoamingAllowed - INTEGER, - smfselIwkEpsInd - INTEGER, - smfselLadnIndicator - INTEGER, - smfselRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1.1 - smfselIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { smfselEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1.2 - smfselName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Label" - ::= { smfselEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1.3 - smfselSNSSAI OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:SNSSAI" - ::= { smfselEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1.4 - smfselDnnName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Dnn" - ::= { smfselEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1.5 - smfselDefaultDnnInd OBJECT-TYPE - SYNTAX INTEGER - { - false(0), - true(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:DefaultDnnInd" - ::= { smfselEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1.6 - smfselLboRoamingAllowed OBJECT-TYPE - SYNTAX INTEGER { false(0) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:LBO Roaming Allowed" - ::= { smfselEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1.7 - smfselIwkEpsInd OBJECT-TYPE - SYNTAX INTEGER - { - false(0), - true(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Iwk EPS Ind" - ::= { smfselEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1.8 - smfselLadnIndicator OBJECT-TYPE - SYNTAX INTEGER - { - false(0), - true(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:LADN Ind" - ::= { smfselEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.6.1.1.9 - smfselRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { smfselEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7 - dnnConf OBJECT IDENTIFIER ::= { parameter 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1 - dnnTable OBJECT-TYPE - SYNTAX SEQUENCE OF DnnEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { dnnConf 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1 - dnnEntry OBJECT-TYPE - SYNTAX DnnEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { dnnIndex } - ::= { dnnTable 1 } - - - DnnEntry ::= - SEQUENCE { - dnnIndex - INTEGER, - dnnName - OCTET STRING, - dnnDefaultPDUSessionType - INTEGER, - dnnAllowedPDUSessionTypes - OCTET STRING, - dnnDefaultSSCmode - INTEGER, - dnnAllowedSSCmodes - OCTET STRING, - dnnInterworkingEPSIndicator - INTEGER, - dnnLADNIndicator - INTEGER, - dnn5GSSubscribedQoSprofile - OCTET STRING, - dnnChargingCharacteristics - OCTET STRING, - dnnSubscribedSessionAmbrUL - OCTET STRING, - dnnSubscribedSessionAmbrDL - OCTET STRING, - dnnStaticIPAddress - OCTET STRING, - dnnUserPlaneSecurityPolicy - OCTET STRING, - dnnRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.1 - dnnIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { dnnEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.2 - dnnName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Dnn" - ::= { dnnEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.3 - dnnDefaultPDUSessionType OBJECT-TYPE - SYNTAX INTEGER - { - ipv4(0), - ipv6(1), - ipv4v6(2), - ethernet(3), - unstruction(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Default PDU Session Type" - ::= { dnnEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.4 - dnnAllowedPDUSessionTypes OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Allowed PDU Session Types" - ::= { dnnEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.5 - dnnDefaultSSCmode OBJECT-TYPE - SYNTAX INTEGER - { - sscMode1(0), - sscMode2(1), - sscMode3(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Default SSC Mode" - ::= { dnnEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.6 - dnnAllowedSSCmodes OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Allowed SSC Modes" - ::= { dnnEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.7 - dnnInterworkingEPSIndicator OBJECT-TYPE - SYNTAX INTEGER - { - false(0), - true(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Interworking EPS Indicator" - ::= { dnnEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.8 - dnnLADNIndicator OBJECT-TYPE - SYNTAX INTEGER - { - false(0), - true(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:LADN Indicator" - ::= { dnnEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.9 - dnn5GSSubscribedQoSprofile OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:5GS Qos Profile" - ::= { dnnEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.10 - dnnChargingCharacteristics OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Charging Characteristics" - ::= { dnnEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.11 - dnnSubscribedSessionAmbrUL OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { dnnEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.12 - dnnSubscribedSessionAmbrDL OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { dnnEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.13 - dnnStaticIPAddress OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { dnnEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.14 - dnnUserPlaneSecurityPolicy OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { dnnEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.7.1.1.15 - dnnRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { dnnEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8 - qosProfile OBJECT IDENTIFIER ::= { parameter 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1 - qosTable OBJECT-TYPE - SYNTAX SEQUENCE OF QosEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { qosProfile 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1 - qosEntry OBJECT-TYPE - SYNTAX QosEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { qosIndex } - ::= { qosTable 1 } - - - QosEntry ::= - SEQUENCE { - qosIndex - INTEGER, - qosName - OCTET STRING, - qos5qi - INTEGER, - qosNonDynamic5QiPriorityLevel - INTEGER, - qosNonDynamic5QiAverWindow - INTEGER, - qosNonDynamic5QiMaxDataBurstVol - INTEGER, - qosDynamic5QiResourceType - INTEGER, - qosDynamic5QiPriorityLevel - INTEGER, - qosDynamic5QiPacketDelayBudget - INTEGER, - qosDynamic5QiPacketErrRate - OCTET STRING, - qosDynamic5QiAverWindow - INTEGER, - qosDynamic5QiMaxDataBurstVol - INTEGER, - qosArpPriorityLevel - INTEGER, - qosArpPreemptCap - INTEGER, - qosArpPreemptionVuln - INTEGER, - qosRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.1 - qosIndex OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index" - ::= { qosEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.2 - qosName OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Label" - ::= { qosEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.3 - qos5qi OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:5Qi" - ::= { qosEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.4 - qosNonDynamic5QiPriorityLevel OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Priority Level" - ::= { qosEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.5 - qosNonDynamic5QiAverWindow OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { qosEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.6 - qosNonDynamic5QiMaxDataBurstVol OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { qosEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.7 - qosDynamic5QiResourceType OBJECT-TYPE - SYNTAX INTEGER - { - nonGBR(0), - nonCriticalGBR(1), - criticalGBR(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { qosEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.8 - qosDynamic5QiPriorityLevel OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { qosEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.9 - qosDynamic5QiPacketDelayBudget OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { qosEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.10 - qosDynamic5QiPacketErrRate OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { qosEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.11 - qosDynamic5QiAverWindow OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { qosEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.12 - qosDynamic5QiMaxDataBurstVol OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { qosEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.13 - qosArpPriorityLevel OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:ARP Priority" - ::= { qosEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.14 - qosArpPreemptCap OBJECT-TYPE - SYNTAX INTEGER - { - notPreempt(0), - mayPreempt(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:PreemptCap" - ::= { qosEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.15 - qosArpPreemptionVuln OBJECT-TYPE - SYNTAX INTEGER - { - notPreemptable(0), - preemptable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:PreemptionVuln" - ::= { qosEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.53.2.8.1.1.16 - qosRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { qosEntry 16 } - - - - END - --- --- LGC-SS-UDM-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-VLR-MIB.my b/omc/bin/mib/LGC-SS-VLR-MIB.my deleted file mode 100644 index d0c09a6..0000000 --- a/omc/bin/mib/LGC-SS-VLR-MIB.my +++ /dev/null @@ -1,557 +0,0 @@ --- --- LGC-SS-VLR-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, March 08, 2013 at 11:24:05 --- - - LGC-SS-VLR-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS - FROM LGC-MIB - Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.2 - vlr MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 2 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.2.2 - parameter OBJECT IDENTIFIER ::= { vlr 2 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.2.2.2 - management OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1 - version OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Version - Remark:(Read Only) Version of VLR software." - ::= { management 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2 - status OBJECT-TYPE - SYNTAX INTEGER - { - abnormal(0), - normal(1) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Name:Status - Remark:(Read Only) The current status of VLR." - ::= { management 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3 - command OBJECT-TYPE - SYNTAX INTEGER { resetVLR(0) } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { management 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1 - authentication OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Update Location[u]00.0-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable (Power On) - [v]3[opt]Enable (All) - [unit]MO[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]MT[u]00.3-00.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Reserved[u]00.4-00.7[u]input - [v]toDec-high-0 - [remark] - Enable or disable authentication of the SIM in the mobile. Need AUC support. - - Location Update: - - Power On means only the initial Location Update will be authenticated. - - All Location Update Authentication means all location update processes will be authenticated. - - MO Call: - - MO Authentication ON means authentication is necessary when making a Mobile Originating call. - - MT Call: - - MT Authentication ON means authentication is necessary when making a Mobile Terminating call." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2 - reuseTriplets OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Reuse Triplets[u]00.0-00.0[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Double Authentication[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Reserved[u]00.2-00.7[u]input - [v]toDec-high-0 - [remark] - Reuse Triplets: - - Setting this parameter permits a mobile to reuse triplets previously assigned to it by the system. - - Double Authentication: - - Enable this parameter to force the system to perform a second authentication processes when the initial authentication fails." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.3 - ciphering OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Ciphering - Remark:Setting this parameter forces the mobile to use ciphering over the air interface." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4 - cipherAlgorithm OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]No encryption[u]00.0-00.0[u]select - [v]0[opt]Not permitted - [v]1[opt]Permitted - [unit]GSM A5/1[u]00.1-00.1[u]select - [v]0[opt]Not permitted - [v]1[opt]Permitted - [unit]GSM A5/2[u]00.2-00.2[u]select - [v]0[opt]Not permitted - [v]1[opt]Permitted - [unit]GSM A5/3[u]00.3-00.3[u]select - [v]0[opt]Not permitted - [v]1[opt]Permitted - [unit]GSM A5/4[u]00.4-00.4[u]select - [v]0[opt]Not permitted - [v]1[opt]Permitted - [unit]GSM A5/5[u]00.5-00.5[u]select - [v]0[opt]Not permitted - [v]1[opt]Permitted - [unit]GSM A5/6[u]00.6-00.6[u]select - [v]0[opt]Not permitted - [v]1[opt]Permitted - [unit]GSM A5/7[u]00.7-00.7[u]select - [v]0[opt]Not permitted - [v]1[opt]Permitted - [remark] - Select ciphering algorithm from the drop-down menu." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.5 - tMSIAllocation OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - allocateTMSI(1), - reallocateTMSI(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:TMSI Allocation - Remark:Allocate TMSI forces the system to allocate a TMSI only the first time a call management service is requested.
Reallocate TMSI forces the system to allocate a new TMSI every time a call management service is requested." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.6 - oSBDefinition OBJECT-TYPE - SYNTAX INTEGER - { - Disable(0), - Dis-CA(1), - CA-Dis(2), - Dis-CB(3), - CB-Dis(4), - CA-CA(5), - CA-CB(6), - CB-CA(7), - CB-CB(8) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OSB Definition - Remark:These options allow the operator to set whether a call is allowed or barred:

If this option is set to call allow, the call with the called number matched the dialing prefix with the OSB attribute enabled will be allowed to pass through, all other calls will be barred.

If it is set to call bar, the call with the destination number matching the dialing prefix defined with the OSB attribute enabled will be barred while all other calls will be allowed." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.7 - eCSetupAllowed OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:EC Setup Allowed - Remark:Setting this parameter allows a non-registered mobile or a mobile with no SIM to make emergency calls." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.8 - iMEIVerification OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Location Update[u]00.0-00.0[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]MO[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]MT[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Spare[u]00.3-00.7[u]input - [v]toDec-high-0 - [remark] - Enable or disable mobile equipment identity. Need EIR support. - - Location Update: - - Setting this parameter forces the system to validate mobile equipment identity in Location Update processes. - - MO Call: - - Setting this parameter forces the system to validate mobile equipment identity when making a Mobile Originating call. - - MT Call: - - Setting this parameter forces the system to validate mobile equipment identity when making a Mobile Terminating call." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.9 - vLRPurge OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:VLR Purge - Remark:Enable or disable the VLR Purging feature. When this feature is on, the system purges numbers from the VLR when they have been idle for the amount of time specified in the Idle Period to Purge fields." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.10 - idlePeriodToPurge OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Idle Period to Purge - Remark:This field determines how long a VLR entry can remain idle before the system purges it.

- Range = 1 - 65535 minutes" - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.11 - cDRFlag OBJECT-TYPE - SYNTAX INTEGER - { - off(0), - on(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable Call Detail Record generation of VLR." - ::= { system 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.12 - updateHLROption OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Normal LU[u]00.0-00.0[u]select - [v]0[opt]No Request - [v]1[opt]Request - [unit]Periodic LU[u]00.1-00.1[u]select - [v]0[opt]No Request - [v]1[opt]Request - [unit]IMSI Attach[u]00.2-00.2[u]select - [v]0[opt]No Request - [v]1[opt]Request - [unit]Reserved[u]00.3-00.7[u]input - [v]toDec-high-0 - [remark] - Normal Location Update: - - Setting this parameter forces VLR to update subscriber data from HLR in normal location update processes. - - Periodic Location Update: - - Setting this parameter forces VLR to update subscriber data from HLR in periodic location update processes. - - IMSI Attach: - - Setting this parameter forces VLR to update subscriber data from HLR in IMSI attach processes." - ::= { system 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.13 - mSRNStart OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MSRN Start - Remark:The beginning of the MSRN range." - ::= { system 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.14 - mSRNEnd OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:MSRN End - Remark:The end of the MSRN range." - ::= { system 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.15 - oPRFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPR Flag - Remark:Enable or disable OPR service." - ::= { system 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.16 - iMDXFlag OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IMDX Flag - Remark:Enable or disable IMDX service." - ::= { system 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.17 - iMSIPrefixForOPPS OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (5)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IMSI Prefix for OPPS - Remark:OPPS substitutes the IMSI prefix (MCC+MNC) of the inbound OPPS users by the predefined pseudo IMSI prefix for HLR routing purpose. It should be different from the IMSI prefix of the local network or any other roaming partners' networks." - ::= { system 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.18 - defaultPriority OBJECT-TYPE - SYNTAX INTEGER - { - noPriority(0), - callPriorityLevel4(1), - callPriorityLevel3(2), - callPriorityLevel2(3), - callPriorityLevel1(4), - callPriorityLevel0(5), - callPriorityLevelB(6), - callPriorityLevelA(7) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Default Priority - Remark:Default Priority." - ::= { system 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.19 - odbBoicSmsAllowed OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:ODB BOIC SMS Barring - Remark:Enable or disable barring International SMS (or International SMS except to HPLMN) when ODB BOIC (or ODB BOIC-exHPLMN) is checked." - ::= { system 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.20 - nRI OBJECT-TYPE - SYNTAX INTEGER (0..1023) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NRI (Network Resource Identifier) - Remark:is introduced to perform the MSC/VLR routing functionality on BSC side. Each MSC/VLR in the pool area has a dedicated NRI number. NRI is included in TMSI, value is 0~1023" - ::= { system 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.21 - nRILen OBJECT-TYPE - SYNTAX INTEGER (0..10) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NRI (Network Resource Identifier) Length - Remark:length is 0~10 bits." - ::= { system 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.3 - csta OBJECT IDENTIFIER ::= { vlr 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.3.1 - cstaDataOid OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { csta 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.4 - cdr OBJECT IDENTIFIER ::= { vlr 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.4.1 - cdrHeadOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { cdr 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.4.2 - cdrTailOid OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { cdr 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.2.4.3 - cdrDataOid OBJECT-TYPE - SYNTAX OCTET STRING - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Description." - ::= { cdr 3 } - - - - END - --- --- LGC-SS-VLR-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-VMS-MIB.my b/omc/bin/mib/LGC-SS-VMS-MIB.my deleted file mode 100644 index 4f176cc..0000000 --- a/omc/bin/mib/LGC-SS-VMS-MIB.my +++ /dev/null @@ -1,3877 +0,0 @@ --- --- LGC-SS-VMS-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, September 23, 2010 at 15:19:37 --- - - LGC-SS-VMS-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, RowStatus, DisplayString - FROM LGC-MIB - Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.3.9 - vms MODULE-IDENTITY - LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "lcrd - lcrdsupport@lgcwireless.com" - DESCRIPTION - "Description." - REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT - DESCRIPTION - "This is the first release version of the MSC MIB" - ::= { application 9 } - - - --- --- Type definitions --- - - AvailStateChoices ::= INTEGER - { - inTest(0), - failed(1), - powerOff(2), - offLine(3), - onLine(4), - dependency(5), - degraded(6), - notInstalled(7) - } - - - --- --- Node definitions --- - --- Node definitions --- --- The MIB module for WXC2. --- 1.3.6.1.4.1.1373.1.3 - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - --- 1.3.6.1.4.1.1373.1.3.3 - -- 1.3.6.1.4.1.1373.2.3.3 - application OBJECT IDENTIFIER ::= { wxc2 3 } - - --- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.9.2 - parameter OBJECT IDENTIFIER ::= { vms 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.1 - cC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:CC - Remark:Country Code. The code that identifies the country's network." - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.2 - nDC OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NDC - Remark:Network Destination Code. Define the national calling area or national network to which the subscriber belongs." - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.3 - vMSNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:VMS Number - Remark:Define the MSISDN and service numbers for voicemail server. This number is used to route notification short message." - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.4 - serviceNumberForPLMN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PLMN Service Number - Remark:Define the service numbers for voicemail server. All numbers must include CC and NDC. Multiple VMS servers may use the same VMS MSISDN but different Service Numbers.
This service number is for the requests from local network. Subscriber dials this dedicated number to enter his mailbox or leave message to other subscribers." - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.5 - serviceNumberForPSTN OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:PSTN Service Number - Remark:This service number is for the requests from PSTN. Subscriber dials this dedicated number from PSTN to access voicemail system. Inputs the mailbox number (MSISDN) and password (if password enabled) according to the system prompt to. After the verification the subscriber may enter his mailbox or leave message to other subscribers." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.6 - leaveMessageNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Leave Message Number - Remark:Dedicated service number for directly leaving message. Subscriber dials this number from either PSTN or local network to leave message to system subscribers." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.7 - checkMessageNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Dedicated service number for directly checking inbox message. Subscriber dials this number from either PSTN or local network to check his inbox message." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.8 - internationalPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:International Prefix - Remark:A digit or combination of digits used by a subscriber when making an international call. The international prefix is used to indicate that the following digits represent an international number and should be routed to an international gateway." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.9 - nationalPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:National Prefix - Remark:A digit or combination of digits used by a subscriber when calling a national destination (within the country) other than that of the local area network." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.10 - greetNumModify OBJECT-TYPE - SYNTAX INTEGER - { - sub(0), - NDD(1), - IDD(2), - unknownLocal(3), - unknownNDD(4), - unknownIDD(5) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Greeting Number Modification - Remark:It determines the Number Attribute Identity of the host number which will be announced to the visitors in the greeting announcement.

- Sub = Unknown(Sub) = SN
- NDD = NDC+SN
- IDD = +CC+NDC+SN
- Unknown(NDD) = Nat Prefix+NDC+SN
- Unknown(IDD) = Int Prefix+CC+NDC+SN" - ::= { system 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.11 - ringBackNumModify OBJECT-TYPE - SYNTAX INTEGER - { - sub(0), - NDD(1), - IDD(2), - unknownLocal(3), - unknownNDD(4), - unknownIDD(5) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Ringback Number Modification - Remark:It determines the NAI (Number Attribute Identity) of the host number which will be sent as the calling number in the direct ringback ISUP messages." - ::= { system 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.12 - linkType OBJECT-TYPE - SYNTAX INTEGER - { - e1(0), - t1(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Link Type - Remark:Type of the VMS links." - ::= { system 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.13 - codecType OBJECT-TYPE - SYNTAX INTEGER - { - u-law(0), - fr(3), - a-law(8), - g-729(18), - amr4-75(64), - amr5-15(65), - amr5-9(66), - amr6-7(67), - amr7-4(68), - amr7-95(69), - amr10-2(70), - amr12-2(71), - efr(84), - g-729b(118) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Codec Type - Remark:Codec (compression/decompression) algorithm of the VMS." - ::= { system 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.14 - saveProfileCommand OBJECT-TYPE - SYNTAX INTEGER - { - saveUserProfiles(2), - saveCodec(3), - loadCodec(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Description." - ::= { system 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.15 - import OBJECT-TYPE - SYNTAX Opaque (SIZE (7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Command[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Sending Command - [v]2[opt]In Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total Numbers[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Success Numbers[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { system 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.1.16 - maxLicense OBJECT-TYPE - SYNTAX INTEGER - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Hidden Flag:Yes - OPAQUE DECODE RULE: - [unit]Command[u]00.0-00.7[u]select - [v]0[opt]Idle - [v]1[opt]Sending Command - [v]2[opt]In Processing - [v]3[opt]Succeeded - [v]4[opt]Failed - [unit]Total Numbers[u]01.0-03.7[u]input - [v]toDec-high-0 - [unit]Success Numbers[u]04.0-06.7[u]input - [v]toDec-high-0" - ::= { system 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.2 - trunk OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.2.1 - networkIndicator OBJECT-TYPE - SYNTAX INTEGER - { - international(0), - internationalSpare(1), - national(2), - nationalSpare(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NI - Remark:Network Indicator. Specify the VMS to a network. Choose the same network as MTP3 setting." - ::= { trunk 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.2.2 - dPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:DPC - Remark:Point Code of MSC." - ::= { trunk 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.2.3 - oPC OBJECT-TYPE - SYNTAX INTEGER (0..16777215) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:OPC - Remark:Assign a unique decimal Point Code to VMS." - ::= { trunk 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.2.4 - cIC OBJECT-TYPE - SYNTAX Opaque (SIZE (8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Link 0[u]00.0-00.7[u]input - [v]toDec-high-0 - [unit]Link 1[u]01.0-01.7[u]input - [v]toDec-high-0 - [unit]Link 2[u]02.0-02.7[u]input - [v]toDec-high-0 - [unit]Link 3[u]03.0-03.7[u]input - [v]toDec-high-0 - [unit]Link 4[u]04.0-04.7[u]input - [v]toDec-high-0 - [unit]Link 5[u]05.0-05.7[u]input - [v]toDec-high-0 - [unit]Link 6[u]06.0-06.7[u]input - [v]toDec-high-0 - [unit]Link 7[u]07.0-07.7[u]input - [v]toDec-high-0 - [remark] - Specify the beginning Circuit ID Code of each trunk. Support up to 8 BICC trunks. - CIC = 32 x n + 1 ( n = Link No. )" - ::= { trunk 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.2.5 - circuitSelection OBJECT-TYPE - SYNTAX INTEGER - { - clockwise(0), - anti-clockwise(1), - odd(2), - even(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Circuit Selection - Remark:Circuit selection mode of the traffic channel connections." - ::= { trunk 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.2.6 - circuitDelay OBJECT-TYPE - SYNTAX INTEGER - { - withoutDelay(0), - oneSecond(1), - twoSeconds(2), - threeSeconds(3), - fourSeconds(4), - fiveSeconds(5) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Circuit Delay - Remark:Define the interval between sending ACM and ANM messages.

- Range = 0 - 5 seconds" - ::= { trunk 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.3 - mailbox OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.3.1 - minMessageLength OBJECT-TYPE - SYNTAX INTEGER - { - unlimited(0), - oneSecond(1), - twoSeconds(2), - threeSeconds(3), - fourSeconds(4), - fiveSeconds(5) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Min Message Length - Remark:Define the minimum length of a voicemail message. Any voicemail less than preset minimum length will not be recorded and sent to mailbox host." - ::= { mailbox 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.3.2 - maxMessageLength OBJECT-TYPE - SYNTAX INTEGER - { - twentySeconds(20), - thirtySeconds(30), - fortySeconds(40), - sixtySeconds(60), - eightySeconds(80), - oneHundredSeconds(100), - twoMinutes(120) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Max Message Length - Remark:Define the maximum length of a voicemail message. The surplus part of the voicemail will be ignored." - ::= { mailbox 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.3.3 - newMessageRetention OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:New Message Validity - Remark:Specify the storage period of an inbox new(unread) message. The message will be deleted after this period. Unit is day." - ::= { mailbox 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.3.4 - savedMessageRetention OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Saved Message Validity - Remark:Specify the storage period of an inbox saved message. The message will be deleted after this period." - ::= { mailbox 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.3.5 - messagePlayOrder OBJECT-TYPE - SYNTAX INTEGER - { - firstPlayNewMessage(0), - firstPlayOldMessage(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Message Play Order - Remark:Define the play sequence of the inbox messages." - ::= { mailbox 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.3.6 - passwordRetryTimes OBJECT-TYPE - SYNTAX INTEGER (1..5) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Password Retry Times - Remark:VMS will refuse the access request after the password attempt times reaches this preset value.

- Range = 1 - 5" - ::= { mailbox 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.3.7 - keyPressTimeout OBJECT-TYPE - SYNTAX INTEGER (5..30) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Key-press Timeout - Remark:Timeout for the interval between two continuous key-press. If the interval is longer than the preset timer, the system will regard that the digit collection (key-press) is completed.

- Range = 5 - 30 seconds" - ::= { mailbox 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4 - cLIModification OBJECT IDENTIFIER ::= { parameter 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4.1 - cLIModificationTable OBJECT-TYPE - SYNTAX SEQUENCE OF CLIModificationEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { cLIModification 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4.1.1 - cLIModificationEntry OBJECT-TYPE - SYNTAX CLIModificationEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { nmIndex } - ::= { cLIModificationTable 1 } - - - CLIModificationEntry ::= - SEQUENCE { - nmIndex - INTEGER, - nmPrefix - OCTET STRING, - nmOriginalNAI - INTEGER, - nmDelNum - INTEGER, - nmInsertDigits - OCTET STRING, - nmModifiedNAI - INTEGER, - nmRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4.1.1.1 - nmIndex OBJECT-TYPE - SYNTAX INTEGER (0..31) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number ranges from 0 to 31." - ::= { cLIModificationEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4.1.1.2 - nmPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:The initial digits of the caller number. This number may be any number from PSTN or PLMN." - ::= { cLIModificationEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4.1.1.3 - nmOriginalNAI OBJECT-TYPE - SYNTAX INTEGER - { - subscriber(1), - unknown(2), - national(3), - international(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Original NAI - Remark:Original Number Attribute Identity of the caller numbers beginning with this prefix." - ::= { cLIModificationEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4.1.1.4 - nmDelNum OBJECT-TYPE - SYNTAX INTEGER (0..15) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Deletion Count - Remark:The amount of digits to be deleted from the beginning of the calling number.
- Range = 0 - 16" - ::= { cLIModificationEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4.1.1.5 - nmInsertDigits OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..15)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Inserted Digits - Remark:The digits to be added to the front of the calling number. Numeric max 16 digits." - ::= { cLIModificationEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4.1.1.6 - nmModifiedNAI OBJECT-TYPE - SYNTAX INTEGER - { - subscriber(1), - unknown(2), - national(3), - international(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Modified NAI - Remark:Number Attribute Identity of the caller number after manipulation." - ::= { cLIModificationEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.4.1.1.7 - nmRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cLIModificationEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5 - sMSNotification OBJECT IDENTIFIER ::= { parameter 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.1 - newMessageTable OBJECT-TYPE - SYNTAX SEQUENCE OF NewMessageEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotification 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.1.1 - newMessageEntry OBJECT-TYPE - SYNTAX NewMessageEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { newmIndex } - ::= { newMessageTable 1 } - - - NewMessageEntry ::= - SEQUENCE { - newmIndex - INTEGER, - newmTitle - DisplayString, - newmCoding - INTEGER, - newmPreceding - DisplayString, - newmFollowing - OCTET STRING, - newmRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.1.1.1 - newmIndex OBJECT-TYPE - SYNTAX INTEGER (0..4) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number ranges from 0 to 4. Define the notification short message contents for a new voicemail message." - ::= { newMessageEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.1.1.2 - newmTitle OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..12)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Message name for identification purpose only." - ::= { newMessageEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.1.1.3 - newmCoding OBJECT-TYPE - SYNTAX INTEGER - { - sevenBit(0), - eightBit(4), - unicode(8) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Coding Type - Remark:The coding scheme must be consistent with the SMPP setting." - ::= { newMessageEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.1.1.4 - newmPreceding OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..47)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Front Part - Remark:Enter the contents of the first half of notification short message, which is seperated by caller number.

- Default = You got a new voice mail from" - ::= { newMessageEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.1.1.5 - newmFollowing OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..47)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Rear Part - Remark:Enter the contents of the second half of notification short message, which is seperated by caller number.

- Default = . Please dial xxx to check." - ::= { newMessageEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.1.1.6 - newmRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { newMessageEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.2 - unansweredCallCLITable OBJECT-TYPE - SYNTAX SEQUENCE OF UnansweredCallCLIEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotification 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.2.1 - unansweredCallCLIEntry OBJECT-TYPE - SYNTAX UnansweredCallCLIEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "level:1" - INDEX { uaccIndex } - ::= { unansweredCallCLITable 1 } - - - UnansweredCallCLIEntry ::= - SEQUENCE { - uaccIndex - INTEGER, - uaccTitle - DisplayString, - uaccCoding - INTEGER, - uaccPreceding - DisplayString, - uaccPost - OCTET STRING, - uaccRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.2.1.1 - uaccIndex OBJECT-TYPE - SYNTAX INTEGER (0..4) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number ranges from 0 to 4. Define the notification short message contents for an unanswered incoming call with caller number." - ::= { unansweredCallCLIEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.2.1.2 - uaccTitle OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..12)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Message name for identification purpose only." - ::= { unansweredCallCLIEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.2.1.3 - uaccCoding OBJECT-TYPE - SYNTAX INTEGER - { - sevenBit(0), - eightBit(4), - unicode(8) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Coding Type - Remark:The coding scheme must be consistent with the SMPP setting." - ::= { unansweredCallCLIEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.2.1.4 - uaccPreceding OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..47)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Front Part - Remark:Enter the contents of the first half of notification short message, which is seperated by caller number.

- Default = You got a missed call from" - ::= { unansweredCallCLIEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.2.1.5 - uaccPost OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..47)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Rear Part - Remark:Enter the contents of the second half of notification short message, which is seperated by caller number.

- Default = ." - ::= { unansweredCallCLIEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.2.1.6 - uaccRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { unansweredCallCLIEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.3 - mailboxFullTable OBJECT-TYPE - SYNTAX SEQUENCE OF MailboxFullEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotification 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.3.1 - mailboxFullEntry OBJECT-TYPE - SYNTAX MailboxFullEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { fmbIndex } - ::= { mailboxFullTable 1 } - - - MailboxFullEntry ::= - SEQUENCE { - fmbIndex - INTEGER, - fmbTitle - DisplayString, - fmbCoding - INTEGER, - fmbPreceding - DisplayString, - fmbFollowing - DisplayString, - fmbRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.3.1.1 - fmbIndex OBJECT-TYPE - SYNTAX INTEGER (0..4) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number ranges from 0 to 4. Define the notification short message contents for an overload mailbox. The notification will be sent to the host when receiving a new message but the mailbox is full." - ::= { mailboxFullEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.3.1.2 - fmbTitle OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..12)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Message name for identification purpose only." - ::= { mailboxFullEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.3.1.3 - fmbCoding OBJECT-TYPE - SYNTAX INTEGER - { - sevenBit(0), - eightBit(4), - unicode(8) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Coding Type - Remark:The coding scheme must be consistent with the SMPP setting." - ::= { mailboxFullEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.3.1.4 - fmbPreceding OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..47)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Front Part - Remark:Enter the contents of the first half of notification short message, which is seperated by caller number.

- Default = Your mailbox is full." - ::= { mailboxFullEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.3.1.5 - fmbFollowing OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..47)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Rear Part - Remark:Enter the contents of the second half of notification short message, which is seperated by caller number.

- Default = tried to call you." - ::= { mailboxFullEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.3.1.6 - fmbRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { mailboxFullEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.4 - unansweredCallNoCLITable OBJECT-TYPE - SYNTAX SEQUENCE OF UnansweredCallNoCLIEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { sMSNotification 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.4.1 - unansweredCallNoCLIEntry OBJECT-TYPE - SYNTAX UnansweredCallNoCLIEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { uacncIndex } - ::= { unansweredCallNoCLITable 1 } - - - UnansweredCallNoCLIEntry ::= - SEQUENCE { - uacncIndex - INTEGER, - uacncTitle - OCTET STRING, - uacncCoding - INTEGER, - uacncPreceding - OCTET STRING, - uacncRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.4.1.1 - uacncIndex OBJECT-TYPE - SYNTAX INTEGER (0..4) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index number ranges from 0 to 4. Define the notification short message contents for an unanswered incoming call without caller number." - ::= { unansweredCallNoCLIEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.4.1.2 - uacncTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..12)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Message name for identification purpose only." - ::= { unansweredCallNoCLIEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.4.1.3 - uacncCoding OBJECT-TYPE - SYNTAX INTEGER - { - sevenBit(0), - eightBit(4), - unicode(8) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Coding Type - Remark:The coding scheme must be consistent with the SMPP setting." - ::= { unansweredCallNoCLIEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.4.1.4 - uacncPreceding OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..95)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Contents - Remark:Enter the contents of the notification short message.

- Default = You got a missed call." - ::= { unansweredCallNoCLIEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.5.4.1.5 - uacncRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { unansweredCallNoCLIEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6 - voiceGroup OBJECT IDENTIFIER ::= { parameter 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1 - publicTable OBJECT-TYPE - SYNTAX SEQUENCE OF PublicEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { voiceGroup 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1 - publicEntry OBJECT-TYPE - SYNTAX PublicEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { pvgIndex } - ::= { publicTable 1 } - - - PublicEntry ::= - SEQUENCE { - pvgIndex - INTEGER, - pvgUnit0 - OCTET STRING, - pvgUnit1 - OCTET STRING, - pvgUnit2 - OCTET STRING, - pvgUnit3 - OCTET STRING, - pvgUnit4 - OCTET STRING, - pvgUnit5 - OCTET STRING, - pvgUnit6 - OCTET STRING, - pvgUnit7 - OCTET STRING, - pvgUnit8 - OCTET STRING, - pvgUnit9 - OCTET STRING, - pvgUnit10 - OCTET STRING, - pvgUnit11 - OCTET STRING, - pvgUnit12 - OCTET STRING, - pvgUnit13 - OCTET STRING, - pvgUnit14 - OCTET STRING, - pvgUnit15 - OCTET STRING, - pvgUnit16 - OCTET STRING, - pvgUnit17 - OCTET STRING, - pvgUnit18 - OCTET STRING, - pvgUnit19 - OCTET STRING, - pvgUnit20 - OCTET STRING, - pvgUnit21 - OCTET STRING, - pvgUnit22 - OCTET STRING, - pvgUnit23 - OCTET STRING, - pvgUnit24 - OCTET STRING, - pvgUnit25 - OCTET STRING, - pvgUnit26 - OCTET STRING, - pvgUnit27 - OCTET STRING, - pvgUnit28 - OCTET STRING, - pvgUnit29 - OCTET STRING, - pvgUnit30 - OCTET STRING, - pvgUnit31 - OCTET STRING, - pvgRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.1 - pvgIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Voice group index number ranges from 0 to 31." - ::= { publicEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.2 - pvgUnit0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 0 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.3 - pvgUnit1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 1 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.4 - pvgUnit2 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 2 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.5 - pvgUnit3 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 3 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.6 - pvgUnit4 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 4 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.7 - pvgUnit5 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 5 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.8 - pvgUnit6 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 6 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.9 - pvgUnit7 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 7 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.10 - pvgUnit8 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 8 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.11 - pvgUnit9 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 9 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.12 - pvgUnit10 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 10 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.13 - pvgUnit11 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 11 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.14 - pvgUnit12 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 12 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.15 - pvgUnit13 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 13 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.16 - pvgUnit14 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 14 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.17 - pvgUnit15 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 15 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.18 - pvgUnit16 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 16 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.19 - pvgUnit17 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 17 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.20 - pvgUnit18 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 18 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.21 - pvgUnit19 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 19 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.22 - pvgUnit20 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 20 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.23 - pvgUnit21 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 21 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.24 - pvgUnit22 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 22 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.25 - pvgUnit23 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 23 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.26 - pvgUnit24 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 24 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.27 - pvgUnit25 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 25 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.28 - pvgUnit26 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 26 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.29 - pvgUnit27 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 27 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.30 - pvgUnit28 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 28 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.31 - pvgUnit29 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 29 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.32 - pvgUnit30 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 30 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.33 - pvgUnit31 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 31 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { publicEntry 33 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.1.1.34 - pvgRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { publicEntry 34 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2 - language0Table OBJECT-TYPE - SYNTAX SEQUENCE OF Language0Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { voiceGroup 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1 - language0Entry OBJECT-TYPE - SYNTAX Language0Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { lvgzeroIndex } - ::= { language0Table 1 } - - - Language0Entry ::= - SEQUENCE { - lvgzeroIndex - INTEGER, - lvgzeroUnit0 - OCTET STRING, - lvgzeroUnit1 - OCTET STRING, - lvgzeroUnit2 - OCTET STRING, - lvgzeroUnit3 - OCTET STRING, - lvgzeroUnit4 - OCTET STRING, - lvgzeroUnit5 - OCTET STRING, - lvgzeroUnit6 - OCTET STRING, - lvgzeroUnit7 - OCTET STRING, - lvgzeroUnit8 - OCTET STRING, - lvgzeroUnit9 - OCTET STRING, - lvgzeroUnit10 - OCTET STRING, - lvgzeroUnit11 - OCTET STRING, - lvgzeroUnit12 - OCTET STRING, - lvgzeroUnit13 - OCTET STRING, - lvgzeroUnit14 - OCTET STRING, - lvgzeroUnit15 - OCTET STRING, - lvgzeroUnit16 - OCTET STRING, - lvgzeroUnit17 - OCTET STRING, - lvgzeroUnit18 - OCTET STRING, - lvgzeroUnit19 - OCTET STRING, - lvgzeroUnit20 - OCTET STRING, - lvgzeroUnit21 - OCTET STRING, - lvgzeroUnit22 - OCTET STRING, - lvgzeroUnit23 - OCTET STRING, - lvgzeroUnit24 - OCTET STRING, - lvgzeroUnit25 - OCTET STRING, - lvgzeroUnit26 - OCTET STRING, - lvgzeroUnit27 - OCTET STRING, - lvgzeroUnit28 - OCTET STRING, - lvgzeroUnit29 - OCTET STRING, - lvgzeroUnit30 - OCTET STRING, - lvgzeroUnit31 - OCTET STRING, - lvgzeroRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.1 - lvgzeroIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index from 0 to 255." - ::= { language0Entry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.2 - lvgzeroUnit0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 0 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.3 - lvgzeroUnit1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 1 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.4 - lvgzeroUnit2 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 2 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.5 - lvgzeroUnit3 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 3 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.6 - lvgzeroUnit4 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 4 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.7 - lvgzeroUnit5 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 5 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.8 - lvgzeroUnit6 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 6 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.9 - lvgzeroUnit7 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 7 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.10 - lvgzeroUnit8 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 8 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.11 - lvgzeroUnit9 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 9 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.12 - lvgzeroUnit10 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 10 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.13 - lvgzeroUnit11 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 11 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.14 - lvgzeroUnit12 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 12 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.15 - lvgzeroUnit13 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 13 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.16 - lvgzeroUnit14 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 14 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.17 - lvgzeroUnit15 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 15 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.18 - lvgzeroUnit16 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 16 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.19 - lvgzeroUnit17 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 17 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.20 - lvgzeroUnit18 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 18 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.21 - lvgzeroUnit19 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 19 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.22 - lvgzeroUnit20 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 20 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.23 - lvgzeroUnit21 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 21 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.24 - lvgzeroUnit22 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 22 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.25 - lvgzeroUnit23 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 23 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.26 - lvgzeroUnit24 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 24 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.27 - lvgzeroUnit25 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 25 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.28 - lvgzeroUnit26 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 26 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.29 - lvgzeroUnit27 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 27 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.30 - lvgzeroUnit28 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 28 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.31 - lvgzeroUnit29 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 29 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.32 - lvgzeroUnit30 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 30 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.33 - lvgzeroUnit31 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 31 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language0Entry 33 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.2.1.34 - lvgzeroRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { language0Entry 34 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3 - language1Table OBJECT-TYPE - SYNTAX SEQUENCE OF Language1Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { voiceGroup 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1 - language1Entry OBJECT-TYPE - SYNTAX Language1Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { lvgoneIndex } - ::= { language1Table 1 } - - - Language1Entry ::= - SEQUENCE { - lvgoneIndex - INTEGER, - lvgoneUnit0 - OCTET STRING, - lvgoneUnit1 - OCTET STRING, - lvgoneUnit2 - OCTET STRING, - lvgoneUnit3 - OCTET STRING, - lvgoneUnit4 - OCTET STRING, - lvgoneUnit5 - OCTET STRING, - lvgoneUnit6 - OCTET STRING, - lvgoneUnit7 - OCTET STRING, - lvgoneUnit8 - OCTET STRING, - lvgoneUnit9 - OCTET STRING, - lvgoneUnit10 - OCTET STRING, - lvgoneUnit11 - OCTET STRING, - lvgoneUnit12 - OCTET STRING, - lvgoneUnit13 - OCTET STRING, - lvgoneUnit14 - OCTET STRING, - lvgoneUnit15 - OCTET STRING, - lvgoneUnit16 - OCTET STRING, - lvgoneUnit17 - OCTET STRING, - lvgoneUnit18 - OCTET STRING, - lvgoneUnit19 - OCTET STRING, - lvgoneUnit20 - OCTET STRING, - lvgoneUnit21 - OCTET STRING, - lvgoneUnit22 - OCTET STRING, - lvgoneUnit23 - OCTET STRING, - lvgoneUnit24 - OCTET STRING, - lvgoneUnit25 - OCTET STRING, - lvgoneUnit26 - OCTET STRING, - lvgoneUnit27 - OCTET STRING, - lvgoneUnit28 - OCTET STRING, - lvgoneUnit29 - OCTET STRING, - lvgoneUnit30 - OCTET STRING, - lvgoneUnit31 - OCTET STRING, - lvgoneRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.1 - lvgoneIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index from 0 to 4." - ::= { language1Entry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.2 - lvgoneUnit0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 0 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.3 - lvgoneUnit1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 1 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.4 - lvgoneUnit2 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 2 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.5 - lvgoneUnit3 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 3 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.6 - lvgoneUnit4 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 4 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.7 - lvgoneUnit5 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 5 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.8 - lvgoneUnit6 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 6 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.9 - lvgoneUnit7 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 7 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.10 - lvgoneUnit8 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 8 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.11 - lvgoneUnit9 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 9 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.12 - lvgoneUnit10 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 10 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.13 - lvgoneUnit11 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 11 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.14 - lvgoneUnit12 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 12 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.15 - lvgoneUnit13 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 13 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.16 - lvgoneUnit14 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 14 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.17 - lvgoneUnit15 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 15 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.18 - lvgoneUnit16 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 16 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.19 - lvgoneUnit17 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 17 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.20 - lvgoneUnit18 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 18 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.21 - lvgoneUnit19 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 19 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.22 - lvgoneUnit20 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 20 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.23 - lvgoneUnit21 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 21 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.24 - lvgoneUnit22 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 22 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.25 - lvgoneUnit23 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 23 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.26 - lvgoneUnit24 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 24 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.27 - lvgoneUnit25 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 25 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.28 - lvgoneUnit26 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 26 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.29 - lvgoneUnit27 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 27 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.30 - lvgoneUnit28 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 28 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.31 - lvgoneUnit29 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 29 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.32 - lvgoneUnit30 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 30 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.33 - lvgoneUnit31 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 31 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language1Entry 33 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.3.1.34 - lvgoneRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { language1Entry 34 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4 - language2Table OBJECT-TYPE - SYNTAX SEQUENCE OF Language2Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { voiceGroup 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1 - language2Entry OBJECT-TYPE - SYNTAX Language2Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { lvgtwoIndex } - ::= { language2Table 1 } - - - Language2Entry ::= - SEQUENCE { - lvgtwoIndex - INTEGER, - lvgtwoUnit0 - OCTET STRING, - lvgtwoUnit1 - OCTET STRING, - lvgtwoUnit2 - OCTET STRING, - lvgtwoUnit3 - OCTET STRING, - lvgtwoUnit4 - OCTET STRING, - lvgtwoUnit5 - OCTET STRING, - lvgtwoUnit6 - OCTET STRING, - lvgtwoUnit7 - OCTET STRING, - lvgtwoUnit8 - OCTET STRING, - lvgtwoUnit9 - OCTET STRING, - lvgtwoUnit10 - OCTET STRING, - lvgtwoUnit11 - OCTET STRING, - lvgtwoUnit12 - OCTET STRING, - lvgtwoUnit13 - OCTET STRING, - lvgtwoUnit14 - OCTET STRING, - lvgtwoUnit15 - OCTET STRING, - lvgtwoUnit16 - OCTET STRING, - lvgtwoUnit17 - OCTET STRING, - lvgtwoUnit18 - OCTET STRING, - lvgtwoUnit19 - OCTET STRING, - lvgtwoUnit20 - OCTET STRING, - lvgtwoUnit21 - OCTET STRING, - lvgtwoUnit22 - OCTET STRING, - lvgtwoUnit23 - OCTET STRING, - lvgtwoUnit24 - OCTET STRING, - lvgtwoUnit25 - OCTET STRING, - lvgtwoUnit26 - OCTET STRING, - lvgtwoUnit27 - OCTET STRING, - lvgtwoUnit28 - OCTET STRING, - lvgtwoUnit29 - OCTET STRING, - lvgtwoUnit30 - OCTET STRING, - lvgtwoUnit31 - OCTET STRING, - lvgtwoRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.1 - lvgtwoIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index from 0 to 255." - ::= { language2Entry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.2 - lvgtwoUnit0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 0 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.3 - lvgtwoUnit1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 1 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.4 - lvgtwoUnit2 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 2 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.5 - lvgtwoUnit3 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 3 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.6 - lvgtwoUnit4 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 4 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.7 - lvgtwoUnit5 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 5 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.8 - lvgtwoUnit6 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 6 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.9 - lvgtwoUnit7 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 7 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.10 - lvgtwoUnit8 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 8 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.11 - lvgtwoUnit9 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 9 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.12 - lvgtwoUnit10 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 10 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.13 - lvgtwoUnit11 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 11 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.14 - lvgtwoUnit12 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 12 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.15 - lvgtwoUnit13 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 13 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.16 - lvgtwoUnit14 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 14 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.17 - lvgtwoUnit15 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 15 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.18 - lvgtwoUnit16 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 16 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.19 - lvgtwoUnit17 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 17 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.20 - lvgtwoUnit18 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 18 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.21 - lvgtwoUnit19 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 19 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.22 - lvgtwoUnit20 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 20 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.23 - lvgtwoUnit21 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 21 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.24 - lvgtwoUnit22 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 22 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.25 - lvgtwoUnit23 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 23 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.26 - lvgtwoUnit24 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 24 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.27 - lvgtwoUnit25 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 25 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.28 - lvgtwoUnit26 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 26 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.29 - lvgtwoUnit27 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 27 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.30 - lvgtwoUnit28 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 28 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.31 - lvgtwoUnit29 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 29 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.32 - lvgtwoUnit30 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 30 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.33 - lvgtwoUnit31 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 31 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language2Entry 33 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.4.1.34 - lvgtwoRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { language2Entry 34 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5 - language3Table OBJECT-TYPE - SYNTAX SEQUENCE OF Language3Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { voiceGroup 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1 - language3Entry OBJECT-TYPE - SYNTAX Language3Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { lvgthreeIndex } - ::= { language3Table 1 } - - - Language3Entry ::= - SEQUENCE { - lvgthreeIndex - INTEGER, - lvgthreeUnit0 - OCTET STRING, - lvgthreeUnit1 - OCTET STRING, - lvgthreeUnit2 - OCTET STRING, - lvgthreeUnit3 - OCTET STRING, - lvgthreeUnit4 - OCTET STRING, - lvgthreeUnit5 - OCTET STRING, - lvgthreeUnit6 - OCTET STRING, - lvgthreeUnit7 - OCTET STRING, - lvgthreeUnit8 - OCTET STRING, - lvgthreeUnit9 - OCTET STRING, - lvgthreeUnit10 - OCTET STRING, - lvgthreeUnit11 - OCTET STRING, - lvgthreeUnit12 - OCTET STRING, - lvgthreeUnit13 - OCTET STRING, - lvgthreeUnit14 - OCTET STRING, - lvgthreeUnit15 - OCTET STRING, - lvgthreeUnit16 - OCTET STRING, - lvgthreeUnit17 - OCTET STRING, - lvgthreeUnit18 - OCTET STRING, - lvgthreeUnit19 - OCTET STRING, - lvgthreeUnit20 - OCTET STRING, - lvgthreeUnit21 - OCTET STRING, - lvgthreeUnit22 - OCTET STRING, - lvgthreeUnit23 - OCTET STRING, - lvgthreeUnit24 - OCTET STRING, - lvgthreeUnit25 - OCTET STRING, - lvgthreeUnit26 - OCTET STRING, - lvgthreeUnit27 - OCTET STRING, - lvgthreeUnit28 - OCTET STRING, - lvgthreeUnit29 - OCTET STRING, - lvgthreeUnit30 - OCTET STRING, - lvgthreeUnit31 - OCTET STRING, - lvgthreeRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.1 - lvgthreeIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index from 0 to 255." - ::= { language3Entry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.2 - lvgthreeUnit0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 0 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.3 - lvgthreeUnit1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 1 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.4 - lvgthreeUnit2 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 2 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.5 - lvgthreeUnit3 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 3 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.6 - lvgthreeUnit4 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 4 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.7 - lvgthreeUnit5 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 5 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.8 - lvgthreeUnit6 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 6 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.9 - lvgthreeUnit7 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 7 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.10 - lvgthreeUnit8 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 8 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.11 - lvgthreeUnit9 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 9 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.12 - lvgthreeUnit10 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 10 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.13 - lvgthreeUnit11 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 11 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.14 - lvgthreeUnit12 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 12 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.15 - lvgthreeUnit13 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 13 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.16 - lvgthreeUnit14 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 14 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.17 - lvgthreeUnit15 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 15 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.18 - lvgthreeUnit16 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 16 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.19 - lvgthreeUnit17 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 17 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.20 - lvgthreeUnit18 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 18 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.21 - lvgthreeUnit19 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 19 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.22 - lvgthreeUnit20 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 20 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.23 - lvgthreeUnit21 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 21 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.24 - lvgthreeUnit22 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 22 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.25 - lvgthreeUnit23 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 23 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.26 - lvgthreeUnit24 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 24 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.27 - lvgthreeUnit25 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 25 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.28 - lvgthreeUnit26 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 26 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.29 - lvgthreeUnit27 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 27 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.30 - lvgthreeUnit28 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 28 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.31 - lvgthreeUnit29 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 29 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.32 - lvgthreeUnit30 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 30 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.33 - lvgthreeUnit31 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 31 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language3Entry 33 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.5.1.34 - lvgthreeRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { language3Entry 34 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6 - language4Table OBJECT-TYPE - SYNTAX SEQUENCE OF Language4Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { voiceGroup 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1 - language4Entry OBJECT-TYPE - SYNTAX Language4Entry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { lvgfourIndex } - ::= { language4Table 1 } - - - Language4Entry ::= - SEQUENCE { - lvgfourIndex - INTEGER, - lvgfourUnit0 - OCTET STRING, - lvgfourUnit1 - OCTET STRING, - lvgfourUnit2 - OCTET STRING, - lvgfourUnit3 - OCTET STRING, - lvgfourUnit4 - OCTET STRING, - lvgfourUnit5 - OCTET STRING, - lvgfourUnit6 - OCTET STRING, - lvgfourUnit7 - OCTET STRING, - lvgfourUnit8 - OCTET STRING, - lvgfourUnit9 - OCTET STRING, - lvgfourUnit10 - OCTET STRING, - lvgfourUnit11 - OCTET STRING, - lvgfourUnit12 - OCTET STRING, - lvgfourUnit13 - OCTET STRING, - lvgfourUnit14 - OCTET STRING, - lvgfourUnit15 - OCTET STRING, - lvgfourUnit16 - OCTET STRING, - lvgfourUnit17 - OCTET STRING, - lvgfourUnit18 - OCTET STRING, - lvgfourUnit19 - OCTET STRING, - lvgfourUnit20 - OCTET STRING, - lvgfourUnit21 - OCTET STRING, - lvgfourUnit22 - OCTET STRING, - lvgfourUnit23 - OCTET STRING, - lvgfourUnit24 - OCTET STRING, - lvgfourUnit25 - OCTET STRING, - lvgfourUnit26 - OCTET STRING, - lvgfourUnit27 - OCTET STRING, - lvgfourUnit28 - OCTET STRING, - lvgfourUnit29 - OCTET STRING, - lvgfourUnit30 - OCTET STRING, - lvgfourUnit31 - OCTET STRING, - lvgfourRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.1 - lvgfourIndex OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Index from 0 to 255." - ::= { language4Entry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.2 - lvgfourUnit0 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 0 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.3 - lvgfourUnit1 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 1 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.4 - lvgfourUnit2 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 2 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.5 - lvgfourUnit3 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 3 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.6 - lvgfourUnit4 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 4 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.7 - lvgfourUnit5 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 5 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.8 - lvgfourUnit6 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 6 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.9 - lvgfourUnit7 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 7 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.10 - lvgfourUnit8 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Unit 8 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.11 - lvgfourUnit9 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 9 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.12 - lvgfourUnit10 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 10 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.13 - lvgfourUnit11 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 11 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.14 - lvgfourUnit12 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 12 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.15 - lvgfourUnit13 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 13 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.16 - lvgfourUnit14 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 14 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.17 - lvgfourUnit15 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 15 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.18 - lvgfourUnit16 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 16 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.19 - lvgfourUnit17 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 17 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.20 - lvgfourUnit18 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 18 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 20 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.21 - lvgfourUnit19 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 19 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 21 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.22 - lvgfourUnit20 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 20 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 22 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.23 - lvgfourUnit21 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 21 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 23 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.24 - lvgfourUnit22 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 22 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 24 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.25 - lvgfourUnit23 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 23 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 25 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.26 - lvgfourUnit24 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 24 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.27 - lvgfourUnit25 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 25 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.28 - lvgfourUnit26 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 26 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 28 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.29 - lvgfourUnit27 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 27 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 29 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.30 - lvgfourUnit28 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 28 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 30 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.31 - lvgfourUnit29 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 29 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.32 - lvgfourUnit30 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 30 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.33 - lvgfourUnit31 OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Unit 31 - Remark:The voice group determines an announcement. Any invalid BCD digit,
such as 0xa000, indicate end of voice group." - ::= { language4Entry 33 } - - - -- 1.3.6.1.4.1.1373.2.3.3.9.2.6.6.1.34 - lvgfourRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { language4Entry 34 } - - - - END - --- --- LGC-SS-VMS-MIB.my --- diff --git a/omc/bin/mib/LGC-SS-XAPP-MIB.my b/omc/bin/mib/LGC-SS-XAPP-MIB.my deleted file mode 100644 index 9a8d25f..0000000 --- a/omc/bin/mib/LGC-SS-XAPP-MIB.my +++ /dev/null @@ -1,689 +0,0 @@ --- --- LGC-SS-XAPP-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Thursday, September 23, 2010 at 15:51:37 --- - - LGC-SS-XAPP-MIB DEFINITIONS ::= BEGIN - - IMPORTS - lgcSS, DisplayString, RowStatus - FROM LGC-MIB - Opaque, OBJECT-TYPE, MODULE-IDENTITY - FROM SNMPv2-SMI; - - - -- 1.3.6.1.4.1.1373.2.3.2.5 - xapp MODULE-IDENTITY - LAST-UPDATED "200709061209Z" -- September 06, 2007 at 12:09 GMT - ORGANIZATION - "LGC Wireless" - CONTACT-INFO - "Contact-info." - DESCRIPTION - "Description." - ::= { platform 5 } - - - - - --- --- Node definitions --- - - -- 1.3.6.1.4.1.1373.2.3 - wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2 - platform OBJECT IDENTIFIER ::= { wxc2 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2 - parameter OBJECT IDENTIFIER ::= { xapp 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.1 - system OBJECT IDENTIFIER ::= { parameter 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.1.1 - mCC OBJECT-TYPE - SYNTAX Opaque (SIZE (2)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - OPAQUE DECODE RULE: - [unit]MCC[u]00.0-01.7[u]input - [v]keepHex-low-E - [remark] - Mobile Country Code" - ::= { system 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.1.2 - mNC OBJECT-TYPE - SYNTAX Opaque (SIZE (2)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - OPAQUE DECODE RULE: - [unit]MNC[u]00.0-01.7[u]input - [v]keepHex-low-E - [remark] - Mobile Network Code" - ::= { system 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.1.3 - cC OBJECT-TYPE - SYNTAX Opaque (SIZE (2)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - OPAQUE DECODE RULE: - [unit]CC[u]00.0-01.7[u]input - [v]keepHex-low-E - [remark] - Country Code" - ::= { system 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.1.4 - nDC OBJECT-TYPE - SYNTAX Opaque (SIZE (3)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - OPAQUE DECODE RULE: - [unit]NDC[u]00.0-02.7[u]input - [v]keepHex-low-E - [remark] - National Destination Code" - ::= { system 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.1.5 - internationalPrefix OBJECT-TYPE - SYNTAX Opaque (SIZE (2)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - OPAQUE DECODE RULE: - [unit]International Prefix[u]00.0-01.7[u]input - [v]keepHex-low-E - [remark] - Access code for international network." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.1.6 - nationalPrefix OBJECT-TYPE - SYNTAX Opaque (SIZE (2)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes - OPAQUE DECODE RULE: - [unit]National Prefix[u]00.0-01.7[u]input - [v]keepHex-low-E - [remark] - National prefix for the operating country to make a national call." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.1.12 - command OBJECT-TYPE - SYNTAX INTEGER { saveParameter(1) } - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { system 12 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2 - prefixManipulation OBJECT IDENTIFIER ::= { parameter 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1 - prefixManipulationTable OBJECT-TYPE - SYNTAX SEQUENCE OF PrefixManipulationEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Convert service number format for MAP applications. Such as prepaid charging, querying and voice mail routing." - ::= { prefixManipulation 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1.1 - prefixManipulationEntry OBJECT-TYPE - SYNTAX PrefixManipulationEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { pmIndex } - ::= { prefixManipulationTable 1 } - - - PrefixManipulationEntry ::= - SEQUENCE { - pmIndex - INTEGER, - pmTitle - OCTET STRING, - pmPrefix - OCTET STRING, - pmDeletionCount - INTEGER, - pmInsertionCount - INTEGER, - pmInsertedDigits - OCTET STRING, - pmNumberLength - INTEGER, - pmRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1.1.1 - pmIndex OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Prefix index number ranges from 0 to 127." - ::= { prefixManipulationEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1.1.2 - pmTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Prefix name for identification purpose only." - ::= { prefixManipulationEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1.1.3 - pmPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:A combination digits that dialed to the destination." - ::= { prefixManipulationEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1.1.4 - pmDeletionCount OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Deletion Count - Remark:The amount of digits to be deleted from the beginning of the incoming number." - DEFVAL { 0 } - ::= { prefixManipulationEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1.1.5 - pmInsertionCount OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Insertion Count - Remark:The amount of digits to be inserted to the front of the dialed number." - DEFVAL { 0 } - ::= { prefixManipulationEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1.1.6 - pmInsertedDigits OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Inserted Digits - Remark:The digits to be added to the front of the dialed number." - ::= { prefixManipulationEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1.1.7 - pmNumberLength OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Number Length - Remark:The length of the incoming number." - ::= { prefixManipulationEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.2.1.1.8 - pmRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { prefixManipulationEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3 - numberGroup OBJECT IDENTIFIER ::= { parameter 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1 - numberGroupTable OBJECT-TYPE - SYNTAX SEQUENCE OF NumberGroupEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { numberGroup 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1.1 - numberGroupEntry OBJECT-TYPE - SYNTAX NumberGroupEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { ngIndex } - ::= { numberGroupTable 1 } - - - NumberGroupEntry ::= - SEQUENCE { - ngIndex - INTEGER, - ngTitle - OCTET STRING, - ngStartNumber - OCTET STRING, - ngEndNumber - OCTET STRING, - ngReplaceDigitStart - INTEGER, - ngReplaceDigitEnd - INTEGER, - ngReplaceDigitWith - OCTET STRING, - ngRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1.1.1 - ngIndex OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Number group index number ranges from 0 to 127." - ::= { numberGroupEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1.1.2 - ngTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Number group name for identification purpose only." - ::= { numberGroupEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1.1.3 - ngStartNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Start Number - Remark:First number in the group." - ::= { numberGroupEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1.1.4 - ngEndNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:End Number - Remark:Last number in the group." - ::= { numberGroupEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1.1.5 - ngReplaceDigitStart OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Replace Digits From - Remark:First digit to replace (position)." - ::= { numberGroupEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1.1.6 - ngReplaceDigitEnd OBJECT-TYPE - SYNTAX INTEGER (0..255) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Replace Digits To - Remark:Last digit to replace (position)." - ::= { numberGroupEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1.1.7 - ngReplaceDigitWith OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..12)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Replace Digits With - Remark:Replace digits with this string." - ::= { numberGroupEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.3.1.1.9 - ngRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { numberGroupEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4 - cLIManipulation OBJECT IDENTIFIER ::= { parameter 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1 - cLIManipulationTable OBJECT-TYPE - SYNTAX SEQUENCE OF CLIManipulationEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Remark:Customize the presented caller number format for receiving short message." - ::= { cLIManipulation 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1 - cLIManipulationEntry OBJECT-TYPE - SYNTAX CLIManipulationEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { cmIndex } - ::= { cLIManipulationTable 1 } - - - CLIManipulationEntry ::= - SEQUENCE { - cmIndex - INTEGER, - cmTitle - OCTET STRING, - cmOriginalNAI - INTEGER, - cmPrefix - OCTET STRING, - cmDeletionCount - INTEGER, - cmModifiedNAI - INTEGER, - cmInsertionCount - INTEGER, - cmInsertedDigits - OCTET STRING, - cmNumberLength - INTEGER, - cmRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.1 - cmIndex OBJECT-TYPE - SYNTAX INTEGER (0..63) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Prefix index number ranges from 0 to 63." - ::= { cLIManipulationEntry 1 } - - --- Title --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.2 - cmTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..8)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Prefix name for identification purpose only." - ::= { cLIManipulationEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.3 - cmOriginalNAI OBJECT-TYPE - SYNTAX INTEGER - { - idd(1), - ndd(2), - unknown(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Original NAI - Remark:Original Number Attribute Identity of the caller numbers beginning with this prefix." - ::= { cLIManipulationEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.4 - cmPrefix OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:The initial digits of the caller number." - ::= { cLIManipulationEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.5 - cmDeletionCount OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Deletion Count - Remark:The amount of digits to be deleted from the beginning of the calling number." - DEFVAL { 0 } - ::= { cLIManipulationEntry 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.6 - cmModifiedNAI OBJECT-TYPE - SYNTAX INTEGER - { - idd(1), - ndd(2), - unknown(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Modified NAI - Remark:Number Attribute Identity of the caller number after manipulation." - ::= { cLIManipulationEntry 6 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.7 - cmInsertionCount OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Insertion Count - Remark:The amount of digits to be inserted to the front of the calling number." - DEFVAL { 0 } - ::= { cLIManipulationEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.8 - cmInsertedDigits OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Inserted Digits - Remark:The digits to be added to the front of the calling number." - ::= { cLIManipulationEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.9 - cmNumberLength OBJECT-TYPE - SYNTAX INTEGER (0..16) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Number Length - Remark:The length of the caller number." - ::= { cLIManipulationEntry 9 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.4.1.1.10 - cmRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { cLIManipulationEntry 10 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.5 - localMSISDN OBJECT IDENTIFIER ::= { parameter 5 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.5.1 - localMSISDNTable OBJECT-TYPE - SYNTAX SEQUENCE OF LocalMSISDNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - ::= { localMSISDN 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.5.1.1 - localMSISDNEntry OBJECT-TYPE - SYNTAX LocalMSISDNEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Description." - INDEX { lmIndex } - ::= { localMSISDNTable 1 } - - - LocalMSISDNEntry ::= - SEQUENCE { - lmIndex - INTEGER, - lmTitle - OCTET STRING, - lmStartNumber - OCTET STRING, - lmEndNumber - OCTET STRING, - lmRowStatus - RowStatus - } - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.5.1.1.1 - lmIndex OBJECT-TYPE - SYNTAX INTEGER (0..127) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Local MSISDN entry index number ranges from 0 to 127." - ::= { localMSISDNEntry 1 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.5.1.1.2 - lmTitle OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..7)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Local MSISDN entry name for identification purpose only." - ::= { localMSISDNEntry 2 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.5.1.1.3 - lmStartNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Start Number - Remark:First number in the local MSISDN range." - ::= { localMSISDNEntry 3 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.5.1.1.4 - lmEndNumber OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:End Number - Remark:Last number in the local MSISDN range." - ::= { localMSISDNEntry 4 } - - - -- 1.3.6.1.4.1.1373.2.3.2.5.2.5.1.1.5 - lmRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { localMSISDNEntry 5 } - - - - END - --- --- LGC-SS-XAPP-MIB.my --- diff --git a/omc/bin/mib/change b/omc/bin/mib/change deleted file mode 100644 index 6e9e698..0000000 --- a/omc/bin/mib/change +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -chown root LGC-* -chgrp root LGC-* -chmod 644 LGC-* diff --git a/omc/bin/mib/index b/omc/bin/mib/index deleted file mode 100644 index c499859..0000000 --- a/omc/bin/mib/index +++ /dev/null @@ -1,36 +0,0 @@ -LGC-MIB.my -LGC-SS-MSC-MIB.my -LGC-SS-SMEG-MIB.my -LGC-SS-OPPS-MIB.my -LGC-SS-AAS-MIB.my -LGC-SS-AUC-MIB.my -LGC-SS-EIR-MIB.my -LGC-SS-HLR-MIB.my -LGC-SS-SMPP-MIB.my -LGC-SS-SMSC-MIB.my -LGC-SS-VLR-MIB.my -LGC-SS-XAPP-MIB.my -LGC-SS-MRFC-MIB.my -LGC-SS-VMS-MIB.my -LGC-SS-PALIM-MIB.my -LGC-SS-RLS-MIB.my -LGC-SS-MHC-MIB.my -LGC-SS-MNP-MIB.my -LGC-SS-MTP3-MIB.my -LGC-SS-SCCP-MIB.my -LGC-SS-PPS-MIB.my -LGC-SS-MME-MIB.my -LGC-SS-SPGW-MIB.my -LGC-SS-IMS-MIB.my -LGC-SS-RCS-MIB.my -LGC-SS-UDM-MIB.my -LGC-SS-AUSF-MIB.my -LGC-SS-GRS-MIB.my -LGC-SS-TMG-MIB.my -LGC-SS-AMRMG-MIB.my -LGC-SS-GbC-MIB.my -LGC-SS-MCA-MIB.my -LGC-SS-RCM-MIB.my -LGC-SS-RTPPROXY-MIB.my -SNMPv2-SMI -SNMPv2-TC diff --git a/omc/bin/myipcrm b/omc/bin/myipcrm deleted file mode 100644 index 80534ab..0000000 --- a/omc/bin/myipcrm +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -ipcrm='To delete ipcrm shm' - -#program name -if [ `whoami` != "root" ] ; then - echo "Permission denied!" - exit -fi - -ipcsm=`ipcs -m` -echo "$ipcsm" - -ipcsm=`ipcs -m|grep '0x'|awk '{print $2}'` -for FILE in $ipcsm; do - ipcrm shm $FILE -done - -ipcsm=`ipcs -s` -echo "$ipcsm" - -ipcsm=`ipcs -s|grep '0x'|awk '{print $2}'` -for FILE in $ipcsm; do - ipcrm sem $FILE -done - -ipcsm=`ipcs -q` -echo "$ipcsm" - -ipcsm=`ipcs -q|grep '0x'|awk '{print $2}'` -for FILE in $ipcsm; do - ipcrm msg $FILE -done diff --git a/omc/bin/mysql_OMCmain_Auditlog_filter b/omc/bin/mysql_OMCmain_Auditlog_filter deleted file mode 100644 index 7ad348f..0000000 --- a/omc/bin/mysql_OMCmain_Auditlog_filter +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -service auditd restart -auditctl -A exit,never -S all -F uid=100 -auditctl -A entry,never -S all -F ppid=$(pgrep -x omcMain) diff --git a/omc/bin/nrtrde b/omc/bin/nrtrde deleted file mode 100644 index fd1085e..0000000 Binary files a/omc/bin/nrtrde and /dev/null differ diff --git a/omc/bin/omcCleaner b/omc/bin/omcCleaner deleted file mode 100644 index 168c4ba..0000000 Binary files a/omc/bin/omcCleaner and /dev/null differ diff --git a/omc/bin/omcMain b/omc/bin/omcMain deleted file mode 100644 index 18cfc73..0000000 Binary files a/omc/bin/omcMain and /dev/null differ diff --git a/omc/bin/omcMain.nolicense b/omc/bin/omcMain.nolicense deleted file mode 100644 index afa9239..0000000 Binary files a/omc/bin/omcMain.nolicense and /dev/null differ diff --git a/omc/bin/omcMainWatcher b/omc/bin/omcMainWatcher deleted file mode 100644 index 9737c0b..0000000 --- a/omc/bin/omcMainWatcher +++ /dev/null @@ -1,170 +0,0 @@ -#!/bin/bash - -# This script is use to monitor the omcMain. -# Restart omcd when the omcMain is stopped -# When the omcMain process is suspended -# single: restart omcd -# dual: stop omcd -# The script run every minute and will write the event into /usr/local/omc/log/omcMainWatcherxxx.log -# Time: 2009-06-11 -# Author: Zheng Jianhui - -if [ `whoami` != "root" ] ; then - echo "Permission denied! Need root user" - exit -fi - -/usr/local/omc/bin/dual/check_proc_status.sh - -mysql_user=`/usr/local/mssBak/script/encryption 1 "6266706d736f7a7c7b6b7f7b7f"` -mysql_pw=`/usr/local/mssBak/script/encryption 1 "2b3a392757557b697b7e7e757b777c"` - - - -#----- Get the omcSysNo ------------------------- -confDir=/usr/local/omc/bin/conf -if [ `cat $confDir/omcd.conf |grep -c 'omcSysNo=0'` -eq 1 ] ; then - omcSysNo=0 -else - omcSysNo=1 -fi - -#----- Get the dual mode ------------------------ -#----- 0 single,1 dual ------------------------ -if [ `cat $confDir/omcd.conf |grep -c 'omcRunMode=0'` -eq 1 ] ; then - omcRunMode=0 -else - omcRunMode=1 -fi - - -############################################################ -################# Write event log ######################### -################# Parameter: content ####################### -function writeLog() -{ - watcherLogFile=/usr/local/omc/log/watcher`date +%Y%m%d`.log - timestr=`date +%H:%M:%S` - #echo $timestr - `echo "$timestr $1" >> $watcherLogFile` -} -#writeLog hello -################# End writeLog function #################### -################# Insert alarm log ######################### -############## Parameter: stop, suspend #################### -function insertAlarmLog() -{ - case "$1" in - 'stop') - -#----- Get the previous record number ----------- -prev_record_arr=`/usr/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_ -SELECT count(*) as record_count FROM OMC_PUB.sysAlarmLog WHERE sysTypeNo=0 and sysNo=$omcSysNo and compCode=130 and alarmCode=1 and clearTime = '0000-00-00 00:00:00'; -_EOF_` -prev_record=`echo $prev_record_arr | awk '{print $2}'` - -#----- Insert the alarm ------------------------- -if [ "$prev_record" == "0" ] ; then -/usr/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_ -INSERT INTO OMC_PUB.sysAlarmLog (sysTypeNo,sysNo,subSysNo,compCode,alarmCode,alarmTime) VALUES (0,$omcSysNo,0,130,1,CURRENT_TIMESTAMP); -_EOF_ -fi - - ;; - 'suspend') - -#----- Get the previous record number ----------- -prev_record_arr=`/usr/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_ -SELECT count(*) as record_count FROM OMC_PUB.sysAlarmLog WHERE sysTypeNo=0 and sysNo=$omcSysNo and compCode=130 and alarmCode=2 and clearTime = '0000-00-00 00:00:00'; -_EOF_` -prev_record=`echo $prev_record_arr | awk '{print $2}'` - -#----- Insert the alarm ------------------------- -if [ "$prev_record" == "0" ] ; then -/usr/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_ -INSERT INTO OMC_PUB.sysAlarmLog (sysTypeNo,sysNo,subSysNo,compCode,alarmCode,alarmTime) VALUES (0,$omcSysNo,0,130,2,CURRENT_TIMESTAMP); -_EOF_ -fi - - ;; - esac -} -################# End insertAlarmLog function ################# - - -#----- Check the process id of the omcMain ------- -. /etc/rc.d/init.d/functions - -procName=omcMain -pid=`status $procName` -if [ "$pid" == "omcMain is stopped" ]; then - -#----- omcMain is stopped ----------------- - insertAlarmLog stop - writeLog "omcMain is stop, restart it" - tmpLogFile=/usr/local/omc/log/watcher`date +%Y%m%d`.log - `tail -5 /usr/local/omc/install.log >> $tmpLogFile` - wxc2dm=`/usr/local/omc/bin/wxc2_omcd restart` - -else - -#----- omcMain is running ----------------- -update_time_arr=`/usr/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_ -SELECT UNIX_TIMESTAMP(updateTime) as updateTime FROM OMC_PUB.sysInfo WHERE sysTypeNo=0 and sysNo=$omcSysNo; -_EOF_` -update_time=`echo $update_time_arr | awk '{print $2}'` -if [ -z "$update_time" ]; then - writeLog "omcMain is just running, check heartbeat later" - exit -fi - -now_time=`date +%s` -time_delay=$[$now_time - $update_time] - -#echo update_time=$update_time -#echo now_time=$now_time -#echo time_delay=$time_delay - -#----- check heartbeat updatetime --------- -if [ "$time_delay" -ge "180" ]; then - - insertAlarmLog suspend - writeLog "omcMain is suspended" - if [ "$omcRunMode" -eq "0" ]; then - writeLog "omcMain is running in single mode, restart it" - wxc2dm=`/usr/local/omc/bin/wxc2_omcd restart` - else - writeLog "omcMain is running in dual mode, restart it" - wxc2dm=`/usr/local/omc/bin/wxc2_omcd restart` - fi -fi - - - -fi - -ProcList="iptrans omcMain paraComm subsComm logCollector omcCleaner smcli cdrCollector subsDataBackup ftpSend alarmAgent nrtrde sftpSend alive bsscomm" - -logFile=/usr/local/omc/log/watcher`date +%Y%m%d`.log - -printf "`date '+%D %H:%M:%S'` " >> $logFile -for ProcName in $ProcList; do - if [ -z "`pidof $ProcName`" ]; then - state="N" - else - state="Y" - fi - printf "$state " >> $logFile -done -printf "\n" >> $logFile - - -chmod 777 /usr/local/apache/htdocs/ftpFile -chmod 640 /usr/local/omc/log/* -chmod -R 777 /usr/local/apache/htdocs/db_backup/ - - -#echo Finish - - - diff --git a/omc/bin/paraComm b/omc/bin/paraComm deleted file mode 100644 index b2f9ceb..0000000 Binary files a/omc/bin/paraComm and /dev/null differ diff --git a/omc/bin/raidAgent b/omc/bin/raidAgent deleted file mode 100644 index 652aab7..0000000 Binary files a/omc/bin/raidAgent and /dev/null differ diff --git a/omc/bin/setRunMode b/omc/bin/setRunMode deleted file mode 100644 index 611424f..0000000 --- a/omc/bin/setRunMode +++ /dev/null @@ -1,260 +0,0 @@ -#!/bin/bash -#Script to configurate dual omc -#create by Liang Hanxi 2002/8/24 -#changed by hewd 2002/09/16 - -#my.cnf and server.conf should be in current directory -#or this script will not work - -#Three file will be changed:./server.conf /etc/hosts /etc/my.cnf -#backup them at first if needed -#I will make a backup of /etc/my.cnf for you,path of which is /etc/my.cnf.bak - -if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then - mysqllib_dir="/usr/local/mysql/lib" -else - mysqllib_dir=/usr/lib/mysql -fi -omcBin="/usr/local/omc/bin" - -# by simon,for ubuntu 22.04 -#mysql_user=`/usr/local/mssBak/script/encryption 1 "6266706d736f7a7c7b6b7f7b7f"` -#mysql_pw=`/usr/local/mssBak/script/encryption 1 "2b3a392757557b697b7e7e757b777c"` - - - -arg_1=$1 - -################################################################## -###### Function -################################################################## -chkHostName() -{ - thisHostName=`hostname -s` - - if [ `echo "$thisHostName"|grep -c '\-[01]$'` -eq 1 ] ;then - if [ `echo "$thisHostName"|grep -c '\-0$'` -eq 1 ] ;then - echo "This is Master server!!" - else - echo "This is Slave server!!" - fi - else - echo "The server's hostname must be configured like following[x is the any displayable ASCII character]" - echo "xxx-0 or xxx-1" - sleep 3 - exit 1 - fi - - - - #if [ "$thisHostName" != "omc-0" ] && [ "$thisHostName" != "omc-1" ] ; then - # echo "This server's hostname is $thisHostName !!" - # echo "It must be \"omc-0\" or \"omc-1\" !! Please set it." - # sleep 3 - # exit 1 - #else - # if [ "$thisHostName" == "omc-0" ] ; then - # echo "This is Master server!!" - # else - # echo "This is Slave server!!" - # fi - #fi -} - -checkip() -{ - result=`echo "$1" |grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"` - if [ -z "$result" ];then - echo "invalid" - else - result=`ping $1 -c 1 |grep "icmp_seq="` - if [ -z "$result" ];then - echo "fail" - else - echo "ok" - fi - fi -} - -getipbyname() -{ - hostlist="/etc/hosts" - - [ -f $hostlist ] || exit 1 - - cmdline='/'$1'/{print $1}' - awkcmd="awk '$cmdline' $hostlist" - ip=`echo $awkcmd|bash` - - if [ -z "$ip" ];then - echo "Can't resolve ip address of host. You can input it now:" - - read ip - echo "Check ip address now.pleae wait for a while......" - rtn=`checkip $ip` - - if [ "$rtn" = "invalid" ];then - echo "Invalid IP!" - exit 1 - elif [ "$rtn" = "fail" ];then - echo 'Dest ip Unreachable! I(gnore)/E(xit)' - read act - case $act in - "I") echo "continue......" - ;; - *) exit 1 - ;; - esac - fi - echo $ip' '$1'.iwv '$1>>$hostlist - fi -} - -replaceValue() -{ - tmpFileName=${1}_tmp - bakFileName==${1}_bak - if [ `grep -c $2 $1` -gt 0 ] ; then - sed -e 's/$2/$3/' $1 > $tmpFileName - mv $1 $bakFileName - rm $1 - mv $tmpFileName $1 - fi -} - -################################################################## -cd $omcBin -#check hostname,must =xxx-0 or xxx-1 -chkHostName "" - -./changehostname - -if [ "$arg_1" == "-auto" ] ; then - runMode=2 -else - echo "+-------Running Mode------+" - echo "| 1.Single EMS |" - echo "| 2.Dual EMS |" - echo "+-------------------------+" - echo -n "Please select EMS running mode(1/2):" - read runMode - echo "" -fi - -case "$runMode" in - '1') - echo "You have selected 'Single EMS' mode" - echo "" - #my.conf - hostName='single' - #mv -f /etc/my.cnf /etc/my.cnf_bak - cp -f ../config/mariadb-50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf - chmod 644 /etc/mysql/mariadb.conf.d/50-server.cnf - echo "set configuration file: /etc/mysql/mariadb.conf.d/50-server.cnf ok!" - - #hosts - #mv /etc/hosts /etc/hosts_bak - #cp ../config/hosts /etc/hosts - #chmod 644 /etc/hosts - #echo "set config file: /etc/hosts ok!" - - #server.conf - mv ./conf/server.conf ./conf/server.conf_bak - cp ../config/server.conf ./conf/server.conf - chmod 644 ./conf/server.conf - echo "set configuration file: ./conf/server.conf ok!" - - #omcd.conf - mv ./conf/omcd.conf ./conf/omcd.conf_bak - cp ../config/omcd.conf_$hostName ./conf/omcd.conf - chmod 644 ./conf/omcd.conf - echo "set configuration file: ./conf/omcd.conf ok!" - ;; - '2') - echo "You have selected 'Dual EMS' mode" - echo "" - - #reset database sync - #/usr/local/mysql/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_ - # reset master; - # reset slave; - #_EOF_ - - #get hostname - hostName='single' - - #my.conf - mv -f /etc/my.cnf /etc/my.cnf_bak - cp -f ../config/mariadb-50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf - chmod 644 /etc/mysql/mariadb.conf.d/50-server.cnf - echo "set configuration file: /etc/mysql/mariadb.conf.d/50-server.cnf ok!" - - #hosts - #mv /etc/hosts /etc/hosts_bak - #cp ../config/hosts /etc/hosts - #chmod 644 /etc/hosts - #echo "set config file: /etc/hosts ok!" - - #server.conf - mv ./conf/server.conf ./conf/server.conf_bak - cp ../config/server.conf ./conf/server.conf - chmod 644 ./conf/server.conf - echo "set configuration file: ./conf/server.conf ok!" - - #omcd.conf - hostName=`hostname -s|sed 's/^.*-/omc-/'` - mv ./conf/omcd.conf ./conf/omcd.conf_bak - cp ../config/omcd.conf_$hostName ./conf/omcd.conf - chmod 644 ./conf/omcd.conf - echo "set configuration file: ./conf/omcd.conf ok!" - ;; - *) - echo "Invalid input,Exited." - exit - ;; -esac - -#reset database sync -if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then - mysqlBinDir=/usr/local/mysql/bin -else - mysqlBinDir=/usr/bin -fi -# by simon,for ubuntu 22.04 -#$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw <<_EOF_ -# slave stop; -# reset master; -# reset slave; -#_EOF_ -initDir=/etc/init.d -service mysql stop -if [ -n "`pidof mysqld`" ] ;then - kill -9 `pidof mysqld` -fi -service mysql start - -if [ "$2" == "install" ] ; then - echo " " -else - omcd restart -fi - -exit 1 - -############################## -#echo "configurate /etc/my.cnf......" -#cp ../config/my.cnf_ - -#echo "#!/bin/sed -f" > tmpconf.sed -#echo "/master-host/ c\\" >> tmpconf.sed -#echo "master-host = "$mysql_master >>tmpconf.sed - -#echo "/server-id/ c\\" >> tmpconf.sed -#echo "server-id = "$mysql_id >>tmpconf.sed - -#mv -f /etc/my.cnf /etc/my.cnf.bak - -#chmod 777 tmpconf.sed -#tmpconf.sed my.cnf > /etc/my.cnf -#rm -f tmpconf.sed -############################## diff --git a/omc/bin/sftpSend b/omc/bin/sftpSend deleted file mode 100644 index e10631d..0000000 Binary files a/omc/bin/sftpSend and /dev/null differ diff --git a/omc/bin/smcli b/omc/bin/smcli deleted file mode 100644 index 561a2b6..0000000 Binary files a/omc/bin/smcli and /dev/null differ diff --git a/omc/bin/subsComm b/omc/bin/subsComm deleted file mode 100644 index 1f27539..0000000 Binary files a/omc/bin/subsComm and /dev/null differ diff --git a/omc/bin/subsDataBackup b/omc/bin/subsDataBackup deleted file mode 100644 index 6d443a7..0000000 Binary files a/omc/bin/subsDataBackup and /dev/null differ diff --git a/omc/bin/wsms b/omc/bin/wsms deleted file mode 100644 index 7262ba2..0000000 Binary files a/omc/bin/wsms and /dev/null differ diff --git a/omc/bin/wxc2_omcd b/omc/bin/wxc2_omcd deleted file mode 100644 index f30869a..0000000 --- a/omc/bin/wxc2_omcd +++ /dev/null @@ -1,189 +0,0 @@ -#!/bin/bash - -### BEGIN INIT INFO -# Provides: omcd -# Required-Start: -# Required-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start omcd daemon at boot time -# Description: Start omcd daemon at boot time -### END INIT INFO - -# chkconfig: 2345 98 18 -# description: as following -# CVS $Id: omcd,v 1.2 2002/09/10 19:53:49 hewd Exp $ -# For WXC2 OMC -# Comments to support chkconfig on RedHat Linux - - -userName=`whoami` - -#mysql_user=`/usr/local/mssBak/script/encryption 1 "6266706d736f7a7c7b6b7f7b7f"` -#mysql_pw=`/usr/local/mssBak/script/encryption 1 "2b3a392757557b697b7e7e757b777c"` - - -clear_crontab() -{ - echo "Clear EMS crontab" - crontab -l > /tmp/cur_crontab - sed '/backup_mss/d' /tmp/cur_crontab | sed '/audit_ems_log/d' | sed '/omcMainWatcher/d' | sed '/createMscHourlyCsta/d' | sed '/audit_mysql_log/d' | sed '/^\s*$/d' > /tmp/new_crontab - crontab -u root /tmp/new_crontab - rm -rf /tmp/cur_crontab /tmp/new_crontab - rm -rf /tmp/*.lock -} - -resume_crontab() -{ - echo "Resume EMS crontab" - crontab -l > /tmp/new_crontab - - if test `grep -c cdr_io_proc /tmp/new_crontab` -eq 1 ; then - sed -i '/cdr_io_proc/d' /tmp/new_crontab - fi - if test `grep -c cdr_data_proc /tmp/new_crontab` -eq 1 ; then - sed -i '/cdr_data_proc/d' /tmp/new_crontab - fi - - cat /usr/local/mssBak/script/cronset >> /tmp/new_crontab - sed '/^\s*$/d' /tmp/new_crontab > /tmp/new_crontab1 - crontab -u root /tmp/new_crontab1 - rm -rf /tmp/new_crontab /tmp/new_crontab1 -} - -if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then - LD_LIBRARY_PATH=/usr/local/mysql/lib ; export LD_LIBRARY_PATH -else - LD_LIBRARY_PATH=/usr/lib/mysql ; export LD_LIBRARY_PATH -fi - -startProcList="iptrans omcMain paraComm subsComm logCollector omcCleaner smcli cdrCollector subsDataBackup ftpSend alarmAgent nrtrde sftpSend cstaCollector" -#alive bsscomm -stopProcList="iptrans omcMain paraComm subsComm logCollector omcCleaner smcli cdrCollector subsDataBackup ftpSend alarmAgent nrtrde sftpSend cstaCollector" -statusProcList=$stopProcList - -slaveStartProcList="iptrans omcMain" -#include some functions like status,killproc -. /etc/init.d/functions - -omcBinDir=/usr/local/omc/bin -cd $omcBinDir - -#find omcRunMode -omcRunMode=`grep omcRunMode ./conf/omcd.conf|cut -d"=" -f2` - -if [ "$omcRunMode" = "0" ] ; then - echo "+--------------------------------+" - echo "+ Running In Single EMS Mode +" - echo "+--------------------------------+" -else - echo "+--------------------------------+" - echo "+ Running In Dual EMS Mode +" - echo "+--------------------------------+" -fi - -mode=$1 -case "$mode" in - start) - ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 2>/dev/null - if [ "$userName" != "root" ] ; then - echo "Just root user can run this sever!!" - exit 1 - fi - if [ "$omcRunMode" = "0" ] ; then - for procName in $startProcList;do - if(test -x $procName) then - killall $procName 2>/dev/null - ./$procName -d 2>/dev/null - echo "Starting $procName process ..." - else - echo "Can't startup $procName process" - fi - sleep 1 - done - else - for procName in $slaveStartProcList;do - if(test -x $procName) then - killall $procName 2>/dev/null - ./$procName -d 2>/dev/null - echo "Starting $procName process ..." - else - echo "Can't startup $procName process" - fi - sleep 1 - done - fi - resume_crontab - - - - #while [ -z `pidof omcMain` ]; - #do - # sleep 1 - #done - #/usr/local/omc/bin/mysql_OMCmain_Auditlog_filter - - if [ -z `pidof omcMain` ] ; then - sleep 2 - if [ -z `pidof omcMain` ] ; then - echo "omcMain still not starts" - else - /usr/local/omc/bin/mysql_OMCmain_Auditlog_filter - fi - else - /usr/local/omc/bin/mysql_OMCmain_Auditlog_filter - fi - - #raid_package=`rpm -q sas_snmp` - #if [ `echo $raid_package |grep -c 'not'` -eq 1 ] ; then - # echo "" - #else - # echo "restart RAID related process" - # service snmpd restart - # service lsi_mrdsnmpd restart - #fi - - - ;; - status) - for procName in $statusProcList;do - status $procName - done - ;; - stop) - if [ "$userName" != "root" ] ; then - echo "Just root user can run this sever!!" - exit 1 - fi - clear_crontab - for procName in $stopProcList;do - if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then - killproc $procName -SIGTERM - else - /usr/bin/killall $procName - fi - echo "$procName stopped"; - done - clear_crontab - clear_crontab -#`/usr/bin/mysql -u${mysql_user} -p${mysql_pw} <<_EOF_ -#stop slave; -#_EOF_` - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - version) - thisVersion=`tail -3 ../install.log |grep -v Date | awk '{print $3}'` - echo "AgrandTech EMS $thisVersion" - ;; - *) - echo "AgrandTech EMS" - echo "Usage: $0 start|status|stop|restart|version" - exit 3 - ;; -esac - -exit 0 \ No newline at end of file diff --git a/omc/bin/wxc2_omcdm b/omc/bin/wxc2_omcdm deleted file mode 100644 index 5d569e4..0000000 --- a/omc/bin/wxc2_omcdm +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -#program name -if [ `whoami` != "root" ] ; then - echo "Permission denied!" - exit -fi - -. /etc/rc.d/init.d/functions - -procName=omcMain - -pid=`status $procName` -#pid=`pidof omcMain` -echo $pid - -if [ "$pid" == "omcMain is stopped" ]; then - echo "restart..." - wxc2dm=`/usr/local/omc/bin/wxc2_omcd restart` -else - echo "existing..." -fi - - diff --git a/omc/config/cacert.pem b/omc/config/cacert.pem deleted file mode 100644 index cb26195..0000000 --- a/omc/config/cacert.pem +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDbzCCAtigAwIBAgIJAJAlyiGqsbwfMA0GCSqGSIb3DQEBBQUAMIGCMQswCQYD -VQQGEwJDTjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjET -MBEGA1UEChMKYWx0b2JyaWRnZTENMAsGA1UECxMEYWNyZDEMMAoGA1UEAxMDb21j -MRowGAYJKoZIhvcNAQkBFgtvbWNAYWRjLmNvbTAeFw0xMDAzMDgxNDQ5MDZaFw0x -MTAzMDgxNDQ5MDZaMIGCMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdkb25n -MREwDwYDVQQHEwhTaGVuemhlbjETMBEGA1UEChMKYWx0b2JyaWRnZTENMAsGA1UE -CxMEYWNyZDEMMAoGA1UEAxMDb21jMRowGAYJKoZIhvcNAQkBFgtvbWNAYWRjLmNv -bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6g1IlzFYAUv6obDUEN83Khc4 -uslMGhLUI53LYR1v7i+AXP6HmFLV6fZeepIVJu4vuXUFdNUcA3HNnkpr7mGgIqgV -6y6oBAEYnjd4R3ee+1qWySRrBs1m4Jk1CA1WsOCth9Uf0mIIbp+0+b2gIWln7voz -1ANW96pcyja6+d4vm7MCAwEAAaOB6jCB5zAdBgNVHQ4EFgQUyXKRouQM9uBWS2vL -tlFT1MnVy3wwgbcGA1UdIwSBrzCBrIAUyXKRouQM9uBWS2vLtlFT1MnVy3yhgYik -gYUwgYIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2RvbmcxETAPBgNVBAcT -CFNoZW56aGVuMRMwEQYDVQQKEwphbHRvYnJpZGdlMQ0wCwYDVQQLEwRhY3JkMQww -CgYDVQQDEwNvbWMxGjAYBgkqhkiG9w0BCQEWC29tY0BhZGMuY29tggkAkCXKIaqx -vB8wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQAGSvHDqCW65Y9oClJA -R47ruaOAu37Sfr8Lw5GCIzK9TRtdc7qWxfppGN6QC7a55GpwLHU5hingbbGUXGCV -UKLepKF2jGcDLAWAAr4Rc3Ex36XtyfyDVKL+seeNeYgWLMNUNsrGEgEVpFrUbB5G -Syj5OZgpL6NQFgn/MxkAqQZ4kg== ------END CERTIFICATE----- diff --git a/omc/config/client.crt b/omc/config/client.crt deleted file mode 100644 index 0d56981..0000000 --- a/omc/config/client.crt +++ /dev/null @@ -1,61 +0,0 @@ -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=CN, ST=Guangdong, L=Shenzhen, O=altobridge, OU=acrd, CN=omc/emailAddress=omc@adc.com - Validity - Not Before: Mar 8 14:59:26 2010 GMT - Not After : Mar 8 14:59:26 2011 GMT - Subject: C=CN, ST=Guangdong, O=altobridge, OU=acrd, CN=ems/emailAddress=ems@adc.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:cb:00:82:2a:e2:a7:c7:bb:67:0d:f7:a5:2c:db: - 49:63:2c:35:c8:88:d6:9a:ac:14:be:7b:da:e7:c2: - d5:8a:5e:cb:89:9a:65:8f:e2:39:a3:28:b7:0f:17: - 9b:95:f1:96:5a:1d:01:ec:14:6c:77:e1:84:e8:c5: - 01:a6:88:e2:9d:84:13:b0:1c:cb:3e:8d:bd:34:cd: - 9d:a7:d5:60:f4:92:1c:a5:0f:e9:21:cc:75:e5:11: - 26:77:11:cb:f1:5b:86:9a:7f:ea:4a:5f:16:57:fd: - b2:97:1a:73:a2:66:76:dd:40:f0:18:3c:5b:cf:82: - 16:fc:7b:07:7f:7a:ec:ad:bd - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - Netscape Comment: - OpenSSL Generated Certificate - X509v3 Subject Key Identifier: - BD:85:E6:7D:1C:1E:7C:DE:57:9A:F5:8A:E6:3F:07:B5:3A:47:F3:35 - X509v3 Authority Key Identifier: - keyid:C9:72:91:A2:E4:0C:F6:E0:56:4B:6B:CB:B6:51:53:D4:C9:D5:CB:7C - - Signature Algorithm: sha1WithRSAEncryption - 86:89:a0:02:4f:bd:2e:14:db:88:da:d6:87:f6:cb:f6:b4:82: - 41:81:c6:56:ca:3a:0b:44:78:71:ba:b0:f2:20:d6:34:53:69: - 0d:02:85:4b:e7:30:91:b6:e2:5e:67:75:37:db:25:03:c1:e3: - 45:95:db:9a:2c:0d:4d:cc:65:34:39:b3:ab:c3:b5:c0:a8:e8: - 08:12:9a:d3:a7:85:78:10:7b:0e:fb:ae:37:1c:e0:44:48:44: - af:d6:fd:91:e8:0a:50:96:d0:c1:c2:73:0a:12:04:65:20:92: - 94:dc:f8:32:66:4f:cc:a1:cf:73:d6:0a:ba:57:69:3c:1c:d8: - c5:7a ------BEGIN CERTIFICATE----- -MIIC4zCCAkygAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCQ04x -EjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEzARBgNVBAoT -CmFsdG9icmlkZ2UxDTALBgNVBAsTBGFjcmQxDDAKBgNVBAMTA29tYzEaMBgGCSqG -SIb3DQEJARYLb21jQGFkYy5jb20wHhcNMTAwMzA4MTQ1OTI2WhcNMTEwMzA4MTQ1 -OTI2WjBvMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdkb25nMRMwEQYDVQQK -EwphbHRvYnJpZGdlMQ0wCwYDVQQLEwRhY3JkMQwwCgYDVQQDEwNlbXMxGjAYBgkq -hkiG9w0BCQEWC2Vtc0BhZGMuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB -gQDLAIIq4qfHu2cN96Us20ljLDXIiNaarBS+e9rnwtWKXsuJmmWP4jmjKLcPF5uV -8ZZaHQHsFGx34YToxQGmiOKdhBOwHMs+jb00zZ2n1WD0khylD+khzHXlESZ3Ecvx -W4aaf+pKXxZX/bKXGnOiZnbdQPAYPFvPghb8ewd/euytvQIDAQABo3sweTAJBgNV -HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp -Y2F0ZTAdBgNVHQ4EFgQUvYXmfRwefN5XmvWK5j8HtTpH8zUwHwYDVR0jBBgwFoAU -yXKRouQM9uBWS2vLtlFT1MnVy3wwDQYJKoZIhvcNAQEFBQADgYEAhomgAk+9LhTb -iNrWh/bL9rSCQYHGVso6C0R4cbqw8iDWNFNpDQKFS+cwkbbiXmd1N9slA8HjRZXb -miwNTcxlNDmzq8O1wKjoCBKa06eFeBB7DvuuNxzgREhEr9b9kegKUJbQwcJzChIE -ZSCSlNz4MmZPzKHPc9YKuldpPBzYxXo= ------END CERTIFICATE----- diff --git a/omc/config/client.csr b/omc/config/client.csr deleted file mode 100644 index 72cb224..0000000 --- a/omc/config/client.csr +++ /dev/null @@ -1,13 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIB7TCCAVYCAQAwgYIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rvbmcx -ETAPBgNVBAcTCFNoZW56aGVuMRMwEQYDVQQKEwphbHRvYnJpZGdlMQ0wCwYDVQQL -EwRhY3JkMQwwCgYDVQQDEwNlbXMxGjAYBgkqhkiG9w0BCQEWC2Vtc0BhZGMuY29t -MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLAIIq4qfHu2cN96Us20ljLDXI -iNaarBS+e9rnwtWKXsuJmmWP4jmjKLcPF5uV8ZZaHQHsFGx34YToxQGmiOKdhBOw -HMs+jb00zZ2n1WD0khylD+khzHXlESZ3EcvxW4aaf+pKXxZX/bKXGnOiZnbdQPAY -PFvPghb8ewd/euytvQIDAQABoCowEQYJKoZIhvcNAQkCMQQTAmFiMBUGCSqGSIb3 -DQEJBzEIEwYxMjM0NTYwDQYJKoZIhvcNAQEFBQADgYEAxlbRm0fe6AqUdhOwwqOg -VOv9cGqxFxaix405a4fWk2B2d3SfY404ofOXtkDCuJfbfNuqwmM4ufgzc73xsQcD -S5353PYq97sPT9idzh4JmZpgKb6E0ROneIdhVMLCxGKl/9cjfdf2HRZW9ot4JW1c -k/83fO1CfniarbibAgpzI7M= ------END CERTIFICATE REQUEST----- diff --git a/omc/config/client.key b/omc/config/client.key deleted file mode 100644 index ba2e890..0000000 --- a/omc/config/client.key +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,91508CD91BBB28B6 - -mh66h7RXJGa/9Nj5u+QP5wlEd2E/rZDjd4f9NqhSs5PqHMc6GgtBSk8tfpsOXgBC -2LA1ONn9B7y7q42GgTaz9XpL2rABZqjY3VyG7GKt+L8UtVjVYPo/3sB1hzMdrLLK -wZrqJjiOdJRD7awbZ+w1vb0qKSs7KkU85jmrwzI0HXe4lMUNMYQbcU/m7FdsEBtr -YIT0QgafiU3Awi25v2BPsa49oJWLO9qnWrPG1m/V1x1yRXNIrrE455ULGcqruLHH -h1TLe5xlDSDUcb4oRR0GgVWGqKDD/XhY8njT0k87COwIb6Fn+mbsljT4TzDbHFoa -auTgmrikmlZhYlTnBzZ7GNZGa7byY3GAAwbgfVYXJ9CVFi1NwZgXVGuiMGCtgHqF -V90/A6kERS7/C3EsAttLlxrR2IKMfDUzz304ociDtik6OoyCLdjZermkUYddLDJs -PlLtZCmTphh6HCPvSK1li11Y+fkNe57fkKhABhVjy5SY3rmLACLttKXxVCfrpIi/ -4NAWm/366mCl3InDcl+65z6mS5sPT66p102WbSk8iUHzrmr5liGnt8GAT9CNqEoy -Vuc0M/9GckOS7Q4sk3FekJha85x7X9mt5xRlqy2x5aFvvh4aCDoACAcw4e4ckFMS -WM0wxqDJEavc7FDr1EpdtFxQZ0WZkzLcX2Y4MfsOFhrjsHSOBX2/zyxt+UMOPHtP -F+zjf67dia3chYg3E0GExHD7OjTt0BlfN8cUxN18ed4sTp1NkZ9KBxEpRVxRTPmu -hNsrr8qg6TCEncWcRU540zJuxH2g1JEmg7x6JCuqjlaxrnPuxaYL8g== ------END RSA PRIVATE KEY----- diff --git a/omc/config/conv_prefix.conf b/omc/config/conv_prefix.conf deleted file mode 100644 index 559e81a..0000000 Binary files a/omc/config/conv_prefix.conf and /dev/null differ diff --git a/omc/config/hosts b/omc/config/hosts deleted file mode 100644 index 0a47d90..0000000 --- a/omc/config/hosts +++ /dev/null @@ -1,5 +0,0 @@ -127.0.0.1 localhost.localdomain localhost -172.18.128.1 omc-0.iwv omc-0 -172.18.129.1 omc-1.iwv omc-1 -172.18.98.1 mss-0.iwv mss-0 -172.18.99.1 mss-1.iwv mss-1 diff --git a/omc/config/httpd-ssl.conf b/omc/config/httpd-ssl.conf deleted file mode 100644 index 8017d46..0000000 --- a/omc/config/httpd-ssl.conf +++ /dev/null @@ -1,232 +0,0 @@ -# -# This is the Apache server configuration file providing SSL support. -# It contains the configuration directives to instruct the server how to -# serve pages over an https connection. For detailing information about these -# directives see -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# - -# -# Pseudo Random Number Generator (PRNG): -# Configure one or more sources to seed the PRNG of the SSL library. -# The seed data should be of good random quality. -# WARNING! On some platforms /dev/random blocks if not enough entropy -# is available. This means you then cannot use the /dev/random device -# because it would lead to very long connection times (as long as -# it requires to make more entropy available). But usually those -# platforms additionally provide a /dev/urandom device which doesn't -# block. So, if available, use this one instead. Read the mod_ssl User -# Manual for more details. -# -#SSLRandomSeed startup file:/dev/random 512 -#SSLRandomSeed startup file:/dev/urandom 512 -#SSLRandomSeed connect file:/dev/random 512 -#SSLRandomSeed connect file:/dev/urandom 512 - - -# -# When we also provide SSL we have to listen to the -# standard HTTP port (see above) and to the HTTPS port -# -# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two -# Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443" -# -Listen 443 - -## -## SSL Global Context -## -## All SSL configuration in this context applies both to -## the main server and all SSL-enabled virtual hosts. -## - -# -# Some MIME-types for downloading Certificates and CRLs -# -AddType application/x-x509-ca-cert .crt -AddType application/x-pkcs7-crl .crl - -# Pass Phrase Dialog: -# Configure the pass phrase gathering process. -# The filtering dialog program (`builtin' is a internal -# terminal dialog) has to provide the pass phrase on stdout. -SSLPassPhraseDialog builtin - -# Inter-Process Session Cache: -# Configure the SSL Session Cache: First the mechanism -# to use and second the expiring timeout (in seconds). -#SSLSessionCache "dbm:/etc/httpd/logs/ssl_scache" -SSLSessionCache "shmcb:/etc/httpd/logs/ssl_scache(512000)" -SSLSessionCacheTimeout 300 - -# Semaphore: -# Configure the path to the mutual exclusion semaphore the -# SSL engine uses internally for inter-process synchronization. -SSLMutex "file:/etc/httpd/logs/ssl_mutex" - -## -## SSL Virtual Host Context -## - - - -# General setup for the virtual host -DocumentRoot "/usr/local/apache/htdocs" -ServerName www.example.com:443 -ServerAdmin you@example.com -ErrorLog "/etc/httpd/logs/error_log" -TransferLog "/etc/httpd/logs/access_log" - -# SSL Engine Switch: -# Enable/Disable SSL for this virtual host. -SSLEngine on - -# SSL Cipher Suite: -# List the ciphers that the client is permitted to negotiate. -# See the mod_ssl documentation for a complete list. -SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL - -# Server Certificate: -# Point SSLCertificateFile at a PEM encoded certificate. If -# the certificate is encrypted, then you will be prompted for a -# pass phrase. Note that a kill -HUP will prompt again. Keep -# in mind that if you have both an RSA and a DSA certificate you -# can configure both in parallel (to also allow the use of DSA -# ciphers, etc.) -SSLCertificateFile "/etc/httpd/conf/server.crt" -#SSLCertificateFile "/etc/httpd/conf/server-dsa.crt" - -# Server Private Key: -# If the key is not combined with the certificate, use this -# directive to point at the key file. Keep in mind that if -# you've both a RSA and a DSA private key you can configure -# both in parallel (to also allow the use of DSA ciphers, etc.) -SSLCertificateKeyFile "/etc/httpd/conf/server.key" -#SSLCertificateKeyFile "/etc/httpd/conf/server-dsa.key" - -# Server Certificate Chain: -# Point SSLCertificateChainFile at a file containing the -# concatenation of PEM encoded CA certificates which form the -# certificate chain for the server certificate. Alternatively -# the referenced file can be the same as SSLCertificateFile -# when the CA certificates are directly appended to the server -# certificate for convinience. -#SSLCertificateChainFile "/etc/httpd/conf/server-ca.crt" - -# Certificate Authority (CA): -# Set the CA certificate verification path where to find CA -# certificates for client authentication or alternatively one -# huge file containing all of them (file must be PEM encoded) -# Note: Inside SSLCACertificatePath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCACertificatePath "/etc/httpd/conf/ssl.crt" -SSLCACertificateFile "/etc/httpd/conf/cacert.pem" - -# Certificate Revocation Lists (CRL): -# Set the CA revocation path where to find CA CRLs for client -# authentication or alternatively one huge file containing all -# of them (file must be PEM encoded) -# Note: Inside SSLCARevocationPath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCARevocationPath "/etc/httpd/conf/ssl.crl" -#SSLCARevocationFile "/etc/httpd/conf/ssl.crl/ca-bundle.crl" - -# Client Authentication (Type): -# Client certificate verification type and depth. Types are -# none, optional, require and optional_no_ca. Depth is a -# number which specifies how deeply to verify the certificate -# issuer chain before deciding the certificate is not valid. -SSLVerifyClient require -SSLVerifyDepth 1 - -# Access Control: -# With SSLRequire you can do per-directory access control based -# on arbitrary complex boolean expressions containing server -# variable checks and other lookup directives. The syntax is a -# mixture between C and Perl. See the mod_ssl documentation -# for more details. -# -#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ -# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ -# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ -# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ -# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ -# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ -# - -# SSL Engine Options: -# Set various options for the SSL engine. -# o FakeBasicAuth: -# Translate the client X.509 into a Basic Authorisation. This means that -# the standard Auth/DBMAuth methods can be used for access control. The -# user name is the `one line' version of the client's X.509 certificate. -# Note that no password is obtained from the user. Every entry in the user -# file needs this password: `xxj31ZMTZzkVA'. -# o ExportCertData: -# This exports two additional environment variables: SSL_CLIENT_CERT and -# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the -# server (always existing) and the client (only existing when client -# authentication is used). This can be used to import the certificates -# into CGI scripts. -# o StdEnvVars: -# This exports the standard SSL/TLS related `SSL_*' environment variables. -# Per default this exportation is switched off for performance reasons, -# because the extraction step is an expensive operation and is usually -# useless for serving static content. So one usually enables the -# exportation for CGI and SSI requests only. -# o StrictRequire: -# This denies access when "SSLRequireSSL" or "SSLRequire" applied even -# under a "Satisfy any" situation, i.e. when it applies access is denied -# and no other module can change it. -# o OptRenegotiate: -# This enables optimized SSL connection renegotiation handling when SSL -# directives are used in per-directory context. -#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire - - SSLOptions +StdEnvVars - - - SSLOptions +StdEnvVars - - -# SSL Protocol Adjustments: -# The safe and default but still SSL/TLS standard compliant shutdown -# approach is that mod_ssl sends the close notify alert but doesn't wait for -# the close notify alert from client. When you need a different shutdown -# approach you can use one of the following variables: -# o ssl-unclean-shutdown: -# This forces an unclean shutdown when the connection is closed, i.e. no -# SSL close notify alert is send or allowed to received. This violates -# the SSL/TLS standard but is needed for some brain-dead browsers. Use -# this when you receive I/O errors because of the standard approach where -# mod_ssl sends the close notify alert. -# o ssl-accurate-shutdown: -# This forces an accurate shutdown when the connection is closed, i.e. a -# SSL close notify alert is send and mod_ssl waits for the close notify -# alert of the client. This is 100% SSL/TLS standard compliant, but in -# practice often causes hanging connections with brain-dead browsers. Use -# this only for browsers where you know that their SSL implementation -# works correctly. -# Notice: Most problems of broken clients are also related to the HTTP -# keep-alive facility, so you usually additionally want to disable -# keep-alive for those clients, too. Use variable "nokeepalive" for this. -# Similarly, one has to force some clients to use HTTP/1.0 to workaround -# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and -# "force-response-1.0" for this. -BrowserMatch ".*MSIE.*" \ - nokeepalive ssl-unclean-shutdown \ - downgrade-1.0 force-response-1.0 - -# Per-Server Logging: -# The home of a custom SSL log file. Use this when you want a -# compact non-error SSL logfile on a virtual host basis. -CustomLog "|/usr/sbin/rotatelogs /etc/httpd/logs/ssl_request_log 10M" \ - "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" - - -SSLProtocol TLSv1 diff --git a/omc/config/httpd.conf_centos b/omc/config/httpd.conf_centos deleted file mode 100644 index 55ab729..0000000 --- a/omc/config/httpd.conf_centos +++ /dev/null @@ -1,992 +0,0 @@ -# -# This is the main Apache server configuration file. It contains the -# configuration directives that give the server its instructions. -# See for detailed information. -# In particular, see -# -# for a discussion of each configuration directive. -# -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# -# The configuration directives are grouped into three basic sections: -# 1. Directives that control the operation of the Apache server process as a -# whole (the 'global environment'). -# 2. Directives that define the parameters of the 'main' or 'default' server, -# which responds to requests that aren't handled by a virtual host. -# These directives also provide default values for the settings -# of all virtual hosts. -# 3. Settings for virtual hosts, which allow Web requests to be sent to -# different IP addresses or hostnames and have them handled by the -# same Apache server process. -# -# Configuration and logfile names: If the filenames you specify for many -# of the server's control files begin with "/" (or "drive:/" for Win32), the -# server will use that explicit path. If the filenames do *not* begin -# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" -# with ServerRoot set to "/etc/httpd" will be interpreted by the -# server as "/etc/httpd/logs/foo.log". -# - -### Section 1: Global Environment -# -# The directives in this section affect the overall operation of Apache, -# such as the number of concurrent requests it can handle or where it -# can find its configuration files. -# - -# -# Don't give away too much information about all the subcomponents -# we are running. Comment out this line if you don't mind remote sites -# finding out what major optional modules you are running -ServerTokens OS - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# NOTE! If you intend to place this on an NFS (or otherwise network) -# mounted filesystem then please read the LockFile documentation -# (available at ); -# you will save yourself a lot of trouble. -# -# Do NOT add a slash at the end of the directory path. -# -ServerRoot "/etc/httpd" - -# -# PidFile: The file in which the server should record its process -# identification number when it starts. -# -PidFile run/httpd.pid - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout 300 - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive On - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests 100 - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout 15 - -## -## Server-Pool Size Regulation (MPM specific) -## - -# prefork MPM -# StartServers: number of server processes to start -# MinSpareServers: minimum number of server processes which are kept spare -# MaxSpareServers: maximum number of server processes which are kept spare -# ServerLimit: maximum value for MaxClients for the lifetime of the server -# MaxClients: maximum number of server processes allowed to start -# MaxRequestsPerChild: maximum number of requests a server process serves - -StartServers 8 -MinSpareServers 5 -MaxSpareServers 20 -ServerLimit 256 -MaxClients 256 -MaxRequestsPerChild 4000 - - -# worker MPM -# StartServers: initial number of server processes to start -# MaxClients: maximum number of simultaneous client connections -# MinSpareThreads: minimum number of worker threads which are kept spare -# MaxSpareThreads: maximum number of worker threads which are kept spare -# ThreadsPerChild: constant number of worker threads in each server process -# MaxRequestsPerChild: maximum number of requests a server process serves - -StartServers 2 -MaxClients 150 -MinSpareThreads 25 -MaxSpareThreads 75 -ThreadsPerChild 25 -MaxRequestsPerChild 0 - - -# -# Listen: Allows you to bind Apache to specific IP addresses and/or -# ports, in addition to the default. See also the -# directive. -# -# Change this to Listen on specific IP addresses as shown below to -# prevent Apache from glomming onto all bound IP addresses (0.0.0.0) -# -#Listen 12.34.56.78:80 -Listen 80 - -# -# Dynamic Shared Object (DSO) Support -# -# To be able to use the functionality of a module which was built as a DSO you -# have to place corresponding `LoadModule' lines at this location so the -# directives contained in it are actually available _before_ they are used. -# Statically compiled modules (those listed by `httpd -l') do not need -# to be loaded here. -# -# Example: -# LoadModule foo_module modules/mod_foo.so -# -LoadModule auth_basic_module modules/mod_auth_basic.so -LoadModule auth_digest_module modules/mod_auth_digest.so -LoadModule authn_file_module modules/mod_authn_file.so -LoadModule authn_alias_module modules/mod_authn_alias.so -LoadModule authn_anon_module modules/mod_authn_anon.so -LoadModule authn_dbm_module modules/mod_authn_dbm.so -LoadModule authn_default_module modules/mod_authn_default.so -LoadModule authz_host_module modules/mod_authz_host.so -LoadModule authz_user_module modules/mod_authz_user.so -LoadModule authz_owner_module modules/mod_authz_owner.so -LoadModule authz_groupfile_module modules/mod_authz_groupfile.so -LoadModule authz_dbm_module modules/mod_authz_dbm.so -LoadModule authz_default_module modules/mod_authz_default.so -LoadModule ldap_module modules/mod_ldap.so -LoadModule authnz_ldap_module modules/mod_authnz_ldap.so -LoadModule include_module modules/mod_include.so -LoadModule log_config_module modules/mod_log_config.so -LoadModule logio_module modules/mod_logio.so -LoadModule env_module modules/mod_env.so -LoadModule ext_filter_module modules/mod_ext_filter.so -LoadModule mime_magic_module modules/mod_mime_magic.so -LoadModule expires_module modules/mod_expires.so -LoadModule deflate_module modules/mod_deflate.so -LoadModule headers_module modules/mod_headers.so -LoadModule usertrack_module modules/mod_usertrack.so -LoadModule setenvif_module modules/mod_setenvif.so -LoadModule mime_module modules/mod_mime.so -LoadModule dav_module modules/mod_dav.so -LoadModule status_module modules/mod_status.so -LoadModule autoindex_module modules/mod_autoindex.so -LoadModule info_module modules/mod_info.so -LoadModule dav_fs_module modules/mod_dav_fs.so -LoadModule vhost_alias_module modules/mod_vhost_alias.so -LoadModule negotiation_module modules/mod_negotiation.so -LoadModule dir_module modules/mod_dir.so -LoadModule actions_module modules/mod_actions.so -LoadModule speling_module modules/mod_speling.so -LoadModule userdir_module modules/mod_userdir.so -LoadModule alias_module modules/mod_alias.so -LoadModule rewrite_module modules/mod_rewrite.so -LoadModule proxy_module modules/mod_proxy.so -LoadModule proxy_balancer_module modules/mod_proxy_balancer.so -LoadModule proxy_ftp_module modules/mod_proxy_ftp.so -LoadModule proxy_http_module modules/mod_proxy_http.so -LoadModule proxy_connect_module modules/mod_proxy_connect.so -LoadModule cache_module modules/mod_cache.so -LoadModule suexec_module modules/mod_suexec.so -LoadModule disk_cache_module modules/mod_disk_cache.so -LoadModule file_cache_module modules/mod_file_cache.so -LoadModule mem_cache_module modules/mod_mem_cache.so -LoadModule cgi_module modules/mod_cgi.so -LoadModule version_module modules/mod_version.so - -# -# The following modules are not loaded by default: -# -#LoadModule cern_meta_module modules/mod_cern_meta.so -#LoadModule asis_module modules/mod_asis.so - -# -# Load config files from the config directory "/etc/httpd/conf.d". -# -Include conf.d/*.conf - -# -# ExtendedStatus controls whether Apache will generate "full" status -# information (ExtendedStatus On) or just basic information (ExtendedStatus -# Off) when the "server-status" handler is called. The default is Off. -# -#ExtendedStatus On - -# -# If you wish httpd to run as a different user or group, you must run -# httpd as root initially and it will switch. -# -# User/Group: The name (or #number) of the user/group to run httpd as. -# . On SCO (ODT 3) use "User nouser" and "Group nogroup". -# . On HPUX you may not be able to use shared memory as nobody, and the -# suggested workaround is to create a user www and use that user. -# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) -# when the value of (unsigned)Group is above 60000; -# don't use Group #-1 on these systems! -# -User www -Group omc - -### Section 2: 'Main' server configuration -# -# The directives in this section set up the values used by the 'main' -# server, which responds to any requests that aren't handled by a -# definition. These values also provide defaults for -# any containers you may define later in the file. -# -# All of these directives may appear inside containers, -# in which case these default settings will be overridden for the -# virtual host being defined. -# - -# -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. This address appears on some server-generated pages, such -# as error documents. e.g. admin@your-domain.com -# -ServerAdmin root@localhost - -# -# ServerName gives the name and port that the server uses to identify itself. -# This can often be determined automatically, but we recommend you specify -# it explicitly to prevent problems during startup. -# -# If this is not set to valid DNS name for your host, server-generated -# redirections will not work. See also the UseCanonicalName directive. -# -# If your host doesn't have a registered DNS name, enter its IP address here. -# You will have to access it by its address anyway, and this will make -# redirections work in a sensible way. -# -#ServerName www.example.com:80 - -# -# UseCanonicalName: Determines how Apache constructs self-referencing -# URLs and the SERVER_NAME and SERVER_PORT variables. -# When set "Off", Apache will use the Hostname and Port supplied -# by the client. When set "On", Apache will use the value of the -# ServerName directive. -# -UseCanonicalName Off - -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -#DocumentRoot "/var/www/html" -DocumentRoot "/usr/local/apache/htdocs" - -# -# Each directory to which Apache has access can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). -# -# First, we configure the "default" to be a very restrictive set of -# features. -# - - Options FollowSymLinks - AllowOverride None - - -# -# Note that from this point forward you must specifically allow -# particular features to be enabled - so if something's not working as -# you might expect, make sure that you have specifically enabled it -# below. -# - -# -# This should be changed to whatever you set DocumentRoot to. -# - - -# -# Possible values for the Options directive are "None", "All", -# or any combination of: -# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews -# -# Note that "MultiViews" must be named *explicitly* --- "Options All" -# doesn't give it to you. -# -# The Options directive is both complicated and important. Please see -# http://httpd.apache.org/docs/2.2/mod/core.html#options -# for more information. -# - Options Indexes FollowSymLinks MultiViews - -# -# AllowOverride controls what directives may be placed in .htaccess files. -# It can be "All", "None", or any combination of the keywords: -# Options FileInfo AuthConfig Limit -# - AllowOverride None - -# -# Controls who can get stuff from this server. -# - Order allow,deny - Allow from all - - - -# -# UserDir: The name of the directory that is appended onto a user's home -# directory if a ~user request is received. -# -# The path to the end user account 'public_html' directory must be -# accessible to the webserver userid. This usually means that ~userid -# must have permissions of 711, ~userid/public_html must have permissions -# of 755, and documents contained therein must be world-readable. -# Otherwise, the client will only receive a "403 Forbidden" message. -# -# See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden -# - - # - # UserDir is disabled by default since it can confirm the presence - # of a username on the system (depending on home directory - # permissions). - # - UserDir disable - - # - # To enable requests to /~user/ to serve the user's public_html - # directory, remove the "UserDir disable" line above, and uncomment - # the following line instead: - # - #UserDir public_html - - - -# -# Control access to UserDir directories. The following is an example -# for a site where these directories are restricted to read-only. -# -# -# AllowOverride FileInfo AuthConfig Limit -# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec -# -# Order allow,deny -# Allow from all -# -# -# Order deny,allow -# Deny from all -# -# - -# -# DirectoryIndex: sets the file that Apache will serve if a directory -# is requested. -# -# The index.html.var file (a type-map) is used to deliver content- -# negotiated documents. The MultiViews Option can be used for the -# same purpose, but it is much slower. -# -DirectoryIndex index.html index.html.var index.php - -# -# AccessFileName: The name of the file to look for in each directory -# for additional configuration directives. See also the AllowOverride -# directive. -# -AccessFileName .htaccess - -# -# The following lines prevent .htaccess and .htpasswd files from being -# viewed by Web clients. -# - - Order allow,deny - Deny from all - - -# -# TypesConfig describes where the mime.types file (or equivalent) is -# to be found. -# -TypesConfig /etc/mime.types - -# -# DefaultType is the default MIME type the server will use for a document -# if it cannot otherwise determine one, such as from filename extensions. -# If your server contains mostly text or HTML documents, "text/plain" is -# a good value. If most of your content is binary, such as applications -# or images, you may want to use "application/octet-stream" instead to -# keep browsers from trying to display binary files as though they are -# text. -# -DefaultType text/plain - -# -# The mod_mime_magic module allows the server to use various hints from the -# contents of the file itself to determine its type. The MIMEMagicFile -# directive tells the module where the hint definitions are located. -# - -# MIMEMagicFile /usr/share/magic.mime - MIMEMagicFile conf/magic - - -# -# HostnameLookups: Log the names of clients or just their IP addresses -# e.g., www.apache.org (on) or 204.62.129.132 (off). -# The default is off because it'd be overall better for the net if people -# had to knowingly turn this feature on, since enabling it means that -# each client request will result in AT LEAST one lookup request to the -# nameserver. -# -HostnameLookups Off - -# -# EnableMMAP: Control whether memory-mapping is used to deliver -# files (assuming that the underlying OS supports it). -# The default is on; turn this off if you serve from NFS-mounted -# filesystems. On some systems, turning it off (regardless of -# filesystem) can improve performance; for details, please see -# http://httpd.apache.org/docs/2.2/mod/core.html#enablemmap -# -#EnableMMAP off - -# -# EnableSendfile: Control whether the sendfile kernel support is -# used to deliver files (assuming that the OS supports it). -# The default is on; turn this off if you serve from NFS-mounted -# filesystems. Please see -# http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfile -# -#EnableSendfile off - -# -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a -# container, that host's errors will be logged there and not here. -# -ErrorLog logs/error_log - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - -# -# The following directives define some format nicknames for use with -# a CustomLog directive (see below). -# -LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined -LogFormat "%h %l %u %t \"%r\" %>s %b" common -LogFormat "%{Referer}i -> %U" referer -LogFormat "%{User-agent}i" agent - -# "combinedio" includes actual counts of actual bytes received (%I) and sent (%O); this -# requires the mod_logio module to be loaded. -#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio - -# -# The location and format of the access logfile (Common Logfile Format). -# If you do not define any access logfiles within a -# container, they will be logged here. Contrariwise, if you *do* -# define per- access logfiles, transactions will be -# logged therein and *not* in this file. -# -#CustomLog logs/access_log common - -# -# If you would like to have separate agent and referer logfiles, uncomment -# the following directives. -# -#CustomLog logs/referer_log referer -#CustomLog logs/agent_log agent - -# -# For a single logfile with access, agent, and referer information -# (Combined Logfile Format), use the following directive: -# -CustomLog logs/access_log combined - -# -# Optionally add a line containing the server version and virtual host -# name to server-generated pages (internal error documents, FTP directory -# listings, mod_status and mod_info output etc., but not CGI generated -# documents or custom error documents). -# Set to "EMail" to also include a mailto: link to the ServerAdmin. -# Set to one of: On | Off | EMail -# -ServerSignature On - -# -# Aliases: Add here as many aliases as you need (with no limit). The format is -# Alias fakename realname -# -# Note that if you include a trailing / on fakename then the server will -# require it to be present in the URL. So "/icons" isn't aliased in this -# example, only "/icons/". If the fakename is slash-terminated, then the -# realname must also be slash terminated, and if the fakename omits the -# trailing slash, the realname must also omit it. -# -# We include the /icons/ alias for FancyIndexed directory listings. If you -# do not use FancyIndexing, you may comment this out. -# -Alias /icons/ "/var/www/icons/" - - - Options Indexes MultiViews - AllowOverride None - Order allow,deny - Allow from all - - -# -# WebDAV module configuration section. -# - - # Location of the WebDAV lock database. - DAVLockDB /var/lib/dav/lockdb - - -# -# ScriptAlias: This controls which directories contain server scripts. -# ScriptAliases are essentially the same as Aliases, except that -# documents in the realname directory are treated as applications and -# run by the server when requested rather than as documents sent to the client. -# The same rules about trailing "/" apply to ScriptAlias directives as to -# Alias. -# -ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" - -# -# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased -# CGI directory exists, if you have that configured. -# - - AllowOverride None - Options None - Order allow,deny - Allow from all - - -# -# Redirect allows you to tell clients about documents which used to exist in -# your server's namespace, but do not anymore. This allows you to tell the -# clients where to look for the relocated document. -# Example: -# Redirect permanent /foo http://www.example.com/bar - -# -# Directives controlling the display of server-generated directory listings. -# - -# -# IndexOptions: Controls the appearance of server-generated directory -# listings. -# -IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable - -# -# AddIcon* directives tell the server which icon to show for different -# files or filename extensions. These are only displayed for -# FancyIndexed directories. -# -AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip - -AddIconByType (TXT,/icons/text.gif) text/* -AddIconByType (IMG,/icons/image2.gif) image/* -AddIconByType (SND,/icons/sound2.gif) audio/* -AddIconByType (VID,/icons/movie.gif) video/* - -AddIcon /icons/binary.gif .bin .exe -AddIcon /icons/binhex.gif .hqx -AddIcon /icons/tar.gif .tar -AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv -AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip -AddIcon /icons/a.gif .ps .ai .eps -AddIcon /icons/layout.gif .html .shtml .htm .pdf -AddIcon /icons/text.gif .txt -AddIcon /icons/c.gif .c -AddIcon /icons/p.gif .pl .py -AddIcon /icons/f.gif .for -AddIcon /icons/dvi.gif .dvi -AddIcon /icons/uuencoded.gif .uu -AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl -AddIcon /icons/tex.gif .tex -AddIcon /icons/bomb.gif core - -AddIcon /icons/back.gif .. -AddIcon /icons/hand.right.gif README -AddIcon /icons/folder.gif ^^DIRECTORY^^ -AddIcon /icons/blank.gif ^^BLANKICON^^ - -# -# DefaultIcon is which icon to show for files which do not have an icon -# explicitly set. -# -DefaultIcon /icons/unknown.gif - -# -# AddDescription allows you to place a short description after a file in -# server-generated indexes. These are only displayed for FancyIndexed -# directories. -# Format: AddDescription "description" filename -# -#AddDescription "GZIP compressed document" .gz -#AddDescription "tar archive" .tar -#AddDescription "GZIP compressed tar archive" .tgz - -# -# ReadmeName is the name of the README file the server will look for by -# default, and append to directory listings. -# -# HeaderName is the name of a file which should be prepended to -# directory indexes. -ReadmeName README.html -HeaderName HEADER.html - -# -# IndexIgnore is a set of filenames which directory indexing should ignore -# and not include in the listing. Shell-style wildcarding is permitted. -# -IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t - -# -# DefaultLanguage and AddLanguage allows you to specify the language of -# a document. You can then use content negotiation to give a browser a -# file in a language the user can understand. -# -# Specify a default language. This means that all data -# going out without a specific language tag (see below) will -# be marked with this one. You probably do NOT want to set -# this unless you are sure it is correct for all cases. -# -# * It is generally better to not mark a page as -# * being a certain language than marking it with the wrong -# * language! -# -# DefaultLanguage nl -# -# Note 1: The suffix does not have to be the same as the language -# keyword --- those with documents in Polish (whose net-standard -# language code is pl) may wish to use "AddLanguage pl .po" to -# avoid the ambiguity with the common suffix for perl scripts. -# -# Note 2: The example entries below illustrate that in some cases -# the two character 'Language' abbreviation is not identical to -# the two character 'Country' code for its country, -# E.g. 'Danmark/dk' versus 'Danish/da'. -# -# Note 3: In the case of 'ltz' we violate the RFC by using a three char -# specifier. There is 'work in progress' to fix this and get -# the reference data for rfc1766 cleaned up. -# -# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl) -# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de) -# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja) -# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn) -# Norwegian (no) - Polish (pl) - Portugese (pt) -# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv) -# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW) -# -AddLanguage ca .ca -AddLanguage cs .cz .cs -AddLanguage da .dk -AddLanguage de .de -AddLanguage el .el -AddLanguage en .en -AddLanguage eo .eo -AddLanguage es .es -AddLanguage et .et -AddLanguage fr .fr -AddLanguage he .he -AddLanguage hr .hr -AddLanguage it .it -AddLanguage ja .ja -AddLanguage ko .ko -AddLanguage ltz .ltz -AddLanguage nl .nl -AddLanguage nn .nn -AddLanguage no .no -AddLanguage pl .po -AddLanguage pt .pt -AddLanguage pt-BR .pt-br -AddLanguage ru .ru -AddLanguage sv .sv -AddLanguage zh-CN .zh-cn -AddLanguage zh-TW .zh-tw - -# -# LanguagePriority allows you to give precedence to some languages -# in case of a tie during content negotiation. -# -# Just list the languages in decreasing order of preference. We have -# more or less alphabetized them here. You probably want to change this. -# -LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW - -# -# ForceLanguagePriority allows you to serve a result page rather than -# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback) -# [in case no accepted languages matched the available variants] -# -ForceLanguagePriority Prefer Fallback - -# -# Specify a default charset for all content served; this enables -# interpretation of all content as UTF-8 by default. To use the -# default browser choice (ISO-8859-1), or to allow the META tags -# in HTML content to override this choice, comment out this -# directive: -# -#AddDefaultCharset UTF-8 - -# -# AddType allows you to add to or override the MIME configuration -# file mime.types for specific file types. -# -#AddType application/x-tar .tgz - -# -# AddEncoding allows you to have certain browsers uncompress -# information on the fly. Note: Not all browsers support this. -# Despite the name similarity, the following Add* directives have nothing -# to do with the FancyIndexing customization directives above. -# -#AddEncoding x-compress .Z -#AddEncoding x-gzip .gz .tgz - -# If the AddEncoding directives above are commented-out, then you -# probably should define those extensions to indicate media types: -# -AddType application/x-compress .Z -AddType application/x-gzip .gz .tgz - -# -# AddHandler allows you to map certain file extensions to "handlers": -# actions unrelated to filetype. These can be either built into the server -# or added with the Action directive (see below) -# -# To use CGI scripts outside of ScriptAliased directories: -# (You will also need to add "ExecCGI" to the "Options" directive.) -# -#AddHandler cgi-script .cgi - -# -# For files that include their own HTTP headers: -# -#AddHandler send-as-is asis - -# -# For type maps (negotiated resources): -# (This is enabled by default to allow the Apache "It Worked" page -# to be distributed in multiple languages.) -# -AddHandler type-map var - -# -# Filters allow you to process content before it is sent to the client. -# -# To parse .shtml files for server-side includes (SSI): -# (You will also need to add "Includes" to the "Options" directive.) -# -AddType text/html .shtml -AddOutputFilter INCLUDES .shtml - -# -# Action lets you define media types that will execute a script whenever -# a matching file is called. This eliminates the need for repeated URL -# pathnames for oft-used CGI file processors. -# Format: Action media/type /cgi-script/location -# Format: Action handler-name /cgi-script/location -# - -# -# Customizable error responses come in three flavors: -# 1) plain text 2) local redirects 3) external redirects -# -# Some examples: -#ErrorDocument 500 "The server made a boo boo." -#ErrorDocument 404 /missing.html -#ErrorDocument 404 "/cgi-bin/missing_handler.pl" -#ErrorDocument 402 http://www.example.com/subscription_info.html -# - -# -# Putting this all together, we can internationalize error responses. -# -# We use Alias to redirect any /error/HTTP_.html.var response to -# our collection of by-error message multi-language collections. We use -# includes to substitute the appropriate text. -# -# You can modify the messages' appearance without changing any of the -# default HTTP_.html.var files by adding the line: -# -# Alias /error/include/ "/your/include/path/" -# -# which allows you to create your own set of files by starting with the -# /var/www/error/include/ files and -# copying them to /your/include/path/, even on a per-VirtualHost basis. -# - -Alias /error/ "/var/www/error/" - - - - - AllowOverride None - Options IncludesNoExec - AddOutputFilter Includes html - AddHandler type-map var - Order allow,deny - Allow from all - LanguagePriority en es de fr - ForceLanguagePriority Prefer Fallback - - -# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var -# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var -# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var -# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var -# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var -# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var -# ErrorDocument 410 /error/HTTP_GONE.html.var -# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var -# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var -# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var -# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var -# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var -# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var -# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var -# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var -# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var -# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var - - - - -# -# The following directives modify normal HTTP response behavior to -# handle known problems with browser implementations. -# -BrowserMatch "Mozilla/2" nokeepalive -BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 -BrowserMatch "RealPlayer 4\.0" force-response-1.0 -BrowserMatch "Java/1\.0" force-response-1.0 -BrowserMatch "JDK/1\.0" force-response-1.0 - -# -# The following directive disables redirects on non-GET requests for -# a directory that does not include the trailing slash. This fixes a -# problem with Microsoft WebFolders which does not appropriately handle -# redirects for folders with DAV methods. -# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. -# -BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully -BrowserMatch "MS FrontPage" redirect-carefully -BrowserMatch "^WebDrive" redirect-carefully -BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully -BrowserMatch "^gnome-vfs/1.0" redirect-carefully -BrowserMatch "^XML Spy" redirect-carefully -BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully - -# -# Allow server status reports generated by mod_status, -# with the URL of http://servername/server-status -# Change the ".example.com" to match your domain to enable. -# -# -# SetHandler server-status -# Order deny,allow -# Deny from all -# Allow from .example.com -# - -# -# Allow remote server configuration reports, with the URL of -# http://servername/server-info (requires that mod_info.c be loaded). -# Change the ".example.com" to match your domain to enable. -# -# -# SetHandler server-info -# Order deny,allow -# Deny from all -# Allow from .example.com -# - -# -# Proxy Server directives. Uncomment the following lines to -# enable the proxy server: -# -# -#ProxyRequests On -# -# -# Order deny,allow -# Deny from all -# Allow from .example.com -# - -# -# Enable/disable the handling of HTTP/1.1 "Via:" headers. -# ("Full" adds the server version; "Block" removes all outgoing Via: headers) -# Set to one of: Off | On | Full | Block -# -#ProxyVia On - -# -# To enable a cache of proxied content, uncomment the following lines. -# See http://httpd.apache.org/docs/2.2/mod/mod_cache.html for more details. -# -# -# CacheEnable disk / -# CacheRoot "/var/cache/mod_proxy" -# -# - -# -# End of proxy directives. - -### Section 3: Virtual Hosts -# -# VirtualHost: If you want to maintain multiple domains/hostnames on your -# machine you can setup VirtualHost containers for them. Most configurations -# use only name-based virtual hosts so the server doesn't need to worry about -# IP addresses. This is indicated by the asterisks in the directives below. -# -# Please see the documentation at -# -# for further details before you try to setup virtual hosts. -# -# You may use the command line option '-S' to verify your virtual host -# configuration. - -# -# Use name-based virtual hosting. -# -#NameVirtualHost *:80 -# -# NOTE: NameVirtualHost cannot be used without a port specifier -# (e.g. :80) if mod_ssl is being used, due to the nature of the -# SSL protocol. -# - -# -# VirtualHost example: -# Almost any Apache directive may go into a VirtualHost container. -# The first VirtualHost section is used for requests without a known -# server name. -# -# -# ServerAdmin webmaster@dummy-host.example.com -# DocumentRoot /www/docs/dummy-host.example.com -# ServerName dummy-host.example.com -# ErrorLog logs/dummy-host.example.com-error_log -# CustomLog logs/dummy-host.example.com-access_log common -# diff --git a/omc/config/my.cnf b/omc/config/my.cnf deleted file mode 100644 index 579e3bf..0000000 --- a/omc/config/my.cnf +++ /dev/null @@ -1,90 +0,0 @@ -# Example mysql config file for medium systems. -# -# This is for a system with little memory (32M - 64M) where MySQL plays -# a important part and systems up to 128M very MySQL is used together with -# other programs (like a web server) -# -# You can copy this file to -# /etc/mf.cnf to set global options, -# mysql-data-dir/my.cnf to set server-specific options (in this -# installation this directory is /usr/local/mysql/var) or -# ~/.my.cnf to set user-specific options. -# -# One can in this file use all long options that the program supports. -# If you want to know which options a program support, run the program -# with --help option. - -# The following options will be passed to all MySQL clients -[client] -#password = your_password -port = 3306 -#socket = /var/lib/mysql/mysql.sock -socket = /tmp/mysql.sock -# Here follows entries for some specific programs - -# The MySQL server -[mysqld] -port = 3306 -#socket = /var/lib/mysql/mysql.sock -socket = /tmp/mysql.sock -datadir = /usr/local/mysql -pid-file = /var/lib/mysql/mysqld.pid -log-error = /var/lib/mysql/mysqld.err -skip-locking -set-variable = key_buffer=16M -set-variable = max_allowed_packet=16M -set-variable = table_cache=64 -set-variable = sort_buffer=512K -set-variable = net_buffer_length=8K -set-variable = myisam_sort_buffer_size=8M -set-variable = max_connections=256 -set-variable = wait_timeout=1800 -set-variable = interactive_timeout=1800 - -#set-variable = max_binlog_size=32M -#master=====================> - -server-id = 0 - -#slave====================> -master-host = omc-1 -master-user = administrator -master-password = "*86#ROtartsinim" -master-port = 3306 - -#master-connect-retry = 30 -#slave-read-timeout = 10 - -#replicate-do-table =*.* - - -# Uncomment the following if you are using BDB tables -#set-variable = bdb_cache_size=4M -#set-variable = bdb_max_lock=10000 - -# Point the following paths to different dedicated disks -#tmpdir = /tmp/ -#log-update = /path-to-dedicated-directory/hostname - -[mysqldump] -quick -set-variable = max_allowed_packet=16M - -[mysql] -no-auto-rehash -#safe-updates # Remove the comment character if you are not familiar with SQL - -[isamchk] -set-variable = key_buffer=20M -set-variable = sort_buffer=20M -set-variable = read_buffer=2M -set-variable = write_buffer=2M - -[myisamchk] -set-variable = key_buffer=20M -set-variable = sort_buffer=20M -set-variable = read_buffer=2M -set-variable = write_buffer=2M - -[mysqlhotcopy] -interactive-timeout diff --git a/omc/config/my.cnf_omc-0.ES b/omc/config/my.cnf_omc-0.ES deleted file mode 100644 index c559971..0000000 --- a/omc/config/my.cnf_omc-0.ES +++ /dev/null @@ -1,98 +0,0 @@ -# Example mysql config file for medium systems. -# -# This is for a system with little memory (32M - 64M) where MySQL plays -# a important part and systems up to 128M very MySQL is used together with -# other programs (like a web server) -# -# You can copy this file to -# /etc/mf.cnf to set global options, -# mysql-data-dir/my.cnf to set server-specific options (in this -# installation this directory is /usr/local/mysql/var) or -# ~/.my.cnf to set user-specific options. -# -# One can in this file use all long options that the program supports. -# If you want to know which options a program support, run the program -# with --help option. - -# The following options will be passed to all MySQL clients -[client] -#password = your_password -port = 3306 -#socket = /var/lib/mysql/mysql.sock -socket = /tmp/mysql.sock -# Here follows entries for some specific programs - -# The MySQL server -[mysqld] -port = 3306 -#socket = /var/lib/mysql/mysql.sock -socket = /tmp/mysql.sock -datadir = /usr/local/mysql -pid-file = /var/lib/mysql/mysqld.pid -log-error = /var/lib/mysql/mysqld.err -skip-locking -slave-skip-errors = all -set-variable = key_buffer=16M -set-variable = max_allowed_packet=16M -set-variable = table_cache=64 -set-variable = sort_buffer=512K -set-variable = net_buffer_length=8K -set-variable = myisam_sort_buffer_size=8M -set-variable = max_binlog_size=2M -set-variable = max_connections=256 -set-variable = wait_timeout=1800 -set-variable = interactive_timeout=1800 -#master=====================> -log-bin -binlog-do-db = mysql -binlog-do-db = CDR_DB -binlog-do-db = CSTA_DB - -server-id = 0 - -#slave====================> -master-host = omc-1 -master-user = administrator -master-password = "*86#ROtartsinim" -master-port = 3306 - -#master-connect-retry = 30 -#slave-read-timeout = 10 - -replicate-do-db = mysql -replicate-do-db = CDR_DB -replicate-do-db = CSTA_DB - -#replicate-do-table =*.* - - -# Uncomment the following if you are using BDB tables -#set-variable = bdb_cache_size=4M -#set-variable = bdb_max_lock=10000 - -# Point the following paths to different dedicated disks -#tmpdir = /tmp/ -#log-update = /path-to-dedicated-directory/hostname - -[mysqldump] -quick -set-variable = max_allowed_packet=16M - -[mysql] -no-auto-rehash -#safe-updates # Remove the comment character if you are not familiar with SQL - -[isamchk] -set-variable = key_buffer=20M -set-variable = sort_buffer=20M -set-variable = read_buffer=2M -set-variable = write_buffer=2M - -[myisamchk] -set-variable = key_buffer=20M -set-variable = sort_buffer=20M -set-variable = read_buffer=2M -set-variable = write_buffer=2M - -[mysqlhotcopy] -interactive-timeout diff --git a/omc/config/my.cnf_single b/omc/config/my.cnf_single deleted file mode 100644 index 83d4d9d..0000000 --- a/omc/config/my.cnf_single +++ /dev/null @@ -1,72 +0,0 @@ -# Example mysql config file for medium systems. -# -# This is for a system with little memory (32M - 64M) where MySQL plays -# a important part and systems up to 128M very MySQL is used together with -# other programs (like a web server) -# -# You can copy this file to -# /etc/mf.cnf to set global options, -# mysql-data-dir/my.cnf to set server-specific options (in this -# installation this directory is /usr/local/mysql/var) or -# ~/.my.cnf to set user-specific options. -# -# One can in this file use all long options that the program supports. -# If you want to know which options a program support, run the program -# with --help option. - -# The following options will be passed to all MySQL clients -[client] -#password = your_password -port = 3306 -socket = /var/lib/mysql/mysql.sock - -# Here follows entries for some specific programs - -# The MySQL server -[mysqld] -port = 3306 -socket = /var/lib/mysql/mysql.sock -skip-locking -set-variable = key_buffer=16M -set-variable = max_allowed_packet=16M -set-variable = table_cache=64 -set-variable = sort_buffer=512K -set-variable = net_buffer_length=8K -set-variable = myisam_sort_buffer_size=8M -set-variable = max_binlog_size=32M -set-variable = max_connections=256 -set-variable = wait_timeout=1800 -set-variable = interactive_timeout=1800 -#log-bin -#replicate-do-table =*.* - -# Uncomment the following if you are using BDB tables -#set-variable = bdb_cache_size=4M -#set-variable = bdb_max_lock=10000 - -# Point the following paths to different dedicated disks -#tmpdir = /tmp/ -#log-update = /path-to-dedicated-directory/hostname - -[mysqldump] -quick -set-variable = max_allowed_packet=16M - -[mysql] -no-auto-rehash -#safe-updates # Remove the comment character if you are not familiar with SQL - -[isamchk] -set-variable = key_buffer=20M -set-variable = sort_buffer=20M -set-variable = read_buffer=2M -set-variable = write_buffer=2M - -[myisamchk] -set-variable = key_buffer=20M -set-variable = sort_buffer=20M -set-variable = read_buffer=2M -set-variable = write_buffer=2M - -[mysqlhotcopy] -interactive-timeout diff --git a/omc/config/my.cnf_single.ES b/omc/config/my.cnf_single.ES deleted file mode 100644 index 8d938d6..0000000 --- a/omc/config/my.cnf_single.ES +++ /dev/null @@ -1,77 +0,0 @@ -# Example mysql config file for medium systems. -# -# This is for a system with little memory (32M - 64M) where MySQL plays -# a important part and systems up to 128M very MySQL is used together with -# other programs (like a web server) -# -# You can copy this file to -# /etc/mf.cnf to set global options, -# mysql-data-dir/my.cnf to set server-specific options (in this -# installation this directory is /usr/local/mysql/var) or -# ~/.my.cnf to set user-specific options. -# -# One can in this file use all long options that the program supports. -# If you want to know which options a program support, run the program -# with --help option. - -# The following options will be passed to all MySQL clients -[client] -#password = your_password -port = 3306 -#socket = /var/lib/mysql/mysql.sock -socket = /tmp/mysql.sock - -# Here follows entries for some specific programs - -# The MySQL server -[mysqld] -port = 3306 -#socket = /var/lib/mysql/mysql.sock -socket = /tmp/mysql.sock -datadir = /usr/local/mysql -pid-file = /var/lib/mysql/mysqld.pid -log-error = /var/lib/mysql/mysqld.err -skip-locking -set-variable = key_buffer=16M -set-variable = max_allowed_packet=16M -set-variable = table_cache=64 -set-variable = sort_buffer=512K -set-variable = net_buffer_length=8K -set-variable = myisam_sort_buffer_size=8M -set-variable = max_binlog_size=32M -set-variable = max_connections=256 -set-variable = wait_timeout=1800 -set-variable = interactive_timeout=1800 -#log-bin -#replicate-do-table =*.* - -# Uncomment the following if you are using BDB tables -#set-variable = bdb_cache_size=4M -#set-variable = bdb_max_lock=10000 - -# Point the following paths to different dedicated disks -#tmpdir = /tmp/ -#log-update = /path-to-dedicated-directory/hostname - -[mysqldump] -quick -set-variable = max_allowed_packet=16M - -[mysql] -no-auto-rehash -#safe-updates # Remove the comment character if you are not familiar with SQL - -[isamchk] -set-variable = key_buffer=20M -set-variable = sort_buffer=20M -set-variable = read_buffer=2M -set-variable = write_buffer=2M - -[myisamchk] -set-variable = key_buffer=20M -set-variable = sort_buffer=20M -set-variable = read_buffer=2M -set-variable = write_buffer=2M - -[mysqlhotcopy] -interactive-timeout diff --git a/omc/config/omc_db.conf b/omc/config/omc_db.conf deleted file mode 100644 index 3e1de57..0000000 --- a/omc/config/omc_db.conf +++ /dev/null @@ -1,50 +0,0 @@ -#omc_db.conf -#config file for database maintenance - -[backup] -#List the database that need to be backuped -#CDR_DB,CSTA_DB is not need to backup -#Format:database - -[clean] -#You can termly clean tables by defining condition according to -#Format:database,table,time field,timeout,max records -OMC_PUB,sysAlarmLog,alarmTime,7,10000 -OMC_PUB,sysOperLog,datetime,7,10000 -OMC_PUB,dbAlarm,alarmTime,7,5000 -PPS_DB,used_card_info,updated_date,1900,5000000 -BssOmcDb,OMCR_ALARMEVENT,EventTime,7,10000 -BssOmcDb,OMCR_BtsMeasurements,updateTime,7,10000 -BssOmcDb,OMCR_NETWORKEVENT,EventTime,7,10000 -[remove_log] -#You can termly remove log files by defining condition according to -#Format:path,keyword,timeout(unit:day) -/usr/local/mysql,-bin,2 -/usr/local/omc/bin/dual/cdr_data_proc,dat,1 -/usr/local/omc/bin/dual/cdr_io_proc,dat,1 -/usr/local/apache/logs,access_log,7 -/usr/local/apache/htdocs/db_backup/cdrsending,csv,7 -/usr/local/apache/htdocs/db_backup/cdr,csv,7 -/usr/local/apache/htdocs/db_backup/cdrsent,csv,7 -/usr/local/apache/htdocs/db_backup/cstasending,csv,7 -/usr/local/apache/htdocs/db_backup/csta,csv,7 -/usr/local/apache/htdocs/db_backup/cstasent,csv,7 -/usr/local/apache/htdocs/db_backup/subsData,csv,7 -/usr/local/apache/htdocs/db_backup/alarmLog,csv,7 -/usr/local/apache/htdocs/db_backup/operLog,csv,7 -/usr/local/apache/htdocs/db_backup/paramConf,csv,7 -/usr/local/omc/log,gz,7 -/usr/local/omc/log,log,7 -/usr/local/omc/log,dualsrv,7 -/var/log,tmp,7 -/var/log,log,7 -/var/log,messages,7 -/var/log,secure,7 -/usr/local/apache/htdocs/db_backup/nrtrde/LOCAL_CSV.cvs,7 -/usr/local/apache/htdocs/db_backup/nrtrde/ND_RECV_BAK,ND,7 -/usr/local/apache/htdocs/db_backup/nrtrde/ND_SEND_BAK,ND,7 -/usr/local/apache/htdocs/db_backup/nrtrde/NE_RECV_BAK,NE,7 -/usr/local/apache/htdocs/db_backup/nrtrde/NE_SEND_BAK,NE,7 -/usr/local/apache/htdocs/db_backup/nrtrde/NR_RECV_BAK,NR,7 -/usr/local/apache/htdocs/db_backup/nrtrde/NR_SEND_BAK,NR,7 - diff --git a/omc/config/omcd.conf b/omc/config/omcd.conf deleted file mode 100644 index 1ef7e25..0000000 --- a/omc/config/omcd.conf +++ /dev/null @@ -1,20 +0,0 @@ -### -#omcTypeNo: -# 0:WXC2 OMC -# 1:GMSC OMC -# 2:MSC OMC -# 3:HLR OMC -# 4:AUC OMC -# 5:SMS OMC -# 6:PPS OMC -# 7:BSS OMC -### -omcVersion=9.02.00 - -omcTypeNo=0 -omcSysNo=0 -omcSubSysNo=0 - - -#omc run mode 0:single omc 1:dual omc -omcRunMode=1 diff --git a/omc/config/omcd.conf_omc-0 b/omc/config/omcd.conf_omc-0 deleted file mode 100644 index 106dfb0..0000000 --- a/omc/config/omcd.conf_omc-0 +++ /dev/null @@ -1,19 +0,0 @@ -### -#omcTypeNo: -# 0:WXC2 OMC -# 1:GMSC OMC -# 2:MSC OMC -# 3:HLR OMC -# 4:AUC OMC -# 5:SMS OMC -# 6:PPS OMC -# 7:BSS OMC -### -omcVersion=9.02.00 - -omcTypeNo=0 -omcSysNo=0 -omcSubSysNo=0 - -#omc run mode 0:single omc 1:dual omc -omcRunMode=1 diff --git a/omc/config/omcd.conf_omc-1 b/omc/config/omcd.conf_omc-1 deleted file mode 100644 index 0946f83..0000000 --- a/omc/config/omcd.conf_omc-1 +++ /dev/null @@ -1,19 +0,0 @@ -### -#omcTypeNo: -# 0:WXC2 OMC -# 1:GMSC OMC -# 2:MSC OMC -# 3:HLR OMC -# 4:AUC OMC -# 5:SMS OMC -# 6:PPS OMC -# 7:BSS OMC -### -omcVersion=9.02.00 - -omcTypeNo=0 -omcSysNo=1 -omcSubSysNo=0 - -#omc run mode 0:single omc 1:dual omc -omcRunMode=1 diff --git a/omc/config/omcd.conf_single b/omc/config/omcd.conf_single deleted file mode 100644 index 03a66ed..0000000 --- a/omc/config/omcd.conf_single +++ /dev/null @@ -1,19 +0,0 @@ -### -#omcTypeNo: -# 0:WXC2 OMC -# 1:GMSC OMC -# 2:MSC OMC -# 3:HLR OMC -# 4:AUC OMC -# 5:SMS OMC -# 6:PPS OMC -# 7:BSS OMC -### -omcVersion=9.02.00 - -omcTypeNo=0 -omcSysNo=0 -omcSubSysNo=0 - -#omc run mode 0:single omc 1:dual omc -omcRunMode=0 diff --git a/omc/config/php.ini b/omc/config/php.ini deleted file mode 100644 index 24e1582..0000000 --- a/omc/config/php.ini +++ /dev/null @@ -1,1224 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; This file controls many aspects of PHP's behavior. In order for PHP to -; read it, it must be named 'php.ini'. PHP looks for it in the current -; working directory, in the path designated by the environment variable -; PHPRC, and in the path that was defined in compile time (in that order). -; Under Windows, the compile-time path is the Windows directory. The -; path in which the php.ini file is looked for can be overridden using -; the -c argument in command line mode. -; -; The syntax of the file is extremely simple. Whitespace and Lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. -; -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo"). -; -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT -; -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. -; -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: -; -; foo = ; sets foo to an empty string -; foo = none ; sets foo to an empty string -; foo = "none" ; sets foo to the string 'none' -; -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. -; -; -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; This is the recommended, PHP 5-style version of the php.ini-dist file. It -; sets some non standard settings, that make PHP more efficient, more secure, -; and encourage cleaner coding. -; -; The price is that with these settings, PHP may be incompatible with some -; applications, and sometimes, more difficult to develop with. Using this -; file is warmly recommended for production sites. As all of the changes from -; the standard settings are thoroughly documented, you can go over each one, -; and decide whether you want to use it or not. -; -; For general information about the php.ini file, please consult the php.ini-dist -; file, included in your PHP distribution. -; -; This file is different from the php.ini-dist file in the fact that it features -; different values for several directives, in order to improve performance, while -; possibly breaking compatibility with the standard out-of-the-box behavior of -; PHP. Please make sure you read what's different, and modify your scripts -; accordingly, if you decide to use this file instead. -; -; - register_globals = Off [Security, Performance] -; Global variables are no longer registered for input data (POST, GET, cookies, -; environment and other server variables). Instead of using $foo, you must use -; you can use $_REQUEST["foo"] (includes any variable that arrives through the -; request, namely, POST, GET and cookie variables), or use one of the specific -; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending -; on where the input originates. Also, you can look at the -; import_request_variables() function. -; Note that register_globals is going to be depracated (i.e., turned off by -; default) in the next version of PHP, because it often leads to security bugs. -; Read http://php.net/manual/en/security.registerglobals.php for further -; information. -; - register_long_arrays = Off [Performance] -; Disables registration of the older (and deprecated) long predefined array -; variables ($HTTP_*_VARS). Instead, use the superglobals that were -; introduced in PHP 4.1.0 -; - display_errors = Off [Security] -; With this directive set to off, errors that occur during the execution of -; scripts will no longer be displayed as a part of the script output, and thus, -; will no longer be exposed to remote users. With some errors, the error message -; content may expose information about your script, web server, or database -; server that may be exploitable for hacking. Production sites should have this -; directive set to off. -; - log_errors = On [Security] -; This directive complements the above one. Any errors that occur during the -; execution of your script will be logged (typically, to your server's error log, -; but can be configured in several ways). Along with setting display_errors to off, -; this setup gives you the ability to fully understand what may have gone wrong, -; without exposing any sensitive information to remote users. -; - output_buffering = 4096 [Performance] -; Set a 4KB output buffer. Enabling output buffering typically results in less -; writes, and sometimes less packets sent on the wire, which can often lead to -; better performance. The gain this directive actually yields greatly depends -; on which Web server you're working with, and what kind of scripts you're using. -; - register_argc_argv = Off [Performance] -; Disables registration of the somewhat redundant $argv and $argc global -; variables. -; - magic_quotes_gpc = Off [Performance] -; Input data is no longer escaped with slashes so that it can be sent into -; SQL databases without further manipulation. Instead, you should use the -; function addslashes() on each input element you wish to send to a database. -; - variables_order = "GPCS" [Performance] -; The environment variables are not hashed into the $_ENV. To access -; environment variables, you can use getenv() instead. -; - error_reporting = E_ALL [Code Cleanliness, Security(?)] -; By default, PHP surpresses errors of type E_NOTICE. These error messages -; are emitted for non-critical errors, but that could be a symptom of a bigger -; problem. Most notably, this will cause error messages about the use -; of uninitialized variables to be displayed. -; - allow_call_time_pass_reference = Off [Code cleanliness] -; It's not possible to decide to force a variable to be passed by reference -; when calling a function. The PHP 4 style to do this is by making the -; function require the relevant argument by reference. - - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -engine = On - -; Enable compatibility mode with Zend Engine 1 (PHP 4.x) -zend.ze1_compatibility_mode = Off - -; Allow the tags are recognized. -; NOTE: Using short tags should be avoided when developing applications or -; libraries that are meant for redistribution, or deployment on PHP -; servers which are not under your control, because short tags may not -; be supported on the target server. For portable, redistributable code, -; be sure not to use short tags. -short_open_tag = On - -; Allow ASP-style <% %> tags. -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -y2k_compliance = On - -; Output buffering allows you to send header lines (including cookies) even -; after you send body content, at the price of slowing PHP's output layer a -; bit. You can enable output buffering during runtime by calling the output -; buffering functions. You can also enable output buffering for all files by -; setting this directive to On. If you wish to limit the size of the buffer -; to a certain size - you can use a maximum number of bytes instead of 'On', as -; a value for this directive (e.g., output_buffering=4096). -output_buffering = 128 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -zlib.output_compression = Off - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. -; A warning appears if the specified function is not defined, or if the -; function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func= - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 100 - -; Whether to enable the ability to force arguments to be passed by reference -; at function call time. This method is deprecated and is likely to be -; unsupported in future versions of PHP/Zend. The encouraged method of -; specifying which arguments should be passed by reference is in the function -; declaration. You're encouraged to try and turn this option Off and make -; sure your scripts work properly with it in order to ensure they will work -; with future versions of the language (you will receive a warning each time -; you use this feature, and the argument will be passed by value instead of by -; reference). -allow_call_time_pass_reference = Off - -; -; Safe Mode -; -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -highlight.string = #DD0000 -highlight.comment = #FF9900 -highlight.keyword = #007700 -highlight.bg = #FFFFFF -highlight.default = #0000BB -highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long request, which may end up -; being interrupted by the user or a browser timing out. -; ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; realpath_cache_size=16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; realpath_cache_ttl=120 - -; -; Misc -; -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -expose_php = On - - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -max_execution_time = 3600 ; Maximum execution time of each script, in seconds -max_input_time = 1024 ; Maximum amount of time each script may spend parsing request data -memory_limit = 256M ; Maximum amount of memory a script may consume - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; error_reporting is a bit-field. Or each number up to get desired error -; reporting level -; E_ALL - All errors and warnings (doesn't include E_STRICT) -; E_ERROR - fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; -; Examples: -; -; - Show all errors, except for notices and coding standards warnings -; -;error_reporting = E_ALL & ~E_NOTICE -; -; - Show all errors, except for notices -; -;error_reporting = E_ALL & ~E_NOTICE | E_STRICT -; -; - Show only errors -; -;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR -; -; - Show all errors, except coding standards warnings -; -error_reporting = E_ALL & ~E_NOTICE - -; Print out errors (as a part of the output). For production web sites, -; you're strongly encouraged to turn this feature off, and use error logging -; instead (see below). Keeping display_errors enabled on a production web site -; may reveal security information to end users, such as file paths on your Web -; server, your database schema or other information. -display_errors = On - -; Even when display_errors is on, errors that occur during PHP's startup -; sequence are not displayed. It's strongly recommended to keep -; display_startup_errors off, except for when debugging. -display_startup_errors = Off - -; Log errors into a log file (server-specific log, stderr, or error_log (below)) -; As stated above, you're strongly advised to use error logging in place of -; error displaying on production web sites. -log_errors = Off - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; sourcelines. -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -report_memleaks = On - -; Store the last error/warning message in $php_errormsg (boolean). -track_errors = Off - -; Disable the inclusion of HTML tags in error messages. -; Note: Never use this feature for production boxes. -;html_errors = Off - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://www.php.net/docs.php -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. -; Note: Never use this feature for production boxes. -;docref_root = "/phpmanual/" -;docref_ext = .html - -; String to output before an error message. -;error_prepend_string = "" - -; String to output after an error message. -;error_append_string = "" - -; Log errors to specified file. -;error_log = filename - -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; -; -; Note - track_vars is ALWAYS enabled as of PHP 4.0.3 - -; The separator used in PHP generated URLs to separate arguments. -; Default is "&". -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; Default is "&". -; NOTE: Every character in this directive is considered as separator! -;arg_separator.input = ";&" - -; This directive describes the order in which PHP registers GET, POST, Cookie, -; Environment and Built-in variables (G, P, C, E & S respectively, often -; referred to as EGPCS or GPC). Registration is done from left to right, newer -; values override older values. -variables_order = "EGPCS" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. This makes most sense when coupled with track_vars - in which -; case you can access all of the GPC variables through the $HTTP_*_VARS[], -; variables. -; -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -register_globals = On - -; Whether or not to register the old-style input arrays, HTTP_GET_VARS -; and friends. If you're not using them, it's recommended to turn them off, -; for performance reasons. -register_long_arrays = On - -; This directive tells PHP whether to declare the argv&argc variables (that -; would contain the GET information). If you don't use these variables, you -; should turn it off for increased performance. -register_argc_argv = On - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -post_max_size = 20M - -; Magic quotes -; - -; Magic quotes for incoming GET/POST/Cookie data. -magic_quotes_gpc = On - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -magic_quotes_sybase = Off - -; Automatically add files before or after any PHP document. -auto_prepend_file = -auto_append_file = - -; As of 4.0b4, PHP always outputs a character encoding by default in -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -default_mimetype = "text/html" -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. -;always_populate_raw_post_data = On - - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -user_dir = - -; Directory in which the loadable extensions (modules) reside. -extension_dir = "/usr/lib/php/modules" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -enable_dl = On - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. -; cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; cgi.redirect_status_env = ; - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; fastcgi.impersonate = 1; - -; Disable logging through FastCGI connection -; fastcgi.log = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -;cgi.rfc2616_headers = 0 - - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -upload_max_filesize = 200M - - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -allow_url_fopen = On - -; Define the anonymous ftp password (your email address) -;from="john@doe.com" - -; Define the User-Agent string -; user_agent="PHP" - -; Default timeout for socket based streams (seconds) -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; auto_detect_line_endings = Off - - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; -; -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example: -; -; extension=msql.so -; - extension=ssh2.so -; Note that it should be the name of the module only; no directory information -; needs to go here. Specify the location of the extension with the -; extension_dir directive above. - - -;;;; -; Note: packaged extension modules are now loaded via the .ini files -; found in the directory /etc/php.d; these are loaded by default. -;;;; - - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -;date.timezone = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -define_syslog_variables = Off - -[mail function] -; For Win32 only. -SMTP = localhost -smtp_port = 25 - -; For Win32 only. -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -sendmail_path = /usr/sbin/sendmail -t -i - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -[SQL] -sql.safe_mode = Off - -[ODBC] -;odbc.default_db = Not yet implemented -;odbc.default_user = Not yet implemented -;odbc.default_pw = Not yet implemented - -; Allow or prevent persistent links. -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of uodbc.defaultlrl and uodbc.defaultbinmode -odbc.defaultbinmode = 1 - -[MySQL] -; Allow or prevent persistent links. -mysql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -mysql.default_socket = -;mysql.default_socket = /tmp/mysql.sock - -; Default host for mysql_connect() (doesn't apply in safe mode). -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -mysql.default_password = - -; Maximum time (in secondes) for connect timeout. -1 means no limit -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of links. -1 means no limit. -mysqli.max_links = -1 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mSQL] -; Allow or prevent persistent links. -msql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -msql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -msql.max_links = -1 - -[PostgresSQL] -; Allow or prevent persistent links. -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Noitce message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -pgsql.log_notice = 0 - -[Sybase] -; Allow or prevent persistent links. -sybase.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -sybase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -sybase.max_links = -1 - -;sybase.interface_file = "/usr/sybase/interfaces" - -; Minimum error severity to display. -sybase.min_error_severity = 10 - -; Minimum message severity to display. -sybase.min_message_severity = 10 - -; Compatability mode with old versions of PHP 3.0. -; If on, this will cause PHP to automatically assign types to results according -; to their Sybase type, instead of treating them all as strings. This -; compatability mode will probably not stay around forever, so try applying -; whatever necessary changes to your code, and turn it off. -sybase.compatability_mode = Off - -[Sybase-CT] -; Allow or prevent persistent links. -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -sybct.max_links = -1 - -; Minimum server message severity to display. -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -sybct.min_client_severity = 10 - -[bcmath] -; Number of decimal digits for all bcmath functions. -bcmath.scale = 0 - -[browscap] -;browscap = extra/browscap.ini - -[Informix] -; Default host for ifx_connect() (doesn't apply in safe mode). -ifx.default_host = - -; Default user for ifx_connect() (doesn't apply in safe mode). -ifx.default_user = - -; Default password for ifx_connect() (doesn't apply in safe mode). -ifx.default_password = - -; Allow or prevent persistent links. -ifx.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -ifx.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ifx.max_links = -1 - -; If on, select statements return the contents of a text blob instead of its id. -ifx.textasvarchar = 0 - -; If on, select statements return the contents of a byte blob instead of its id. -ifx.byteasvarchar = 0 - -; Trailing blanks are stripped from fixed-length char columns. May help the -; life of Informix SE users. -ifx.charasvarchar = 0 - -; If on, the contents of text and byte blobs are dumped to a file instead of -; keeping them in memory. -ifx.blobinfile = 0 - -; NULL's are returned as empty strings, unless this is set to 1. In that case, -; NULL's are returned as string 'NULL'. -ifx.nullformat = 0 - -[Session] -; Handler used to store/retrieve data. -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; As of PHP 4.0.1, you can define the path as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -;session.save_path = "/var/lib/php/session" -session.save_path = "/tmp" - -; Whether to use cookies. -session.use_cookies = 1 - -; This option enables administrators to make their users invulnerable to -; attacks which involve passing session ids in URLs; defaults to 0. -; session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -session.name = PHPSESSID - -; Initialize session on request startup. -session.auto_start = 1 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -session.cookie_path = / - -; The domain for which the cookie is valid. -session.cookie_domain = - -; Handler used to serialize data. php is the standard serializer of PHP. -session.serialize_handler = php - -; Define the probability that the 'garbage collection' process is started -; on every session initialization. -; The probability is calculated by using gc_probability/gc_divisor, -; e.g. 1/100 means there is a 1% chance that the GC process starts -; on each request. - -session.gc_probability = 20 -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; cd /path/to/sessions; find -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, albeit register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. - -session.bug_compat_42 = 0 -session.bug_compat_warn = 1 - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -session.referer_check = - -; How many bytes to read from the file. -session.entropy_length = 0 - -; Specified here to create the session id. -session.entropy_file = - -;session.entropy_length = 16 - -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -session.cache_limiter = nocache - -; Document expires after n minutes. -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publically accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -session.use_trans_sid = 0 - -; Select a hash function -; 0: MD5 (128 bits) -; 1: SHA-1 (160 bits) -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; -; 4 bits: 0-9, a-f -; 5 bits: 0-9, a-v -; 6 bits: 0-9, a-z, A-Z, "-", "," -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatability mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.comf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -;assert.active = On - -; Issue a PHP warning for each failed assertion. -;assert.warning = On - -; Don't bail out by default. -;assert.bail = Off - -; User-function to be called if an assertion fails. -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -;assert.quiet_eval = 0 - -[Verisign Payflow Pro] -; Default Payflow Pro server. -pfpro.defaulthost = "test-payflow.verisign.com" - -; Default port to connect to. -pfpro.defaultport = 443 - -; Default timeout in seconds. -pfpro.defaulttimeout = 30 - -; Default proxy IP address (if required). -;pfpro.proxyaddress = - -; Default proxy port. -;pfpro.proxyport = - -; Default proxy logon. -;pfpro.proxylogon = - -; Default proxy password. -;pfpro.proxypassword = - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -;com.typelib_file = -; allow Distributed-COM calls -;com.allow_dcom = true -; autoregister constants of a components typlib on com_load() -;com.autoregister_typelib = true -; register constants casesensitive -;com.autoregister_casesensitive = false -; show warnings on duplicate constat registrations -;com.autoregister_verbose = true - -[mbstring] -; language for internal character representation. -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_encoding = Off - -[FrontBase] -;fbsql.allow_persistent = On -;fbsql.autocommit = On -;fbsql.default_database = -;fbsql.default_database_password = -;fbsql.default_host = -;fbsql.default_password = -;fbsql.default_user = "_SYSTEM" -;fbsql.generate_warnings = Off -;fbsql.max_connections = 128 -;fbsql.max_links = 128 -;fbsql.max_persistent = -1 -;fbsql.max_results = 128 -;fbsql.batchSize = 1000 - -[gd] -; Tell the jpeg decode to libjpeg warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -;exif.encode_unicode = ISO-8859-15 -;exif.decode_unicode_motorola = UCS-2BE -;exif.decode_unicode_intel = UCS-2LE -;exif.encode_jis = -;exif.decode_jis_motorola = JIS -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -soap.wsdl_cache_enabled=1 -; Sets the directory name where SOAP extension will put cache files. -soap.wsdl_cache_dir="/tmp" -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -soap.wsdl_cache_ttl=86400 - -; Local Variables: -; tab-width: 4 -; End: diff --git a/omc/config/php.ini_old_plat b/omc/config/php.ini_old_plat deleted file mode 100644 index ba54fb5..0000000 --- a/omc/config/php.ini_old_plat +++ /dev/null @@ -1,1223 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; This file controls many aspects of PHP's behavior. In order for PHP to -; read it, it must be named 'php.ini'. PHP looks for it in the current -; working directory, in the path designated by the environment variable -; PHPRC, and in the path that was defined in compile time (in that order). -; Under Windows, the compile-time path is the Windows directory. The -; path in which the php.ini file is looked for can be overridden using -; the -c argument in command line mode. -; -; The syntax of the file is extremely simple. Whitespace and Lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. -; -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo"). -; -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT -; -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. -; -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: -; -; foo = ; sets foo to an empty string -; foo = none ; sets foo to an empty string -; foo = "none" ; sets foo to the string 'none' -; -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. -; -; -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; This is the recommended, PHP 5-style version of the php.ini-dist file. It -; sets some non standard settings, that make PHP more efficient, more secure, -; and encourage cleaner coding. -; -; The price is that with these settings, PHP may be incompatible with some -; applications, and sometimes, more difficult to develop with. Using this -; file is warmly recommended for production sites. As all of the changes from -; the standard settings are thoroughly documented, you can go over each one, -; and decide whether you want to use it or not. -; -; For general information about the php.ini file, please consult the php.ini-dist -; file, included in your PHP distribution. -; -; This file is different from the php.ini-dist file in the fact that it features -; different values for several directives, in order to improve performance, while -; possibly breaking compatibility with the standard out-of-the-box behavior of -; PHP. Please make sure you read what's different, and modify your scripts -; accordingly, if you decide to use this file instead. -; -; - register_globals = Off [Security, Performance] -; Global variables are no longer registered for input data (POST, GET, cookies, -; environment and other server variables). Instead of using $foo, you must use -; you can use $_REQUEST["foo"] (includes any variable that arrives through the -; request, namely, POST, GET and cookie variables), or use one of the specific -; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending -; on where the input originates. Also, you can look at the -; import_request_variables() function. -; Note that register_globals is going to be depracated (i.e., turned off by -; default) in the next version of PHP, because it often leads to security bugs. -; Read http://php.net/manual/en/security.registerglobals.php for further -; information. -; - register_long_arrays = Off [Performance] -; Disables registration of the older (and deprecated) long predefined array -; variables ($HTTP_*_VARS). Instead, use the superglobals that were -; introduced in PHP 4.1.0 -; - display_errors = Off [Security] -; With this directive set to off, errors that occur during the execution of -; scripts will no longer be displayed as a part of the script output, and thus, -; will no longer be exposed to remote users. With some errors, the error message -; content may expose information about your script, web server, or database -; server that may be exploitable for hacking. Production sites should have this -; directive set to off. -; - log_errors = On [Security] -; This directive complements the above one. Any errors that occur during the -; execution of your script will be logged (typically, to your server's error log, -; but can be configured in several ways). Along with setting display_errors to off, -; this setup gives you the ability to fully understand what may have gone wrong, -; without exposing any sensitive information to remote users. -; - output_buffering = 4096 [Performance] -; Set a 4KB output buffer. Enabling output buffering typically results in less -; writes, and sometimes less packets sent on the wire, which can often lead to -; better performance. The gain this directive actually yields greatly depends -; on which Web server you're working with, and what kind of scripts you're using. -; - register_argc_argv = Off [Performance] -; Disables registration of the somewhat redundant $argv and $argc global -; variables. -; - magic_quotes_gpc = Off [Performance] -; Input data is no longer escaped with slashes so that it can be sent into -; SQL databases without further manipulation. Instead, you should use the -; function addslashes() on each input element you wish to send to a database. -; - variables_order = "GPCS" [Performance] -; The environment variables are not hashed into the $_ENV. To access -; environment variables, you can use getenv() instead. -; - error_reporting = E_ALL [Code Cleanliness, Security(?)] -; By default, PHP surpresses errors of type E_NOTICE. These error messages -; are emitted for non-critical errors, but that could be a symptom of a bigger -; problem. Most notably, this will cause error messages about the use -; of uninitialized variables to be displayed. -; - allow_call_time_pass_reference = Off [Code cleanliness] -; It's not possible to decide to force a variable to be passed by reference -; when calling a function. The PHP 4 style to do this is by making the -; function require the relevant argument by reference. - - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -engine = On - -; Enable compatibility mode with Zend Engine 1 (PHP 4.x) -zend.ze1_compatibility_mode = Off - -; Allow the tags are recognized. -; NOTE: Using short tags should be avoided when developing applications or -; libraries that are meant for redistribution, or deployment on PHP -; servers which are not under your control, because short tags may not -; be supported on the target server. For portable, redistributable code, -; be sure not to use short tags. -short_open_tag = On - -; Allow ASP-style <% %> tags. -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -y2k_compliance = On - -; Output buffering allows you to send header lines (including cookies) even -; after you send body content, at the price of slowing PHP's output layer a -; bit. You can enable output buffering during runtime by calling the output -; buffering functions. You can also enable output buffering for all files by -; setting this directive to On. If you wish to limit the size of the buffer -; to a certain size - you can use a maximum number of bytes instead of 'On', as -; a value for this directive (e.g., output_buffering=4096). -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -zlib.output_compression = Off - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. -; A warning appears if the specified function is not defined, or if the -; function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func= - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 100 - -; Whether to enable the ability to force arguments to be passed by reference -; at function call time. This method is deprecated and is likely to be -; unsupported in future versions of PHP/Zend. The encouraged method of -; specifying which arguments should be passed by reference is in the function -; declaration. You're encouraged to try and turn this option Off and make -; sure your scripts work properly with it in order to ensure they will work -; with future versions of the language (you will receive a warning each time -; you use this feature, and the argument will be passed by value instead of by -; reference). -allow_call_time_pass_reference = Off - -; -; Safe Mode -; -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -highlight.string = #DD0000 -highlight.comment = #FF9900 -highlight.keyword = #007700 -highlight.bg = #FFFFFF -highlight.default = #0000BB -highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long request, which may end up -; being interrupted by the user or a browser timing out. -; ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; realpath_cache_size=16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; realpath_cache_ttl=120 - -; -; Misc -; -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -expose_php = On - - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -max_execution_time = 3600 ; Maximum execution time of each script, in seconds -max_input_time = 1024 ; Maximum amount of time each script may spend parsing request data -memory_limit = 20M ; Maximum amount of memory a script may consume - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; error_reporting is a bit-field. Or each number up to get desired error -; reporting level -; E_ALL - All errors and warnings (doesn't include E_STRICT) -; E_ERROR - fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; -; Examples: -; -; - Show all errors, except for notices and coding standards warnings -; -;error_reporting = E_ALL & ~E_NOTICE -; -; - Show all errors, except for notices -; -;error_reporting = E_ALL & ~E_NOTICE | E_STRICT -; -; - Show only errors -; -;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR -; -; - Show all errors, except coding standards warnings -; -error_reporting = E_ALL & ~E_NOTICE - -; Print out errors (as a part of the output). For production web sites, -; you're strongly encouraged to turn this feature off, and use error logging -; instead (see below). Keeping display_errors enabled on a production web site -; may reveal security information to end users, such as file paths on your Web -; server, your database schema or other information. -display_errors = On - -; Even when display_errors is on, errors that occur during PHP's startup -; sequence are not displayed. It's strongly recommended to keep -; display_startup_errors off, except for when debugging. -display_startup_errors = Off - -; Log errors into a log file (server-specific log, stderr, or error_log (below)) -; As stated above, you're strongly advised to use error logging in place of -; error displaying on production web sites. -log_errors = Off - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; sourcelines. -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -report_memleaks = On - -; Store the last error/warning message in $php_errormsg (boolean). -track_errors = Off - -; Disable the inclusion of HTML tags in error messages. -; Note: Never use this feature for production boxes. -;html_errors = Off - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://www.php.net/docs.php -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. -; Note: Never use this feature for production boxes. -;docref_root = "/phpmanual/" -;docref_ext = .html - -; String to output before an error message. -;error_prepend_string = "" - -; String to output after an error message. -;error_append_string = "" - -; Log errors to specified file. -;error_log = filename - -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; -; -; Note - track_vars is ALWAYS enabled as of PHP 4.0.3 - -; The separator used in PHP generated URLs to separate arguments. -; Default is "&". -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; Default is "&". -; NOTE: Every character in this directive is considered as separator! -;arg_separator.input = ";&" - -; This directive describes the order in which PHP registers GET, POST, Cookie, -; Environment and Built-in variables (G, P, C, E & S respectively, often -; referred to as EGPCS or GPC). Registration is done from left to right, newer -; values override older values. -variables_order = "EGPCS" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. This makes most sense when coupled with track_vars - in which -; case you can access all of the GPC variables through the $HTTP_*_VARS[], -; variables. -; -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -register_globals = On - -; Whether or not to register the old-style input arrays, HTTP_GET_VARS -; and friends. If you're not using them, it's recommended to turn them off, -; for performance reasons. -register_long_arrays = On - -; This directive tells PHP whether to declare the argv&argc variables (that -; would contain the GET information). If you don't use these variables, you -; should turn it off for increased performance. -register_argc_argv = On - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -post_max_size = 20M - -; Magic quotes -; - -; Magic quotes for incoming GET/POST/Cookie data. -magic_quotes_gpc = On - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -magic_quotes_sybase = Off - -; Automatically add files before or after any PHP document. -auto_prepend_file = -auto_append_file = - -; As of 4.0b4, PHP always outputs a character encoding by default in -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -default_mimetype = "text/html" -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. -;always_populate_raw_post_data = On - - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -user_dir = - -; Directory in which the loadable extensions (modules) reside. -extension_dir = "/usr/lib/php/modules" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -enable_dl = On - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. -; cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; cgi.redirect_status_env = ; - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; fastcgi.impersonate = 1; - -; Disable logging through FastCGI connection -; fastcgi.log = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -;cgi.rfc2616_headers = 0 - - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -upload_max_filesize = 200M - - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -allow_url_fopen = On - -; Define the anonymous ftp password (your email address) -;from="john@doe.com" - -; Define the User-Agent string -; user_agent="PHP" - -; Default timeout for socket based streams (seconds) -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; auto_detect_line_endings = Off - - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; -; -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example: -; -; extension=msql.so -; -; Note that it should be the name of the module only; no directory information -; needs to go here. Specify the location of the extension with the -; extension_dir directive above. - - -;;;; -; Note: packaged extension modules are now loaded via the .ini files -; found in the directory /etc/php.d; these are loaded by default. -;;;; - - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -;date.timezone = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -define_syslog_variables = Off - -[mail function] -; For Win32 only. -SMTP = localhost -smtp_port = 25 - -; For Win32 only. -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -sendmail_path = /usr/sbin/sendmail -t -i - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -[SQL] -sql.safe_mode = Off - -[ODBC] -;odbc.default_db = Not yet implemented -;odbc.default_user = Not yet implemented -;odbc.default_pw = Not yet implemented - -; Allow or prevent persistent links. -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of uodbc.defaultlrl and uodbc.defaultbinmode -odbc.defaultbinmode = 1 - -[MySQL] -; Allow or prevent persistent links. -mysql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -;mysql.default_socket = -mysql.default_socket = /tmp/mysql.sock - -; Default host for mysql_connect() (doesn't apply in safe mode). -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -mysql.default_password = - -; Maximum time (in secondes) for connect timeout. -1 means no limit -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of links. -1 means no limit. -mysqli.max_links = -1 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mSQL] -; Allow or prevent persistent links. -msql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -msql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -msql.max_links = -1 - -[PostgresSQL] -; Allow or prevent persistent links. -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Noitce message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -pgsql.log_notice = 0 - -[Sybase] -; Allow or prevent persistent links. -sybase.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -sybase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -sybase.max_links = -1 - -;sybase.interface_file = "/usr/sybase/interfaces" - -; Minimum error severity to display. -sybase.min_error_severity = 10 - -; Minimum message severity to display. -sybase.min_message_severity = 10 - -; Compatability mode with old versions of PHP 3.0. -; If on, this will cause PHP to automatically assign types to results according -; to their Sybase type, instead of treating them all as strings. This -; compatability mode will probably not stay around forever, so try applying -; whatever necessary changes to your code, and turn it off. -sybase.compatability_mode = Off - -[Sybase-CT] -; Allow or prevent persistent links. -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -sybct.max_links = -1 - -; Minimum server message severity to display. -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -sybct.min_client_severity = 10 - -[bcmath] -; Number of decimal digits for all bcmath functions. -bcmath.scale = 0 - -[browscap] -;browscap = extra/browscap.ini - -[Informix] -; Default host for ifx_connect() (doesn't apply in safe mode). -ifx.default_host = - -; Default user for ifx_connect() (doesn't apply in safe mode). -ifx.default_user = - -; Default password for ifx_connect() (doesn't apply in safe mode). -ifx.default_password = - -; Allow or prevent persistent links. -ifx.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -ifx.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ifx.max_links = -1 - -; If on, select statements return the contents of a text blob instead of its id. -ifx.textasvarchar = 0 - -; If on, select statements return the contents of a byte blob instead of its id. -ifx.byteasvarchar = 0 - -; Trailing blanks are stripped from fixed-length char columns. May help the -; life of Informix SE users. -ifx.charasvarchar = 0 - -; If on, the contents of text and byte blobs are dumped to a file instead of -; keeping them in memory. -ifx.blobinfile = 0 - -; NULL's are returned as empty strings, unless this is set to 1. In that case, -; NULL's are returned as string 'NULL'. -ifx.nullformat = 0 - -[Session] -; Handler used to store/retrieve data. -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; As of PHP 4.0.1, you can define the path as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -;session.save_path = "/var/lib/php/session" -session.save_path = "/tmp" - -; Whether to use cookies. -session.use_cookies = 1 - -; This option enables administrators to make their users invulnerable to -; attacks which involve passing session ids in URLs; defaults to 0. -; session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -session.name = PHPSESSID - -; Initialize session on request startup. -session.auto_start = 1 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -session.cookie_path = / - -; The domain for which the cookie is valid. -session.cookie_domain = - -; Handler used to serialize data. php is the standard serializer of PHP. -session.serialize_handler = php - -; Define the probability that the 'garbage collection' process is started -; on every session initialization. -; The probability is calculated by using gc_probability/gc_divisor, -; e.g. 1/100 means there is a 1% chance that the GC process starts -; on each request. - -session.gc_probability = 20 -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; cd /path/to/sessions; find -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, albeit register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. - -session.bug_compat_42 = 0 -session.bug_compat_warn = 1 - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -session.referer_check = - -; How many bytes to read from the file. -session.entropy_length = 0 - -; Specified here to create the session id. -session.entropy_file = - -;session.entropy_length = 16 - -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -session.cache_limiter = nocache - -; Document expires after n minutes. -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publically accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -session.use_trans_sid = 0 - -; Select a hash function -; 0: MD5 (128 bits) -; 1: SHA-1 (160 bits) -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; -; 4 bits: 0-9, a-f -; 5 bits: 0-9, a-v -; 6 bits: 0-9, a-z, A-Z, "-", "," -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatability mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.comf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -;assert.active = On - -; Issue a PHP warning for each failed assertion. -;assert.warning = On - -; Don't bail out by default. -;assert.bail = Off - -; User-function to be called if an assertion fails. -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -;assert.quiet_eval = 0 - -[Verisign Payflow Pro] -; Default Payflow Pro server. -pfpro.defaulthost = "test-payflow.verisign.com" - -; Default port to connect to. -pfpro.defaultport = 443 - -; Default timeout in seconds. -pfpro.defaulttimeout = 30 - -; Default proxy IP address (if required). -;pfpro.proxyaddress = - -; Default proxy port. -;pfpro.proxyport = - -; Default proxy logon. -;pfpro.proxylogon = - -; Default proxy password. -;pfpro.proxypassword = - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -;com.typelib_file = -; allow Distributed-COM calls -;com.allow_dcom = true -; autoregister constants of a components typlib on com_load() -;com.autoregister_typelib = true -; register constants casesensitive -;com.autoregister_casesensitive = false -; show warnings on duplicate constat registrations -;com.autoregister_verbose = true - -[mbstring] -; language for internal character representation. -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_encoding = Off - -[FrontBase] -;fbsql.allow_persistent = On -;fbsql.autocommit = On -;fbsql.default_database = -;fbsql.default_database_password = -;fbsql.default_host = -;fbsql.default_password = -;fbsql.default_user = "_SYSTEM" -;fbsql.generate_warnings = Off -;fbsql.max_connections = 128 -;fbsql.max_links = 128 -;fbsql.max_persistent = -1 -;fbsql.max_results = 128 -;fbsql.batchSize = 1000 - -[gd] -; Tell the jpeg decode to libjpeg warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -;exif.encode_unicode = ISO-8859-15 -;exif.decode_unicode_motorola = UCS-2BE -;exif.decode_unicode_intel = UCS-2LE -;exif.encode_jis = -;exif.decode_jis_motorola = JIS -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -soap.wsdl_cache_enabled=1 -; Sets the directory name where SOAP extension will put cache files. -soap.wsdl_cache_dir="/tmp" -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -soap.wsdl_cache_ttl=86400 - -; Local Variables: -; tab-width: 4 -; End: diff --git a/omc/config/profile b/omc/config/profile deleted file mode 100644 index 5571da1..0000000 --- a/omc/config/profile +++ /dev/null @@ -1,48 +0,0 @@ -# /etc/profile - -# System wide environment and startup programs, for login setup -# Functions and aliases go in /etc/bashrc - - -# Path manipulation -if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/sbin" ; then - PATH=/sbin:$PATH -fi - -if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/sbin" ; then - PATH=/usr/sbin:$PATH -fi - -if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/local/sbin" ; then - PATH=/usr/local/sbin:$PATH -fi - -if ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; then - PATH="$PATH:/usr/X11R6/bin" -fi - -# No core files by default -#ulimit -S -c 0 > /dev/null 2>&1 -ulimit -c unlimited - -USER=`id -un` -LOGNAME=$USER -MAIL="/var/spool/mail/$USER" - -HOSTNAME=`/bin/hostname` -HISTSIZE=1000 - -if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then - INPUTRC=/etc/inputrc -fi - -export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC - -for i in /etc/profile.d/*.sh ; do - if [ -r $i ]; then - . $i - fi -done - -unset i -PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/etc/rc.d/init.d" diff --git a/omc/config/rsyncd.conf b/omc/config/rsyncd.conf deleted file mode 100644 index 283a113..0000000 --- a/omc/config/rsyncd.conf +++ /dev/null @@ -1,15 +0,0 @@ -uid=mysql -gid=mysql -use chroot=no -max connections=4 -pid file=/var/run/rsyncd.pid -lock file=/var/run/rsync.lock -log file=/var/log/rsyncd.log - -[data] -path=/usr/local/mysql/data/ -list=true - -[conf] -path=/usr/local/omc/bin/conf/ -list=true diff --git a/omc/config/server.crt b/omc/config/server.crt deleted file mode 100644 index 404427b..0000000 --- a/omc/config/server.crt +++ /dev/null @@ -1,61 +0,0 @@ -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 2 (0x2) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=CN, ST=Guangdong, L=Shenzhen, O=altobridge, OU=acrd, CN=omc/emailAddress=omc@adc.com - Validity - Not Before: Mar 8 15:10:28 2010 GMT - Not After : Mar 8 15:10:28 2011 GMT - Subject: C=CN, ST=Guangdong, O=altobridge, OU=acrd, CN=emsserver/emailAddress=ems@adc.com - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:d2:97:80:bc:58:94:01:44:2c:04:7a:60:7c:12: - 43:25:6c:60:3a:9f:b9:c2:09:f6:3d:63:34:07:45: - 40:3e:f9:45:3c:20:86:35:d7:89:77:22:73:f2:70: - cb:f7:7f:54:a0:16:d4:eb:b2:5c:f2:d1:95:ab:55: - 38:c6:30:46:c6:d0:76:02:0d:a7:e5:9f:49:3f:ee: - 0a:83:b0:9e:c1:61:78:2a:89:c1:67:93:c2:af:85: - 04:f5:61:ee:52:f1:e1:d0:1f:c7:22:80:54:91:1b: - 70:c4:bc:ad:f5:c7:17:a5:b1:cc:b5:71:1e:72:17: - aa:8a:50:37:b5:85:a0:f5:8b - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - Netscape Comment: - OpenSSL Generated Certificate - X509v3 Subject Key Identifier: - 09:3E:B8:08:1E:EB:8F:33:B1:E9:F8:88:E6:5C:52:A9:21:9A:2B:D8 - X509v3 Authority Key Identifier: - keyid:C9:72:91:A2:E4:0C:F6:E0:56:4B:6B:CB:B6:51:53:D4:C9:D5:CB:7C - - Signature Algorithm: sha1WithRSAEncryption - 9f:62:1a:23:1b:36:7a:62:95:f5:bd:bc:d4:a7:32:29:37:8d: - 17:55:1a:51:0d:99:c8:93:96:a3:60:ba:b0:92:74:52:41:1f: - bd:dc:35:78:5e:92:ba:61:81:77:76:49:7f:66:73:72:f5:8f: - bc:99:ac:3c:93:da:17:72:8d:9d:9d:74:fd:87:aa:9b:91:4a: - 17:37:49:e2:71:58:1e:2d:ec:5b:ee:49:e7:3b:90:c3:88:76: - f5:59:e8:7e:7f:e7:d3:55:f7:96:a5:9b:04:b9:e2:38:65:b0: - 99:29:14:d1:f2:b9:26:29:74:a1:f5:64:67:84:38:53:b1:ce: - 9e:6d ------BEGIN CERTIFICATE----- -MIIC6TCCAlKgAwIBAgIBAjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCQ04x -EjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEzARBgNVBAoT -CmFsdG9icmlkZ2UxDTALBgNVBAsTBGFjcmQxDDAKBgNVBAMTA29tYzEaMBgGCSqG -SIb3DQEJARYLb21jQGFkYy5jb20wHhcNMTAwMzA4MTUxMDI4WhcNMTEwMzA4MTUx -MDI4WjB1MQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdkb25nMRMwEQYDVQQK -EwphbHRvYnJpZGdlMQ0wCwYDVQQLEwRhY3JkMRIwEAYDVQQDEwllbXNzZXJ2ZXIx -GjAYBgkqhkiG9w0BCQEWC2Vtc0BhZGMuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN -ADCBiQKBgQDSl4C8WJQBRCwEemB8EkMlbGA6n7nCCfY9YzQHRUA++UU8IIY114l3 -InPycMv3f1SgFtTrslzy0ZWrVTjGMEbG0HYCDafln0k/7gqDsJ7BYXgqicFnk8Kv -hQT1Ye5S8eHQH8cigFSRG3DEvK31xxelscy1cR5yF6qKUDe1haD1iwIDAQABo3sw -eTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBD -ZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUCT64CB7rjzOx6fiI5lxSqSGaK9gwHwYDVR0j -BBgwFoAUyXKRouQM9uBWS2vLtlFT1MnVy3wwDQYJKoZIhvcNAQEFBQADgYEAn2Ia -Ixs2emKV9b281KcyKTeNF1UaUQ2ZyJOWo2C6sJJ0UkEfvdw1eF6SumGBd3ZJf2Zz -cvWPvJmsPJPaF3KNnZ10/Yeqm5FKFzdJ4nFYHi3sW+5J5zuQw4h29Vnofn/n01X3 -lqWbBLniOGWwmSkU0fK5Jil0ofVkZ4Q4U7HOnm0= ------END CERTIFICATE----- diff --git a/omc/config/server.csr b/omc/config/server.csr deleted file mode 100644 index 5e3fc04..0000000 --- a/omc/config/server.csr +++ /dev/null @@ -1,13 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIB8zCCAVwCAQAwgYgxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rvbmcx -ETAPBgNVBAcTCFNoZW56aGVuMRMwEQYDVQQKEwphbHRvYnJpZGdlMQ0wCwYDVQQL -EwRhY3JkMRIwEAYDVQQDEwllbXNzZXJ2ZXIxGjAYBgkqhkiG9w0BCQEWC2Vtc0Bh -ZGMuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSl4C8WJQBRCwEemB8 -EkMlbGA6n7nCCfY9YzQHRUA++UU8IIY114l3InPycMv3f1SgFtTrslzy0ZWrVTjG -MEbG0HYCDafln0k/7gqDsJ7BYXgqicFnk8KvhQT1Ye5S8eHQH8cigFSRG3DEvK31 -xxelscy1cR5yF6qKUDe1haD1iwIDAQABoCowEQYJKoZIhvcNAQkCMQQTAmFiMBUG -CSqGSIb3DQEJBzEIEwYxMjM0NTYwDQYJKoZIhvcNAQEFBQADgYEAnL/xEe7QAk8B -QOdb5imoP9KpW/5rGXTpKxbdH7SiiyysE8Qre42cdSfd707JU93ei6vNEqgrv8wA -YTgWnvGRYmDzRFTCtX04CoRprVFhfuPtR0pFCT/aPfX+7oLfP9sS1Dy1dkK82Ivs -S6gf1/rCzhe4HtOPisbDwQtyv7RW6bg= ------END CERTIFICATE REQUEST----- diff --git a/omc/config/server.key b/omc/config/server.key deleted file mode 100644 index 650e936..0000000 --- a/omc/config/server.key +++ /dev/null @@ -1,15 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIICWwIBAAKBgQDSl4C8WJQBRCwEemB8EkMlbGA6n7nCCfY9YzQHRUA++UU8IIY1 -14l3InPycMv3f1SgFtTrslzy0ZWrVTjGMEbG0HYCDafln0k/7gqDsJ7BYXgqicFn -k8KvhQT1Ye5S8eHQH8cigFSRG3DEvK31xxelscy1cR5yF6qKUDe1haD1iwIDAQAB -AoGAVZfoZiUmeuFHdsZ6otMVYYeMESfMa3Z7E/ZXNkFKXI4aOtcJVab2I2rob3iz -HjQtpCfDgMztBHB1Ab9QpRUIHpeFm5HFs8xv3rA1Z0ZRHjACaVd15ErbL/lO/w4u -e4Tp6CPM1I95kmTm2a32T5Q7AytfS3DJHUKFbGpINN4zUBECQQD3vJ5uDEn/djuw -igGQcQ0rN1kXNC2nx1ubZZEtLj8iymjD9BeMbBI/oAtf9mxmArpBXIMp2Deiy0/x -E2X2s7XpAkEA2Z21oLrMeWAF/4zzEr+lpod2hZ31+gSzKM24mIhvMXZd0W5C+HZe -rXD++WZvuRwnFs3zU95dezzAEZ2ztRlDUwJADKfiIBUYoqhTnE0wj0R3O8H0Fy9f -NbcFgwbJR9mY+BoHCBusKExNElsGubxJBV0WTsh/GuAk13gzeUlYaCX+IQJAKR4q -dl81SW3CVGHuf8lkZE3OMDsDgiUnMPuF+JQ25lKmMW8zCj1bcEwccUVQsNpH7IAn -jN5ELYfyBqIUlZBbbwJATpp3YTito8bYKyX6vTtuKRARSzxz7PY7lcwT5MiobIk+ -oHubU8eSARm9vDGqgZU4vFNcLjhTlTRuIynr4Gm4Pw== ------END RSA PRIVATE KEY----- diff --git a/omc/config/snmp.conf b/omc/config/snmp.conf deleted file mode 100644 index e83534c..0000000 --- a/omc/config/snmp.conf +++ /dev/null @@ -1,19 +0,0 @@ -[version-3] -[engine-2] -engineType=0 -securityLevel=3 -userName=pierre -authPassword=maplesyrup -privacyPassword=maplesyrup -engineID=00000063000000A19BE2CAC5 -contextName= - -[engine-3] -engineType=1 -securityLevel=3 -userName=pierre -authPassword=maplesyrup -privacyPassword=maplesyrup -engineID=00000063000000A19BE2CAC5 -contextName= -contextEngineID= diff --git a/omc/plat/.copyarea.db b/omc/plat/.copyarea.db deleted file mode 100644 index 7bc0e0c..0000000 --- a/omc/plat/.copyarea.db +++ /dev/null @@ -1,29 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat -2 -19 -4:smpp|2|0|0|0|fc296eabbfa511dc866b001c23e19543|0 -4:isup|2|0|0|0|e6696767bfa411dc852a001c23e19543|0 -7:iptrans|2|0|0|0|d51966f0bfa411dc851a001c23e19543|0 -a:lost+found|2|0|0|0|63d949bbbfa011dc819a001c23e19543|0 -4:mtp3|2|0|0|0|49e96a03bfa511dc85a0001c23e19543|0 -4:xapp|2|0|0|0|3859703cbfa611dc86a4001c23e19543|0 -6:public|2|0|0|0|59696a6bbfa511dc85ad001c23e19543|0 -4:snmp|2|0|0|0|1e196f91bfa611dc868f001c23e19543|0 -4:isdn|2|0|0|0|fe87fa67808c11dd88a4001c23e19543|0 -6:haepub|2|0|0|0|ce8966c5bfa411dc8515001c23e19543|0 -3:sip|2|0|0|0|d437f94b808c11dd889f001c23e19543|0 -6:mgc_v2|2|0|0|0|7730c1eca0da11dd9cdb001c23e19543|0 -4:bicc|2|0|0|0|952644599a8511dd8b36001c23e19543|0 -4:mgcp|2|0|0|0|3cc969a9bfa511dc8595001c23e19543|0 -4:sccp|2|0|0|0|5e18819ac44711dc962e001c23e19543|0 -5:debug|2|0|0|0|c899669dbfa411dc8511001c23e19543|0 -4:tcap|2|0|0|0|2bd96fecbfa611dc869a001c23e19543|0 -3:mgc|2|0|0|0|30496955bfa511dc8589001c23e19543|0 -4:8ecp|2|0|0|0|a4d965b7bfa411dc84ed001c23e19543|0 -3:pal|2|0|0|0|731472cf6cf311dd91c7001c23e19543|0 -5:mgcv2|2|0|0|0|da0645189a8a11dd8b34001c23e19543|0 -4:m2ua|2|0|0|0|fb3967f0bfa411dc8544001c23e19543|0 -3:rtp|2|0|0|0|89b96bacbfa511dc85d9001c23e19543|0 -3:scf|2|0|0|0|f2996e6fbfa511dc8664001c23e19543|0 -3:aif|2|0|0|0|840d286ec9bd11dc8b49001c23e19543|0 diff --git a/omc/plat/8ecp/.copyarea.db b/omc/plat/8ecp/.copyarea.db deleted file mode 100644 index 2670287..0000000 --- a/omc/plat/8ecp/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\8ecp -2 -5 -3:doc|2|0|0|0|a56965d3bfa411dc84ed001c23e19543|0 -2:ut|2|0|0|0|a99966cfbfa411dc84ed001c23e19543|0 -3:src|2|0|0|0|a6996627bfa411dc84ed001c23e19543|0 -8:Makefile|1|11d70a3d83e|b3e|1818c81f|a609660bbfa411dc84ed001c23e19543|0 -3:lib|2|0|0|0|a56965efbfa411dc84ed001c23e19543|0 diff --git a/omc/plat/8ecp/lib/lib8ecp.a b/omc/plat/8ecp/lib/lib8ecp.a deleted file mode 100644 index 8c6141e..0000000 Binary files a/omc/plat/8ecp/lib/lib8ecp.a and /dev/null differ diff --git a/omc/plat/8ecp/obj/8ecp.o b/omc/plat/8ecp/obj/8ecp.o deleted file mode 100644 index 691c92c..0000000 Binary files a/omc/plat/8ecp/obj/8ecp.o and /dev/null differ diff --git a/omc/plat/8ecp/obj/8ecp_debug.o b/omc/plat/8ecp/obj/8ecp_debug.o deleted file mode 100644 index 954e232..0000000 Binary files a/omc/plat/8ecp/obj/8ecp_debug.o and /dev/null differ diff --git a/omc/plat/8ecp/src/.copyarea.db b/omc/plat/8ecp/src/.copyarea.db deleted file mode 100644 index ef0b6cc..0000000 --- a/omc/plat/8ecp/src/.copyarea.db +++ /dev/null @@ -1,7 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\8ecp\src -2 -3 -c:8ecp_debug.c|1|11d70a3d909|1e8c|adf63b13|a8696697bfa411dc84ed001c23e19543|0 -6:8ecp.c|1|11d70a3d957|201f|3c43c25e|a8f966b3bfa411dc84ed001c23e19543|0 -7:include|2|0|0|0|a6996643bfa411dc84ed001c23e19543|0 diff --git a/omc/plat/8ecp/src/include/.copyarea.db b/omc/plat/8ecp/src/include/.copyarea.db deleted file mode 100644 index fe3eb84..0000000 --- a/omc/plat/8ecp/src/include/.copyarea.db +++ /dev/null @@ -1,6 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\8ecp\src\include -2 -2 -c:8ecp_debug.h|1|11d70a3da32|29d|7b16c4f9|a7c9667bbfa411dc84ed001c23e19543|0 -6:8ecp.h|1|11d70a3d9f3|db8|3029f304|a739665fbfa411dc84ed001c23e19543|0 diff --git a/omc/plat/aif/.copyarea.db b/omc/plat/aif/.copyarea.db deleted file mode 100644 index c438c34..0000000 --- a/omc/plat/aif/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\aif -2 -5 -3:doc|2|0|0|0|5eb881a3c44711dc962f001c23e19543|0 -2:ut|2|0|0|0|624881bac44711dc9633001c23e19543|0 -3:src|2|0|0|0|598baa37051f11dd8b58001c23e19543|0 -8:Makefile|1|11d70a3daed|b57|6a82d06f|ab596627bfa411dc84f1001c23e19543|0 -3:lib|2|0|0|0|ab59660bbfa411dc84f1001c23e19543|0 diff --git a/omc/plat/aif/doc/.copyarea.db b/omc/plat/aif/doc/.copyarea.db deleted file mode 100644 index 7c2da95..0000000 --- a/omc/plat/aif/doc/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\aif\doc -2 -1 -10:release_note.txt|1|11d70a3dbb8|15b|92ef5818|6d988209c44711dc963f001c23e19543|0 diff --git a/omc/plat/aif/lib/libaif.a b/omc/plat/aif/lib/libaif.a deleted file mode 100644 index 8c09235..0000000 Binary files a/omc/plat/aif/lib/libaif.a and /dev/null differ diff --git a/omc/plat/aif/obj/aifg.o b/omc/plat/aif/obj/aifg.o deleted file mode 100644 index ee0588c..0000000 Binary files a/omc/plat/aif/obj/aifg.o and /dev/null differ diff --git a/omc/plat/aif/obj/aifg_csta.o b/omc/plat/aif/obj/aifg_csta.o deleted file mode 100644 index c4b2c42..0000000 Binary files a/omc/plat/aif/obj/aifg_csta.o and /dev/null differ diff --git a/omc/plat/aif/obj/aifg_debug.o b/omc/plat/aif/obj/aifg_debug.o deleted file mode 100644 index f93f0b4..0000000 Binary files a/omc/plat/aif/obj/aifg_debug.o and /dev/null differ diff --git a/omc/plat/aif/obj/aifg_ie.o b/omc/plat/aif/obj/aifg_ie.o deleted file mode 100644 index 7b4191c..0000000 Binary files a/omc/plat/aif/obj/aifg_ie.o and /dev/null differ diff --git a/omc/plat/aif/obj/aifg_m.o b/omc/plat/aif/obj/aifg_m.o deleted file mode 100644 index dcc526b..0000000 Binary files a/omc/plat/aif/obj/aifg_m.o and /dev/null differ diff --git a/omc/plat/aif/obj/aifg_mpp.o b/omc/plat/aif/obj/aifg_mpp.o deleted file mode 100644 index d0f5d0d..0000000 Binary files a/omc/plat/aif/obj/aifg_mpp.o and /dev/null differ diff --git a/omc/plat/aif/src/.copyarea.db b/omc/plat/aif/src/.copyarea.db deleted file mode 100644 index 9a1ddc4..0000000 --- a/omc/plat/aif/src/.copyarea.db +++ /dev/null @@ -1,11 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\aif\src -2 -7 -6:aifg.c|1|11d70a3dc93|1c81|3b10db20|adc96697bfa411dc84f1001c23e19543|0 -8:aifg_m.c|1|11d70a3dcd1|b6fe|6671c6c5|e0c481066cf311dd91a5001c23e19543|0 -b:aifg_csta.c|1|11d70a3dd8d|1bba|a93e11f0|6e8b63f2a4d211dd91b5001c23e19543|0 -9:aifg_ie.c|1|11d70a3dc54|13c03|30223d39|ad29667bbfa411dc84f1001c23e19543|0 -7:include|2|0|0|0|611881b1c44711dc9632001c23e19543|0 -c:aifg_debug.c|1|11d70a3dd1f|78cb|50dddc48|b45967cbbfa411dc84f1001c23e19543|0 -a:aifg_mpp.c|1|11d70a3dd4e|340f6|c3aecf7f|e154811e6cf311dd91a5001c23e19543|0 diff --git a/omc/plat/aif/src/include/.copyarea.db b/omc/plat/aif/src/include/.copyarea.db deleted file mode 100644 index a3621e3..0000000 --- a/omc/plat/aif/src/include/.copyarea.db +++ /dev/null @@ -1,11 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\aif\src\include -2 -7 -6:aifg.h|1|11d70a3de67|fe7|8b5f2301|b0296707bfa411dc84f1001c23e19543|0 -d:aifg_public.h|1|11d70a3dee4|39d|33cc0d9f|b159673fbfa411dc84f1001c23e19543|0 -9:aifg_ie.h|1|11d70a3df90|78f0|98f81cdb|b3196793bfa411dc84f1001c23e19543|0 -9:aifg_if.h|1|11d70a3df23|26a|5af7abd0|b1e9675bbfa411dc84f1001c23e19543|0 -a:aifg_msg.h|1|11d70a3deb5|aaac|6675a37b|853d2877c9bd11dc8b4a001c23e19543|0 -e:aifg_var_ext.h|1|11d70a3de29|93a|8f4d21bb|aef966ebbfa411dc84f1001c23e19543|0 -f:aifg_type_def.h|1|11d70a3df52|4492|b9916b|866d2878c9bd11dc8b4b001c23e19543|0 diff --git a/omc/plat/aif/ut/.copyarea.db b/omc/plat/aif/ut/.copyarea.db deleted file mode 100644 index 1b1791c..0000000 --- a/omc/plat/aif/ut/.copyarea.db +++ /dev/null @@ -1,7 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\aif\ut -2 -3 -8:makefile|1|11d70a3e0a9|2f4|19f1d7f0|b9a968abbfa411dc84f1001c23e19543|0 -b:aifg_test.c|1|11d70a3e07a|3d275|fa91da6e|b7e96873bfa411dc84f1001c23e19543|0 -b:aifg_main.c|1|11d70a3e02c|103|bf8d4d3c|b7496857bfa411dc84f1001c23e19543|0 diff --git a/omc/plat/bicc/.copyarea.db b/omc/plat/bicc/.copyarea.db deleted file mode 100644 index 1c553f9..0000000 --- a/omc/plat/bicc/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\bicc -2 -6 -3:doc|2|0|0|0|bb796660bfa411dc8505001c23e19543|0 -2:ut|2|0|0|0|c7696890bfa411dc8505001c23e19543|0 -3:src|2|0|0|0|96f644919a8511dd8b36001c23e19543|0 -7:src.old|2|0|0|0|95c644659a8511dd8b36001c23e19543|0 -8:Makefile|1|11d70a3e184|b31|3d53c002|bca96698bfa411dc8505001c23e19543|0 -3:lib|2|0|0|0|bc09667cbfa411dc8505001c23e19543|0 diff --git a/omc/plat/bicc/lib/libbicc.a b/omc/plat/bicc/lib/libbicc.a deleted file mode 100644 index 13d4ca9..0000000 Binary files a/omc/plat/bicc/lib/libbicc.a and /dev/null differ diff --git a/omc/plat/bicc/obj/bicc_apm.o b/omc/plat/bicc/obj/bicc_apm.o deleted file mode 100644 index be6daa3..0000000 Binary files a/omc/plat/bicc/obj/bicc_apm.o and /dev/null differ diff --git a/omc/plat/bicc/obj/bicc_debug.o b/omc/plat/bicc/obj/bicc_debug.o deleted file mode 100644 index 7b4be40..0000000 Binary files a/omc/plat/bicc/obj/bicc_debug.o and /dev/null differ diff --git a/omc/plat/bicc/obj/bicc_fsm.o b/omc/plat/bicc/obj/bicc_fsm.o deleted file mode 100644 index 8522979..0000000 Binary files a/omc/plat/bicc/obj/bicc_fsm.o and /dev/null differ diff --git a/omc/plat/bicc/obj/bicc_ipbcp.o b/omc/plat/bicc/obj/bicc_ipbcp.o deleted file mode 100644 index 6ccf356..0000000 Binary files a/omc/plat/bicc/obj/bicc_ipbcp.o and /dev/null differ diff --git a/omc/plat/bicc/obj/bicc_msg.o b/omc/plat/bicc/obj/bicc_msg.o deleted file mode 100644 index e1911cf..0000000 Binary files a/omc/plat/bicc/obj/bicc_msg.o and /dev/null differ diff --git a/omc/plat/bicc/obj/bicc_prm.o b/omc/plat/bicc/obj/bicc_prm.o deleted file mode 100644 index 4abcb9d..0000000 Binary files a/omc/plat/bicc/obj/bicc_prm.o and /dev/null differ diff --git a/omc/plat/bicc/obj/biccif.o b/omc/plat/bicc/obj/biccif.o deleted file mode 100644 index 76bce92..0000000 Binary files a/omc/plat/bicc/obj/biccif.o and /dev/null differ diff --git a/omc/plat/bicc/src.old/.copyarea.db b/omc/plat/bicc/src.old/.copyarea.db deleted file mode 100644 index bfd2712..0000000 --- a/omc/plat/bicc/src.old/.copyarea.db +++ /dev/null @@ -1,13 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\bicc\src.old -2 -9 -a:bicc_prm.c|1|11d70a3e27e|33ed|1c8d9a4|e15481366cf311dd91a5001c23e19543|0 -a:bicc_fsm.c|1|11d70a3e433|f45c|d7758e91|5c364a229a8611dd8b36001c23e19543|0 -e:bicc_fsm.c.old|1|11d70a3e3f5|f45c|d7758e91|5b0649aa9a8611dd8b36001c23e19543|0 -a:bicc_msg.c|1|11d70a3e2fb|8563|a0fc75de|e1f481666cf311dd91a5001c23e19543|0 -a:bicc_apm.c|1|11d70a3e2ad|1363|b56b34ff|e1f4814e6cf311dd91a5001c23e19543|0 -7:include|2|0|0|0|c1696778bfa411dc8505001c23e19543|0 -c:bicc_debug.c|1|11d70a3e32a|54e6|55931a29|e294817e6cf311dd91a5001c23e19543|0 -8:biccif.c|1|11d70a3e3b6|800d|713cda1f|56e6486a9a8611dd8b36001c23e19543|0 -c:bicc_ipbcp.c|1|11d70a3e368|1e3d|81f3ff1f|e32481ae6cf311dd91a5001c23e19543|0 diff --git a/omc/plat/bicc/src.old/include/.copyarea.db b/omc/plat/bicc/src.old/include/.copyarea.db deleted file mode 100644 index 3837c9e..0000000 --- a/omc/plat/bicc/src.old/include/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\bicc\src.old\include -2 -8 -c:bicc_debug.h|1|11d70a3e55c|2d0|bc45c482|e454820e6cf311dd91a5001c23e19543|0 -7:ipbcp.h|1|11d70a3e4ee|5ec|3918ea7e|e3c481de6cf311dd91a5001c23e19543|0 -a:q1902_3e.h|1|11d70a3e4c0|2d50|c4a74e73|e32481c66cf311dd91a5001c23e19543|0 -8:biccif.h|1|11d70a3e636|32e4|3f0cf7b4|e584826e6cf311dd91a5001c23e19543|0 -5:inc.h|1|11d70a3e5ba|e57|566ed92f|e4f4823e6cf311dd91a5001c23e19543|0 -9:q765_5e.h|1|11d70a3e59a|82e|ee80601c|e45482266cf311dd91a5001c23e19543|0 -9:var_ext.h|1|11d70a3e5f8|15c|91ea711b|e4f482566cf311dd91a5001c23e19543|0 -8:define.h|1|11d70a3e53d|1e9|94808f37|e3c481f66cf311dd91a5001c23e19543|0 diff --git a/omc/plat/bicc/src/.copyarea.db b/omc/plat/bicc/src/.copyarea.db deleted file mode 100644 index fc7fc04..0000000 --- a/omc/plat/bicc/src/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\bicc\src -2 -8 -a:bicc_prm.c|1|11d70a3e7ec|33ed|1c8d9a4|5cd64a3a9a8611dd8b36001c23e19543|0 -a:bicc_fsm.c|1|11d70a3e740|f45c|d7758e91|5e064a9a9a8611dd8b36001c23e19543|0 -a:bicc_msg.c|1|11d70a3e7ad|8563|a0fc75de|5d764a6a9a8611dd8b36001c23e19543|0 -a:bicc_apm.c|1|11d70a3e6d3|1363|b56b34ff|5cd64a529a8611dd8b36001c23e19543|0 -7:include|2|0|0|0|b19bc6669b5711dd8e28001c23e19543|0 -c:bicc_debug.c|1|11d70a3e702|54e6|55931a29|5d764a829a8611dd8b36001c23e19543|0 -8:biccif.c|1|11d70a3e81b|800d|713cda1f|5ea64ae29a8611dd8b36001c23e19543|0 -c:bicc_ipbcp.c|1|11d70a3e76f|1e3d|81f3ff1f|5ea64aca9a8611dd8b36001c23e19543|0 diff --git a/omc/plat/bicc/src/include/.copyarea.db b/omc/plat/bicc/src/include/.copyarea.db deleted file mode 100644 index be529d5..0000000 --- a/omc/plat/bicc/src/include/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\bicc\src\include -2 -8 -7:ipbcp.h|1|11d70a3e9ef|5ec|3918ea7e|c54bc7539b5711dd8e28001c23e19543|0 -c:bicc_debug.h|1|11d70a3e8e6|2d0|bc45c482|c24bc6e39b5711dd8e28001c23e19543|0 -a:q1902_3e.h|1|11d70a3ea1e|2d50|c4a74e73|c67bc76f9b5711dd8e28001c23e19543|0 -5:inc.h|1|11d70a3e9c0|e57|566ed92f|c4abc7379b5711dd8e28001c23e19543|0 -8:biccif.h|1|11d70a3e972|32e4|3f0cf7b4|c37bc6ff9b5711dd8e28001c23e19543|0 -9:q765_5e.h|1|11d70a3ea4d|82e|ee80601c|c70bc78b9b5711dd8e28001c23e19543|0 -9:var_ext.h|1|11d70a3ea7c|15c|91ea711b|c7abc7a79b5711dd8e28001c23e19543|0 -8:define.h|1|11d70a3e991|1e9|94808f37|c41bc71b9b5711dd8e28001c23e19543|0 diff --git a/omc/plat/debug/.copyarea.db b/omc/plat/debug/.copyarea.db deleted file mode 100644 index b8730bc..0000000 --- a/omc/plat/debug/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\debug -2 -5 -3:doc|2|0|0|0|c92966b9bfa411dc8511001c23e19543|0 -2:ut|2|0|0|0|ccc96799bfa411dc8511001c23e19543|0 -3:src|2|0|0|0|ca59670dbfa411dc8511001c23e19543|0 -8:Makefile|1|11d70a3eb18|b39|e7adc250|c9c966f1bfa411dc8511001c23e19543|0 -3:lib|2|0|0|0|c92966d5bfa411dc8511001c23e19543|0 diff --git a/omc/plat/debug/lib/libdebug.a b/omc/plat/debug/lib/libdebug.a deleted file mode 100644 index 3415bc0..0000000 Binary files a/omc/plat/debug/lib/libdebug.a and /dev/null differ diff --git a/omc/plat/debug/obj/debug.o b/omc/plat/debug/obj/debug.o deleted file mode 100644 index d8176ae..0000000 Binary files a/omc/plat/debug/obj/debug.o and /dev/null differ diff --git a/omc/plat/debug/src/.copyarea.db b/omc/plat/debug/src/.copyarea.db deleted file mode 100644 index 427880c..0000000 --- a/omc/plat/debug/src/.copyarea.db +++ /dev/null @@ -1,6 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\debug\src -2 -2 -7:include|2|0|0|0|caf96745bfa411dc8511001c23e19543|0 -7:debug.c|1|11d70a3ec9e|8ae65|9fc7892a|e624829e6cf311dd91a5001c23e19543|0 diff --git a/omc/plat/debug/src/include/.copyarea.db b/omc/plat/debug/src/include/.copyarea.db deleted file mode 100644 index 534d80d..0000000 --- a/omc/plat/debug/src/include/.copyarea.db +++ /dev/null @@ -1,6 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\debug\src\include -2 -2 -7:debug.h|1|11d70a3ed79|655|b1b7068c|e6b482ce6cf311dd91a5001c23e19543|0 -e:debug_struct.h|1|11d70a3ed4a|2b53|adf2b80f|e62482b66cf311dd91a5001c23e19543|0 diff --git a/omc/plat/debug/ut/.copyarea.db b/omc/plat/debug/ut/.copyarea.db deleted file mode 100644 index d0251ac..0000000 --- a/omc/plat/debug/ut/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\debug\ut -2 -1 -c:debug_test.c|1|11d70a3ee25|68b1|93f0cb41|cd5967b5bfa411dc8511001c23e19543|0 diff --git a/omc/plat/haepub/.copyarea.db b/omc/plat/haepub/.copyarea.db deleted file mode 100644 index c35176b..0000000 --- a/omc/plat/haepub/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\haepub -2 -5 -3:doc|2|0|0|0|cf2966e1bfa411dc8515001c23e19543|0 -2:ut|2|0|0|0|d47967f9bfa411dc8515001c23e19543|0 -3:src|2|0|0|0|d0596735bfa411dc8515001c23e19543|0 -8:Makefile|1|11d70a3eed1|b72|9d4ed28c|cfb96719bfa411dc8515001c23e19543|0 -3:lib|2|0|0|0|cf2966fdbfa411dc8515001c23e19543|0 diff --git a/omc/plat/haepub/lib/libhaepub.a b/omc/plat/haepub/lib/libhaepub.a deleted file mode 100644 index ef75969..0000000 Binary files a/omc/plat/haepub/lib/libhaepub.a and /dev/null differ diff --git a/omc/plat/haepub/obj/hae_function.o b/omc/plat/haepub/obj/hae_function.o deleted file mode 100644 index dfbacd6..0000000 Binary files a/omc/plat/haepub/obj/hae_function.o and /dev/null differ diff --git a/omc/plat/haepub/obj/hae_param.o b/omc/plat/haepub/obj/hae_param.o deleted file mode 100644 index 6d71d77..0000000 Binary files a/omc/plat/haepub/obj/hae_param.o and /dev/null differ diff --git a/omc/plat/haepub/obj/hae_sync.o b/omc/plat/haepub/obj/hae_sync.o deleted file mode 100644 index acd97c4..0000000 Binary files a/omc/plat/haepub/obj/hae_sync.o and /dev/null differ diff --git a/omc/plat/haepub/src/.copyarea.db b/omc/plat/haepub/src/.copyarea.db deleted file mode 100644 index 45c0938..0000000 --- a/omc/plat/haepub/src/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\haepub\src -2 -4 -b:hae_param.c|1|11d70a3efca|356|8538136a|d189676dbfa411dc8515001c23e19543|0 -7:include|2|0|0|0|d2b967a5bfa411dc8515001c23e19543|0 -a:hae_sync.c|1|11d8a87d154|626f|45494e00|4194c285afc111dd8a82001c23e19543|0 -e:hae_function.c|1|11d70a3ef9c|26c6|f9a0cde9|d0e96751bfa411dc8515001c23e19543|0 diff --git a/omc/plat/haepub/src/include/.copyarea.db b/omc/plat/haepub/src/include/.copyarea.db deleted file mode 100644 index f43d1e1..0000000 --- a/omc/plat/haepub/src/include/.copyarea.db +++ /dev/null @@ -1,6 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\haepub\src\include -2 -2 -d:hae_include.h|1|11d70a3f0e4|45d|afa24a77|d34967c1bfa411dc8515001c23e19543|0 -e:hae_function.h|1|11d70a3f112|8e1|e1e411e0|d3e967ddbfa411dc8515001c23e19543|0 diff --git a/omc/plat/iptrans/.copyarea.db b/omc/plat/iptrans/.copyarea.db deleted file mode 100644 index 0f6d2ed..0000000 --- a/omc/plat/iptrans/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\iptrans -2 -5 -3:doc|2|0|0|0|d5b9670cbfa411dc851a001c23e19543|0 -2:ut|2|0|0|0|e53969e4bfa411dc851a001c23e19543|0 -3:src|2|0|0|0|d6e96760bfa411dc851a001c23e19543|0 -8:Makefile|1|11d70a3f1ce|b34|6c55c172|d6496744bfa411dc851a001c23e19543|0 -3:lib|2|0|0|0|d6496728bfa411dc851a001c23e19543|0 diff --git a/omc/plat/iptrans/iptrans b/omc/plat/iptrans/iptrans deleted file mode 100644 index 017a0e3..0000000 Binary files a/omc/plat/iptrans/iptrans and /dev/null differ diff --git a/omc/plat/iptrans/lib/libiptrans.a b/omc/plat/iptrans/lib/libiptrans.a deleted file mode 100644 index ca2bd86..0000000 Binary files a/omc/plat/iptrans/lib/libiptrans.a and /dev/null differ diff --git a/omc/plat/iptrans/obj/comfunc.o b/omc/plat/iptrans/obj/comfunc.o deleted file mode 100644 index 9fd17b4..0000000 Binary files a/omc/plat/iptrans/obj/comfunc.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/daemon.o b/omc/plat/iptrans/obj/daemon.o deleted file mode 100644 index 877f990..0000000 Binary files a/omc/plat/iptrans/obj/daemon.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/error.o b/omc/plat/iptrans/obj/error.o deleted file mode 100644 index 6560dd9..0000000 Binary files a/omc/plat/iptrans/obj/error.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/errorlog.o b/omc/plat/iptrans/obj/errorlog.o deleted file mode 100644 index 4f683b3..0000000 Binary files a/omc/plat/iptrans/obj/errorlog.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/ipcfunc.o b/omc/plat/iptrans/obj/ipcfunc.o deleted file mode 100644 index d806a90..0000000 Binary files a/omc/plat/iptrans/obj/ipcfunc.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/ipmsgfun.o b/omc/plat/iptrans/obj/ipmsgfun.o deleted file mode 100644 index b1b5b10..0000000 Binary files a/omc/plat/iptrans/obj/ipmsgfun.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/iptrans.o b/omc/plat/iptrans/obj/iptrans.o deleted file mode 100644 index 3cfc480..0000000 Binary files a/omc/plat/iptrans/obj/iptrans.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/iptrmain.o b/omc/plat/iptrans/obj/iptrmain.o deleted file mode 100644 index 9fe40bb..0000000 Binary files a/omc/plat/iptrans/obj/iptrmain.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/mcast_join.o b/omc/plat/iptrans/obj/mcast_join.o deleted file mode 100644 index a2d23ac..0000000 Binary files a/omc/plat/iptrans/obj/mcast_join.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/queuefunc.o b/omc/plat/iptrans/obj/queuefunc.o deleted file mode 100644 index 1371934..0000000 Binary files a/omc/plat/iptrans/obj/queuefunc.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/readmsg.o b/omc/plat/iptrans/obj/readmsg.o deleted file mode 100644 index a9df257..0000000 Binary files a/omc/plat/iptrans/obj/readmsg.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/signal.o b/omc/plat/iptrans/obj/signal.o deleted file mode 100644 index 24ca8b7..0000000 Binary files a/omc/plat/iptrans/obj/signal.o and /dev/null differ diff --git a/omc/plat/iptrans/obj/simu_debug.o b/omc/plat/iptrans/obj/simu_debug.o deleted file mode 100644 index 6888e1c..0000000 Binary files a/omc/plat/iptrans/obj/simu_debug.o and /dev/null differ diff --git a/omc/plat/iptrans/src/.copyarea.db b/omc/plat/iptrans/src/.copyarea.db deleted file mode 100644 index 6668a88..0000000 --- a/omc/plat/iptrans/src/.copyarea.db +++ /dev/null @@ -1,18 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\iptrans\src -2 -e -8:signal.c|1|11d70a3f306|2ec|7d67e483|d8a967b4bfa411dc851a001c23e19543|0 -9:readmsg.c|1|11d70a3f364|1414|665f1dce|d9d967ecbfa411dc851a001c23e19543|0 -8:daemon.c|1|11d70a3f48d|5b1|2e908d67|dd796878bfa411dc851a001c23e19543|0 -b:queuefunc.c|1|11d70a3f3f1|aa7|40dd25f6|db096824bfa411dc851a001c23e19543|0 -7:include|2|0|0|0|de096894bfa411dc851a001c23e19543|0 -7:error.c|1|11d70a3f335|85b|6d837e1c|d94967d0bfa411dc851a001c23e19543|0 -9:comfunc.c|1|11d70a3f45e|615|c89ac934|dc39685cbfa411dc851a001c23e19543|0 -c:simu_debug.c|1|11d70a3f27a|117|6e58531e|d779677cbfa411dc851a001c23e19543|0 -a:iptrmain.c|1|11d70a3f393|7c0|23214b44|da796808bfa411dc851a001c23e19543|0 -a:ipmsgfun.c|1|11d70a3f539|59a|2821d3c2|e49969c8bfa411dc851a001c23e19543|0 -9:ipcfunc.c|1|11d70a3f2b8|847|be8b6e69|d8196798bfa411dc851a001c23e19543|0 -c:mcast_join.c|1|11d70a3f4db|5ef|492dc215|e3696990bfa411dc851a001c23e19543|0 -a:errorlog.c|1|11d70a3f4fa|9fe|37b70443|e3f969acbfa411dc851a001c23e19543|0 -9:iptrans.c|1|11d70a3f42f|c21e|27cb93c8|e6b482e66cf311dd91a5001c23e19543|0 diff --git a/omc/plat/iptrans/src/include/.copyarea.db b/omc/plat/iptrans/src/include/.copyarea.db deleted file mode 100644 index 9718762..0000000 --- a/omc/plat/iptrans/src/include/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\iptrans\src\include -2 -8 -a:iptrfunc.h|1|11d70a3f6bf|7a|61ee278e|e1096920bfa411dc851a001c23e19543|0 -8:errlog.h|1|11d70a3f76b|538|fbdb8e2b|e2c96974bfa411dc851a001c23e19543|0 -8:dbsync.h|1|11d70a3f72c|39e|e3790e4e|e2396958bfa411dc851a001c23e19543|0 -7:debug.h|1|11d70a3f6ee|3d8|2f1d1a9c|e199693cbfa411dc851a001c23e19543|0 -9:iptrans.h|1|11d70a3f5c5|1ba8|babffb23|de0968b0bfa411dc851a001c23e19543|0 -a:function.h|1|11d70a3f671|d35|d1703d82|e0696904bfa411dc851a001c23e19543|0 -8:config.h|1|11d70a3f652|20a|3e469456|dfd968e8bfa411dc851a001c23e19543|0 -a:includes.h|1|11d70a3f604|39f|d85a1d82|df3968ccbfa411dc851a001c23e19543|0 diff --git a/omc/plat/isdn/.copyarea.db b/omc/plat/isdn/.copyarea.db deleted file mode 100644 index 656fa72..0000000 --- a/omc/plat/isdn/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isdn -2 -5 -3:doc|2|0|0|0|7014726b6cf311dd91c7001c23e19543|0 -2:ut|2|0|0|0|715472936cf311dd91c7001c23e19543|0 -3:src|2|0|0|0|70b4727f6cf311dd91c7001c23e19543|0 -8:Makefile|1|11d70a47c2c|b31|b248c01f|f04486166cf311dd91a5001c23e19543|0 -3:lib|2|0|0|0|c2f385b6339611dd80a0001c23e19543|0 diff --git a/omc/plat/isdn/doc/.copyarea.db b/omc/plat/isdn/doc/.copyarea.db deleted file mode 100644 index 99b2e7d..0000000 --- a/omc/plat/isdn/doc/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isdn\doc -2 -1 -11:D-500014-0-10.doc|1|11d70a47f58|14d200|803a9bd5|fb948a666cf311dd91a5001c23e19543|0 diff --git a/omc/plat/isdn/lib/libisdn.a b/omc/plat/isdn/lib/libisdn.a deleted file mode 100644 index 87e1441..0000000 Binary files a/omc/plat/isdn/lib/libisdn.a and /dev/null differ diff --git a/omc/plat/isdn/obj/isdn_debug.o b/omc/plat/isdn/obj/isdn_debug.o deleted file mode 100644 index fb24694..0000000 Binary files a/omc/plat/isdn/obj/isdn_debug.o and /dev/null differ diff --git a/omc/plat/isdn/obj/isdn_fsm.o b/omc/plat/isdn/obj/isdn_fsm.o deleted file mode 100644 index fdded68..0000000 Binary files a/omc/plat/isdn/obj/isdn_fsm.o and /dev/null differ diff --git a/omc/plat/isdn/obj/isdn_ie.o b/omc/plat/isdn/obj/isdn_ie.o deleted file mode 100644 index 4c12df2..0000000 Binary files a/omc/plat/isdn/obj/isdn_ie.o and /dev/null differ diff --git a/omc/plat/isdn/obj/isdn_msg.o b/omc/plat/isdn/obj/isdn_msg.o deleted file mode 100644 index 426d9d0..0000000 Binary files a/omc/plat/isdn/obj/isdn_msg.o and /dev/null differ diff --git a/omc/plat/isdn/obj/isdn_rm.o b/omc/plat/isdn/obj/isdn_rm.o deleted file mode 100644 index 1415706..0000000 Binary files a/omc/plat/isdn/obj/isdn_rm.o and /dev/null differ diff --git a/omc/plat/isdn/obj/isdn_uif.o b/omc/plat/isdn/obj/isdn_uif.o deleted file mode 100644 index e75cf9d..0000000 Binary files a/omc/plat/isdn/obj/isdn_uif.o and /dev/null differ diff --git a/omc/plat/isdn/src/.copyarea.db b/omc/plat/isdn/src/.copyarea.db deleted file mode 100644 index 2b7d5de..0000000 --- a/omc/plat/isdn/src/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isdn\src -2 -8 -a:isdn_msg.c|1|11d70a4812c|15495|d5960b7|198230587faf11dd8601001c23e19543|0 -c:isdn_debug.c|1|11d70a48071|82b4|7e0a05de|5a7649929a8611dd8b36001c23e19543|0 -9:isdn_rm.c|1|11d70a4815b|3c8b|80917848|1a1230707faf11dd8601001c23e19543|0 -a:isdn_fsm.c|1|11d70a480af|141ee|fc89331e|b79480e9a3cb11dd8e69001c23e19543|0 -7:include|2|0|0|0|71e472a76cf311dd91c7001c23e19543|0 -a:isdn_uif.c|1|11d70a4818a|40ce|b90eb9a0|f20486a66cf311dd91a5001c23e19543|0 -8:Makefile|1|11d70a48013|32f|573eea1a|f2a486be6cf311dd91a5001c23e19543|0 -9:isdn_ie.c|1|11d70a480de|9b7a|b4e1c4e1|198230407faf11dd8601001c23e19543|0 diff --git a/omc/plat/isdn/src/include/.copyarea.db b/omc/plat/isdn/src/include/.copyarea.db deleted file mode 100644 index a01bbf7..0000000 --- a/omc/plat/isdn/src/include/.copyarea.db +++ /dev/null @@ -1,13 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isdn\src\include -2 -9 -9:isdn_ie.h|1|11d70a482b3|3a8f|91b37b51|1a1230887faf11dd8601001c23e19543|0 -c:isdn_debug.h|1|11d70a48245|738|b005fcf9|f2a486ee6cf311dd91a5001c23e19543|0 -c:isdn_const.h|1|11d70a48216|2634|d6a2e7c4|f2a486d66cf311dd91a5001c23e19543|0 -d:isdn_public.h|1|11d70a4837e|3c8|5a81eac|f474877e6cf311dd91a5001c23e19543|0 -a:isdn_inc.h|1|11d70a48310|38c|2455f480|f3d4874e6cf311dd91a5001c23e19543|0 -a:isdn_ext.h|1|11d70a48284|4d6|23607792|f34487066cf311dd91a5001c23e19543|0 -9:isdn_if.h|1|11d70a482e1|165d|31bc6c0e|f34487366cf311dd91a5001c23e19543|0 -a:isdn_msg.h|1|11d70a4834f|1e66|d2e1b4da|f3d487666cf311dd91a5001c23e19543|0 -9:isdn_rm.h|1|11d70a483ad|eaf|6da83cb0|f47487966cf311dd91a5001c23e19543|0 diff --git a/omc/plat/isdn/ut/.copyarea.db b/omc/plat/isdn/ut/.copyarea.db deleted file mode 100644 index 36c1e4f..0000000 --- a/omc/plat/isdn/ut/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isdn\ut -2 -8 -4:code|2|0|0|0|728472bb6cf311dd91c7001c23e19543|0 -b:isdn_main.o|1|11d70a484f5|7e50|59745f11|f50487c66cf311dd91a5001c23e19543|0 -b:isdn_test.c|1|11d70a48523|216b|dcbb98cf|f50487de6cf311dd91a5001c23e19543|0 -e:test_main_0526|1|11d70a48978|1107e0|d62c06ae|f634883e6cf311dd91a5001c23e19543|0 -b:isdn_main.c|1|11d70a484c6|1c9e|7d7c103e|f47487ae6cf311dd91a5001c23e19543|0 -b:isdn_test.o|1|11d70a48562|6170|778d86b|f50487f66cf311dd91a5001c23e19543|0 -8:Makefile|1|11d70a48478|662|3881d1d6|f5a4880e6cf311dd91a5001c23e19543|0 -9:test_main|1|11d70a48765|111abe|15c9f66b|f5a488266cf311dd91a5001c23e19543|0 diff --git a/omc/plat/isdn/ut/code/.copyarea.db b/omc/plat/isdn/ut/code/.copyarea.db deleted file mode 100644 index c8561ad..0000000 --- a/omc/plat/isdn/ut/code/.copyarea.db +++ /dev/null @@ -1,26 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isdn\ut\code -2 -16 -c:rest1-0.Text|1|11d70a48ddd|5d0|2faa2cca|f9c489a66cf311dd91a5001c23e19543|0 -b:u01-10.Text|1|11d70a48f34|965|cb19d056|fb048a366cf311dd91a5001c23e19543|0 -b:u01-01.Text|1|11d70a48e89|5d6|afa72bf1|fa6489ee6cf311dd91a5001c23e19543|0 -c:iua data.txt|1|11d70a48b2e|278|eff3c271|f76488b66cf311dd91a5001c23e19543|0 -12:iua set up-bak.txt|1|11d70a48b8b|547|73515bce|f80488fe6cf311dd91a5001c23e19543|0 -b:u01-05.Text|1|11d70a48ef6|50f|e74d0810|fb048a1e6cf311dd91a5001c23e19543|0 -10:nt-2link-01.Text|1|11d70a48c76|df0|e778c5d2|f80489166cf311dd91a5001c23e19543|0 -12:ds-service-02.Text|1|11d70a48ac0|4e2|fbfd00c8|f6d488866cf311dd91a5001c23e19543|0 -c:rest2-0.Text|1|11d70a48e1b|5d2|4c12cdc|f9c489be6cf311dd91a5001c23e19543|0 -13:nt-incoming-01.Text|1|11d70a48cc4|8d9|b0dfb62b|f894892e6cf311dd91a5001c23e19543|0 -b:u01-03.Text|1|11d70a48eb7|a14|369def5a|fa648a066cf311dd91a5001c23e19543|0 -b:u03-13.Text|1|11d70a48f63|a30|9da8f644|fb048a4e6cf311dd91a5001c23e19543|0 -c:headfile.txt|1|11d70a48aef|42|528d118c|f6d4889e6cf311dd91a5001c23e19543|0 -9:data.Text|1|11d70a48a14|5e6|a94d1962|f63488566cf311dd91a5001c23e19543|0 -13:nt-outgoing-02.Text|1|11d70a48d9e|8db|3d86b62d|f934898e6cf311dd91a5001c23e19543|0 -13:nt-outgoing-01.Text|1|11d70a48d6f|8fe|f6f7be02|f894895e6cf311dd91a5001c23e19543|0 -f:iua set up.Text|1|11d70a48baa|8db|3d86b62d|f76488ce6cf311dd91a5001c23e19543|0 -12:ds-service-01.Text|1|11d70a48a82|4e2|51e00c9|f6d4886e6cf311dd91a5001c23e19543|0 -e:iua set up.txt|1|11d70a48be9|4a0|e1432fd4|f80488e66cf311dd91a5001c23e19543|0 -13:nt-incoming-02.Text|1|11d70a48d02|8da|ad7b5de|f89489466cf311dd91a5001c23e19543|0 -c:test-01.Text|1|11d70a48e4a|a7f|c1b10332|f9c489d66cf311dd91a5001c23e19543|0 -14:nt-outgoing-01-.Text|1|11d70a48d31|8f6|df78badc|f93489766cf311dd91a5001c23e19543|0 diff --git a/omc/plat/isup/.copyarea.db b/omc/plat/isup/.copyarea.db deleted file mode 100644 index b7af05a..0000000 --- a/omc/plat/isup/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isup -2 -6 -3:doc|2|0|0|0|e6f9679fbfa411dc852a001c23e19543|0 -2:ut|2|0|0|0|f7a96a93bfa411dc852a001c23e19543|0 -3:bin|2|0|0|0|e6f96783bfa411dc852a001c23e19543|0 -3:src|2|0|0|0|829b4a3a15c111dd906e001c23e19543|0 -8:Makefile|1|11d70a3f817|b31|fedec032|ecf968b7bfa411dc852a001c23e19543|0 -3:lib|2|0|0|0|ec59689bbfa411dc852a001c23e19543|0 diff --git a/omc/plat/isup/doc/.copyarea.db b/omc/plat/isup/doc/.copyarea.db deleted file mode 100644 index fdd1f8d..0000000 --- a/omc/plat/isup/doc/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isup\doc -2 -8 -13:ISUP_R9V0_02P02.doc|1|11d70a3f9eb|e400|672095eb|eb296863bfa411dc852a001c23e19543|0 -12:ISUP_R9V0_02P1.doc|1|11d70a3f8e2|e400|17758061|e79967bbbfa411dc852a001c23e19543|0 -13:ISUP_R9V0_01P07.doc|1|11d70a3f9cc|ea00|37e7f07|ea896847bfa411dc852a001c23e19543|0 -13:ISUP_R9V0_02P07.doc|1|11d70a3f93f|e400|1e009948|e8c967f3bfa411dc852a001c23e19543|0 -15:ISUP_R9V0_02P03-6.doc|1|11d70a3fa1a|e400|470e985c|ebb9687fbfa411dc852a001c23e19543|0 -13:ISUP_R9V0_01P08.doc|1|11d70a3f98d|ec00|b00965b6|e9f9682bbfa411dc852a001c23e19543|0 -12:ISUP_R9V0_01P8.doc|1|11d70a3f910|ec00|b00965b6|e82967d7bfa411dc852a001c23e19543|0 -13:ISUP_R9V0_02P01.doc|1|11d70a3f96e|e400|17758061|e959680fbfa411dc852a001c23e19543|0 diff --git a/omc/plat/isup/lib/libisup.a b/omc/plat/isup/lib/libisup.a deleted file mode 100644 index ee96159..0000000 Binary files a/omc/plat/isup/lib/libisup.a and /dev/null differ diff --git a/omc/plat/isup/obj/isup_debug.o b/omc/plat/isup/obj/isup_debug.o deleted file mode 100644 index 7efd886..0000000 Binary files a/omc/plat/isup/obj/isup_debug.o and /dev/null differ diff --git a/omc/plat/isup/obj/isup_fsm.o b/omc/plat/isup/obj/isup_fsm.o deleted file mode 100644 index cec9927..0000000 Binary files a/omc/plat/isup/obj/isup_fsm.o and /dev/null differ diff --git a/omc/plat/isup/obj/isup_if.o b/omc/plat/isup/obj/isup_if.o deleted file mode 100644 index 945f77f..0000000 Binary files a/omc/plat/isup/obj/isup_if.o and /dev/null differ diff --git a/omc/plat/isup/obj/isup_msg.o b/omc/plat/isup/obj/isup_msg.o deleted file mode 100644 index 75e5061..0000000 Binary files a/omc/plat/isup/obj/isup_msg.o and /dev/null differ diff --git a/omc/plat/isup/obj/isup_transit.o b/omc/plat/isup/obj/isup_transit.o deleted file mode 100644 index 54a8218..0000000 Binary files a/omc/plat/isup/obj/isup_transit.o and /dev/null differ diff --git a/omc/plat/isup/src/.copyarea.db b/omc/plat/isup/src/.copyarea.db deleted file mode 100644 index 5b9f202..0000000 --- a/omc/plat/isup/src/.copyarea.db +++ /dev/null @@ -1,11 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isup\src -2 -7 -a:isup_fsm.c|1|11d70a3fae5|1264d|fa4525ec|e75482fe6cf311dd91a5001c23e19543|0 -9:isup_if.c|1|11d70a3fb52|55f6|33d47e1a|e7e4832e6cf311dd91a5001c23e19543|0 -e:isup_transit.c|1|11d70a3fbc0|2345|d6885ad7|f55348be339011dd9fa7001c23e19543|0 -a:isup_msg.c|1|11d70a3fb23|2eece|4fa30b2f|577648829a8611dd8b36001c23e19543|0 -c:isup_debug.c|1|11d70a3fb81|8f72|f19e417|5776489a9a8611dd8b36001c23e19543|0 -7:include|2|0|0|0|f119697bbfa411dc852a001c23e19543|0 -b:vssver2.scc|1|11d70a3faa7|b3|2f83790|ee2968efbfa411dc852a001c23e19543|0 diff --git a/omc/plat/isup/src/include/.copyarea.db b/omc/plat/isup/src/include/.copyarea.db deleted file mode 100644 index 7def846..0000000 --- a/omc/plat/isup/src/include/.copyarea.db +++ /dev/null @@ -1,13 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isup\src\include -2 -9 -a:isup_msg.h|1|11d70a3fd56|1202d|6bd5a464|ebc3458e339011dd9fa7001c23e19543|0 -a:isup_def.h|1|11d70a3fcf8|5ac|aeacc308|f41969ebbfa411dc852a001c23e19543|0 -5:inc.h|1|11d70a3fde2|1b0|471868a7|f6796a5bbfa411dc852a001c23e19543|0 -c:isup_const.h|1|11d70a3fcc9|308e|5c6fbe7a|eb23455e339011dd9fa7001c23e19543|0 -9:isup_if.h|1|11d70a3fc4c|135c|7cc1484c|e884835e6cf311dd91a5001c23e19543|0 -b:vssver2.scc|1|11d70a3fc7b|10e|b3c958d8|f24969b3bfa411dc852a001c23e19543|0 -d:isup_public.h|1|11d70a3fe01|307|cd4dd595|f7196a77bfa411dc852a001c23e19543|0 -c:isup_debug.h|1|11d70a3fd85|456|dc863523|f5e96a3fbfa411dc852a001c23e19543|0 -d:isup_struct.h|1|11d70a3fd17|9d8|d4ad8f4b|e88483766cf311dd91a5001c23e19543|0 diff --git a/omc/plat/isup/ut/.copyarea.db b/omc/plat/isup/ut/.copyarea.db deleted file mode 100644 index b611f5e..0000000 --- a/omc/plat/isup/ut/.copyarea.db +++ /dev/null @@ -1,7 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\isup\ut -2 -3 -11:isup_msg_send.txt|1|11d70a3febd|169a|29541b1f|f8d96acbbfa411dc852a001c23e19543|0 -b:isup_main.c|1|11d70a3fe8e|da9|d59418e1|f8496aafbfa411dc852a001c23e19543|0 -f:isup_msg_rv.txt|1|11d70a3feec|8fb|7abefafe|f9796ae7bfa411dc852a001c23e19543|0 diff --git a/omc/plat/m2ua/.copyarea.db b/omc/plat/m2ua/.copyarea.db deleted file mode 100644 index 45e5f21..0000000 --- a/omc/plat/m2ua/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua -2 -6 -3:doc|2|0|0|0|fbd9680cbfa411dc8544001c23e19543|0 -2:ut|2|0|0|0|11e96bfcbfa511dc8544001c23e19543|0 -7:src_old|2|0|0|0|07c96a3cbfa511dc8544001c23e19543|0 -3:src|2|0|0|0|fda9687cbfa411dc8544001c23e19543|0 -8:Makefile|1|11d70a3ff98|b43|554fc528|fd096860bfa411dc8544001c23e19543|0 -3:lib|2|0|0|0|fc696844bfa411dc8544001c23e19543|0 diff --git a/omc/plat/m2ua/doc/.copyarea.db b/omc/plat/m2ua/doc/.copyarea.db deleted file mode 100644 index 0f7dbc1..0000000 --- a/omc/plat/m2ua/doc/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua\doc -2 -1 -13:M2UA_R9V0_04P01.doc|1|11d70a40063|e400|4af957ec|fbd96828bfa411dc8544001c23e19543|0 diff --git a/omc/plat/m2ua/lib/libm2ua.a b/omc/plat/m2ua/lib/libm2ua.a deleted file mode 100644 index 4beca5a..0000000 Binary files a/omc/plat/m2ua/lib/libm2ua.a and /dev/null differ diff --git a/omc/plat/m2ua/obj/m2ua.o b/omc/plat/m2ua/obj/m2ua.o deleted file mode 100644 index 36166c2..0000000 Binary files a/omc/plat/m2ua/obj/m2ua.o and /dev/null differ diff --git a/omc/plat/m2ua/obj/m2ua_debug.o b/omc/plat/m2ua/obj/m2ua_debug.o deleted file mode 100644 index 6ae2480..0000000 Binary files a/omc/plat/m2ua/obj/m2ua_debug.o and /dev/null differ diff --git a/omc/plat/m2ua/obj/m2ua_fsm.o b/omc/plat/m2ua/obj/m2ua_fsm.o deleted file mode 100644 index be5faac..0000000 Binary files a/omc/plat/m2ua/obj/m2ua_fsm.o and /dev/null differ diff --git a/omc/plat/m2ua/obj/m2ua_msg.o b/omc/plat/m2ua/obj/m2ua_msg.o deleted file mode 100644 index b0852f4..0000000 Binary files a/omc/plat/m2ua/obj/m2ua_msg.o and /dev/null differ diff --git a/omc/plat/m2ua/src/.copyarea.db b/omc/plat/m2ua/src/.copyarea.db deleted file mode 100644 index 70f73e8..0000000 --- a/omc/plat/m2ua/src/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua\src -2 -5 -c:m2ua_debug.c|1|11d70a401ab|2ef2|cdb83516|581648ca9a8611dd8b36001c23e19543|0 -a:m2ua_msg.c|1|11d70a400ef|175e8|3a2f7bcf|581648b29a8611dd8b36001c23e19543|0 -6:m2ua.c|1|11d70a4017c|2216|3cc9cd8a|ec5345be339011dd9fa7001c23e19543|0 -7:include|2|0|0|0|00996908bfa511dc8544001c23e19543|0 -a:m2ua_fsm.c|1|11d70a401e9|c086|40b0ae42|e91483be6cf311dd91a5001c23e19543|0 diff --git a/omc/plat/m2ua/src/include/.copyarea.db b/omc/plat/m2ua/src/include/.copyarea.db deleted file mode 100644 index ea6968d..0000000 --- a/omc/plat/m2ua/src/include/.copyarea.db +++ /dev/null @@ -1,14 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua\src\include -2 -a -c:m2ua_const.h|1|11d70a40350|3549|eb3921e3|ed93464e339011dd9fa7001c23e19543|0 -c:m2ua_debug.h|1|11d70a4041b|102|5d4353b1|05f96a04bfa511dc8544001c23e19543|0 -a:m2ua_msg.h|1|11d70a40321|6eb|e0335c89|ed934636339011dd9fa7001c23e19543|0 -a:m2ua_def.h|1|11d70a402b4|68d|2c90017f|ecf34606339011dd9fa7001c23e19543|0 -a:m2ua_ext.h|1|11d70a4038f|711|23a53b20|ee234666339011dd9fa7001c23e19543|0 -a:m2ua_fsm.h|1|11d70a403ec|8a|e7592b04|056969e8bfa511dc8544001c23e19543|0 -d:m2ua_struct.h|1|11d70a402f3|214d|6368b7e1|ecf3461e339011dd9fa7001c23e19543|0 -6:sctp.h|1|11d70a403be|4a78|3abef872|04c969ccbfa511dc8544001c23e19543|0 -6:m2ua.h|1|11d70a4045a|efe|ba074e5|ee23467e339011dd9fa7001c23e19543|0 -a:m2ua_pub.h|1|11d70a40276|46a|351c789a|01396924bfa511dc8544001c23e19543|0 diff --git a/omc/plat/m2ua/src_old/.copyarea.db b/omc/plat/m2ua/src_old/.copyarea.db deleted file mode 100644 index bf11b8c..0000000 --- a/omc/plat/m2ua/src_old/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua\src_old -2 -5 -c:m2ua_debug.c|1|11d70a40563|2df5|274e395|09896a90bfa511dc8544001c23e19543|0 -a:m2ua_msg.c|1|11d70a404f6|12209|b5f0df09|08596a58bfa511dc8544001c23e19543|0 -6:m2ua.c|1|11d70a40525|1d83|2c056bdc|08f96a74bfa511dc8544001c23e19543|0 -7:include|2|0|0|0|0ab96ac8bfa511dc8544001c23e19543|0 -a:m2ua_fsm.c|1|11d70a40592|b53f|b87a847|0a296aacbfa511dc8544001c23e19543|0 diff --git a/omc/plat/m2ua/src_old/include/.copyarea.db b/omc/plat/m2ua/src_old/include/.copyarea.db deleted file mode 100644 index b58818a..0000000 --- a/omc/plat/m2ua/src_old/include/.copyarea.db +++ /dev/null @@ -1,14 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua\src_old\include -2 -a -c:m2ua_const.h|1|11d70a40709|2c55|4f1fe502|0db96b54bfa511dc8544001c23e19543|0 -c:m2ua_debug.h|1|11d70a407d4|102|5a9253a9|10b96bc4bfa511dc8544001c23e19543|0 -a:m2ua_msg.h|1|11d70a406da|67f|a6f337b2|0d196b38bfa511dc8544001c23e19543|0 -a:m2ua_def.h|1|11d70a4067c|610|b01bdf4e|0be96b00bfa511dc8544001c23e19543|0 -a:m2ua_ext.h|1|11d70a40738|66c|51d00b3c|0ee96b70bfa511dc8544001c23e19543|0 -a:m2ua_fsm.h|1|11d70a407a5|8a|e7592b04|10196ba8bfa511dc8544001c23e19543|0 -d:m2ua_struct.h|1|11d70a406ab|1eaa|328f49e|0c896b1cbfa511dc8544001c23e19543|0 -6:sctp.h|1|11d70a40767|4a78|3abef872|0f896b8cbfa511dc8544001c23e19543|0 -6:m2ua.h|1|11d70a40803|8aa|b5b099a3|11496be0bfa511dc8544001c23e19543|0 -a:m2ua_pub.h|1|11d70a4064e|46a|351c789a|0b596ae4bfa511dc8544001c23e19543|0 diff --git a/omc/plat/m2ua/ut/.copyarea.db b/omc/plat/m2ua/ut/.copyarea.db deleted file mode 100644 index 8b3a9fd..0000000 --- a/omc/plat/m2ua/ut/.copyarea.db +++ /dev/null @@ -1,6 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua\ut -2 -2 -8:testcate|2|0|0|0|28896fecbfa511dc8544001c23e19543|0 -8:xua_test|2|0|0|0|12796c18bfa511dc8544001c23e19543|0 diff --git a/omc/plat/m2ua/ut/testcate/.copyarea.db b/omc/plat/m2ua/ut/testcate/.copyarea.db deleted file mode 100644 index a6b8e74..0000000 --- a/omc/plat/m2ua/ut/testcate/.copyarea.db +++ /dev/null @@ -1,13 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua\ut\testcate -2 -9 -c:headfile.txt|1|11d70a41187|91|562f27a5|2b897078bfa511dc8544001c23e19543|0 -14:MGC(M2UA)_Server.txt|1|11d70a41158|596|c9de3f60|2ae9705cbfa511dc8544001c23e19543|0 -13:SG(M2UA)_Client.txt|1|11d70a4111a|85a|8f2ee09a|2a597040bfa511dc8544001c23e19543|0 -12:SG(IUA)_Client.txt|1|11d70a411d5|975|36fc0fb4|2cb970b0bfa511dc8544001c23e19543|0 -13:MGC(IUA)_Server.txt|1|11d70a411a6|5bc|9a4b3d4d|2c197094bfa511dc8544001c23e19543|0 -13:SG(M2UA)_Server.txt|1|11d70a41214|e7|d5a142d6|2d4970ccbfa511dc8544001c23e19543|0 -12:SG(IUA)_Server.txt|1|11d70a41233|e9|2e7242e3|2de970e8bfa511dc8544001c23e19543|0 -13:MGC(IUA)_Client.txt|1|11d70a410eb|1d1|5ad78e6|29b97024bfa511dc8544001c23e19543|0 -14:MGC(M2UA)_Client.txt|1|11d70a4109d|1c7|1bc57729|29297008bfa511dc8544001c23e19543|0 diff --git a/omc/plat/m2ua/ut/xua_test/.copyarea.db b/omc/plat/m2ua/ut/xua_test/.copyarea.db deleted file mode 100644 index 0e6ffa8..0000000 --- a/omc/plat/m2ua/ut/xua_test/.copyarea.db +++ /dev/null @@ -1,7 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua\ut\xua_test -2 -3 -4:conf|2|0|0|0|13196c50bfa511dc8544001c23e19543|0 -9:xuatest.c|1|11d70a4095a|1cf3|1654cf4d|27f96fd0bfa511dc8544001c23e19543|0 -8:Makefile|1|11d70a4090c|230|12969e30|12796c34bfa511dc8544001c23e19543|0 diff --git a/omc/plat/m2ua/ut/xua_test/conf/.copyarea.db b/omc/plat/m2ua/ut/xua_test/conf/.copyarea.db deleted file mode 100644 index 96dd6c4..0000000 --- a/omc/plat/m2ua/ut/xua_test/conf/.copyarea.db +++ /dev/null @@ -1,35 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\m2ua\ut\xua_test\conf -2 -1f -9:help_page|1|11d70a40a83|21d|76e388e2|15796cc0bfa511dc8544001c23e19543|0 -e:wxc2_sys.conf~|1|11d70a40f45|27|ca2b0a3e|24f96f44bfa511dc8544001c23e19543|0 -12:cap_operation.conf|1|11d70a40e0d|4b0|ef2a579d|20396e80bfa511dc8544001c23e19543|0 -c:cap_acn.conf|1|11d70a40c19|d1|e2e74291|19a96d68bfa511dc8544001c23e19543|0 -10:conv_prefix.conf|1|11d70a40bfa|1000|d03e33b0|19096d4cbfa511dc8544001c23e19543|0 -e:smsc_csta.conf|1|11d70a40f17|180|865a75d9|24596f28bfa511dc8544001c23e19543|0 -c:map_acn.conf|1|11d70a40b6d|5e5|45d6ce17|18796d30bfa511dc8544001c23e19543|0 -d:wxc2_sys.conf|1|11d70a40ae1|3c|e51f0ff6|16a96cf8bfa511dc8544001c23e19543|0 -c:iptrans.conf|1|11d70a41001|131|51ad4ddb|27596fb4bfa511dc8544001c23e19543|0 -9:menu_page|1|11d70a409f7|20a|2b951fe|13a96c6cbfa511dc8544001c23e19543|0 -7:profile|1|11d70a40e6b|328|6617ec7f|21696eb8bfa511dc8544001c23e19543|0 -a:system.ini|1|11d70a40fd2|d4|c3160d16|26c96f98bfa511dc8544001c23e19543|0 -a:HlrSysPara|1|11d70a40e3c|1c4c|cd70b8b6|20c96e9cbfa511dc8544001c23e19543|0 -d:smsc_sys.conf|1|11d70a40ee8|5b|d6b11819|23296f0cbfa511dc8544001c23e19543|0 -9:mnpf.conf|1|11d70a40c67|2ce|d60203f0|1ad96da0bfa511dc8544001c23e19543|0 -12:map_operation.conf|1|11d70a40d61|a7a|bac9fcb5|1e696e2cbfa511dc8544001c23e19543|0 -a:AucSysPara|1|11d70a40f74|38|4cb608e9|25896f60bfa511dc8544001c23e19543|0 -d:sccp_sts.conf|1|11d70a40cd5|1103|e115fddb|1c096dd8bfa511dc8544001c23e19543|0 -a:EirSysPara|1|11d70a40d04|4444|10b70979|1c996df4bfa511dc8544001c23e19543|0 -9:sccp.conf|1|11d70a40a25|1414|b255d16|14496c88bfa511dc8544001c23e19543|0 -11:hlr_parambit.conf|1|11d70a40e9a|5104|45018cef|21f96ed4bfa511dc8544001c23e19543|0 -8:msc_conf|1|11d70a40da0|35f10|c72c6332|1f096e48bfa511dc8544001c23e19543|0 -d:sccp_omt.conf|1|11d70a40fa3|14f4|912d7b40|26296f7cbfa511dc8544001c23e19543|0 -b:ppsConf.txt|1|11d70a40a54|11ac|d847f7af|14d96ca4bfa511dc8544001c23e19543|0 -9:mtp3.conf|1|11d70a40b10|17450|e8129109|17496d14bfa511dc8544001c23e19543|0 -e:ppsCrdConf.txt|1|11d70a40ec8|2831|28310001|22996ef0bfa511dc8544001c23e19543|0 -d:cc_table.conf|1|11d70a40c38|1156|31d07a59|1a396d84bfa511dc8544001c23e19543|0 -8:vlr.conf|1|11d70a40ab2|80|a6bd1cd5|16196cdcbfa511dc8544001c23e19543|0 -12:smsc_parambit.conf|1|11d70a40dde|16b4|130762e0|1f996e64bfa511dc8544001c23e19543|0 -c:wxc2exit.txt|1|11d70a40ca6|4a|52241550|1b696dbcbfa511dc8544001c23e19543|0 -11:xap_sysparam.conf|1|11d70a40d23|d|1b510569|1d396e10bfa511dc8544001c23e19543|0 diff --git a/omc/plat/mgc/.copyarea.db b/omc/plat/mgc/.copyarea.db deleted file mode 100644 index d561d37..0000000 --- a/omc/plat/mgc/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgc -2 -5 -3:doc|2|0|0|0|30e96971bfa511dc8589001c23e19543|0 -2:ut|2|0|0|0|3c396b85bfa511dc8589001c23e19543|0 -3:src|2|0|0|0|6db4722b6cf311dd91c7001c23e19543|0 -8:Makefile|1|11d70a4130e|b2c|f1cbf16|317969a9bfa511dc8589001c23e19543|0 -3:lib|2|0|0|0|3179698dbfa511dc8589001c23e19543|0 diff --git a/omc/plat/mgc/lib/libmgc.a b/omc/plat/mgc/lib/libmgc.a deleted file mode 100644 index c56a2a1..0000000 Binary files a/omc/plat/mgc/lib/libmgc.a and /dev/null differ diff --git a/omc/plat/mgc/obj/mgc.o b/omc/plat/mgc/obj/mgc.o deleted file mode 100644 index 90af9b9..0000000 Binary files a/omc/plat/mgc/obj/mgc.o and /dev/null differ diff --git a/omc/plat/mgc/obj/mgc_debug.o b/omc/plat/mgc/obj/mgc_debug.o deleted file mode 100644 index 44a87f2..0000000 Binary files a/omc/plat/mgc/obj/mgc_debug.o and /dev/null differ diff --git a/omc/plat/mgc/obj/mgc_fsm.o b/omc/plat/mgc/obj/mgc_fsm.o deleted file mode 100644 index 4b9e018..0000000 Binary files a/omc/plat/mgc/obj/mgc_fsm.o and /dev/null differ diff --git a/omc/plat/mgc/obj/mgc_sess_ctl.o b/omc/plat/mgc/obj/mgc_sess_ctl.o deleted file mode 100644 index ba005cb..0000000 Binary files a/omc/plat/mgc/obj/mgc_sess_ctl.o and /dev/null differ diff --git a/omc/plat/mgc/src/.copyarea.db b/omc/plat/mgc/src/.copyarea.db deleted file mode 100644 index 9cc7cbf..0000000 --- a/omc/plat/mgc/src/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgc\src -2 -8 -5:mgc.c|1|11d70a41475|27c51|e37b4482|17b22fb07faf11dd8601001c23e19543|0 -e:mgc_sess_ctl.c|1|11d70a41511|fb9|eb0774a7|fcc48ade6cf311dd91a5001c23e19543|0 -9:mgc.c.bak|1|11d70a413ba|221a6|fe9f4305|32a969e1bfa511dc8589001c23e19543|0 -7:include|2|0|0|0|6e5472376cf311dd91c7001c23e19543|0 -d:mgc_fsm.c.bak|1|11d70a41446|90e6|5ec648a3|34796a35bfa511dc8589001c23e19543|0 -b:mgc_debug.c|1|11d70a41427|2a74|6e29f133|33d96a19bfa511dc8589001c23e19543|0 -9:mgc_fsm.c|1|11d70a414e2|c238|944fc00d|18522fc87faf11dd8601001c23e19543|0 -a:.mgc.c.swp|1|11d70a413e8|4000|a9e2fec6|334969fdbfa511dc8589001c23e19543|0 diff --git a/omc/plat/mgc/src/include/.copyarea.db b/omc/plat/mgc/src/include/.copyarea.db deleted file mode 100644 index 576c010..0000000 --- a/omc/plat/mgc/src/include/.copyarea.db +++ /dev/null @@ -1,13 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgc\src\include -2 -9 -9:mgc_def.h|1|11d70a41714|650|3b82df45|eae4844e6cf311dd91a5001c23e19543|0 -5:mgc.h|1|11d70a415dc|1fce|4708214d|e9b483ee6cf311dd91a5001c23e19543|0 -e:mgc_sess_ctl.h|1|11d70a41782|368|68f705aa|fc348ac66cf311dd91a5001c23e19543|0 -9:mgc_pub.h|1|11d70a4161b|93|519c2e5b|36d96aa5bfa511dc8589001c23e19543|0 -b:mgc_debug.h|1|11d70a41659|13d|7ae68cf|37796ac1bfa511dc8589001c23e19543|0 -9:mgc_fsm.h|1|11d70a41753|a0|21d73362|3a696b4dbfa511dc8589001c23e19543|0 -9:mgc_ext.h|1|11d70a416c6|3cd|d7c35c3|ea54841e6cf311dd91a5001c23e19543|0 -c:mgc_struct.h|1|11d70a416e6|d5e|477a2e7b|eae484366cf311dd91a5001c23e19543|0 -b:mgc_const.h|1|11d70a41688|80c|c6b62f59|ea5484066cf311dd91a5001c23e19543|0 diff --git a/omc/plat/mgc/src/mgc.c.bak b/omc/plat/mgc/src/mgc.c.bak deleted file mode 100644 index e5e6575..0000000 --- a/omc/plat/mgc/src/mgc.c.bak +++ /dev/null @@ -1,4016 +0,0 @@ -/****************************************************************/ -/* MGC Implementation Program */ -/* Version 9.0.1 */ -/* Designed By Ying Min */ -/* Last Update: 2007-4-17 */ -/****************************************************************/ - -#include "./include/mgc_pub.h" -#include "./include/mgc.h" -#include "./include/mgc_const.h" -#include "./include/mgc_def.h" -#include "./include/mgc_struct.h" -#include "./include/mgc_fsm.h" -#include "./include/mgc_debug.h" -#include "../../snmp/src/include/snmp.h" -#include "../../public/src/include/license_id.h" - -int mgc_is_non_virtual_mg(BYTE mgType) -{ - if ((mgType > MGC_MG_TYPE_INTERNAL) && (mgType < MGC_MG_TYPE_ANN)) - { - return 1; - } - else - { - return 0; - } - -} - -int mgc_8ecp_update_mg_status(BYTE mgNo, BYTE status) -{ - char tmpStr[128]; - - if (mgcMgInfo[mgNo].created == 0) - { - sprintf(tmpStr, "mgc_8ecp_update_mg_status: MG not created, mgNo = %d\n\r", mgNo); - mgc_log_err(tmpStr); - return -1; - } - - mgcMgInfo[mgNo].stLast = status; - - if (1 == mgcMgInfo[mgNo].mgAttr.e1cardNo) - { - if ((1 == status) - && ((0 == mgc_e1card0_mgNo) || (0 == mgcMgInfo[mgc_e1card0_mgNo].stLast))) - { - mgc_8k_tone_card_silent = 1; - } - else - { - mgc_8k_tone_card_silent = 0; - } - } - else if (0 == mgcMgInfo[mgNo].mgAttr.e1cardNo) - { - if ((0 == status) - && (0 != mgc_e1card1_mgNo) && (1 == mgcMgInfo[mgc_e1card1_mgNo].stLast)) - { - mgc_8k_tone_card_silent = 1; - } - else - { - mgc_8k_tone_card_silent = 0; - } - } - - return 0; -} - -int mgc_8ecp_update_trk_status(BYTE mgNo, BYTE trkNo, BYTE status) -{ - WORD portIndex; - char tmpStr[128]; - - if (mgcMgInfo[mgNo].created == 0) - { - sprintf(tmpStr, "mgc_8ecp_update_trk_status: MG not created, mgNo = %d\n\r", mgNo); - mgc_log_err(tmpStr); - return -1; - } - - if (trkNo >= MGC_8ECP_MAX_TRK_PER_MG) - { - sprintf(tmpStr, "mgc_8ecp_update_trk_status: invalid trkNo, trkNo = %d\n\r", trkNo); - mgc_log_err(tmpStr); - return -1; - } - - portIndex = mgcMgInfo[mgNo].portIndex[trkNo]; - if (portIndex >= MGC_MAX_NUM_OF_PHY_PORT) - return -1; - - mgcPhyPort[portIndex].stLast = status; - - return 0; -} - -int mgc_bind_8ecp() -{ - sprintf(mgc8ecpSap.name, "MGC"); - mgc8ecpSap.update_mg_status = mgc_8ecp_update_mg_status; - mgc8ecpSap.update_trk_status = mgc_8ecp_update_trk_status; - - if ((mgc8ecpSapIndex = _8ecp_bind(&mgc8ecpSap)) < 0) - return -1; - - return 0; -} - -int mgc_find_mg_by_name(char *mgName, WORD localPort, DWORD ip) -{ - WORD i; - char tmpStr[128]; - BYTE usrType; - - if (MGC_MG_NETWORK_PORT == localPort) - { - usrType = MGC_USER_TYPE_MG; - } - else - { - usrType = MGC_USER_TYPE_MGC; - } - - for (i = 0; i < MGC_MAX_NUM_OF_MG; i++) - { - if (mgcMgInfo[i].created == 0) - continue; - - if ((strcmp(mgcMgInfo[i].mgAttr.domain, mgName) == 0) - && (mgcMgInfo[i].usrType == usrType)) - return i; - } - - sprintf(tmpStr, "mgc_find_mg_by_name: invalid mgName: %s, ip: %ld\n\r", mgName, ip); - mgc_log_err(tmpStr); - - return -1; -} - -int mgc_codec_str_to_api(char *codec) -{ - if (strcmp(codec, "PCMA") == 0) - return MGC_VCTYPE_PCMA; - else if (strcmp(codec, "PCMU") == 0) - return MGC_VCTYPE_PCMU; - else if (strcmp(codec, "GSM") == 0) - return MGC_VCTYPE_GSM; - else if (strcmp(codec, "GSM-EFR") == 0) - return MGC_VCTYPE_GSM_EFR; - else if (strcmp(codec, "AMR") == 0) - return MGC_VCTYPE_AMR; - else if (strcmp(codec, "G729B") == 0) - return MGC_VCTYPE_G729B; - - return MGC_VCTYPE_PCMA; -} - -void mgc_connect_init(WORD connectIndex) -{ - memset((BYTE *) &mgcConnectInfo[connectIndex], 0, sizeof(CONNECT_INFO)); - mgcConnectInfo[connectIndex].port = 0xFFFF; - mgcConnectInfo[connectIndex].chlIndex = 0xFFFF; - mgcConnectInfo[connectIndex].aasChnl.mgNo = 0xFFFF; - mgcConnectInfo[connectIndex].aasChnl.portNo = 0xFF; - mgcConnectInfo[connectIndex].aasChnl.chlNo = 0xFFFF; - mgcConnectInfo[connectIndex].aasChnl.connectNo = 0xFFFF; -} - -int mgc_assign_connect_to_chnl(CHNL chnl) -{ - WORD portIndex; - WORD chnlIndex; - CHNL_INFO *chnlInfo; - int i; - - for (i = 0; i < MGC_MAX_NUM_OF_CON; i++) - { - if (1 == mgcConnectInfo[i].assigned) - { - continue; - } - else - { - mgc_connect_init(i); - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[chnl.mgNo].mgAttr.mgType) - || (MGC_MG_TYPE_INTERNAL == mgcMgInfo[chnl.mgNo].mgAttr.mgType)) - { - chnlIndex = mgcMgInfo[chnl.mgNo].chnlStartIndex + chnl.chlNo; - }//add by Francis - else - { - portIndex = mgcMgInfo[chnl.mgNo].portIndex[chnl.portNo]; - - if (portIndex >= MGC_MAX_NUM_OF_PHY_PORT) - { - mgc_log_err("mgc_assign_connect_to_chnl: phy portIndex out of range!\n\r"); - return -1; - } - - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + chnl.chlNo; - } - - if (chnlIndex >= MGC_MAX_NUM_OF_CHNL) - { - mgc_log_err("mgc_assign_connect_to_chnl: chnlIndex out of range!\n\r"); - return -1; - } - - chnlInfo = &mgcChnl[chnlIndex]; - - if ((chnlInfo->connectIndex[chnl.connectNo] >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[chnlInfo->connectIndex[chnl.connectNo]].assigned != 1)) - { - chnlInfo->connectIndex[chnl.connectNo] = i; - - mgcConnectInfo[i].assigned = 1; - mgcConnectInfo[i].status = MGC_CONNECT_STATUS_IDLE; - mgcConnectInfo[i].chlIndex = chnlIndex; - - return i; - } - else - { - if ((chnlInfo->connectIndex[chnl.connectNo] < MGC_MAX_NUM_OF_CON) - && (mgcConnectInfo[chnlInfo->connectIndex[chnl.connectNo]].assigned == 1)) - { - mgc_log_err("mgc_assign_connect_to_chnl: one connect already created on chnl's connectNo\n\r"); - return chnlInfo->connectIndex[chnl.connectNo]; - } - - return -1; - } - } - } - - mgc_log_err("mgc_assign_connect_to_chnl: connect resource is not sufficient\n\r"); - return -1; -} - -int mgc_assign_connect(CHNL *chnl, WORD *chnlConnectIndex) -{ - WORD portIndex; - WORD chnlIndex; - CHNL_INFO *chnlInfo; - int i; - int j; - - for (i = 0; i < MGC_MAX_NUM_OF_CON; i++) - { - if (1 == mgcConnectInfo[i].assigned) - { - continue; - } - else - { - mgc_connect_init(i); - - if (MGC_MG_TYPE_ANN == mgcMgInfo[chnl->mgNo].mgAttr.mgType) - { - chnlIndex = mgcMgInfo[chnl->mgNo].chnlStartIndex + chnl->chlNo; - }//add by Francis - else - { - portIndex = mgcMgInfo[chnl->mgNo].portIndex[chnl->portNo]; - - if (portIndex >= MGC_MAX_NUM_OF_PHY_PORT) - { - mgc_log_err("mgc_assign_connect: phy portIndex out of range!\n\r"); - return -1; - } - - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + chnl->chlNo; - } - - if (chnlIndex >= MGC_MAX_NUM_OF_CHNL) - { - mgc_log_err("mgc_assign_connect: chnlIndex out of range!\n\r"); - return -1; - } - - chnlInfo = &mgcChnl[chnlIndex]; - - for (j = 0; j < MGC_MAX_NUM_OF_CHNL_CON; j++) - { - if ((chnlInfo->connectIndex[j] < MGC_MAX_NUM_OF_CON) - && (mgcConnectInfo[chnlInfo->connectIndex[j]].assigned == 1)) - { - continue; - } - else - { - chnlInfo->connectIndex[j] = i; - *chnlConnectIndex = j; - chnl->connectNo = j; - - mgcConnectInfo[i].assigned = 1; - mgcConnectInfo[i].status = MGC_CONNECT_STATUS_IDLE; - mgcConnectInfo[i].chlIndex = chnlIndex; - - return i; - } - } - - mgc_log_err("mgc_assign_connect: chnl connect resource is not sufficient\n\r"); - return -1; - } - } - - mgc_log_err("mgc_assign_connect: connect resource is not sufficient\n\r"); - return -1; -} - -void mgc_remove_connect(WORD chnl) -{ - int i; - - for (i = 0; i < MGC_MAX_NUM_OF_CON; i++) - { - if ((mgcConnectInfo[i].assigned != 1) - || (mgcConnectInfo[i].chlIndex != chnl)) - { - continue; - } - else - { - mgc_connect_init(i); - } - } -} - -int mgc_release_connect(CHNL *chnl) -{ - WORD portIndex; - WORD chnlIndex; - WORD connectIndex; - CHNL_INFO *chnlInfo; - - if (MGC_MG_TYPE_ANN == mgcMgInfo[chnl->mgNo].mgAttr.mgType) - { - chnlIndex = mgcMgInfo[chnl->mgNo].chnlStartIndex + chnl->chlNo; - chnlInfo = &mgcChnl[chnlIndex]; - }//add by Francis - else - { - portIndex = mgcMgInfo[chnl->mgNo].portIndex[chnl->portNo]; - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + chnl->chlNo; - chnlInfo = &mgcChnl[chnlIndex]; - } - - - if (((connectIndex = chnlInfo->connectIndex[chnl->connectNo]) >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[connectIndex].chlIndex != chnlIndex)) - { - mgc_log_err("mgc_release_connect: the chnl connectNo has no connection\n\r"); - return -1; - } - else - { - mgc_connect_init(connectIndex); - - if (chnlInfo->connectNum > 0) - { - chnlInfo->connectNum--; - } - else - { - chnlInfo->connectNum = 0; - } - } - - return 0; -} - -int mgc_find_connect_by_con_id(CHNL *Chnl, char *conId) -{ - int i; - WORD portIndex; - WORD chnlIndex; - CHNL_INFO *chnlInfo; - WORD chnlConnectIndex; - WORD connectIndex; - - if (MGC_MG_TYPE_ANN == mgcMgInfo[Chnl->mgNo].mgAttr.mgType) - { - chnlIndex = mgcMgInfo[Chnl->mgNo].chnlStartIndex + Chnl->chlNo; - }//add by Francis - else - { - portIndex = mgcMgInfo[Chnl->mgNo].portIndex[Chnl->portNo]; - - if (portIndex >= MGC_MAX_NUM_OF_PHY_PORT) - { - mgc_log_err("mgc_find_connect_by_con_id: portIndex out of range!\r\n"); - return -1; - } - - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + Chnl->chlNo; - } - - if (chnlIndex >= MGC_MAX_NUM_OF_CHNL) - { - mgc_log_err("mgc_find_connect_by_con_id: chnlIndex out of range!\r\n"); - return -1; - } - - chnlInfo = &mgcChnl[chnlIndex]; - - if (mgcMgInfo[Chnl->mgNo].usrType == MGC_USER_TYPE_MG) - { - chnlConnectIndex = strtoll(conId, NULL, 16) >> 48; - - if ((chnlConnectIndex >= MGC_MAX_NUM_OF_CHNL_CON) - || (chnlInfo->connectIndex[chnlConnectIndex] >= MGC_MAX_NUM_OF_CON) - || (strcmp(conId, mgcConnectInfo[chnlInfo->connectIndex[chnlConnectIndex]].mediaAttr.conId) != 0)) - return -1; - else - return chnlConnectIndex; - } - else if (mgcMgInfo[Chnl->mgNo].usrType == MGC_USER_TYPE_MGC) - { - for (i = 0; i < MGC_MAX_NUM_OF_CHNL_CON; i++) - { - if ((connectIndex = chnlInfo->connectIndex[i]) >= MGC_MAX_NUM_OF_CON) - { - continue; - } - else - { - if ((0 == strcmp(conId, mgcConnectInfo[connectIndex].mediaAttr.conId)) - && (chnlIndex == mgcConnectInfo[connectIndex].chlIndex)) - { - return i; - } - } - } - - return -1; - } - else - return -1; -} - - -int mgc_extract_media_info(BYTE flag, BYTE cmd, MGCP_PARA *para, WORD port)//new replace -//int mgc_extract_media_info(BYTE flag, MGCP_PARA *para, CHNL *mgcfChnl) -{ - WORD portIndex; - WORD chnlIndex; - CHNL_INFO *chnlInfo; - BYTE num; - CHNL *mgcfChnl; - int connectIndex; - int chnlConnectIndex;//new replace - PORT_INFO *portInfo; - - portInfo = &mgcPort[port]; - mgcfChnl = &portInfo->mgcfChnl;//new replace - - if (((MGC_MG_TYPE_ANN != mgcMgInfo[mgcfChnl->mgNo].mgAttr.mgType) && (mgcfChnl->portNo >= MGC_MAX_PHY_PORT_PER_MG)) - || (mgcfChnl->chlNo >= MGC_MAX_NUM_OF_CHNL)) - return 0; - - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[mgcfChnl->mgNo].mgAttr.mgType) - || (MGC_MG_TYPE_INTERNAL == mgcMgInfo[mgcfChnl->mgNo].mgAttr.mgType)) - { - chnlIndex = mgcMgInfo[mgcfChnl->mgNo].chnlStartIndex + mgcfChnl->chlNo; - }//add by Francis - else - { - portIndex = mgcMgInfo[mgcfChnl->mgNo].portIndex[mgcfChnl->portNo]; - - if (portIndex >= MGC_MAX_NUM_OF_PHY_PORT) - { - mgc_log_err("mgc_extract_media_info: phy portIndex out of range!\n\r"); - return -1; - } - - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + mgcfChnl->chlNo; - } - - if (chnlIndex >= MGC_MAX_NUM_OF_CHNL) - { - mgc_log_err("mgc_extract_media_info: chnlIndex out of range!\n\r"); - return -1; - } - - chnlInfo = &mgcChnl[chnlIndex]; - - if (flag == MGCP_RESPONSE) - { - if ((MGCP_CMD_CRCX == cmd) - && (((para->flag & MGCP_PARA_FLAG_I) != MGCP_PARA_FLAG_I) || ((para->flag & MGCP_PARA_FLAG_SDP) != MGCP_PARA_FLAG_SDP))) - { - mgc_log_err("mgc_extract_media_info: crcx miss para!!\n\r"); - return -1; - } - - if (mgcfChnl->connectNo != mgcPort[port].mgcfOperSteps[mgcPort[port].mgcfOperStepIndex].chnlConnectIndex) - { - mgc_log_err("mgc_extract_media_info: connectNo is mismatch!\n\r"); - return -1; - } - - if((MGCP_CMD_AUEP != cmd) && (MGCP_CMD_RQNT != cmd) && (MGCP_CMD_RSIP != cmd)) - { - connectIndex = chnlInfo->connectIndex[mgcPort[port].mgcfOperSteps[mgcPort[port].mgcfOperStepIndex].chnlConnectIndex]; - } - - if (connectIndex >= MGC_MAX_NUM_OF_CON) - { - mgc_log_err("mgc_extract_media_info: chnl's connection released\n\r"); - return -1; - } - - if ((para->flag & MGCP_PARA_FLAG_I) == MGCP_PARA_FLAG_I) - { - strcpy(mgcConnectInfo[connectIndex].mediaAttr.conId, para->i.conId); - } - - if ((para->flag & MGCP_PARA_FLAG_O) == MGCP_PARA_FLAG_O) - { - chnlInfo->comMediaAttr.pkgEvent = (para->o.package << 8) | para->o.event; - - if ((MGCP_CMD_AUEP != cmd) && (MGCP_CMD_RQNT != cmd)) - mgcConnectInfo[connectIndex].mediaAttr.pkgEvent = (para->o.package << 8) | para->o.event; - } - } - else - { - if (MGCP_CMD_CRCX == cmd) - { - if ((connectIndex = mgc_assign_connect(mgcfChnl, &mgcPort[port].mgcfOperSteps[0].chnlConnectIndex)) < 0) - { - mgc_log_err("mgc_extract_media_info: assign connect failed\n\r"); - return -1; - } - - mgcPort[port].mgcfOperStepsNum = 1; - } - else if ((MGCP_CMD_MDCX == cmd) || (MGCP_CMD_DLCX == cmd)) - { - if ((chnlConnectIndex = mgc_find_connect_by_con_id(mgcfChnl, para->i.conId)) < 0) - { - mgc_log_err("mgc_extract_media_info: find connect by id failed\n\r"); - return -1; - } - - mgcfChnl->connectNo = chnlConnectIndex; - - connectIndex = chnlInfo->connectIndex[chnlConnectIndex]; - } -/* else - { - if (0xFFFF == (connectIndex = chnlInfo->connectIndex[0])) - { - mgc_log_err("mgc_extract_media_info: chnl's 0 connection released\n\r"); - return -1; - } - } -*/ - if (connectIndex >= MGC_MAX_NUM_OF_CON) - { - mgc_log_err("mgc_extract_media_info: chnl's connection released\n\r"); - return -1; - } - - if ((para->flag & MGCP_PARA_FLAG_L) == MGCP_PARA_FLAG_L) - { - mgcConnectInfo[connectIndex].mediaAttr.ecDisable = para->l.ecDisable; - mgcConnectInfo[connectIndex].mediaAttr.ssDisable = para->l.ssDisable; - mgcConnectInfo[connectIndex].mediaAttr.ptime = para->l.p; - mgcConnectInfo[connectIndex].mediaAttr.vocoderType = mgc_codec_str_to_api(para->l.codec); - } - - if ((para->flag & MGCP_PARA_FLAG_M) == MGCP_PARA_FLAG_M) - mgcConnectInfo[connectIndex].mediaAttr.conMode = para->m.mode; - - if ((para->flag & MGCP_PARA_FLAG_C) == MGCP_PARA_FLAG_C) - strcpy(mgcConnectInfo[connectIndex].mediaAttr.callId, para->c.callId); - - if ((para->flag & MGCP_PARA_FLAG_O) == MGCP_PARA_FLAG_O) - { - chnlInfo->comMediaAttr.pkgEvent = (para->o.package << 8) | para->o.event; - mgcConnectInfo[connectIndex].mediaAttr.pkgEvent = (para->o.package << 8) | para->o.event; - } - - if ((para->flag & MGCP_PARA_FLAG_S) == MGCP_PARA_FLAG_S) - { - chnlInfo->comMediaAttr.pkgSignal = (para->s.pkg << 8) | para->s.signal; - mgcConnectInfo[connectIndex].mediaAttr.pkgSignal = (para->s.pkg << 8) | para->s.signal; - } - } - - if ((para->flag & MGCP_PARA_FLAG_SDP) == MGCP_PARA_FLAG_SDP) - { - if (flag == MGCP_RESPONSE) - { - if ((portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].flag & MGCP_PARA_FLAG_TFO) == MGCP_PARA_FLAG_TFO) - { - mgcConnectInfo[connectIndex].flag |= MGCP_PARA_FLAG_TFO; - memcpy(para->sdp.medias.medias, mgcConnectInfo[connectIndex].mediaAttr.sdp.medias.medias, sizeof(PUB_SDP_MEDIA) * 8); - } - else - { - mgcConnectInfo[connectIndex].flag &= ~MGCP_PARA_FLAG_TFO; - } - } - - //memcpy((BYTE *) &chnlInfo->mediaAttr.sdp, (BYTE *) ¶->sdp, sizeof(PUB_SDP_MSG)); - memcpy((BYTE *) &mgcConnectInfo[connectIndex].mediaAttr.sdp, (BYTE *) ¶->sdp, sizeof(PUB_SDP_MSG)); - } - - if ((MGCP_CMD_AUEP != cmd) && (MGCP_CMD_RQNT != cmd)) - { - if ((mgcConnectInfo[connectIndex].mediaAttr.sdp.medias.medias[0].flag & PUB_SDP_FLAG_C) != PUB_SDP_FLAG_C) - //if ((chnlInfo->mediaAttr.sdp.medias.medias[0].flag & PUB_SDP_FLAG_C) != PUB_SDP_FLAG_C) - { - //memcpy(&chnlInfo->mediaAttr.sdp.medias.medias[0].c, &chnlInfo->mediaAttr.sdp.c, sizeof(PUB_SDP_C)); - //chnlInfo->mediaAttr.sdp.medias.medias[0].flag |= PUB_SDP_FLAG_C; - memcpy(&mgcConnectInfo[connectIndex].mediaAttr.sdp.medias.medias[0].c, &mgcConnectInfo[connectIndex].mediaAttr.sdp.c, sizeof(PUB_SDP_C)); - mgcConnectInfo[connectIndex].mediaAttr.sdp.medias.medias[0].flag |= PUB_SDP_FLAG_C; - } - - num = mgcConnectInfo[connectIndex].mediaAttr.sdp.medias.medias[0].attrs.num; - //num = chnlInfo->mediaAttr.sdp.medias.medias[0].attrs.num; - if (num < PUB_SDP_MAX_ATTR_NUM) - { - //chnlInfo->mediaAttr.sdp.medias.medias[0].attrs.attrs[num].aType = PUB_SDP_ATTR_TYPE_PTIME; - //sprintf(chnlInfo->mediaAttr.sdp.medias.medias[0].attrs.attrs[num].aValue, "%d", chnlInfo->mediaAttr.ptime); - //chnlInfo->mediaAttr.sdp.medias.medias[0].attrs.num++; - mgcConnectInfo[connectIndex].mediaAttr.sdp.medias.medias[0].attrs.attrs[num].aType = PUB_SDP_ATTR_TYPE_PTIME; - sprintf(mgcConnectInfo[connectIndex].mediaAttr.sdp.medias.medias[0].attrs.attrs[num].aValue, "%d", mgcConnectInfo[connectIndex].mediaAttr.ptime); - mgcConnectInfo[connectIndex].mediaAttr.sdp.medias.medias[0].attrs.num++; - } - } - - return 0; -} - -void mgc_port_init(WORD port) -{ - memset((BYTE *) &mgcPort[port], 0, sizeof(PORT_INFO)); -} - -int mgc_get_port() -{ - WORD i; - - for (i = 0; i < MGC_MAX_NUM_OF_PORT; i++) - { - if (mgcPort[i].assigned != 0) - continue; - - mgcPort[i].assigned = 1; - return i; - } - - return -1; -} - -int mgc_mgcp_ind(BYTE cmd, WORD *usrPort, WORD hdlPort, MGCP_PARA *para) -{ - int port; - int mgNo; - PORT_INFO *portInfo; - MGCP_SL *sl; - WORD portIndex = 0xFFFF, chnlIndex = 0xFFFF; - char tmpStr[128]; - MG_ATTR *mgAttr; - WORD associPort; - - if (para == NULL) - { - mgc_log_err("mgc_mgcp_ind: para is NULL\n\r"); - return -1; - } - - if ((para->flag & MGCP_PARA_FLAG_SL) != MGCP_PARA_FLAG_SL) - { - mgc_log_err("mgc_mgcp_ind: missing start line\n\r"); - return -1; - } - - sl = ¶->sl; - if ((mgNo = mgc_find_mg_by_name(sl->mgName, para->localPort, para->ip)) < 0) - { - mgc_log_err("mgc_mgcp_ind: can't find the mgName\n\r"); - return -1; - } - - if ((mgcMgInfo[mgNo].portIndex[sl->trkNum] >= MGC_MAX_NUM_OF_PHY_PORT) - && (cmd == MGCP_CMD_RSIP)) - { - mgcMgcpPara.ip = mgcMgInfo[mgNo].mgAttr.ip; - - if (mgcMgInfo[mgNo].usrType == MGC_USER_TYPE_MGC) - { - mgcMgcpPara.localPort = MGC_MGCP_MGC_PORT; - mgcMgcpPara.peerPort = MGC_MGCP_MG_PORT; - } - else - { - mgcMgcpPara.localPort = MGC_MGCP_MG_PORT; - mgcMgcpPara.peerPort = MGC_MGCP_MGC_PORT; - } - mgcMgcpPara.flag = 0; - - mgcMgcpPara.sl.cmdRes = MGCP_RESPONSE; - - mgcMgcpPara.flag |= MGCP_PARA_FLAG_SL; - - MGCP_rsp(mgcMgcpSapIndex, cmd, 0xFFFF, hdlPort, 200, &mgcMgcpPara); - return 0; - } - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_mgcp_ind: can't allocate port\n\r"); - return -1; - } - - mgAttr = &mgcMgInfo[mgNo].mgAttr; - - portInfo = &mgcPort[port]; - portInfo->mgcfState = MGC_MGCF_STATE_INDICATION; - portInfo->llPort = hdlPort; - portInfo->llCmd = cmd; - - if (mgcMgInfo[mgNo].usrType == MGC_USER_TYPE_MG) - portInfo->ip = para->ip; - - portInfo->mgcfChnl.mgNo = mgNo; - portInfo->mgcfChnl.portNo = sl->trkNum; - portInfo->mgcfChnl.chlNo = sl->chlNum; - - if ((MGCP_CMD_CRCX == cmd) || (MGCP_CMD_MDCX == cmd) || (MGCP_CMD_DLCX == cmd)) - { - mgc_extract_media_info(MGCP_COMMAND, cmd, para, port);//new replace - } - - *usrPort = port; - - if (sl->trkNum < MGC_MAX_PHY_PORT_PER_MG) - { - portIndex = mgcMgInfo[mgNo].portIndex[sl->trkNum]; - if ((portIndex < MGC_MAX_NUM_OF_PHY_PORT) && - (sl->chlNum < mgcPhyPort[portIndex].chnlNum)) - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + sl->chlNum; - } - else - { - chnlIndex = mgcMgInfo[mgNo].chnlStartIndex + sl->chlNum; - } - - sprintf(tmpStr, "mgc_mgcp_ind: succeed, cmd = %d, usrPort = %d, hdlPort = %d, mgNo: %d, portNo: %d, chlNo: %d\n\r", - cmd, port, hdlPort, portInfo->mgcfChnl.mgNo, portInfo->mgcfChnl.portNo, portInfo->mgcfChnl.chlNo); - mgc_log_procedure(mgNo, portIndex, chnlIndex, tmpStr); - - if ((mgcMgInfo[mgNo].usrType == MGC_USER_TYPE_MGC) - && (cmd != MGCP_CMD_RSIP)) - { - if ((portInfo->mgcfChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON) - || (mgcChnl[chnlIndex].connectIndex[portInfo->mgcfChnl.connectNo] >= MGC_MAX_NUM_OF_CON)) - { - mgc_log_err("mgc_mgcp_ind: connectNo >= MGC_MAX_NUM_OF_CHNL_CON\n\r"); - mgc_port_init(port); - return -1; - } - - associPort = mgcConnectInfo[mgcChnl[chnlIndex].connectIndex[portInfo->mgcfChnl.connectNo]].port; - - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_CLEAR_AFTER_OPER; - mgc_log_err("mgc_mgcp_ind: DLCX recved from MG, Chnl clear remain connection operation !\n\r"); - - mgcMgcpPara.ip = mgcMgInfo[mgNo].mgAttr.ip; - - mgcMgcpPara.localPort = MGC_MGCP_MGC_PORT; - mgcMgcpPara.peerPort = MGC_MGCP_MG_PORT; - - mgcMgcpPara.flag = 0; - - mgcMgcpPara.sl.cmdRes = MGCP_RESPONSE; - - mgcMgcpPara.flag |= MGCP_PARA_FLAG_SL; - - MGCP_rsp(mgcMgcpSapIndex, cmd, port, hdlPort, 250, &mgcMgcpPara); - -// mgc_connect_init(mgcChnl[chnlIndex].connectIndex[portInfo->mgcfChnl.connectNo]); - mgc_port_init(port); - } - } - - return 0; -} - -int mgc_mgcp_cnf(BYTE cmd, WORD usrPort, WORD hdlPort, WORD retCode, MGCP_PARA *para) -{ - char tmpStr[128]; - - if (usrPort >= MGC_MAX_NUM_OF_PORT) - { - sprintf(tmpStr, "mgc_mgcp_cnf, invalid usrPort = %d, hdlPort = %d, cmd = %d, retCode = %d\n\r", usrPort, hdlPort, cmd, retCode); - mgc_log_err(tmpStr); - return -1; - } - - if (mgcPort[usrPort].llPort != hdlPort) - { - sprintf(tmpStr, "mgc_mgcp_cnf, mismatched llport = %d, hdlPort = %d, cmd = %d, retCode = %d\n\r", mgcPort[usrPort].llPort, hdlPort, cmd, retCode); - mgc_log_err(tmpStr); - return -1; - } - - if (mgcPort[usrPort].mgcfOperSteps[mgcPort[usrPort].mgcfOperStepIndex].cmd != cmd) - { - sprintf(tmpStr, "mgc_mgcp_cnf, mismatched cmd = %d, hdlPort = %d, cmd = %d, retCode = %d\n\r", - mgcPort[usrPort].mgcfOperSteps[mgcPort[usrPort].mgcfOperStepIndex].cmd, hdlPort, cmd, retCode); - mgc_log_err(tmpStr); - return -1; - } - - if (((MGCP_CMD_CRCX == cmd) && (retCode == 200)) || (MGCP_CMD_MDCX == cmd)) - { -// mgc_extract_media_info(MGCP_RESPONSE, para, &mgcPort[usrPort].mgcfChnl); - if (mgc_extract_media_info(MGCP_RESPONSE, cmd, para, usrPort) < 0)//new replace - { - sprintf(tmpStr, "mgc_mgcp_cnf: extract_media fail cmd = %d, hdlPort = %d, retCode = %d\n\r", cmd, hdlPort, retCode); - mgc_log_err(tmpStr); - return -1; - } - } - - mgcPort[usrPort].llCmd = retCode; - - return 0; -} - -int mgc_bind_mgcp() -{ - sprintf(mgcMgcpSap.name, "MGC"); - mgcMgcpSap.MGCP_ind = mgc_mgcp_ind; - mgcMgcpSap.MGCP_cnf = mgc_mgcp_cnf; - - if ((mgcMgcpSapIndex = mgcp_bind(&mgcMgcpSap)) < 0) - return -1; - - return 0; -} - -void mgc_chnl_init(WORD chnl) -{ - memset((BYTE *) &mgcChnl[chnl], 0, sizeof(CHNL_INFO)); - memset((BYTE *) mgcChnl[chnl].connectIndex, 0xFFFF, sizeof(WORD)*MGC_MAX_NUM_OF_CHNL_CON);//new replace - mgcChnl[chnl].port = 0xFFFF; - mgcChnl[chnl].sapIndex = 0xFF; -} - -int mgc_vc_name_init() -{ - strcpy(vcName[0], "PCMA"); - strcpy(vcName[1], "PCMU"); - strcpy(vcName[2], "GSM"); - strcpy(vcName[3], "GSM-EFR"); - strcpy(vcName[4], "AMR"); - strcpy(vcName[5], "G729B"); - - return 0; -} - -int mgc_get_non_virtual_trk_status(WORD mgNo) -{ - struct snmp_pdu mgcSnmpPdu; - struct snmp_addr mgcSnmpAddr; - struct var_list *mgcVarList; - BYTE i, j = 0; - MG_INFO *mgInfo; - - mgInfo = &mgcMgInfo[mgNo]; - mgcVarList = &mgcSnmpPdu.var[0]; - mgcSnmpPdu.var_num = 0; //val list number - - if (MGC_MG_TYPE_AudioCoder == mgInfo->mgAttr.mgType) - { - for (i = 0; i < MGC_MAX_PHY_PORT_PER_MG; i++) - { - if (mgInfo->portIndex[i] != 0xFFFF) - { - mgcVarList[j].oidlen = MGC_AC_LINE_STATUS_IDLEN; - MGC_AC_LINE_STATUS_OID[MGC_AC_LINE_STATUS_IDLEN - 1] = i; - memcpy(&mgcVarList[mgcSnmpPdu.var_num].oid[0], MGC_AC_LINE_STATUS_OID, MGC_AC_LINE_STATUS_IDLEN*4); - mgcVarList[mgcSnmpPdu.var_num].vartype = 0x04;//octet string - mgcVarList[mgcSnmpPdu.var_num].msglen = 0; - mgcSnmpPdu.var_num++; - j++; - } - } - } - else if (MGC_MG_TYPE_LGC_MG == mgInfo->mgAttr.mgType) - { - mgcVarList[0].oidlen = MGC_LGC_MG_STATUS_IDLEN; - memcpy(&mgcVarList[mgcSnmpPdu.var_num].oid[0], MGC_LGC_MG_STATUS_OID, MGC_LGC_MG_STATUS_IDLEN*4); - mgcVarList[mgcSnmpPdu.var_num].vartype = 0x04;//octet string - mgcVarList[mgcSnmpPdu.var_num].msglen = 0; - mgcSnmpPdu.var_num++; - }//revise by Francis 0822 - - mgInfo->requestId = (++mgInfo->requestId) & 0xFFFF; - if (mgInfo->requestId == 0) - mgInfo->requestId = 1; - - mgcSnmpPdu.pdu_type = 0x00; //get - mgcSnmpPdu.request_id = (mgNo << 16) | mgInfo->requestId; - - mgcSnmpAddr.local_port = 4968; - mgcSnmpAddr.remote_port = 161; - mgcSnmpAddr.broadcast = 0; //Not broadcast - mgcSnmpAddr.remote_ip = mgInfo->mgAttr.ip; - - if (mgcSnmpPdu.var_num) - snmp_send(&mgcSnmpPdu,&mgcSnmpAddr); - - return 1; -} - -int mgc_get_snmp_msg() -{ - struct snmp_pdu mgcSnmpPdu; - struct snmp_addr mgcSnmpAddr; - struct var_list *mgcVarList; - BYTE i, trkNo; - WORD mgNo, portIndex; - MG_INFO *mgInfo; - - mgcSnmpAddr.local_port = 4968; - if (!snmp_receive(&mgcSnmpPdu, &mgcSnmpAddr)) - return 0; - - if (mgcSnmpPdu.error_index != 0) - return -1; - - mgNo = mgcSnmpPdu.request_id >> 16; - mgInfo = &mgcMgInfo[mgNo]; - if ((mgcSnmpPdu.request_id & 0xFFFF) != mgInfo->requestId) - return -1; - - if (mgcSnmpPdu.var_num > MGC_MAX_PHY_PORT_PER_MG) - return -1; - - mgcVarList = &mgcSnmpPdu.var[0]; - - for (i = 0; i < mgcSnmpPdu.var_num; i++) - { - trkNo = mgcVarList[i].oid[MGC_AC_LINE_STATUS_IDLEN - 1]; - if (trkNo > (MGC_MAX_PHY_PORT_PER_MG - 1)) - return -1; - if ((portIndex = mgInfo->portIndex[trkNo]) != 0xFFFF) - { - if (mgcVarList[i].msg[0] == 1) - { // No Alarm - mgcPhyPort[portIndex].stLast = 1;//revise by Francis 0822 - } - else - { // Alarm - mgcPhyPort[portIndex].stLast = 0;//revise by Francis 0822 - } - } - } - - return 1; -} - -void mgc_get_mg_trk_status() -{ - BYTE i; - WORD mg, portIndex; - CHNL chnl; - static BYTE stage = 0; - - stage++; - - for (mg = 0; mg < MGC_MAX_NUM_OF_MG; mg++) - { - if ((mgcMgInfo[mg].created == 0) || - ((!mgc_is_non_virtual_mg(mgcMgInfo[mg].mgAttr.mgType)) && - (mgcMgInfo[mg].mgAttr.mgType != MGC_MG_TYPE_ANN))) - continue; - - chnl.mgNo = mg; - chnl.chlNo = 1; - - if ((mgcMgInfo[mg].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_MGCP) - && (mgcMgInfo[mg].usrType == MGC_USER_TYPE_MGC)) - { - if (mgcMgInfo[mg].mgAttr.mgType == MGC_MG_TYPE_ANN)//revise by Francis 0822 - { - chnl.portNo = 0; - mgc_auep_chnl(0xFFFF, chnl); - } - else if (mgcMgInfo[mg].portNum > 0) - { - for (i = 0; i < MGC_MAX_PHY_PORT_PER_MG; i++) - { - if (mgcMgInfo[mg].portIndex[i] == 0xFFFF) - continue; - else - { - chnl.portNo = i; - mgc_auep_chnl(0xFFFF, chnl); - break; - } - } - } - - if ((mgc_is_non_virtual_mg(mgcMgInfo[mg].mgAttr.mgType)) - && (mgcMgInfo[mg].portNum > 0)) - { - if (MGC_MG_TYPE_SSW_CSS != mgcMgInfo[mg].mgAttr.mgType) - { - mgc_get_non_virtual_trk_status(mg); - }//revise by Francis 0822 - } - } - - if ((stage & 1) == 0) - { - mgcMgInfo[mg].status = mgcMgInfo[mg].stLast; - mgcMgInfo[mg].stLast = 0; - if (mgc_is_non_virtual_mg(mgcMgInfo[mg].mgAttr.mgType))//revise by Francis 0822 - { - for (i = 0; i < MGC_MAX_PHY_PORT_PER_MG; i++) - { - portIndex = mgcMgInfo[mg].portIndex[i]; - if (portIndex != 0xFFFF) - { - mgcPhyPort[portIndex].phyStatus = mgcPhyPort[portIndex].stLast; - mgcPhyPort[portIndex].stLast = 0; - } - } - } - } - } -} - -void mgc_t10s() -{ - static DWORD cntT10s = 0; - static DWORD cntT50ms = 0; - - if (++cntT50ms >= MGC_MGCF_TIMER_50MS) - { // 50 mini seconds period - cntT50ms = 0; - mgc_get_snmp_msg(); - mgc_mon(); - } - - if (++cntT10s >= MGC_MGCF_TIMER_10S) - { // 10 seconds period - cntT10s = 0; - mgc_get_mg_trk_status(); - } -} - -int mgc_mg_init(WORD mgNo) -{ - memset((BYTE *) &mgcMgInfo[mgNo], 0, sizeof(MG_INFO)); - memset((BYTE *) &mgcMgInfo[mgNo].portIndex, 0xFFFF, sizeof(WORD) * MGC_MAX_PHY_PORT_PER_MG); - - return 0; -} - -void mgc_init(DWORD systemId, DWORD localIp, DWORD peerIp) -{ - WORD i; - MG_ATTR tmpMgAttr; - MG_ATTR *mgAttr = &tmpMgAttr; - - printf("MGC module init start!\n"); - - if (mgc_bind_8ecp() < 0) - printf("MGC module binds 8ECP fail!\n"); - if (mgc_bind_mgcp() < 0) - printf("MGC module binds MGCP fail!\n"); - - memset((BYTE *) &mgcSap[0], 0, sizeof(MGC_SAP) * MGC_MAX_NUM_OF_SAP); - memset((BYTE *) &mgcPhyPort[0], 0, sizeof(PHY_PORT_INFO) * MGC_MAX_NUM_OF_PHY_PORT); - - for (i = 0; i < MGC_MAX_NUM_OF_MG; i++) - mgc_mg_init(i); - - for (i = 0; i < MGC_MAX_NUM_OF_PORT; i++) - mgc_port_init(i); - - for (i = 0; i < MGC_MAX_NUM_OF_CHNL; i++) - mgc_chnl_init(i); - - - for (i = 0; i < MGC_MAX_NUM_OF_CON; i++) - mgc_connect_init(i);//new replace - - - mgc_vc_name_init(); - - memset(mgc_aas_mgNo, 0xFFFF, sizeof(WORD)*MGC_MAX_NUM_OF_AAS_MGC); - - mgc_select_ass_mgc_mgNo = 0; - - mgcMaxMgNo = MGC_MAX_NUM_OF_MG; - mgcMaxChlNo = MGC_MAX_NUM_OF_CHNL; - mgcMgCreated = 0; - mgcChlAssigned = 0; - - memset(mgAttr, 0, sizeof(MG_ATTR)); - mgAttr->mgType = MGC_MG_TYPE_INTERNAL; - mgAttr->ctrlType = MGC_MG_CTRL_TYPE_MGCP; - strcpy(mgAttr->domain, "InternalMG"); - mgAttr->ip = 1; - - mgc_create_MG(0, mgAttr); - - mgc_8k_tone_card_silent = 0; - - mgc_e1card0_mgNo = 0; - mgc_e1card1_mgNo = 0; - - sysID = systemId; - localIP = localIp; - peerIP = peerIp; - - strcpy(mgcAsciInBuf, "\0"); - strcpy(mgcAsciOutBuf, "\0"); - mgcMonitorFg = MGC_MONITOR_NONE; - mgc_debug_set(); - - printf("MGC module init complete!\n"); -} - -void mgc_timer() -{ - WORD port; - - for (port = 0; port < MGC_MAX_NUM_OF_PORT; port++) - { - if (mgcPort[port].assigned == 0) - continue; - - mgc_fsm(port); - } - - mgc_t10s(); -} - -int mgc_bind(MGC_SAP *sap) -{ - BYTE sapIndex; - - if (wxc2_get_license(LIC_MGC) <= 0) - { - mgc_log_err("mgc_bind: mgc module is not presented!\n\r"); - return -1; - } - - if ((sap == NULL) || - (sap->mgc_cnf == NULL) || - (sap->usrType > MGC_USER_TYPE_MG)) - return -1; - - for (sapIndex = 0; sapIndex < MGC_MAX_NUM_OF_SAP; sapIndex++) - { - if (mgcSap[sapIndex].mgc_cnf != NULL) - continue; - - memcpy((BYTE *) &mgcSap[sapIndex], sap, sizeof(MGC_SAP)); - return sapIndex; - } - - return -1; -} - -int mgc_unbind(MGC_SAP *sap, BYTE sapIndex) -{ - if ((sap == NULL) || (sapIndex >= MGC_MAX_NUM_OF_SAP)) - return -1; - - if ((strcmp(sap->usrName, mgcSap[sapIndex].usrName) != 0) || - (sap->usrType != mgcSap[sapIndex].usrType)) - return -1; - - memset((BYTE *) &mgcSap[sapIndex], 0, sizeof(MGC_SAP)); - - return 0; -} - -int mgc_store_aas_mgc_mg(WORD mgNo) -{ - int i; - - for (i = 0; i < MGC_MAX_NUM_OF_AAS_MGC; i++) - { - if ((mgc_aas_mgNo[i] < MGC_MAX_NUM_OF_MG) && (mgc_aas_mgNo[i] > 0)) - { - continue; - } - else - { - mgc_aas_mgNo[i] = mgNo; - return 0; - } - } - - return -1; -} - -int mgc_delet_aas_mgc_mg(WORD mgNo) -{ - int i; - - for (i = 0; i < MGC_MAX_NUM_OF_AAS_MGC; i++) - { - if ((mgc_aas_mgNo[i] > 0) && (mgc_aas_mgNo[i] != mgNo)) - { - continue; - } - else - { - mgc_aas_mgNo[i] = 0; - return 0; - } - } - - return -1; -} - -int mgc_assign_chnl(BYTE sapIndex, WORD mgNo, BYTE portNo, BYTE chnlType) -{ - WORD i, j; - WORD chnlStart, chnlEnd, chnlNum; - - if (mgNo >= MGC_MAX_NUM_OF_MG) - { - return -1; - } - - if (chnlType == MGC_MG_TYPE_ANN) - { - chnlStart = MGC_CHNL_START_ANN; - chnlEnd = MGC_CHNL_START_ANN + MGC_CHNL_NUM_ANN; - chnlNum = MGC_CHNL_NUM_ANN_PER_TYPE; - } - else if (chnlType == MGC_PHY_PORT_TYPE_ANALOG) - { - chnlStart = MGC_CHNL_START_AALN; - chnlEnd = MGC_CHNL_START_AALN + MGC_CHNL_NUM_AALN; - chnlNum = MGC_CHNL_NUM_AALN_PER_PORT; - } - else if(chnlType == MGC_MG_TYPE_INTERNAL) - { - chnlStart = MGC_CHNL_START_INTERNAL; - chnlEnd = MGC_CHNL_START_INTERNAL+ MGC_CHNL_NUM_INTERNAL; - chnlNum = MGC_CHNL_NUM_INTERNAL_PER_PORT; - } - else - { - chnlStart = MGC_CHNL_START_DS; - chnlEnd = MGC_CHNL_START_DS + MGC_CHNL_NUM_DS_TOTAL; - chnlNum = MGC_CHNL_NUM_DS_PER_PORT; - } - - if ((mgcChlAssigned + chnlNum) > mgcMaxChlNo) - return -1; - - for (i = chnlStart; i < chnlEnd; i += chnlNum) - { - if (mgcChnl[i].assigned == 1) - continue; - - for (j = 0; j < chnlNum; j++) - { - mgcChnl[i + j].assigned = 1; - mgcChnl[i + j].mgNo = mgNo; - mgcChnl[i + j].portNo = portNo; - mgcChnl[i + j].port = 0xFFFF; - - if (chnlType == MGC_MG_TYPE_ANN) - { - mgcChnl[i + j].sapIndex = sapIndex; - } - } - - mgcChlAssigned += chnlNum; - - return i; - } - - return -1; -} - -int mgc_remove_chnl(WORD chnlIndex, WORD chnlNum) -{ - WORD i, port; - - if ((chnlIndex>MGC_MAX_NUM_OF_CHNL) || ((chnlIndex+chnlNum)>MGC_MAX_NUM_OF_CHNL)) - { - return -1; - } - - for (i = 0; i < chnlNum; i++) - { - port = mgcChnl[chnlIndex + i].port; - if (port < MGC_MAX_NUM_OF_CHNL) - mgcPort[port].mngCmd = MGC_MNG_CMD_REMOVE_CHNL; - - mgc_chnl_init(chnlIndex + i); - - mgc_remove_connect(chnlIndex + i); - } - - if (mgcChlAssigned > chnlNum) - mgcChlAssigned -= chnlNum; - else - mgcChlAssigned = 0; - - return 0; -} - -int mgc_assign_MG(BYTE sapIndex, WORD mgNo, MG_ATTR *mgAttr) -{ - int chnlIndex; - BYTE cardNo; - - if ((mgNo >= MGC_MAX_NUM_OF_MG) || (mgAttr == NULL) || (0 == strcmp(mgAttr->domain, "")) - || (0 == mgAttr->ip)) - { - return -1; - } - - if (mgAttr->mgType == MGC_MG_TYPE_ANN) - { - if ((chnlIndex = mgc_assign_chnl(sapIndex, mgNo, 0xFF, MGC_MG_TYPE_ANN)) < 0) - return -1; - mgcMgInfo[mgNo].chnlNum = MGC_CHNL_NUM_ANN_PER_TYPE; - mgcMgInfo[mgNo].chnlStartIndex = chnlIndex; - } - - if (mgAttr->mgType == MGC_MG_TYPE_INTERNAL) - { - if ((chnlIndex = mgc_assign_chnl(0xFF, mgNo, 0xFF, MGC_MG_TYPE_INTERNAL)) < 0) - return -1; - mgcMgInfo[mgNo].chnlNum = MGC_CHNL_NUM_INTERNAL_PER_PORT; - mgcMgInfo[mgNo].chnlStartIndex = chnlIndex; - }//add by Francis - - if (MGC_MG_CTRL_TYPE_8ECP == mgAttr->ctrlType) - { - if ((cardNo = atoi(mgAttr->domain)) > 31) - { - mgc_log_err("mgc_create_MG: 8ecp domain out of range!\n\r"); - return -1; - } - - _8ecp_createMG(mgNo, mgAttr->ip, cardNo); - - if (0 == cardNo) - { - mgc_e1card0_mgNo = mgNo; - } - else if (1 == cardNo) - { - mgc_e1card1_mgNo = mgNo; - } - } - - mgcMgInfo[mgNo].created = 1; - memcpy((BYTE *) &mgcMgInfo[mgNo].mgAttr, (BYTE *) mgAttr, sizeof(MG_ATTR)); - mgcMgInfo[mgNo].mgAttr.e1cardNo = cardNo; - mgcMgInfo[mgNo].portNum = 0; - memset((BYTE *) mgcMgInfo[mgNo].portIndex, 0xFFFF, sizeof(WORD) * MGC_MAX_PHY_PORT_PER_MG); - - mgcMgCreated++; - - return mgNo; -} - -int mgc_create_MG(BYTE sapIndex, MG_ATTR *mgAttr) -{ - WORD i; - int mgNo; - char tmpStr[128]; - - if ((mgAttr == NULL) || (sapIndex >= MGC_MAX_NUM_OF_SAP) || (0 == strcmp(mgAttr->domain, "")) - || (0 == mgAttr->ip) || ((MGC_MG_CTRL_TYPE_8ECP != mgAttr->ctrlType) && (MGC_MG_CTRL_TYPE_MGCP != mgAttr->ctrlType))) - { - mgc_log_err("mgc_create_MG: invalid sapIndex or NULL mgAttr or No domain or No ip!\n\r"); - return -1; - } - - if ((mgcMgCreated + 1) > mgcMaxMgNo) - { - mgc_log_err("mgc_create_MG: license not enough!\n\r"); - return -1; - } - - for (i = 0; i < MGC_MAX_NUM_OF_MG; i++) - { - if (mgcMgInfo[i].created == 0) - { - continue; - } - - if ((0 == strcmp(mgcMgInfo[i].mgAttr.domain, mgAttr->domain)) - && (mgcMgInfo[i].mgAttr.ip == mgAttr->ip) && (mgcMgInfo[i].usrType == mgcSap[sapIndex].usrType)) - { - if (mgcMgInfo[i].sapIndex[sapIndex] == 0) - { - mgcMgInfo[i].sapIndex[sapIndex] = 1; - return i; - } - else - { - mgc_log_err("mgc_create_MG: duplicated MG and sapIndex!\n\r"); - return -1; - } - } - } - - if (mgAttr->mgType == MGC_MG_TYPE_INTERNAL) - { - if (0 == mgcMgInfo[0].created) - return mgc_assign_MG(0xFF, MGC_INTERNAL_VIRTUAL_MG, mgAttr); - else - return -1; - } - - for (i = 1; i < MGC_MAX_NUM_OF_MG; i++) - { - if (mgcMgInfo[i].created == 1) - continue; - mgNo = mgc_assign_MG(sapIndex, i, mgAttr); - if (mgNo >= 0) - { - if ((mgcMonitorFg & MGC_MONITOR_ALL) == MGC_MONITOR_ALL) - { - sprintf(tmpStr, "mgc_create_MG: succeed, sapIndex = %d, mgNo = %d, mgDomain: %s\n\r", sapIndex, mgNo, mgAttr->domain); - mgc_asciout_proc(tmpStr); - mgcMgInfo[mgNo].monFlag = 1; - } - mgcMgInfo[mgNo].usrType = mgcSap[sapIndex].usrType; - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[mgNo].mgAttr.mgType) - && (MGC_USER_TYPE_MGC == mgcMgInfo[mgNo].usrType)) - { - if (mgc_store_aas_mgc_mg(mgNo) < 0) - { - mgc_log_err("mgc_assign_MG: no resource store AAS MGC MG!\n\r"); - mgc_mg_init(mgNo); - return -1; - } - } - - mgcMgInfo[mgNo].sapIndex[sapIndex] = 1; - - return mgNo; - } - else - { - mgc_log_err("mgc_assign_MG: MG assign failed!\n\r"); - - return -1; - } - } - - mgc_log_err("mgc_create_MG: MG resource not available!\n\r"); - - return -1; -} - -int mgc_delete_MG(BYTE sapIndex, WORD mgNo) -{ - BYTE i; - char tmpStr[128]; - BYTE cardNo; - BYTE mgFlag = 0; - - if ((sapIndex >= MGC_MAX_NUM_OF_SAP) || - (mgNo >= MGC_MAX_NUM_OF_MG) || (0 == mgNo) - || (0 == mgcMgInfo[mgNo].created))//add by Francis - { - mgc_log_err("mgc_delete_MG: invalid sapIndex or mgNo!\n\r"); - return -1; - } - - if (MGC_MG_CTRL_TYPE_8ECP == mgcMgInfo[mgNo].mgAttr.ctrlType) - { - cardNo = mgcMgInfo[mgNo].mgAttr.e1cardNo; - - if (cardNo > 31) - { - mgc_log_err("mgc_delete_MG: invalid 8ecp cardNo!\n\r"); - return -1; - } - - _8ecp_deleteMG(mgNo, mgcMgInfo[mgNo].mgAttr.ip, cardNo); - - if (0 == cardNo) - { - mgc_e1card0_mgNo = 0; - } - else if (1 == cardNo) - { - mgc_e1card1_mgNo = 0; - } - } - else - { - if ((MGC_MG_TYPE_ANN == mgcMgInfo[mgNo].mgAttr.mgType) && (mgcMgInfo[mgNo].chnlNum > 0)) - { - mgc_delet_aas_mgc_mg(mgNo); - - mgc_remove_chnl(mgcMgInfo[mgNo].chnlStartIndex, mgcMgInfo[mgNo].chnlNum); - }//add by Francis - else - { - for (i = 0; i < MGC_MAX_PHY_PORT_PER_MG; i++) - { - if (mgcMgInfo[mgNo].portIndex[i] < MGC_MAX_NUM_OF_PHY_PORT) - { - mgc_delete_port(sapIndex, mgNo, i); - } - } - } - } - - mgcMgInfo[mgNo].sapIndex[sapIndex] = 0; - - for (i = 0; i < MGC_MAX_NUM_OF_SAP; i++) - { - if (mgcMgInfo[mgNo].sapIndex[i] == 1) - { - mgFlag = 1; - break; - } - } - - if (mgFlag == 0) - { - mgc_mg_init(mgNo); - - if (mgcMgCreated > 0) - mgcMgCreated--; - - sprintf(tmpStr, "mgc_delete_MG: succeed, sapIndex = %d, mgNo = %d, mgDomain: %s\n\r", sapIndex, mgNo, mgcMgInfo[mgNo].mgAttr.domain); - mgc_asciout_proc(tmpStr); - - return 0; - } - - mgc_log_err("mgc_delete_MG: other users are using this mg!\n\r"); - - return 0; -} - -int mgc_modify_MG(BYTE sapIndex, WORD mgNo, MG_ATTR *mgAttr) -{ - char tmpStr[128]; - BYTE cardNo; - - if ((sapIndex >= MGC_MAX_NUM_OF_SAP) || - (mgNo >= MGC_MAX_NUM_OF_MG)) - { - mgc_log_err("mgc_modify_MG: invalid sapIndex or mgNo!\n\r"); - return -1; - } - - if (0 == mgcMgInfo[mgNo].created) - { - mgc_log_err("mgc_modify_MG: mg not create!\n\r"); - return -1; - } - - if (MGC_MG_CTRL_TYPE_8ECP == mgAttr->ctrlType) - { - if ((cardNo = atoi(mgAttr->domain)) > 31) - { - mgc_log_err("mgc_modify_MG: 8ecp domain out of range!\n\r"); - return -1; - } - - _8ecp_createMG(mgNo, mgAttr->ip, cardNo); - } - - memcpy((BYTE *) &mgcMgInfo[mgNo].mgAttr, (BYTE *) mgAttr, sizeof(MG_ATTR)); - - sprintf(tmpStr, "mgc_modify_MG: succeed, sapIndex = %d, mgNo = %d, mgDomain: %s\n\r", sapIndex, mgNo, mgAttr->domain); - mgc_asciout_proc(tmpStr); - - return 0; -} - -int mgc_add_port(BYTE sapIndex, WORD mgNo, BYTE portNo, BYTE portType) -{ - WORD i; - int chnlIndex; - MG_INFO *mgInfo; - BYTE chnlNum; - WORD portIndex; - char tmpStr[128]; - - if ((sapIndex >= MGC_MAX_NUM_OF_SAP) || - (mgNo >= MGC_MAX_NUM_OF_MG) || - (portNo >= MGC_MAX_PHY_PORT_PER_MG) || - (portType > MGC_PHY_PORT_TYPE_ANALOG)) - { - mgc_log_err("mgc_add_port: invalid sapIndex, mgNo, portNo, or portType!\n\r"); - return -1; - } - - mgInfo = &mgcMgInfo[mgNo]; - - if (mgInfo->created != 1) - { - mgc_log_err("mgc_add_port: MG not created!\n\r"); - return -1; - } - - if ((mgInfo->portNum + 1) > mgInfo->mgAttr.maxPorts) - { - mgc_log_err("mgc_add_port: reached maxPorts of that MG!\n\r"); - return -1; - } - - portIndex = mgcMgInfo[mgNo].portIndex[portNo]; - - if ((portIndex < MGC_MAX_NUM_OF_PHY_PORT) && - (mgcPhyPort[portIndex].created == 1)) - { - mgc_log_err("mgc_add_port: port already created!\n\r"); - return -1; - } - - for (i = 0; i < MGC_MAX_NUM_OF_PHY_PORT; i++) - { - if (mgcPhyPort[i].created == 1) - continue; - if (mgInfo->mgAttr.ctrlType != MGC_MG_CTRL_TYPE_8ECP) - { - if (portType == MGC_PHY_PORT_TYPE_ANALOG) - chnlNum = MGC_CHNL_NUM_AALN_PER_PORT; - else - chnlNum = MGC_CHNL_NUM_DS_PER_PORT; - if ((chnlIndex = mgc_assign_chnl(sapIndex, mgNo, portNo, portType)) < 0) - { - mgc_log_err("mgc_add_port: insufficient channel resources!\n\r"); - return -1; - } - mgcPhyPort[i].chnlNum = chnlNum; - mgcPhyPort[i].chnlStartIndex = chnlIndex; - } - - mgcPhyPort[i].created = 1; - mgcPhyPort[i].mgNo = mgNo; - mgcPhyPort[i].portNo = portNo; - mgcPhyPort[i].portType = portType; - mgcPhyPort[i].sapIndex = sapIndex; - - mgInfo->portIndex[portNo] = i; - mgInfo->portNum++; - - if ((mgcMonitorFg & MGC_MONITOR_ALL) == MGC_MONITOR_ALL) - mgcPhyPort[i].monFlag = 1; - - sprintf(tmpStr, "mgc_add_port: succeed, sapIndex = %d, mgNo = %d, portNo = %d, portType = %d, allocated portNo = %d\n\r", sapIndex, mgNo, portNo, portType, i); - mgc_log_procedure(mgNo, i, 0xFFFF, tmpStr); - - return i; - } - - mgc_log_err("mgc_add_port: insufficient port resource!\n\r"); - - return -1; -} - -int mgc_delete_port(BYTE sapIndex, WORD mgNo, BYTE portNo) -{ - WORD portIndex; - MG_INFO *mgInfo; - char tmpStr[128]; - - if ((sapIndex >= MGC_MAX_NUM_OF_SAP) || - (mgNo >= MGC_MAX_NUM_OF_MG) || - (portNo >= MGC_MAX_PHY_PORT_PER_MG)) - { - mgc_log_err("mgc_delete_port: invalid sapIndex, mgNo, portNo!\n\r"); - return -1; - } - - mgInfo = &mgcMgInfo[mgNo]; - portIndex = mgInfo->portIndex[portNo]; - - if (mgcPhyPort[portIndex].sapIndex == sapIndex) - { - mgc_remove_chnl(mgcPhyPort[portIndex].chnlStartIndex, mgcPhyPort[portIndex].chnlNum); - memset((BYTE *) &mgcPhyPort[portIndex], 0, sizeof(PHY_PORT_INFO)); - - mgInfo->portIndex[portNo] = 0xFFFF; - mgInfo->portNum--; - - sprintf(tmpStr, "mgc_delete_port: succeed, sapIndex = %d, mgNo = %d, portNo = %d\n\r", sapIndex, mgNo, portNo); - mgc_asciout_proc(tmpStr); - - return 0; - } - else - { - mgc_log_err("mgc_delete_port: invalid sapIndex for the portNo!\n\r"); - return -1; - } - -} - -int mgc_modify_port(BYTE sapIndex, WORD mgNo, BYTE portNo, BYTE portType) -{ - WORD phyPort; - char tmpStr[128]; - - if ((sapIndex >= MGC_MAX_NUM_OF_SAP) || - (mgNo >= MGC_MAX_NUM_OF_MG) || - (!mgc_is_non_virtual_mg(mgcMgInfo[mgNo].mgAttr.mgType))||//add by Francis - (portNo >= MGC_MAX_PHY_PORT_PER_MG) || - (portType > MGC_PHY_PORT_TYPE_ANALOG)) - { - mgc_log_err("mgc_modify_port: invalid sapIndex, mgNo, portNo, or portType!\n\r"); - return -1; - } - - phyPort = mgcMgInfo[mgNo].portIndex[portNo]; - - if (phyPort >= MGC_MAX_NUM_OF_PHY_PORT) - { - mgc_log_err("mgc_modify_port: invalid phyPort!\n\r"); - return -1; - } - - mgcPhyPort[phyPort].portType = portType; - - sprintf(tmpStr, "mgc_modify_port: succeed, sapIndex = %d, mgNo = %d, portNo = %d, portType = %d\n\r", sapIndex, mgNo, portNo, portType); - mgc_asciout_proc(tmpStr); - - return 0; -} - -int mgc_apply_aas_tone(CHNL *aasChnl, BYTE toneNo) -{ - int i; - int j; - WORD chnlIndex; - WORD connectIndex; - - for (i = 0; i < MGC_MAX_NUM_OF_AAS_MGC; i++) - { - if (mgc_select_ass_mgc_mgNo > 3) - { - mgc_select_ass_mgc_mgNo = 0; - } - - if ((mgc_aas_mgNo[mgc_select_ass_mgc_mgNo] >= MGC_MAX_NUM_OF_MG) - || (mgc_aas_mgNo[mgc_select_ass_mgc_mgNo] == 0) - || (mgcMgInfo[mgc_aas_mgNo[mgc_select_ass_mgc_mgNo]].status != 1) - || (mgcMgInfo[mgc_aas_mgNo[mgc_select_ass_mgc_mgNo]].mgAttr.ip != localIP)) - { - mgc_select_ass_mgc_mgNo++; - continue; - } - else - { - chnlIndex = mgcMgInfo[mgc_aas_mgNo[mgc_select_ass_mgc_mgNo]].chnlStartIndex + toneNo; - - for (j = 0; j < MGC_MAX_NUM_OF_CHNL_CON; j++) - { - if (((connectIndex = mgcChnl[chnlIndex].connectIndex[j]) < MGC_MAX_NUM_OF_CON) - && (mgcConnectInfo[connectIndex].assigned == 1)) - { - continue; - } - else - { - aasChnl->mgNo = mgc_aas_mgNo[mgc_select_ass_mgc_mgNo]; - aasChnl->portNo = 0xFF; - aasChnl->chlNo = toneNo; - aasChnl->connectNo = j; - - if (mgc_assign_connect_to_chnl(*aasChnl) < 0) - { - mgc_log_err("mgc_apply_aas_tone: assigned connect to chnl failed!\n\r"); - return -1; - } - - mgc_select_ass_mgc_mgNo++; - - return 0; - } - } - } - } - - return -1; -} - -int mgc_match_codec_list(MGC_CODEC_LIST *dest, MGC_CODEC_LIST *aParty, MGC_CODEC_LIST *bParty) -{ - BYTE i, j, num = 0; - - MGC_CODEC_LIST *base, *highPri; - - if (dest == NULL) - { - mgc_log_err("mgc_match_codec_list: dest == NULL!\n\r"); - return -1; - } - dest->num = 0; - dest->priority = 0; - - if (aParty->priority >= bParty->priority) - { - base = bParty; - highPri = aParty; - } - else - { - base = aParty; - highPri = bParty; - } - - if (base->num == 0) - { - if (highPri->num == 0) - { - mgc_log_err("mgc_match_codec_list: base->num == 0!\n\r"); - return -1; - } - else - { - memcpy((BYTE *) dest, (BYTE *) highPri, sizeof(MGC_CODEC_LIST)); - return 0; - } - } - - if (highPri->num == 0) - { - memcpy((BYTE *) dest, (BYTE *) base, sizeof(MGC_CODEC_LIST)); - return 0; - } - - for (i = 0; i < highPri->num; i++) - { - for (j = 0; j < base->num; j++) - { - if (highPri->codec[i] == base->codec[j]) - { - dest->codec[num++] = highPri->codec[i]; - break; - } - } - } - - if (num > 0) - { - dest->num = num; - dest->priority = highPri->priority; - return 0; - } - else - { - mgc_log_err("mgc_match_codec_list: can't match at all!\n\r"); - return -1; - } -} - -int mgc_crcx_chnl(WORD usrPort, CHNL chnl) -{ - int port; - WORD chnlIndex, phyPort, associPort; - char tmpStr[256]; - BYTE ptime; - int connectIndex;//new replace - WORD aasChnlIndex; - WORD aasConnectIndex; - CHNL aasChnl; - -// return 0; - - if (chnl.mgNo >= MGC_MAX_NUM_OF_MG) - { - mgc_log_err("mgc_crcx_chnl: invalid mgNo!\n\r"); - return -1; - } - - if (mgcMgInfo[chnl.mgNo].mgAttr.mgType == MGC_MG_TYPE_INTERNAL) - { - mgc_log_err("mgc_crcx_chnl: MGC_MG_TYPE_INTERNAL!\n\r"); - return -1; - } - - if (mgcMgInfo[chnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) - return 1; - - if (chnl.portNo >= MGC_MAX_PHY_PORT_PER_MG) - { - mgc_log_err("mgc_crcx_chnl: invalid portNo!\n\r"); - return -1; - } - - if (chnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON) - { - mgc_log_err("mgc_crcx_chnl: invalid connectNo!\n\r"); - return -1; - } - - if (MGC_MG_TYPE_ANN == mgcMgInfo[chnl.mgNo].mgAttr.mgType) - { - chnlIndex = mgcMgInfo[chnl.mgNo].chnlStartIndex + chnl.chlNo; - } - else - { - phyPort = mgcMgInfo[chnl.mgNo].portIndex[chnl.portNo]; - chnlIndex = mgcPhyPort[phyPort].chnlStartIndex + chnl.chlNo; - } - - if ((chnlIndex >= MGC_MAX_NUM_OF_CHNL) - || ((mgcMgInfo[chnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPort >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_crcx_chnl: invalid chnlIndex or phyPort!\n\r"); - return -1; - } - - if ((mgcChnl[chnlIndex].connectIndex[chnl.connectNo] < MGC_MAX_NUM_OF_CON) - && (mgcConnectInfo[mgcChnl[chnlIndex].connectIndex[chnl.connectNo]].assigned == 1) - && (mgcConnectInfo[mgcChnl[chnlIndex].connectIndex[chnl.connectNo]].status == MGC_CONNECT_STATUS_CREATED))//new replace - { - mgc_log_err("mgc_crcx_chnl: connection already created on this channel!\n\r"); - return 0; - } - - if ((mgcChnl[chnlIndex].connectIndex[chnl.connectNo] >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[mgcChnl[chnlIndex].connectIndex[chnl.connectNo]].assigned != 1)) - { - if ((connectIndex = mgc_assign_connect_to_chnl(chnl)) < 0) - { - mgc_log_err("mgc_crcx_chnl: connect resource not available!\n\r"); - return -1; - }//new replace - } - else - { - connectIndex = mgcChnl[chnlIndex].connectIndex[chnl.connectNo]; - } - - associPort = mgcConnectInfo[connectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_crcx_chnl: chnl connection operation overwritten!\n\r"); - } - - aasChnl = mgcConnectInfo[connectIndex].aasChnl; - - if ((aasChnl.mgNo < MGC_MAX_NUM_OF_MG) && (aasChnl.chlNo < MGC_MAX_NUM_OF_CHNL) - && (aasChnl.connectNo < MGC_MAX_NUM_OF_CHNL_CON)) - { - aasChnlIndex = mgcMgInfo[aasChnl.mgNo].chnlStartIndex + aasChnl.chlNo; - - if ((aasConnectIndex = mgcChnl[aasChnlIndex].connectIndex[aasChnl.connectNo]) < MGC_MAX_NUM_OF_CON) - { - associPort = mgcConnectInfo[aasConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_crcx_chnl: connection aasChnl operation overwritten!\n\r"); - } - } - } - - associPort = mgcChnl[chnlIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_crcx_chnl: chnl operation overwritten!\n\r"); - } - - if (mgcConnectInfo[connectIndex].codecList.num == 0) -// if (mgcChnl[chnlIndex].codecList.num == 0) - { - if (mgc_match_codec_list(&mgcConnectInfo[connectIndex].codecList, &mgcConnectInfo[connectIndex].codecList, &mgcMgInfo[chnl.mgNo].mgAttr.codecList) < 0) - //if (mgc_match_codec_list(&codecList, &mgcChnl[chnlIndex].codecList, &mgcMgInfo[chnl.mgNo].mgAttr.codecList) < 0) - { - mgc_log_err("mgc_crcx_chnl: mgcChnl[chnlIndex].codecList error!\n\n"); - return -1; - } - } - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_crcx_chnl: port resource not available!\n\r"); - return -1; - } - - ptime = mgcMgInfo[chnl.mgNo].mgAttr.ptime; - - mgcPort[port].usrPort = usrPort; - mgcPort[port].mgcfOperStepsNum = 1; - mgcPort[port].mgcfOperSteps[0].localChnl = chnl; - mgcPort[port].mgcfOperSteps[0].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[0].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[0].media.vocoderType = mgcConnectInfo[connectIndex].codecList; - mgcPort[port].mgcfOperSteps[0].cmd = MGCP_CMD_CRCX; - mgcPort[port].mgcfOperId = MGC_OPER_ID_CRCX; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - - mgcPort[port].mgcfOperSteps[0].chnlConnectIndex = chnl.connectNo; - - sprintf(tmpStr, "mgc_crcx_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, chnlConnectNo = %d, connectIndex = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo, chnl.connectNo, connectIndex);//new replace - mgc_log_procedure(chnl.mgNo, phyPort, chnlIndex, tmpStr); - - return 0; -} - -int mgc_mdcx_chnl(WORD usrPort, CHNL chnl, MEDIA_PARA *mediaPara, BYTE sdFlag) -{ - int port; - WORD chnlIndex, phyPort; - char tmpStr[256]; - WORD connectIndex;//new replace - -// return 0; - - if (chnl.mgNo >= MGC_MAX_NUM_OF_MG) - { - mgc_log_err("mgc_mdcx_chnl: invalid mgNo!\n\r"); - return -1; - } - - if (chnl.portNo >= MGC_MAX_PHY_PORT_PER_MG) - { - mgc_log_err("mgc_mdcx_chnl: invalid portNo!\n\r"); - return -1; - } - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[chnl.mgNo].mgAttr.mgType) - || (MGC_MG_TYPE_INTERNAL == mgcMgInfo[chnl.mgNo].mgAttr.mgType)) - { - chnlIndex = mgcMgInfo[chnl.mgNo].chnlStartIndex + chnl.chlNo; - } - else - { - phyPort = mgcMgInfo[chnl.mgNo].portIndex[chnl.portNo]; - chnlIndex = mgcPhyPort[phyPort].chnlStartIndex + chnl.chlNo; - } - - if ((chnlIndex >= MGC_MAX_NUM_OF_CHNL) - || ((mgcMgInfo[chnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPort >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_mdcx_chnl: invalid chnlIndex or phyPort!\n\r"); - return -1; - } - - - if ((connectIndex = mgcChnl[chnlIndex].connectIndex[chnl.connectNo]) >= MGC_MAX_NUM_OF_CON);//new replace - { - mgc_log_err("mgc_mdcx_chnl: invalid connectNo!\n\r"); - return -1; - } - - - if ((mediaPara->flag & MGC_MEDIA_PARA_FLAG_EC) == MGC_MEDIA_PARA_FLAG_EC) - //mgcChnl[chnlIndex].mediaAttr.ecDisable = mediaPara->ecDisable; - mgcConnectInfo[connectIndex].mediaAttr.ecDisable = mediaPara->ecDisable; - - if ((mediaPara->flag & MGC_MEDIA_PARA_FLAG_SS) == MGC_MEDIA_PARA_FLAG_SS) - //mgcChnl[chnlIndex].mediaAttr.ssDisable = mediaPara->ssDisable; - mgcConnectInfo[connectIndex].mediaAttr.ssDisable = mediaPara->ssDisable; - - if ((mediaPara->flag & MGC_MEDIA_PARA_FLAG_CM) == MGC_MEDIA_PARA_FLAG_CM) - //mgcChnl[chnlIndex].mediaAttr.conMode = mediaPara->conMode; - mgcConnectInfo[connectIndex].mediaAttr.conMode = mediaPara->conMode; - - if ((mediaPara->flag & MGC_MEDIA_PARA_FLAG_PT) == MGC_MEDIA_PARA_FLAG_PT) - //mgcChnl[chnlIndex].mediaAttr.ptime = mediaPara->ptime; - mgcConnectInfo[connectIndex].mediaAttr.ptime = mediaPara->ptime; - - if ((mediaPara->flag & MGC_MEDIA_PARA_FLAG_VT) == MGC_MEDIA_PARA_FLAG_VT) - { - //mgc_match_codec_list(&mgcChnl[chnlIndex].codecList, &mediaPara->vocoderType, &mgcMgInfo[chnl.mgNo].mgAttr.codecList); - mgc_match_codec_list(&mgcConnectInfo[connectIndex].codecList, &mediaPara->vocoderType, &mgcMgInfo[chnl.mgNo].mgAttr.codecList); - } - - if (sdFlag == 0) - { -// sprintf(tmpStr, "mgc_mdcx_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, sdFlag = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo, sdFlag); - sprintf(tmpStr, "mgc_mdcx_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, sdFlag = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo, chnl.connectNo, sdFlag);//new replace - mgc_log_procedure(chnl.mgNo, phyPort, chnlIndex, tmpStr); - return 0; - } - - if ((mgcConnectInfo[mgcChnl[chnlIndex].connectIndex[chnl.connectNo]].assigned != 1) - || (mgcConnectInfo[mgcChnl[chnlIndex].connectIndex[chnl.connectNo]].status != MGC_CONNECT_STATUS_CREATED))//new replace -// if (mgcChnl[chnlIndex].status != MGC_CHNL_STATUS_CREATED) - { - mgc_log_err("mgc_mdcx_chnl: connection not created on this channel!\n\r"); - return -1; - } - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_mdcx_chnl: port resource not available!\n\r"); - return -1; - } - - mgcPort[port].usrPort = usrPort; - mgcPort[port].mgcfOperStepsNum = 1; - mgcPort[port].mgcfOperSteps[0].localChnl = chnl; - mgcPort[port].mgcfOperSteps[0].cmd = MGCP_CMD_MDCX; - mgcPort[port].mgcfOperId = MGC_OPER_ID_MDCX; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - - mgcPort[port].mgcfOperSteps[0].chnlConnectIndex = chnl.connectNo; - -// sprintf(tmpStr, "mgc_mdcx_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, sdFlag = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo, sdFlag); - sprintf(tmpStr, "mgc_mdcx_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, sdFlag = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo, chnl.connectNo, sdFlag); - mgc_log_procedure(chnl.mgNo, phyPort, chnlIndex, tmpStr); - - return 0; -} - -int mgc_recvonly_chnl(WORD usrPort, CHNL orgChnl, CHNL destChnl) -{ - int port; - BYTE ptime; - WORD chnlIndexOrg, chnlIndexDst, phyPortOrg, phyPortDst; - char tmpStr[256]; - int orgConnectIndex; - int destConnectIndex; - MGC_CODEC_LIST codecList; - - if ((orgChnl.mgNo >= MGC_MAX_NUM_OF_MG) || - (destChnl.mgNo >= MGC_MAX_NUM_OF_MG)) - { - mgc_log_err("mgc_recvonly_chnl: invalid mgNo!\n\r"); - return -1; - } - - if ((orgChnl.portNo >= MGC_MAX_PHY_PORT_PER_MG) || - (destChnl.portNo >= MGC_MAX_PHY_PORT_PER_MG)) - { - mgc_log_err("mgc_recvonly_chnl: invalid portNo!\n\r"); - return -1; - } - - if ((orgChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON) || - (destChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON)) - { - mgc_log_err("mgc_recvonly_chnl: invalid connectNo!\n\r"); - return -1; - } - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - || (mgcMgInfo[orgChnl.mgNo].mgAttr.mgType == MGC_MG_TYPE_INTERNAL)) - { - chnlIndexOrg = mgcMgInfo[orgChnl.mgNo].chnlStartIndex + orgChnl.chlNo; - } - else - { - phyPortOrg = mgcMgInfo[orgChnl.mgNo].portIndex[orgChnl.portNo]; - chnlIndexOrg = mgcPhyPort[phyPortOrg].chnlStartIndex + orgChnl.chlNo; - } - - if ((chnlIndexOrg >= MGC_MAX_NUM_OF_CHNL) - || ((mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL) && (mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPortOrg >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_recvonly_chnl: invalid chnlIndex or phyPort of orgChnl!\n\r"); - return -1; - } - - - if (((orgConnectIndex = mgcChnl[chnlIndexOrg].connectIndex[orgChnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[orgConnectIndex].assigned != 1) - || (mgcConnectInfo[orgConnectIndex].status != MGC_CONNECT_STATUS_CREATED))//new replace - { - mgc_log_err("mgc_recvonly_chnl: orgChnl connectionIndex invaild or connection not create!\n\r"); - return -1; - - } - - if (mgcConnectInfo[orgConnectIndex].mediaAttr.conMode == MGCP_CON_MODE_RECVONLY) - { - sprintf(tmpStr, "mgc_recvonly_chnl: connection already in recvonly mode, usrPort = %d, Org: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, connectIndex = %d, Dest: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d\n\r", - usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo, orgChnl.connectNo, orgConnectIndex, destChnl.mgNo, destChnl.portNo, destChnl.chlNo, destChnl.connectNo); - mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr); - - return 0; - } - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[destChnl.mgNo].mgAttr.mgType) - || (mgcMgInfo[destChnl.mgNo].mgAttr.mgType == MGC_MG_TYPE_INTERNAL)) - { - chnlIndexDst = mgcMgInfo[destChnl.mgNo].chnlStartIndex + destChnl.chlNo; - } - else - { - phyPortDst = mgcMgInfo[destChnl.mgNo].portIndex[destChnl.portNo]; - chnlIndexDst = mgcPhyPort[phyPortDst].chnlStartIndex + destChnl.chlNo; - } - - if (chnlIndexDst >= MGC_MAX_NUM_OF_CHNL - || ((mgcMgInfo[destChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL) && (phyPortDst >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_recvonly_chnl: invalid chnlIndex or phyPort of destChnl!\n\r"); - return -1; - } - - - if (((destConnectIndex = mgcChnl[chnlIndexDst].connectIndex[destChnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[destConnectIndex].assigned != 1) - || (mgcConnectInfo[destConnectIndex].status != MGC_CONNECT_STATUS_CREATED))//new replace - { - mgc_log_err("mgc_recvonly_chnl: destChnl connectionIndex invaild or connection not create!\n\r"); - return -1; - } - - if (mgcConnectInfo[orgConnectIndex].codecList.num == 0) - { - if (mgc_match_codec_list(&mgcConnectInfo[orgConnectIndex].codecList, &mgcConnectInfo[orgConnectIndex].codecList, &mgcMgInfo[orgChnl.mgNo].mgAttr.codecList) < 0) - { - mgc_log_err("mgc_crcx_chnl: mgcChnl[chnlIndex].codecList error!\n\n"); - return -1; - } - } - - codecList = mgcConnectInfo[orgConnectIndex].codecList; - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_mdcx_chnl: port resource not available!\n\r"); - return -1; - } - - mgcPort[port].usrPort = usrPort; - mgcPort[port].mgcfOperStepsNum = 1; - - ptime = mgcMgInfo[orgChnl.mgNo].mgAttr.ptime; - mgcPort[port].mgcfOperSteps[0].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[0].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[0].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[0].remChnl = destChnl; - mgcPort[port].mgcfOperSteps[0].cmd = MGCP_CMD_MDCX; - mgcPort[port].mgcfOperSteps[0].media.vocoderType = codecList; - mgcPort[port].mgcfOperId = MGC_OPER_ID_MDCX; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - - sprintf(tmpStr, "mgc_recvonly_chnl: succeed, usrPort = %d, Org: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, connectIndex = %d, Dest: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, connectIndex = %d\n\r", - usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo, orgChnl.connectNo, orgConnectIndex, destChnl.mgNo, destChnl.portNo, destChnl.chlNo, destChnl.connectNo, destConnectIndex); - mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr); - - return 0; -} - -int mgc_dlcx_chnl(WORD usrPort, CHNL chnl) -{ - int port; - WORD chnlIndex, phyPort, associPort; - char tmpStr[256]; - WORD orgChl, dstChl; - WORD connectIndex; - WORD aasChnlIndex; - WORD aasConnectIndex; - CHNL aasChnl; - -// return 0; - - if (chnl.mgNo >= MGC_MAX_NUM_OF_MG) - { - mgc_log_err("mgc_dlcx_chnl: invalid mgNo!\n\r"); - return -1; - } - - if (mgcMgInfo[chnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) - { - orgChl = (mgcMgInfo[chnl.mgNo].mgAttr.e1cardNo * 8 + chnl.portNo) * 32 + chnl.chlNo; - dstChl = (mgc_8k_tone_card_silent * 8 + 7) * 32 + 31; - _8ecp_connect_chnl(orgChl, dstChl, 0); //ecDisable:0/1=enable/disable echo canceller - - phyPort = mgcMgInfo[chnl.mgNo].portIndex[chnl.portNo]; - chnlIndex = mgcPhyPort[phyPort].chnlStartIndex + chnl.chlNo; - - sprintf(tmpStr, "mgc_dlcx_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo); - mgc_log_procedure(chnl.mgNo, phyPort, chnlIndex, tmpStr); - - return 0; - } - - if ((mgcMgInfo[chnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) - && (chnl.portNo >= MGC_MAX_PHY_PORT_PER_MG)) - { - mgc_log_err("mgc_dlcx_chnl: invalid portNo!\n\r"); - return -1; - } - - if (chnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON) - { - mgc_log_err("mgc_dlcx_chnl: invalid connectNo!\n\r"); - return -1; - } - - if (chnl.chlNo >= MGC_MAX_NUM_OF_CHNL) - { - if (chnl.chlNo != MGCP_EP_NAME_CHNL_WILDCAST) - { - mgc_log_err("mgc_dlcx_chnl: invalid chnlIndex!\n\r"); - return -1; - } - } - - if (chnl.chlNo < MGC_MAX_NUM_OF_CHNL) - { - if (MGC_MG_TYPE_ANN == mgcMgInfo[chnl.mgNo].mgAttr.mgType) - { - chnlIndex = mgcMgInfo[chnl.mgNo].chnlStartIndex + chnl.chlNo; - } - else - { - phyPort = mgcMgInfo[chnl.mgNo].portIndex[chnl.portNo]; - chnlIndex = mgcPhyPort[phyPort].chnlStartIndex + chnl.chlNo; - } - - if ((chnlIndex >= MGC_MAX_NUM_OF_CHNL) - || ((mgcMgInfo[chnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPort >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_dlcx_chnl: invalid chnlIndex or phyPort!\n\r"); - return -1; - } - - - if ((connectIndex = mgcChnl[chnlIndex].connectIndex[chnl.connectNo]) >= MGC_MAX_NUM_OF_CON)//new replace - { - mgc_log_err("mgc_dlcx_chnl: invalid connectIndex!\n\r"); - return -1; - } - - - associPort = mgcConnectInfo[connectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_dlcx_chnl: chnl connection operation overwritten!\n\r"); - } - - aasChnl = mgcConnectInfo[connectIndex].aasChnl; - - if ((aasChnl.mgNo < MGC_MAX_NUM_OF_MG) && (aasChnl.chlNo < MGC_MAX_NUM_OF_CHNL) - && (aasChnl.connectNo < MGC_MAX_NUM_OF_CHNL_CON)) - { - aasChnlIndex = mgcMgInfo[aasChnl.mgNo].chnlStartIndex + aasChnl.chlNo; - - if ((aasConnectIndex = mgcChnl[aasChnlIndex].connectIndex[aasChnl.connectNo]) < MGC_MAX_NUM_OF_CON) - { - associPort = mgcConnectInfo[aasConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_dlcx_chnl: connection aasChnl operation overwritten!\n\r"); - } - } - } - - associPort = mgcChnl[chnlIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_dlcx_chnl: chnl operation overwritten!\n\r"); - } - - if ((mgcConnectInfo[connectIndex].assigned != 1) - || (mgcConnectInfo[connectIndex].status != MGC_CONNECT_STATUS_CREATED)) //new replace - { - mgc_log_err("mgc_dlcx_chnl: connection not created on this channel!\n\r"); - return 0; - } - } - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_dlcx_chnl: port resource not available!\n\r"); - return -1; - } - - mgcPort[port].usrPort = usrPort; - mgcPort[port].mgcfOperStepsNum = 1; - mgcPort[port].mgcfOperSteps[0].localChnl = chnl; - mgcPort[port].mgcfOperSteps[0].cmd = MGCP_CMD_DLCX; - mgcPort[port].mgcfOperId = MGC_OPER_ID_DLCX; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - - mgcPort[port].mgcfOperSteps[0].chnlConnectIndex = chnl.connectNo; - - sprintf(tmpStr, "mgc_dlcx_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo, chnl.connectNo); - mgc_log_procedure(chnl.mgNo, phyPort, chnlIndex, tmpStr); - - return 0; -} - -int mgc_rqnt_chnl(WORD usrPort, CHNL chnl, EVENT *event, SIGNAL *signal) -{ - int port; - WORD chnlIndex, phyPort; - char tmpStr[256]; - - if (chnl.mgNo >= MGC_MAX_NUM_OF_MG) - { - mgc_log_err("mgc_rqnt_chnl: invalid mgNo!\n\r"); - return -1; - } - - if (mgcMgInfo[chnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) - return 1; - - if (chnl.portNo >= MGC_MAX_PHY_PORT_PER_MG) - { - mgc_log_err("mgc_rqnt_chnl: invalid portNo!\n\r"); - return -1; - } - - if (MGC_MG_TYPE_ANN == mgcMgInfo[chnl.mgNo].mgAttr.mgType) - { - chnlIndex = mgcMgInfo[chnl.mgNo].chnlStartIndex + chnl.chlNo; - } - else - { - phyPort = mgcMgInfo[chnl.mgNo].portIndex[chnl.portNo]; - chnlIndex = mgcPhyPort[phyPort].chnlStartIndex + chnl.chlNo; - } - - if ((chnlIndex >= MGC_MAX_NUM_OF_CHNL) || - ((mgcMgInfo[chnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPort >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_rqnt_chnl: invalid chnlIndex or phyPort!\n\r"); - return -1; - } - - if ((mgcChnl[chnlIndex].port < MGC_MAX_NUM_OF_PORT) - && (mgcPort[mgcChnl[chnlIndex].port].assigned != 0)) - { - mgc_log_err("mgc_rqnt_chnl: channel already engaged!\n\r"); - return 0; - } - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_rqnt_chnl: port resource not available!\n\r"); - return -1; - } - - mgcPort[port].usrPort = usrPort; - mgcPort[port].mgcfOperStepsNum = 1; - mgcPort[port].mgcfOperSteps[0].localChnl = chnl; - mgcPort[port].mgcfOperSteps[0].cmd = MGCP_CMD_RQNT; - mgcPort[port].mgcfOperId = MGC_OPER_ID_RQNT; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - - mgcPort[port].mgcfOperSteps[0].chnlConnectIndex = 0xFFFF; - - if (event != NULL) - //mgcChnl[chnlIndex].mediaAttr.pkgEvent = (event->pkg << 8) | event->event; - mgcChnl[chnlIndex].comMediaAttr.pkgEvent = (event->pkg << 8) | event->event; - - if (signal != NULL) - //mgcChnl[chnlIndex].mediaAttr.pkgSignal = (signal->pkg << 8) | signal->signal; - mgcChnl[chnlIndex].comMediaAttr.pkgSignal = (signal->pkg << 8) | signal->signal; - -// sprintf(tmpStr, "mgc_rqnt_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo); - sprintf(tmpStr, "mgc_rqnt_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo, chnl.connectNo); - mgc_log_procedure(chnl.mgNo, phyPort, chnlIndex, tmpStr); - - return 0; -} - -int mgc_auep_chnl(WORD usrPort, CHNL chnl) -{ - int port; - WORD chnlIndex, phyPort; - char tmpStr[256]; - -// return 0; - - if (chnl.mgNo >= MGC_MAX_NUM_OF_MG) - { - mgc_log_err("mgc_auep_chnl: invalid mgNo!\n\r"); - return -1; - } - - if (mgcMgInfo[chnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) - return 1; - - if (chnl.portNo >= MGC_MAX_PHY_PORT_PER_MG) - { - mgc_log_err("mgc_auep_chnl: invalid portNo!\n\r"); - return -1; - } - - if (MGC_MG_TYPE_ANN == mgcMgInfo[chnl.mgNo].mgAttr.mgType) - { - chnlIndex = mgcMgInfo[chnl.mgNo].chnlStartIndex + chnl.chlNo; - } - else - { - phyPort = mgcMgInfo[chnl.mgNo].portIndex[chnl.portNo]; - chnlIndex = mgcPhyPort[phyPort].chnlStartIndex + chnl.chlNo; - } - - if ((chnlIndex >= MGC_MAX_NUM_OF_CHNL) - || ((mgcMgInfo[chnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPort >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_auep_chnl: invalid chnlIndex or phyPort!\n\r"); - return -1; - } - - if (mgcChnl[chnlIndex].auepSt != MGC_CHNL_AUEP_IDLE) - { - mgc_log_err("mgc_auep_chnl: auep already in progress!\n\r"); - return -1; - } - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_auep_chnl: port resource not available!\n\r"); - return -1; - } - - mgcPort[port].usrPort = usrPort; - mgcPort[port].mgcfOperStepsNum = 1; - mgcPort[port].mgcfOperSteps[0].localChnl = chnl; - mgcPort[port].mgcfOperSteps[0].cmd = MGCP_CMD_AUEP; - mgcPort[port].mgcfOperId = MGC_OPER_ID_AUEP; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - - mgcPort[port].mgcfOperSteps[0].chnlConnectIndex = 0xFFFF; - - mgcChnl[chnlIndex].auepSt = MGC_CHNL_AUEP_IN_PROGRESS; - -// sprintf(tmpStr, "mgc_auep_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo); - sprintf(tmpStr, "mgc_auep_chnl: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d\n\r", usrPort, chnl.mgNo, chnl.portNo, chnl.chlNo, chnl.connectNo); - mgc_log_procedure(chnl.mgNo, phyPort, chnlIndex, tmpStr); - - return 0; -} - -int mgc_connect_chnl(WORD usrPort, CHNL orgChnl, CHNL destChnl, BYTE flag) -{ - int port; - BYTE step = 0, ptime; - WORD orgChl, dstChl; - WORD chnlIndexOrg, chnlIndexDst, phyPortOrg, phyPortDst, associPort; - char tmpStr[256]; - MGC_CODEC_LIST codecList; - int orgConnectIndex; - int destConnectIndex; - WORD aasChnlIndex; - WORD aasConnectIndex; - CHNL aasChnl; - -// return 0; - - if ((orgChnl.mgNo >= MGC_MAX_NUM_OF_MG) || - (destChnl.mgNo >= MGC_MAX_NUM_OF_MG)) - { - mgc_log_err("mgc_connect_chnl: invalid mgNo!\n\r"); - return -1; - } - - if ((mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType != mgcMgInfo[destChnl.mgNo].mgAttr.ctrlType) - && ((mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) || (mgcMgInfo[destChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP))) - { - mgc_log_err("mgc_connect_chnl: mg ctrlType error!\n\r"); - return -1; - } - - if (mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) - { - orgChl = (mgcMgInfo[orgChnl.mgNo].mgAttr.e1cardNo * 8 + orgChnl.portNo) * 32 + orgChnl.chlNo; - if ((flag & MGC_CONNECT_SILENT_TONE) == MGC_CONNECT_SILENT_TONE) - dstChl = (mgc_8k_tone_card_silent * 8 + 7) * 32 + 31; - else - dstChl = (mgcMgInfo[destChnl.mgNo].mgAttr.e1cardNo * 8 + destChnl.portNo) * 32 + destChnl.chlNo; - - phyPortOrg = mgcMgInfo[orgChnl.mgNo].portIndex[orgChnl.portNo]; - chnlIndexOrg = mgcPhyPort[phyPortOrg].chnlStartIndex + orgChnl.chlNo; - _8ecp_connect_chnl(orgChl, dstChl, mgcChnl[chnlIndexOrg].comMediaAttr.ecDisable); //ecDisable:0/1=enable/disable echo canceller - - phyPortDst = mgcMgInfo[destChnl.mgNo].portIndex[destChnl.portNo]; - chnlIndexDst = mgcPhyPort[phyPortDst].chnlStartIndex + destChnl.chlNo; - - sprintf(tmpStr, "mgc_connect_chnl: succeed, usrPort = %d, Org: mgNo = %d, portNo = %d, chnlNo = %d, Dest: mgNo = %d, portNo = %d, chnlNo = %d\n\r", - usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo, destChnl.mgNo, destChnl.portNo, destChnl.chlNo); - - if (mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr) < 0) - mgc_log_procedure(destChnl.mgNo, phyPortDst, chnlIndexDst, tmpStr); - - return 0; - } - - if ((orgChnl.portNo >= MGC_MAX_PHY_PORT_PER_MG) || - (destChnl.portNo >= MGC_MAX_PHY_PORT_PER_MG)) - { - mgc_log_err("mgc_connect_chnl: invalid portNo!\n\r"); - return -1; - } - - if ((orgChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON) || - (destChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON)) - { - mgc_log_err("mgc_connect_chnl: invalid connectNo!\n\r"); - return -1; - } - - if (mgcMgInfo[orgChnl.mgNo].mgAttr.mgType == MGC_MG_TYPE_INTERNAL) - { - phyPortOrg = 0; - chnlIndexOrg = mgcMgInfo[orgChnl.mgNo].chnlStartIndex + orgChnl.chlNo; - } - else - { - if (MGC_MG_TYPE_ANN == mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - { - chnlIndexOrg = mgcMgInfo[orgChnl.mgNo].chnlStartIndex + orgChnl.chlNo; - } - else - { - phyPortOrg = mgcMgInfo[orgChnl.mgNo].portIndex[orgChnl.portNo]; - chnlIndexOrg = mgcPhyPort[phyPortOrg].chnlStartIndex + orgChnl.chlNo; - } - } - - if ((chnlIndexOrg >= MGC_MAX_NUM_OF_CHNL) - || ((mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL) && (mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPortOrg >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_connect_chnl: invalid chnlIndex or phyPort of orgChnl!\n\r"); - return -1; - } - - - if (((orgConnectIndex = mgcChnl[chnlIndexOrg].connectIndex[orgChnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[orgConnectIndex].assigned != 1))//new replace - { - if ((orgConnectIndex = mgc_assign_connect_to_chnl(orgChnl)) < 0) - { - mgc_log_err("mgc_connect_chnl: assigned connect on orgChnl failed!\n\r"); - return -1; - } - - } - - associPort = mgcConnectInfo[orgConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_chnl: orgChnl operation overwritten!\n\r"); - } - - aasChnl = mgcConnectInfo[orgConnectIndex].aasChnl; - - if ((aasChnl.mgNo < MGC_MAX_NUM_OF_MG) && (aasChnl.chlNo < MGC_MAX_NUM_OF_CHNL) - && (aasChnl.connectNo < MGC_MAX_NUM_OF_CHNL_CON)) - { - aasChnlIndex = mgcMgInfo[aasChnl.mgNo].chnlStartIndex + aasChnl.chlNo; - - if ((aasConnectIndex = mgcChnl[aasChnlIndex].connectIndex[aasChnl.connectNo]) < MGC_MAX_NUM_OF_CON) - { - associPort = mgcConnectInfo[aasConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_chnl: connection aasChnl operation overwritten!\n\r"); - } - } - } - - associPort = mgcChnl[chnlIndexOrg].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_chnl: orgChnl chnl operation overwritten!\n\r"); - } - - if (mgcMgInfo[destChnl.mgNo].mgAttr.mgType == MGC_MG_TYPE_INTERNAL) - { - phyPortDst = 0; - chnlIndexDst = mgcMgInfo[destChnl.mgNo].chnlStartIndex + destChnl.chlNo; - } - else - { - if (MGC_MG_TYPE_ANN == mgcMgInfo[destChnl.mgNo].mgAttr.mgType) - { - chnlIndexDst = mgcMgInfo[destChnl.mgNo].chnlStartIndex + destChnl.chlNo; - } - else - { - phyPortDst = mgcMgInfo[destChnl.mgNo].portIndex[destChnl.portNo]; - chnlIndexDst = mgcPhyPort[phyPortDst].chnlStartIndex + destChnl.chlNo; - } - } - - if (chnlIndexDst >= MGC_MAX_NUM_OF_CHNL - || ((mgcMgInfo[destChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPortDst >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_connect_chnl: invalid chnlIndex or phyPort of destChnl!\n\r"); - return -1; - } - - - if (((destConnectIndex = mgcChnl[chnlIndexDst].connectIndex[destChnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[destConnectIndex].assigned != 1))//new replace - { - if ((destConnectIndex = mgc_assign_connect_to_chnl(destChnl)) < 0) - { - mgc_log_err("mgc_connect_chnl: assigned connect on destChnl failed!\n\r"); - return -1; - } - } - - if (mgcMgInfo[destChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL) - { - associPort = mgcConnectInfo[destConnectIndex].port; - - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_chnl: destChnl operation overwritten!\n\r"); - } - - associPort = mgcChnl[chnlIndexDst].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_chnl: destChnl chnl operation overwritten!\n\r"); - } - - } - - if ((mgcConnectInfo[orgConnectIndex].codecList.num == 0) - && (mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL)) - { - if (mgc_match_codec_list(&mgcConnectInfo[orgConnectIndex].codecList, &mgcConnectInfo[orgConnectIndex].codecList, &mgcMgInfo[orgChnl.mgNo].mgAttr.codecList) < 0) - { - mgc_log_err("mgc_connect_chnl: mgcConnectInfo[orgConnectIndex].codecList error!\n\n"); - return -1; - } - } - - if ((mgcConnectInfo[destConnectIndex].codecList.num == 0) - && (mgcMgInfo[destChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL)) - { - if (mgc_match_codec_list(&mgcConnectInfo[destConnectIndex].codecList, &mgcConnectInfo[destConnectIndex].codecList, &mgcMgInfo[destChnl.mgNo].mgAttr.codecList) < 0) - { - mgc_log_err("mgc_connect_chnl: mgcConnectInfo[destConnectIndex].codecList error!\n\n"); - return -1; - } - } - - if (mgc_match_codec_list(&codecList, &mgcConnectInfo[orgConnectIndex].codecList, &mgcConnectInfo[destConnectIndex].codecList) < 0) - { - mgc_log_err("mgc_connect_chnl: can't match codec!\n\n"); - return -1; - } - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_connect_chnl: port resource not available!\n\r"); - return -1; - } - - mgcPort[port].usrPort = usrPort; - if (mgcMgInfo[orgChnl.mgNo].mgAttr.ptime >= mgcMgInfo[destChnl.mgNo].mgAttr.ptime) - ptime = mgcMgInfo[orgChnl.mgNo].mgAttr.ptime; - else - ptime = mgcMgInfo[destChnl.mgNo].mgAttr.ptime; - - if (mgcConnectInfo[orgConnectIndex].status != MGC_CONNECT_STATUS_CREATED) - { - if (MGC_MG_TYPE_INTERNAL != mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - { - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = codecList; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = orgChnl.connectNo; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_CRCX; - } - } - - if (mgcConnectInfo[destConnectIndex].status != MGC_CONNECT_STATUS_CREATED) - { - if (MGC_MG_TYPE_INTERNAL != mgcMgInfo[destChnl.mgNo].mgAttr.mgType) - { - mgcPort[port].mgcfOperSteps[step].localChnl = destChnl; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = codecList; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = destChnl.connectNo; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_CRCX; - } - } - - if ((orgChnl.mgNo == destChnl.mgNo) - && ((mgcConnectInfo[orgConnectIndex].flag & MGCP_PARA_FLAG_TFO) != MGCP_PARA_FLAG_TFO)) - { - if (MGC_MG_TYPE_INTERNAL != mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - { - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].remChnl = destChnl; - mgcPort[port].mgcfOperSteps[step].pkgSignal = 0; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = mgcConnectInfo[orgConnectIndex].mediaAttr.conMode; - - mgcPort[port].mgcfOperSteps[step].flag |= MGCP_PARA_FLAG_TFO; - - mgcPort[port].mgcfOperSteps[step].media.vocoderType = codecList; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = orgChnl.connectNo; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_MDCX; - } - } - else if ((orgChnl.mgNo != destChnl.mgNo) - && ((mgcConnectInfo[orgConnectIndex].flag & MGCP_PARA_FLAG_TFO) == MGCP_PARA_FLAG_TFO)) - { - if (MGC_MG_TYPE_INTERNAL != mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - { - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].remChnl = destChnl; - mgcPort[port].mgcfOperSteps[step].pkgSignal = 0; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = mgcConnectInfo[orgConnectIndex].mediaAttr.conMode; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = codecList; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = orgChnl.connectNo; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_MDCX; - } - } - - if (MGC_MG_TYPE_INTERNAL != mgcMgInfo[destChnl.mgNo].mgAttr.mgType) - { - mgcPort[port].mgcfOperSteps[step].localChnl = destChnl; - mgcPort[port].mgcfOperSteps[step].remChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].pkgSignal = 0; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - - if ((flag & MGC_CONNECT_SILENT_TONE) == MGC_CONNECT_SILENT_TONE) - { - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - } - else - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_SENDRECV; - - if (orgChnl.mgNo == destChnl.mgNo) - { - mgcPort[port].mgcfOperSteps[step].flag |= MGCP_PARA_FLAG_TFO; - } - - mgcPort[port].mgcfOperSteps[step].media.vocoderType = codecList; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = destChnl.connectNo; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_MDCX; - } - - if (step == 0) - mgc_port_init(port); - else - { - mgcPort[port].mgcfOperId = MGC_OPER_ID_CONNECT_CHNL; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - mgcPort[port].mgcfOperStepsNum = step; - } - - sprintf(tmpStr, "mgc_connect_chnl: succeed, usrPort = %d, Org: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, connectIndex = %d, Dest: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, connectIndex = %d, step = %d\n\r", - usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo, orgChnl.connectNo, orgConnectIndex, destChnl.mgNo, destChnl.portNo, destChnl.chlNo, destChnl.connectNo, destConnectIndex, step); - if (mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr) < 0) - mgc_log_procedure(destChnl.mgNo, phyPortDst, chnlIndexDst, tmpStr); - - return 0; -} - -int mgc_connect_dtmf(WORD usrPort, CHNL orgChnl, CHNL dstChnl, BYTE dtmfNo) -{ - int port; - BYTE step = 0, ptime; - WORD orgChl, dstChl; - WORD chnlIndexOrg, phyPortOrg, associPort; - char tmpStr[256]; - BYTE digit = 0; - int orgConnectIndex; - WORD aasChnlIndex; - WORD aasConnectIndex; - CHNL aasChnl; - -// return 0; - - if ((orgChnl.mgNo >= MGC_MAX_NUM_OF_MG) || - (dstChnl.mgNo >= MGC_MAX_NUM_OF_MG)) - { - mgc_log_err("mgc_connect_dtmf: invalid mgNo!\n\r"); - return -1; - } - - if (0 == dtmfNo) - { - digit = 10; - } - else - { - digit = dtmfNo; - } - - if (mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) - { - orgChl = (mgcMgInfo[orgChnl.mgNo].mgAttr.e1cardNo * 8 + orgChnl.portNo) * 32 + orgChnl.chlNo; - dstChl = (mgcMgInfo[dstChnl.mgNo].mgAttr.e1cardNo * 8 + dstChnl.portNo) * 32 + dstChnl.chlNo; - _8ecp_connect_dtmf(orgChl, dstChl, digit); - - phyPortOrg = mgcMgInfo[orgChnl.mgNo].portIndex[orgChnl.portNo]; - chnlIndexOrg = mgcPhyPort[phyPortOrg].chnlStartIndex + orgChnl.chlNo; - - sprintf(tmpStr, "mgc_connect_dtmf: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, dtmfNo = %d\n\r", usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo, dtmfNo); - mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr); - - return 0; - } - - if (orgChnl.portNo >= MGC_MAX_PHY_PORT_PER_MG) - { - mgc_log_err("mgc_connect_dtmf: invalid portNo!\n\r"); - return -1; - } - - if (orgChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON) - { - mgc_log_err("mgc_connect_dtmf: invalid connectNo!\n\r"); - return -1; - } - - if (MGC_MG_TYPE_ANN == mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - { - chnlIndexOrg = mgcMgInfo[orgChnl.mgNo].chnlStartIndex + orgChnl.chlNo; - } - else - { - phyPortOrg = mgcMgInfo[orgChnl.mgNo].portIndex[orgChnl.portNo]; - chnlIndexOrg = mgcPhyPort[phyPortOrg].chnlStartIndex + orgChnl.chlNo; - } - - if (chnlIndexOrg >= MGC_MAX_NUM_OF_CHNL - || ((mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPortOrg >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_connect_dtmf: invalid chnlIndex or phyPort of orgChnl!\n\r"); - return -1; - } - - if (((orgConnectIndex = mgcChnl[chnlIndexOrg].connectIndex[orgChnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[orgConnectIndex].assigned != 1))//new replace - { - if ((orgConnectIndex = mgc_assign_connect_to_chnl(orgChnl)) < 0) - { - mgc_log_err("mgc_connect_dtmf: assigned connect on orgChnl failed!\n\r"); - return -1; - } - } - - associPort = mgcConnectInfo[orgConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_dtmf: orgChnl connection operation overwritten!\n\r"); - } - - aasChnl = mgcConnectInfo[orgConnectIndex].aasChnl; - - if ((aasChnl.mgNo < MGC_MAX_NUM_OF_MG) && (aasChnl.chlNo < MGC_MAX_NUM_OF_CHNL) - && (aasChnl.connectNo < MGC_MAX_NUM_OF_CHNL_CON)) - { - aasChnlIndex = mgcMgInfo[aasChnl.mgNo].chnlStartIndex + aasChnl.chlNo; - - if ((aasConnectIndex = mgcChnl[aasChnlIndex].connectIndex[aasChnl.connectNo]) < MGC_MAX_NUM_OF_CON) - { - associPort = mgcConnectInfo[aasConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_dtmf: connection aasChnl operation overwritten!\n\r"); - } - } - } - - associPort = mgcChnl[chnlIndexOrg].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_dtmf: orgChnl chnl operation overwritten!\n\r"); - } - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_connect_dtmf: port resource not available!\n\r"); - return -1; - } - - mgcPort[port].usrPort = usrPort; - - if (mgcConnectInfo[orgConnectIndex].status != MGC_CONNECT_STATUS_CREATED) - { - ptime = mgcMgInfo[orgChnl.mgNo].mgAttr.ptime; - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = orgChnl.connectNo; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_CRCX; - } - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].pkgSignal = (MGCP_PKG_D << 8) | digit; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = 0xFFFF; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_RQNT; - mgcPort[port].mgcfOperStepsNum = step; - mgcPort[port].mgcfOperId = MGC_OPER_ID_CONNECT_DTMF; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - - sprintf(tmpStr, "mgc_connect_dtmf: succeed, usrPort = %d, mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, dtmfNo = %d\n\r", usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo, orgChnl.connectNo, dtmfNo); - mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr); - - return 0; -} - -int mgc_connect_AAS(WORD usrPort, CHNL orgChnl, CHNL dstChnl, BYTE toneNo, WORD duration, WORD times) -{ - int port; - BYTE step = 0, ptime; - WORD orgChl, dstChl; - WORD chnlIndexOrg, chnlIndexDst, phyPortOrg, phyPortDst, associPort; - char tmpStr[256]; - CHNL aasChnl = {0xFFFF, 0, 0xFFFF, 0xFFFF}; - int orgConnectIndex; - int destConnectIndex; - WORD aasConnectIndex; - WORD chnlIndexAAS; - MGC_CODEC_LIST codecList; - WORD orgAASChnlIndex; - WORD orgAASConnectIndex; - CHNL orgAASChnl; - - if ((orgChnl.mgNo >= MGC_MAX_NUM_OF_MG) || - (dstChnl.mgNo >= MGC_MAX_NUM_OF_MG)) - { - mgc_log_err("mgc_connect_AAS: invalid mgNo!\n\r"); - return -1; - } - - if ((mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType != mgcMgInfo[dstChnl.mgNo].mgAttr.ctrlType) - && ((mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) || (mgcMgInfo[dstChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP))) - { - mgc_log_err("mgc_connect_chnl: mg ctrlType error!\n\r"); - return -1; - } - - if (toneNo >= MGC_MAX_TONE_NO) - { - mgc_log_err("mgc_connect_AAS: invalid toneNo!\n\r"); - return -1; - } - - if (mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) - { - orgChl = (mgcMgInfo[orgChnl.mgNo].mgAttr.e1cardNo * 8 + orgChnl.portNo) * 32 + orgChnl.chlNo; - - if ((0 == dstChnl.mgNo) && (0 == dstChnl.portNo) && (0 == dstChnl.chlNo)) - { - dstChl = (mgc_8k_tone_card_silent * 8 + 7) * 32 + 31; - } - else if ((1 == mgcMgInfo[dstChnl.mgNo].created) - && (1 == mgcPhyPort[mgcMgInfo[dstChnl.mgNo].portIndex[dstChnl.portNo]].created)) - { - dstChl = (mgcMgInfo[dstChnl.mgNo].mgAttr.e1cardNo * 8 + dstChnl.portNo) * 32 + dstChnl.chlNo;//need revise - } - else - { - mgc_log_err("mgc_connect_AAS: invalid 8ecp mgNo or portNo!\n\r"); - return -1; - } - - _8ecp_connect_tone(orgChl, dstChl, toneNo, duration); - - sprintf(tmpStr, "mgc_connect_AAS: succeed, usrPort = %d, Org: mgNo = %d, portNo = %d, chnlNo = %d\n\r", - usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo); - mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr); - - return 0; - } - - if ((orgChnl.portNo >= MGC_MAX_PHY_PORT_PER_MG) || - (dstChnl.portNo >= MGC_MAX_PHY_PORT_PER_MG)) - { - mgc_log_err("mgc_connect_AAS: invalid portNo!\n\r"); - return -1; - } - - if ((orgChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON) || - (dstChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON)) - { - mgc_log_err("mgc_connect_AAS: invalid connectNo!\n\r"); - return -1; - } - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - || (MGC_MG_TYPE_INTERNAL == mgcMgInfo[orgChnl.mgNo].mgAttr.mgType)) - { - chnlIndexOrg = mgcMgInfo[orgChnl.mgNo].chnlStartIndex + orgChnl.chlNo; - } - else - { - phyPortOrg = mgcMgInfo[orgChnl.mgNo].portIndex[orgChnl.portNo]; - chnlIndexOrg = mgcPhyPort[phyPortOrg].chnlStartIndex + orgChnl.chlNo; - } - - if (chnlIndexOrg >= MGC_MAX_NUM_OF_CHNL - || ((mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL) && (mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPortOrg >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_connect_AAS: invalid chnlIndex or phyPort of orgChnl!\n\r"); - return -1; - } - - if (((orgConnectIndex = mgcChnl[chnlIndexOrg].connectIndex[orgChnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[orgConnectIndex].assigned != 1))//new replace - { - if ((orgConnectIndex = mgc_assign_connect_to_chnl(orgChnl)) < 0) - { - mgc_log_err("mgc_connect_AAS: assigned connect on orgChnl failed!\n\r"); - return -1; - } - } - - associPort = mgcConnectInfo[orgConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_AAS: orgChnl connection operation overwritten!\n\r"); - } - - orgAASChnl = mgcConnectInfo[orgConnectIndex].aasChnl; - - if ((orgAASChnl.mgNo < MGC_MAX_NUM_OF_MG) && (orgAASChnl.chlNo < MGC_MAX_NUM_OF_CHNL) - && (orgAASChnl.connectNo < MGC_MAX_NUM_OF_CHNL_CON)) - { - orgAASChnlIndex = mgcMgInfo[orgAASChnl.mgNo].chnlStartIndex + orgAASChnl.chlNo; - - if ((orgAASConnectIndex = mgcChnl[orgAASChnlIndex].connectIndex[orgAASChnl.connectNo]) < MGC_MAX_NUM_OF_CON) - { - associPort = mgcConnectInfo[orgAASConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_AAS: connection aasChnl operation overwritten!\n\r"); - } - } - } - - associPort = mgcChnl[chnlIndexOrg].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_AAS: orgChnl chnl operation overwritten!\n\r"); - } - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[dstChnl.mgNo].mgAttr.mgType) - || (MGC_MG_TYPE_INTERNAL == mgcMgInfo[dstChnl.mgNo].mgAttr.mgType)) - { - chnlIndexDst = mgcMgInfo[dstChnl.mgNo].chnlStartIndex + dstChnl.chlNo; - } - else - { - phyPortDst = mgcMgInfo[dstChnl.mgNo].portIndex[dstChnl.portNo]; - chnlIndexDst = mgcPhyPort[phyPortDst].chnlStartIndex + dstChnl.chlNo; - } - - if (chnlIndexDst >= MGC_MAX_NUM_OF_CHNL - || ((mgcMgInfo[dstChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL) && (mgcMgInfo[dstChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPortDst >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_connect_AAS: invalid destChnl chnlIndex or phyPort of orgChnl!\n\r"); - return -1; - } - - destConnectIndex = mgcChnl[chnlIndexDst].connectIndex[dstChnl.connectNo]; - - if ((mgcConnectInfo[orgConnectIndex].codecList.num == 0) - && (mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL)) - { - if (mgc_match_codec_list(&mgcConnectInfo[orgConnectIndex].codecList, &mgcConnectInfo[orgConnectIndex].codecList, &mgcMgInfo[orgChnl.mgNo].mgAttr.codecList) < 0) - { - mgc_log_err("mgc_connect_AAS: mgcConnectInfo[orgConnectIndex].codecList error!\n\n"); - return -1; - } - } - - if ((destConnectIndex < MGC_MAX_NUM_OF_CON) && (mgcConnectInfo[destConnectIndex].codecList.num == 0) - && (mgcMgInfo[dstChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL)) - { - if (mgc_match_codec_list(&mgcConnectInfo[destConnectIndex].codecList, &mgcConnectInfo[destConnectIndex].codecList, &mgcMgInfo[dstChnl.mgNo].mgAttr.codecList) < 0) - { - mgc_log_err("mgc_connect_AAS: mgcConnectInfo[dstConnectIndex].codecList error!\n\n"); - return -1; - } - } - - if (destConnectIndex < MGC_MAX_NUM_OF_CON) - { - if (mgc_match_codec_list(&codecList, &mgcConnectInfo[orgConnectIndex].codecList, &mgcConnectInfo[destConnectIndex].codecList) < 0) - { - mgc_log_err("mgc_connect_AAS: orgConnect and dstConnect code negotiation fail!\n\n"); - return -1; - } - } - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_connect_AAS: port resource not available!\n\r"); - return -1; - } - - mgcPort[port].usrPort = usrPort; - - if (toneNo == MGC_HOLD_MUSIC) - { - if (mgcConnectInfo[orgConnectIndex].status != MGC_CONNECT_STATUS_CREATED) - { - if (MGC_MG_TYPE_INTERNAL != mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - { - ptime = mgcMgInfo[orgChnl.mgNo].mgAttr.ptime; - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = orgChnl.connectNo; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[orgConnectIndex].codecList; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_CRCX; - } - } - else - { - if (mgcConnectInfo[orgConnectIndex].mediaAttr.conMode >= MGCP_CON_MODE_SENDONLY) - { - ptime = mgcMgInfo[orgChnl.mgNo].mgAttr.ptime; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].remChnl = dstChnl; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[destConnectIndex].codecList;//orgConnectIndex - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_MDCX; - } - } - } - - if (mgcMgInfo[dstChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL) - { - if ((destConnectIndex < MGC_MAX_NUM_OF_CON) - && (mgcConnectInfo[destConnectIndex].status == MGC_CONNECT_STATUS_CREATED)) - { - if (mgcConnectInfo[destConnectIndex].mediaAttr.conMode >= MGCP_CON_MODE_SENDONLY) - { - ptime = mgcMgInfo[dstChnl.mgNo].mgAttr.ptime; - - if ((mgcConnectInfo[destConnectIndex].flag & MGCP_PARA_FLAG_TFO) == MGCP_PARA_FLAG_TFO) - { - mgcPort[port].mgcfOperSteps[step].flag |= MGCP_PARA_FLAG_TFO; - } - - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].localChnl = dstChnl; - mgcPort[port].mgcfOperSteps[step].remChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = dstChnl.connectNo; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[orgConnectIndex].codecList;//destConnectIndex - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_MDCX; - } - } - } - - toneNo = times * 10 + (toneNo - 7); - - if (mgc_apply_aas_tone(&aasChnl, toneNo) < 0) - { - mgc_log_err("mgc_connect_AAS: apply aas tone fail!\n\r"); - mgc_port_init(port); - return -1; - } - else - { - if ((aasChnl.mgNo >= MGC_MAX_NUM_OF_MG) || (aasChnl.portNo != 0xFF) - || (aasChnl.chlNo != toneNo) || (aasChnl.connectNo > MGC_MAX_NUM_OF_CON)) - { - mgc_log_err("mgc_connect_AAS: apply aas mg fail!\n\r"); - mgc_port_init(port); - return -1; - } - else - { - if ((mgcConnectInfo[orgConnectIndex].flag & MGCP_PARA_FLAG_TFO) == MGCP_PARA_FLAG_TFO) - { - ptime = mgcMgInfo[orgChnl.mgNo].mgAttr.ptime; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - - if (toneNo == 0) - { - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - } - else - { - mgcPort[port].mgcfOperSteps[step].media.conMode = mgcConnectInfo[orgConnectIndex].mediaAttr.conMode;; - } - - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].remChnl = dstChnl; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[destConnectIndex].codecList;//orgConnectIndex - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_MDCX; - } - - chnlIndexAAS = mgcMgInfo[aasChnl.mgNo].chnlStartIndex + aasChnl.chlNo; - aasConnectIndex = mgcChnl[chnlIndexAAS].connectIndex[aasChnl.connectNo]; - - ptime = mgcConnectInfo[orgConnectIndex].mediaAttr.ptime; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_SENDONLY; - mgcPort[port].mgcfOperSteps[step].localChnl = aasChnl; - mgcPort[port].mgcfOperSteps[step].cmd = MGCP_CMD_CRCX; -// mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcMgInfo[orgChnl.mgNo].mgAttr.codecList; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[orgConnectIndex].codecList; - - mgcConnectInfo[orgConnectIndex].aasChnl = aasChnl; - - memcpy((BYTE *) &mgcConnectInfo[aasConnectIndex].mediaAttr.sdp, (BYTE *) &mgcConnectInfo[orgConnectIndex].mediaAttr.sdp, sizeof(PUB_SDP_MSG)); - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = aasChnl.connectNo; - if (duration == 0) - { - mgcPort[port].mgcfOperSteps[step++].delay = MGC_MGCF_TIMER_1H; - } - else - { - mgcPort[port].mgcfOperSteps[step++].delay = duration * MGC_MGCF_TIMER_1S; - } - - mgcPort[port].mgcfOperSteps[step].localChnl = aasChnl; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = aasChnl.connectNo; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_DLCX; - } - } - - mgcPort[port].mgcfOperId = MGC_OPER_ID_CONNECT_AAS; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - - mgcPort[port].mgcfOperStepsNum = step; - - sprintf(tmpStr, "mgc_connect_AAS: succeed, usrPort = %d, Org: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, connectIndex = %d, Dest: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, connectIndex = %d, step = %d\n\r", - usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo, orgChnl.connectNo, orgConnectIndex, dstChnl.mgNo, dstChnl.portNo, dstChnl.chlNo, dstChnl.connectNo, destConnectIndex, step); - mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr); - - return 0; -} - -int mgc_connect_tone(WORD usrPort, CHNL orgChnl, CHNL dstChnl, BYTE toneNo, WORD duration) -{ - int port; - BYTE step = 0, ptime; - WORD orgChl, dstChl; - WORD chnlIndexOrg, chnlIndexDst, phyPortOrg, phyPortDst, associPort; - char tmpStr[256]; - CHNL aasChnl = {0xFFFF, 0, 0xFFFF, 0xFFFF}; - int orgConnectIndex; - int destConnectIndex; - WORD aasConnectIndex; - WORD chnlIndexAAS; - MGC_CODEC_LIST codecList; - WORD orgAASChnlIndex; - WORD orgAASConnectIndex; - CHNL orgAASChnl; - - if ((orgChnl.mgNo >= MGC_MAX_NUM_OF_MG) || - (dstChnl.mgNo >= MGC_MAX_NUM_OF_MG)) - { - mgc_log_err("mgc_connect_tone: invalid mgNo!\n\r"); - return -1; - } - - if ((mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType != mgcMgInfo[dstChnl.mgNo].mgAttr.ctrlType) - && ((mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) || (mgcMgInfo[dstChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP))) - { - mgc_log_err("mgc_connect_chnl: mg ctrlType error!\n\r"); - return -1; - } - - if (toneNo >= MGC_MAX_TONE_NO) - { - mgc_log_err("mgc_connect_tone: invalid toneNo!\n\r"); - return -1; - } - - if (mgcMgInfo[orgChnl.mgNo].mgAttr.ctrlType == MGC_MG_CTRL_TYPE_8ECP) - { - orgChl = (mgcMgInfo[orgChnl.mgNo].mgAttr.e1cardNo * 8 + orgChnl.portNo) * 32 + orgChnl.chlNo; - - if ((0 == dstChnl.mgNo) && (0 == dstChnl.portNo) && (0 == dstChnl.chlNo)) - { - dstChl = (mgc_8k_tone_card_silent * 8 + 7) * 32 + 31; - } - else if ((1 == mgcMgInfo[dstChnl.mgNo].created) - && (1 == mgcPhyPort[mgcMgInfo[dstChnl.mgNo].portIndex[dstChnl.portNo]].created)) - { - dstChl = (mgcMgInfo[dstChnl.mgNo].mgAttr.e1cardNo * 8 + dstChnl.portNo) * 32 + dstChnl.chlNo;//need revise - } - else - { - mgc_log_err("mgc_connect_tone: invalid 8ecp mgNo or portNo!\n\r"); - return -1; - } - - _8ecp_connect_tone(orgChl, dstChl, toneNo, duration); - - sprintf(tmpStr, "mgc_connect_tone: succeed, usrPort = %d, Org: mgNo = %d, portNo = %d, chnlNo = %d\n\r", - usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo); - mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr); - - return 0; - } - - if ((orgChnl.portNo >= MGC_MAX_PHY_PORT_PER_MG) || - (dstChnl.portNo >= MGC_MAX_PHY_PORT_PER_MG)) - { - mgc_log_err("mgc_connect_tone: invalid portNo!\n\r"); - return -1; - } - - if ((orgChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON) || - (dstChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON)) - { - mgc_log_err("mgc_connect_tone: invalid connectNo!\n\r"); - return -1; - } - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - || (MGC_MG_TYPE_INTERNAL == mgcMgInfo[orgChnl.mgNo].mgAttr.mgType)) - { - chnlIndexOrg = mgcMgInfo[orgChnl.mgNo].chnlStartIndex + orgChnl.chlNo; - } - else - { - phyPortOrg = mgcMgInfo[orgChnl.mgNo].portIndex[orgChnl.portNo]; - chnlIndexOrg = mgcPhyPort[phyPortOrg].chnlStartIndex + orgChnl.chlNo; - } - - if (chnlIndexOrg >= MGC_MAX_NUM_OF_CHNL - || ((mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL) && (mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPortOrg >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_connect_tone: invalid chnlIndex or phyPort of orgChnl!\n\r"); - return -1; - } - - if (((orgConnectIndex = mgcChnl[chnlIndexOrg].connectIndex[orgChnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - || (mgcConnectInfo[orgConnectIndex].assigned != 1))//new replace - { - if ((orgConnectIndex = mgc_assign_connect_to_chnl(orgChnl)) < 0) - { - mgc_log_err("mgc_connect_tone: assigned connect on orgChnl failed!\n\r"); - return -1; - } - } - - associPort = mgcConnectInfo[orgConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_tone: orgChnl connection operation overwritten!\n\r"); - } - - orgAASChnl = mgcConnectInfo[orgConnectIndex].aasChnl; - - if ((orgAASChnl.mgNo < MGC_MAX_NUM_OF_MG) && (orgAASChnl.chlNo < MGC_MAX_NUM_OF_CHNL) - && (orgAASChnl.connectNo < MGC_MAX_NUM_OF_CHNL_CON)) - { - orgAASChnlIndex = mgcMgInfo[orgAASChnl.mgNo].chnlStartIndex + orgAASChnl.chlNo; - - if ((orgAASConnectIndex = mgcChnl[orgAASChnlIndex].connectIndex[orgAASChnl.connectNo]) < MGC_MAX_NUM_OF_CON) - { - associPort = mgcConnectInfo[orgAASConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_tone: connection aasChnl operation overwritten!\n\r"); - } - } - } - - associPort = mgcChnl[chnlIndexOrg].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_connect_tone: orgChnl chnl operation overwritten!\n\r"); - } - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[dstChnl.mgNo].mgAttr.mgType) - || (MGC_MG_TYPE_INTERNAL == mgcMgInfo[dstChnl.mgNo].mgAttr.mgType)) - { - chnlIndexDst = mgcMgInfo[dstChnl.mgNo].chnlStartIndex + dstChnl.chlNo; - } - else - { - phyPortDst = mgcMgInfo[dstChnl.mgNo].portIndex[dstChnl.portNo]; - chnlIndexDst = mgcPhyPort[phyPortDst].chnlStartIndex + dstChnl.chlNo; - } - - if (chnlIndexDst >= MGC_MAX_NUM_OF_CHNL - || ((mgcMgInfo[dstChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL) && (mgcMgInfo[dstChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_ANN) && (phyPortDst >= MGC_MAX_NUM_OF_PHY_PORT))) - { - mgc_log_err("mgc_connect_tone: invalid destChnl chnlIndex or phyPort of orgChnl!\n\r"); - return -1; - } - - destConnectIndex = mgcChnl[chnlIndexDst].connectIndex[dstChnl.connectNo]; - - if ((mgcConnectInfo[orgConnectIndex].codecList.num == 0) - && (mgcMgInfo[orgChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL)) - { - if (mgc_match_codec_list(&mgcConnectInfo[orgConnectIndex].codecList, &mgcConnectInfo[orgConnectIndex].codecList, &mgcMgInfo[orgChnl.mgNo].mgAttr.codecList) < 0) - { - mgc_log_err("mgc_connect_tone: mgcConnectInfo[orgConnectIndex].codecList error!\n\n"); - return -1; - } - } - - if (destConnectIndex < MGC_MAX_NUM_OF_CON) - { - if ((mgcConnectInfo[destConnectIndex].codecList.num == 0) - && (mgcMgInfo[dstChnl.mgNo].mgAttr.mgType != MGC_MG_TYPE_INTERNAL)) - { - if (mgc_match_codec_list(&mgcConnectInfo[destConnectIndex].codecList, &mgcConnectInfo[destConnectIndex].codecList, &mgcMgInfo[dstChnl.mgNo].mgAttr.codecList) < 0) - { - mgc_log_err("mgc_connect_tone: mgcConnectInfo[dstConnectIndex].codecList error!\n\n"); - return -1; - } - } - - if (mgc_match_codec_list(&codecList, &mgcConnectInfo[orgConnectIndex].codecList, &mgcConnectInfo[destConnectIndex].codecList) < 0) - { - mgc_log_err("mgc_connect_AAS: orgConnect and dstConnect code negotiation fail!\n\n"); - return -1; - } - } - else - codecList = mgcConnectInfo[orgConnectIndex].codecList; - - if ((port = mgc_get_port()) < 0) - { - mgc_log_err("mgc_connect_tone: port resource not available!\n\r"); - return -1; - } - - mgcPort[port].usrPort = usrPort; - - if (mgcConnectInfo[orgConnectIndex].status != MGC_CONNECT_STATUS_CREATED) - { - if (MGC_MG_TYPE_INTERNAL != mgcMgInfo[orgChnl.mgNo].mgAttr.mgType) - { - ptime = mgcMgInfo[orgChnl.mgNo].mgAttr.ptime; - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = orgChnl.connectNo; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[orgConnectIndex].codecList; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_CRCX; - } - } - else - { - if (mgcConnectInfo[orgConnectIndex].mediaAttr.conMode >= MGCP_CON_MODE_SENDONLY) - { - ptime = mgcMgInfo[orgChnl.mgNo].mgAttr.ptime; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].remChnl = dstChnl; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[orgConnectIndex].codecList; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_MDCX; - } - } - - if ((destConnectIndex < MGC_MAX_NUM_OF_CON) - && (mgcConnectInfo[destConnectIndex].status == MGC_CONNECT_STATUS_CREATED)) - { - if (mgcConnectInfo[destConnectIndex].mediaAttr.conMode >= MGCP_CON_MODE_SENDONLY) - { - ptime = mgcMgInfo[dstChnl.mgNo].mgAttr.ptime; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].localChnl = dstChnl; - mgcPort[port].mgcfOperSteps[step].remChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = dstChnl.connectNo; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[orgConnectIndex].codecList; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_MDCX; - } - } - - if (mgcMgInfo[orgChnl.mgNo].mgAttr.toneCap == 1) - { - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].cmd = MGCP_CMD_RQNT; - mgcPort[port].mgcfOperSteps[step].pkgSignal = MGC_TONE_NO_TO_PKG_SIG[toneNo]; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = 0xFFFF; - if (duration == 0) - { - mgcPort[port].mgcfOperSteps[step++].delay = MGC_MGCF_TIMER_1H; - } - else - { - mgcPort[port].mgcfOperSteps[step++].delay = duration * MGC_MGCF_TIMER_1S; - } - - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].pkgSignal = 0; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = 0xFFFF; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_RQNT; - } - else - { - toneNo = toneNo - 7; - - if (mgc_apply_aas_tone(&aasChnl, toneNo) < 0) - { - mgc_log_err("mgc_connect_tone: mg no toneCap and no AAS MG!\n\r"); - mgc_port_init(port); - return -1; - } - else - { - if ((aasChnl.mgNo >= MGC_MAX_NUM_OF_MG) || (aasChnl.portNo != 0xFF) - || (aasChnl.chlNo != toneNo) || (aasChnl.connectNo > MGC_MAX_NUM_OF_CON)) - { - mgc_log_err("mgc_connect_tone: mg no toneCap and apply aas mg fault!\n\r"); - mgc_port_init(port); - return -1; - } - else - { - if ((mgcConnectInfo[orgConnectIndex].flag & MGCP_PARA_FLAG_TFO) == MGCP_PARA_FLAG_TFO) - { - ptime = mgcMgInfo[orgChnl.mgNo].mgAttr.ptime; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_RECVONLY; - mgcPort[port].mgcfOperSteps[step].localChnl = orgChnl; - mgcPort[port].mgcfOperSteps[step].remChnl = dstChnl; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[orgConnectIndex].codecList; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_MDCX; - } - - chnlIndexAAS = mgcMgInfo[aasChnl.mgNo].chnlStartIndex + aasChnl.chlNo; - aasConnectIndex = mgcChnl[chnlIndexAAS].connectIndex[aasChnl.connectNo]; - - ptime = mgcConnectInfo[orgConnectIndex].mediaAttr.ptime; - mgcPort[port].mgcfOperSteps[step].media.ptime = ptime; - mgcPort[port].mgcfOperSteps[step].media.conMode = MGCP_CON_MODE_SENDONLY; - mgcPort[port].mgcfOperSteps[step].localChnl = aasChnl; - mgcPort[port].mgcfOperSteps[step].cmd = MGCP_CMD_CRCX; - mgcPort[port].mgcfOperSteps[step].media.vocoderType = mgcConnectInfo[orgConnectIndex].codecList; - - mgcConnectInfo[orgConnectIndex].aasChnl = aasChnl; - - memcpy((BYTE *) &mgcConnectInfo[aasConnectIndex].mediaAttr.sdp, (BYTE *) &mgcConnectInfo[orgConnectIndex].mediaAttr.sdp, sizeof(PUB_SDP_MSG)); - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = aasChnl.connectNo; - if (duration == 0) - { - mgcPort[port].mgcfOperSteps[step++].delay = MGC_MGCF_TIMER_1H; - } - else - { - mgcPort[port].mgcfOperSteps[step++].delay = duration * MGC_MGCF_TIMER_1S; - } - - - mgcPort[port].mgcfOperSteps[step].localChnl = aasChnl; - mgcPort[port].mgcfOperSteps[step].chnlConnectIndex = aasChnl.connectNo; - mgcPort[port].mgcfOperSteps[step++].cmd = MGCP_CMD_DLCX; - } - } - } - - mgcPort[port].mgcfOperId = MGC_OPER_ID_CONNECT_TONE; - mgcPort[port].mgcfState = MGC_MGCF_STATE_REQUEST; - - mgcPort[port].mgcfOperStepsNum = step; - - sprintf(tmpStr, "mgc_connect_tone: succeed, usrPort = %d, Org: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, connectIndex = %d, Dest: mgNo = %d, portNo = %d, chnlNo = %d, connectNo = %d, connectIndex = %d, step = %d\n\r", - usrPort, orgChnl.mgNo, orgChnl.portNo, orgChnl.chlNo, orgChnl.connectNo, orgConnectIndex, dstChnl.mgNo, dstChnl.portNo, dstChnl.chlNo, dstChnl.connectNo, destConnectIndex, step); - mgc_log_procedure(orgChnl.mgNo, phyPortOrg, chnlIndexOrg, tmpStr); - - return 0; -} - -int mgc_query_mg_status(WORD mgNo) -{ - if (mgNo >= MGC_MAX_NUM_OF_MG) - { - mgc_log_err("mgc_query_mg_status: invalid mgNo!\n\r"); - return -1; - } - - return mgcMgInfo[mgNo].status; -} - -int mgc_query_port_status(WORD mgNo, BYTE portNo) -{ - if ((mgNo >= MGC_MAX_NUM_OF_MG) || - (portNo >= MGC_MAX_PHY_PORT_PER_MG) || (0 == mgcPhyPort[mgcMgInfo[mgNo].portIndex[portNo]].created)) - { - mgc_log_err("mgc_query_port_status: invalid mgNo or portNo!\n\r"); - return 0; - } - - return mgcPhyPort[mgcMgInfo[mgNo].portIndex[portNo]].phyStatus; -} - -int mgc_query_channel_status(CHNL chnl) -{ - if ((chnl.mgNo >= MGC_MAX_NUM_OF_MG) || - (chnl.portNo >= MGC_MAX_PHY_PORT_PER_MG)) - { - mgc_log_err("mgc_query_channel_status: invalid mgNo or portNo!\n\r"); - return -1; - } - - return mgcChnl[mgcPhyPort[mgcMgInfo[chnl.mgNo].portIndex[chnl.portNo]].chnlStartIndex + chnl.chlNo].status; -} - -int mgc_create_virtual_chnl(WORD port, CHNL *chnl) -{ - int chnlIndex; - char tmpStr[128]; - - chnl->mgNo = MGC_INTERNAL_VIRTUAL_MG; - chnl->portNo = 0; - if ((chnlIndex = mgc_assign_chnl(0xFF, MGC_INTERNAL_VIRTUAL_MG, 0xFF, MGC_MG_TYPE_INTERNAL)) < 0) - { - mgc_log_err("mgc_create_virtual_chnl: can't allocate virtual channel!\n\r"); - return -1; - } - - chnl->chlNo = chnlIndex - mgcMgInfo[chnl->mgNo].chnlStartIndex; - - if (mgc_assign_connect_to_chnl(*chnl) < 0) - { - mgc_log_err("mgc_create_virtual_chnl: can't allocate connect!\n\r"); - return -1; - } - - sprintf(tmpStr, "mgc_create_virtual_chnl: succeed, usrPort = %d, assigned chnlIndex = %d\n\r", port, chnlIndex); - mgc_log_procedure(chnl->mgNo, 0xFFFF, chnlIndex, tmpStr); -// mgc_asciout_proc(tmpStr); - - return 0; -} - -int mgc_release_virtual_chnl(WORD port, CHNL chnl) -{ - WORD chnlIndex; - char tmpStr[128]; - int connectIndex; - WORD associPort; - WORD aasChnlIndex; - WORD aasConnectIndex; - CHNL aasChnl; - - if ((chnl.mgNo != MGC_INTERNAL_VIRTUAL_MG) || - (chnl.portNo != 0)) - { - mgc_log_err("mgc_release_virtual_chnl: invalid mgNo or portNo!\n\r"); - return -1; - } - - chnlIndex = mgcMgInfo[chnl.mgNo].chnlStartIndex + chnl.chlNo; - - if ((connectIndex = mgcChnl[chnlIndex].connectIndex[chnl.connectNo]) < MGC_MAX_NUM_OF_CON) - { - - aasChnl = mgcConnectInfo[connectIndex].aasChnl; - - if ((aasChnl.mgNo < MGC_MAX_NUM_OF_MG) && (aasChnl.chlNo < MGC_MAX_NUM_OF_CHNL) - && (aasChnl.connectNo < MGC_MAX_NUM_OF_CHNL_CON)) - { - aasChnlIndex = mgcMgInfo[aasChnl.mgNo].chnlStartIndex + aasChnl.chlNo; - - if ((aasConnectIndex = mgcChnl[aasChnlIndex].connectIndex[aasChnl.connectNo]) < MGC_MAX_NUM_OF_CON) - { - associPort = mgcConnectInfo[aasConnectIndex].port; - if ((associPort < MGC_MAX_NUM_OF_PORT) - && (mgcPort[associPort].assigned != 0)) - { - mgcPort[associPort].mngCmd = MGC_MNG_CMD_OVERWRITE; - mgc_log_err("mgc_release_virtual_chnl: connection aasChnl operation overwritten!\n\r"); - } - } - } - } - else - { - mgc_log_err("mgc_release_virtual_chnl: invalid connectIndex!\n\r"); - } - - mgc_remove_chnl(chnlIndex, MGC_CHNL_NUM_INTERNAL_PER_PORT); - - sprintf(tmpStr, "mgc_release_virtual_chnl: succeed, usrPort = %d, chnlIndex = %d\n\r", port, chnlIndex); - mgc_log_procedure(chnl.mgNo, 0xFFFF, chnlIndex, tmpStr); -// mgc_asciout_proc(tmpStr); - - return 0; -} - -int mgc_query_chnl_media(WORD port, CHNL chnl, PUB_SDP_MSG **mediaInfo) -{ - WORD phyPort, chnlIndex; - WORD connectIndex; - - if ((chnl.mgNo >= MGC_MAX_NUM_OF_MG) || - (chnl.portNo >= MGC_MAX_PHY_PORT_PER_MG)) - { - mgc_log_err("mgc_query_chnl_media: invalid mgNo or portNo!\n\r"); - return -1; - } - - if (mgcMgInfo[chnl.mgNo].mgAttr.mgType == MGC_MG_TYPE_INTERNAL) - chnlIndex = mgcMgInfo[chnl.mgNo].chnlStartIndex + chnl.chlNo; - else - { - phyPort = mgcMgInfo[chnl.mgNo].portIndex[chnl.portNo]; - chnlIndex = mgcPhyPort[phyPort].chnlStartIndex + chnl.chlNo; - } - - if ((connectIndex = mgcChnl[chnlIndex].connectIndex[chnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - { - return -1; - } - - if (mgcConnectInfo[connectIndex].status != MGC_CONNECT_STATUS_CREATED) -// if (mgcChnl[chnlIndex].status != MGC_CHNL_STATUS_CREATED) - return -1; - - *mediaInfo = &mgcConnectInfo[connectIndex].mediaAttr.sdp; -// *mediaInfo = &mgcChnl[chnlIndex].mediaAttr.sdp; - - return 0; -} - -int mgc_payload_to_codec(WORD payload) -{ - if (payload == 3) - return MGC_VCTYPE_GSM; - else if (payload == 84) - return MGC_VCTYPE_GSM_EFR; - else if (payload == 64) - return MGC_VCTYPE_AMR; - else if (payload == 118) - return MGC_VCTYPE_G729B; - else if (payload == 0) - return MGC_VCTYPE_PCMU; - - return MGC_VCTYPE_PCMA; -} - -int mgc_update_chnl_media(WORD port, CHNL chnl, PUB_SDP_MSG *mediaInfo) -{ - WORD chnlIndex; - BYTE i; - WORD connectIndex; - BYTE ptime; - - if ((chnl.mgNo != MGC_INTERNAL_VIRTUAL_MG) || - (chnl.portNo != 0)) - { - mgc_log_err("mgc_update_chnl_media: invalid mgNo or portNo!\n\r"); - return -1; - } - - chnlIndex = mgcMgInfo[chnl.mgNo].chnlStartIndex + chnl.chlNo; - - connectIndex = mgcChnl[chnlIndex].connectIndex[chnl.connectNo]; - - if (connectIndex > MGC_MAX_NUM_OF_CON) - { - mgc_log_err("mgc_update_chnl_media: invalid chnl connectNo!\n\r"); - return -1; - } - - memcpy((BYTE *) &mgcConnectInfo[connectIndex].mediaAttr.sdp, mediaInfo, sizeof(PUB_SDP_MSG)); -// memcpy((BYTE *) &mgcChnl[chnlIndex].mediaAttr.sdp, mediaInfo, sizeof(PUB_SDP_MSG)); - - mgcConnectInfo[connectIndex].codecList.num = mediaInfo->medias.medias[0].m.plNum; - for (i = 0; i < mgcConnectInfo[connectIndex].codecList.num; i++) - mgcConnectInfo[connectIndex].codecList.codec[i] = mgc_payload_to_codec(mediaInfo->medias.medias[0].m.payloads[i]); - mgcConnectInfo[connectIndex].codecList.priority = 256; - - ptime = atoi(mediaInfo->medias.medias[0].attrs.attrs[0].aValue); - - mgcConnectInfo[connectIndex].mediaAttr.ptime = ptime; - - if (MGC_MG_TYPE_INTERNAL == mgcMgInfo[chnl.mgNo].mgAttr.mgType) - { -// mgcChnl[chnl.chlNo].status = MGC_CHNL_STATUS_CREATED; - mgcConnectInfo[connectIndex].status = MGC_CONNECT_STATUS_CREATED; - } - -// mgcChnl[chnlIndex].codecList.num = mediaInfo->medias.medias[0].m.plNum; -// for (i = 0; i < mgcChnl[chnlIndex].codecList.num; i++) -// mgcChnl[chnlIndex].codecList.codec[i] = mgc_payload_to_codec(mediaInfo->medias.medias[0].m.payloads[i]); -// mgcChnl[chnlIndex].codecList.priority = 1; - - return 0; -} - -int mgc_license_ctrl(WORD maxMgNum, WORD maxChnlNum) -{ - char tmpStr[128]; - - if ((maxMgNum > MGC_MAX_NUM_OF_MG) || - (maxChnlNum > MGC_MAX_NUM_OF_CHNL)) - { - mgc_log_err("mgc_license_ctrl: invalid maxMgNum or maxChnlNum!\n\r"); - return -1; - } - - mgcMaxMgNo = maxMgNum; - mgcMaxChlNo = maxChnlNum; - - sprintf(tmpStr, "mgc_license_ctrl: succeed, mgcMaxMgNo = %d, mgcMaxChlNo = %d\n\r", mgcMaxMgNo, mgcMaxChlNo); - mgc_asciout_proc(tmpStr); - - return 0; -} - -int mgc_rsp(BYTE cmd, WORD usrPort, WORD port, WORD retCode, MEDIA_ATTR *mediaAttr) -{ - WORD portIndex; - WORD chnlIndex; - PORT_INFO *portInfo; - char tmpStr[128]; - int connectIndex; - - if ((port >= MGC_MAX_NUM_OF_PORT) || - ((cmd != MGCP_CMD_CRCX) && (mgcPort[port].usrPort != usrPort)) || - (mgcPort[port].llCmd != cmd)) - { - mgc_log_err("mgc_rsp: invalid port or cmd!\n\r"); - return -1; - } - - portInfo = &mgcPort[port]; - - if (MGC_MG_TYPE_ANN == mgcMgInfo[portInfo->mgcfChnl.mgNo].mgAttr.mgType) - { - chnlIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - else - { - portIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].portIndex[portInfo->mgcfChnl.portNo]; - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - - - if ((cmd == MGCP_CMD_CRCX) && (retCode == 200)) - { - if ((connectIndex = mgcChnl[chnlIndex].connectIndex[portInfo->mgcfChnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - { - mgc_log_err("mgc_rsp: CRCX invalid connectIndex!\n\r"); - return -1; - } - - sprintf(mgcConnectInfo[connectIndex].mediaAttr.conId, "%X%04X%lX", portInfo->mgcfChnl.connectNo, usrPort, time(NULL)); - -// memcpy((BYTE *) &mgcChnl[chnlIndex].mediaAttr.sdp, (BYTE *) mediaAttr, sizeof(PUB_SDP_MSG)); - memcpy((BYTE *) &mgcConnectInfo[connectIndex].mediaAttr.sdp, (BYTE *) mediaAttr, sizeof(PUB_SDP_MSG)); - } - - mgcPort[port].usrCmd = retCode; - - sprintf(tmpStr, "mgc_rsp: succeed, usrPort = %d, port = %d, retCode = %d, cmd = %d\n\r", usrPort, port, retCode, cmd); - mgc_log_procedure(portInfo->mgcfChnl.mgNo, portIndex, chnlIndex, tmpStr); - - return 0; -} diff --git a/omc/plat/mgc/src/mgc_fsm.c.bak b/omc/plat/mgc/src/mgc_fsm.c.bak deleted file mode 100644 index 03628e7..0000000 --- a/omc/plat/mgc/src/mgc_fsm.c.bak +++ /dev/null @@ -1,1052 +0,0 @@ -#include "./include/mgc_pub.h" -#include "./include/mgc.h" -#include "./include/mgc_const.h" -#include "./include/mgc_ext.h" -#include "./include/mgc_struct.h" -#include "./include/mgc_debug.h" - -extern void mgc_port_init(WORD port); - -int mgc_create_para_call_id(PORT_INFO *portInfo, CONNECT_INFO *connectInfo) -{ - if (connectInfo->mediaAttr.callId[0] == '\0') - { - sprintf(connectInfo->mediaAttr.callId, "%X%lX", portInfo->usrPort, time(NULL)); - } - - strcpy(mgcMgcpPara.c.callId, connectInfo->mediaAttr.callId); - - mgcMgcpPara.flag |= MGCP_PARA_FLAG_C; - - return 0; -} - -int mgc_create_para_con_id(PORT_INFO *portInfo, CONNECT_INFO *connectInfo) -{ - - strcpy(mgcMgcpPara.i.conId, connectInfo->mediaAttr.conId); - mgcMgcpPara.flag |= MGCP_PARA_FLAG_I; - - return 0; -} - -int mgc_create_para_local_opt(PORT_INFO *portInfo, CONNECT_INFO *connectInfo) -{ - mgcMgcpPara.l.p = connectInfo->mediaAttr.ptime; - - if (connectInfo->mediaAttr.vocoderType > MGC_VCTYPE_MAX_1) - { - strcpy(mgcMgcpPara.l.codec, vcName[0]); - } - else - { - strcpy(mgcMgcpPara.l.codec, vcName[connectInfo->mediaAttr.vocoderType]); - }//add by Francis - - mgcMgcpPara.l.ecDisable = connectInfo->mediaAttr.ecDisable; - mgcMgcpPara.l.ssDisable = connectInfo->mediaAttr.ssDisable; - mgcMgcpPara.flag |= MGCP_PARA_FLAG_L; - - return 0; -} - -int mgc_create_para_con_mode(PORT_INFO *portInfo, CONNECT_INFO *connectInfo) -{ - if (connectInfo->mediaAttr.conMode > 3)//new replace - { - return -1; - }//add by Francis - - mgcMgcpPara.m.mode = connectInfo->mediaAttr.conMode; - mgcMgcpPara.flag |= MGCP_PARA_FLAG_M; - - return 0; -} - -int mgc_create_para_signal_request(PORT_INFO *portInfo, CHNL_INFO *chnlInfo) -{ - if (chnlInfo == NULL) - { - mgcMgcpPara.s.pkg = 0; - mgcMgcpPara.s.signal = 0; - } - else - { - mgcMgcpPara.s.pkg = chnlInfo->comMediaAttr.pkgSignal >> 8; - mgcMgcpPara.s.signal = chnlInfo->comMediaAttr.pkgSignal & 0xFF; - } - mgcMgcpPara.flag |= MGCP_PARA_FLAG_S; - - return 0; -} - -int mgc_create_para_sdp(PORT_INFO *portInfo, CONNECT_INFO *connectInfo) -{ - - memcpy((BYTE *) &mgcMgcpPara.sdp, (BYTE *) &connectInfo->mediaAttr.sdp, sizeof(PUB_SDP_MSG)); - mgcMgcpPara.flag |= MGCP_PARA_FLAG_SDP; - - return 0; -} - -int mgc_create_para_crcx(BYTE type, WORD port, WORD localConnectIndex) -{ - PORT_INFO *portInfo; - CONNECT_INFO *connectInfo; - - if (port >= MGC_MAX_NUM_OF_PORT) - { - return -1; - }//add by Francis - - portInfo = &mgcPort[port]; - connectInfo = &mgcConnectInfo[localConnectIndex];//new replace - - if (type == MGCP_COMMAND) - { - if (mgc_create_para_con_mode(portInfo, connectInfo) < 0) - { - return -1; - }//add by Francis - - mgc_create_para_call_id(portInfo, connectInfo); - mgc_create_para_local_opt(portInfo, connectInfo); - - if ((mgcPort[port].mgcfOperId == MGC_OPER_ID_CONNECT_TONE) - || (mgcPort[port].mgcfOperId == MGC_OPER_ID_CONNECT_AAS)) - { - mgc_create_para_sdp(portInfo, connectInfo); - } - } - else - { - mgc_create_para_con_id(portInfo, connectInfo); - mgc_create_para_sdp(portInfo, connectInfo); - } - - return 0; -} - -int mgc_create_para_mdcx(BYTE type, WORD port, WORD localChnlIndex, WORD remoteChnlIndex, WORD localConnectIndex, WORD remoteConnectIndex) -{ - PORT_INFO *portInfo; - CHNL_INFO *localChnlInfo, *remoteChnlInfo; - CONNECT_INFO *localConnectInfo; - CONNECT_INFO *remoteConnectInfo; - - if ((port >= MGC_MAX_NUM_OF_PORT) || (localChnlIndex >= mgcMaxChlNo)) - { - return -1; - }//add by Francis - - portInfo = &mgcPort[port]; - localChnlInfo = &mgcChnl[localChnlIndex]; - remoteChnlInfo = &mgcChnl[remoteChnlIndex]; - localConnectInfo = &mgcConnectInfo[localConnectIndex]; - remoteConnectInfo = &mgcConnectInfo[remoteConnectIndex]; - - - if (type == MGCP_COMMAND) - { - if (mgc_create_para_con_mode(portInfo, localConnectInfo) < 0) - { - return -1; - }//add by Francis - - mgc_create_para_call_id(portInfo, localConnectInfo); - mgc_create_para_con_id(portInfo, localConnectInfo); - mgc_create_para_local_opt(portInfo, localConnectInfo); - mgc_create_para_signal_request(portInfo, localChnlInfo); - - if (localConnectInfo->mediaAttr.conMode >= MGCP_CON_MODE_SENDONLY) - { - mgc_create_para_sdp(portInfo, remoteConnectInfo); - } - - if ((portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].flag & MGCP_PARA_FLAG_TFO) == MGCP_PARA_FLAG_TFO) - { - mgcMgcpPara.flag |= MGCP_PARA_FLAG_TFO; - } - } - - return 0; -} - -int mgc_create_para_dlcx(BYTE type, WORD port, WORD chnlIndex, WORD connectIndex) -{ - PORT_INFO *portInfo; - CHNL_INFO *chnlInfo = NULL; - CONNECT_INFO *connectInfo; - - if ((port >= MGC_MAX_NUM_OF_PORT) || (chnlIndex >= mgcMaxChlNo)) - { - return -1; - }//add by Francis - - portInfo = &mgcPort[port]; - chnlInfo = &mgcChnl[chnlIndex]; - connectInfo = &mgcConnectInfo[connectIndex]; - - if (type == MGCP_COMMAND) - { - if (chnlIndex < MGC_MAX_NUM_OF_CHNL) - { - if (0 == (portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].flag & 0x01)) - { - mgc_create_para_call_id(portInfo, connectInfo); - mgc_create_para_con_id(portInfo, connectInfo); - } - } - mgc_create_para_signal_request(portInfo, chnlInfo); - } - - return 0; -} - -int mgc_create_para_rqnt(BYTE type, WORD port, WORD chnlIndex) -{ - PORT_INFO *portInfo; - CHNL_INFO *chnlInfo; - - if ((port >= MGC_MAX_NUM_OF_PORT) || (chnlIndex >= mgcMaxChlNo)) - { - return -1; - }//add by Francis - - portInfo = &mgcPort[port]; - chnlInfo = &mgcChnl[chnlIndex]; - - if (type == MGCP_COMMAND) - mgc_create_para_signal_request(portInfo, chnlInfo); - - return 0; -} - -int mgc_create_para_auep(BYTE type, WORD port, WORD chnlIndex) -{ - return 0; -} - -int mgc_create_para(BYTE type, WORD port, MG_ATTR *mgAttr, BYTE cmd) -{ - PORT_INFO *portInfo; - CHNL remChnl; - WORD localChnlIndex = 0xFFFF, remoteChnlIndex; - WORD localConnectIndex; - WORD remoteConnectIndex; - - if (port >= MGC_MAX_NUM_OF_PORT) - { - return -1; - }//add by Francis - - portInfo = &mgcPort[port]; - - if ((type == MGCP_RESPONSE) && (mgcMgInfo[portInfo->mgcfChnl.mgNo].usrType == MGC_USER_TYPE_MG)) - { - mgcMgcpPara.ip = portInfo->ip; - } - else - { - mgcMgcpPara.ip = mgAttr->ip; - } - - if (mgcMgInfo[portInfo->mgcfChnl.mgNo].usrType == MGC_USER_TYPE_MGC) - { - mgcMgcpPara.localPort = MGC_MGCP_MGC_PORT; - mgcMgcpPara.peerPort = MGC_MGCP_MG_PORT; - } - else - { - mgcMgcpPara.localPort = MGC_MGCP_MG_PORT; - mgcMgcpPara.peerPort = MGC_MGCP_MGC_PORT; - } - mgcMgcpPara.flag = 0; - - mgcMgcpPara.sl.cmdRes = type; - if (type == MGCP_COMMAND) - { - mgcMgcpPara.sl.epNameMethod = mgAttr->epDes; - mgcMgcpPara.sl.mgType = mgAttr->mgType; - if (mgc_is_non_virtual_mg(mgAttr->mgType)) - { - mgcMgcpPara.sl.portType = mgcPhyPort[mgcMgInfo[portInfo->mgcfChnl.mgNo].portIndex[portInfo->mgcfChnl.portNo]].portType; - } - else - { - mgcMgcpPara.sl.portType = 0; - }//add by Francis - mgcMgcpPara.sl.trkNum = portInfo->mgcfChnl.portNo; - mgcMgcpPara.sl.chlNum = portInfo->mgcfChnl.chlNo; - strcpy(mgcMgcpPara.sl.mgName, mgAttr->domain); - } - else - mgcMgcpPara.sl.retCode = portInfo->usrCmd; - - mgcMgcpPara.flag |= MGCP_PARA_FLAG_SL; - - if (portInfo->mgcfChnl.chlNo < MGC_MAX_NUM_OF_CHNL) - { - if ((MGC_MG_TYPE_ANN == mgcMgInfo[portInfo->mgcfChnl.mgNo].mgAttr.mgType) - || (MGC_MG_TYPE_INTERNAL == mgcMgInfo[portInfo->mgcfChnl.mgNo].mgAttr.mgType)) - { - localChnlIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - else - { - localChnlIndex = mgcPhyPort[mgcMgInfo[portInfo->mgcfChnl.mgNo].portIndex[portInfo->mgcfChnl.portNo]].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - } - - if ((MGCP_CMD_RQNT != cmd) && (MGCP_CMD_NTFY != cmd) && (MGCP_CMD_AUEP != cmd) && (MGCP_CMD_RSIP != cmd)) - { - localConnectIndex = mgcChnl[localChnlIndex].connectIndex[portInfo->mgcfChnl.connectNo]; - - if (localConnectIndex >= MGC_MAX_NUM_OF_CON) - { - mgc_log_err("mgc_create_para: localConnectIndex out of range!\n\r"); - return -1; - } - } - - switch (cmd) - { - case MGCP_CMD_CRCX: - mgc_create_para_crcx(type, port, localConnectIndex); - break; - case MGCP_CMD_MDCX: - remChnl = portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].remChnl; - if (MGC_MG_TYPE_INTERNAL != mgcMgInfo[remChnl.mgNo].mgAttr.mgType) - remoteChnlIndex = mgcPhyPort[mgcMgInfo[remChnl.mgNo].portIndex[remChnl.portNo]].chnlStartIndex + remChnl.chlNo; - else - remoteChnlIndex = mgcMgInfo[remChnl.mgNo].chnlStartIndex + remChnl.chlNo; - - remoteConnectIndex = mgcChnl[remoteChnlIndex].connectIndex[remChnl.connectNo]; - if (mgcConnectInfo[localConnectIndex].mediaAttr.conMode >= MGCP_CON_MODE_SENDONLY) - { - if (remoteConnectIndex >= MGC_MAX_NUM_OF_CON) - { - mgc_log_err("mgc_create_para: remoteConnectIndex out of range!\n\r"); - return -1; - } - } - - mgc_create_para_mdcx(type, port, localChnlIndex, remoteChnlIndex, localConnectIndex, remoteConnectIndex); - break; - case MGCP_CMD_DLCX: - mgc_create_para_dlcx(type, port, localChnlIndex, localConnectIndex); - break; - case MGCP_CMD_RQNT: - mgc_create_para_rqnt(type, port, localChnlIndex); - break; - case MGCP_CMD_AUEP: - mgc_create_para_auep(type, port, localChnlIndex); - break; - } - - return 0; -} - - -int mgc_update_connect_media_by_step(WORD port, BYTE savPort, CHNL mgcfChnl, MGCF_OPER_STEP *currOperStep) -{ - WORD portIndex, chnlIndex; - WORD connectIndex; - PORT_INFO *portInfo; - - portInfo = &mgcPort[port]; - - if ((MGC_MG_TYPE_ANN == mgcMgInfo[mgcfChnl.mgNo].mgAttr.mgType) - || (MGC_MG_TYPE_INTERNAL == mgcMgInfo[mgcfChnl.mgNo].mgAttr.mgType)) - { - chnlIndex = mgcMgInfo[mgcfChnl.mgNo].chnlStartIndex + mgcfChnl.chlNo; - } - else - { - portIndex = mgcMgInfo[mgcfChnl.mgNo].portIndex[mgcfChnl.portNo]; - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + mgcfChnl.chlNo; - } - - if (savPort == MGC_CHNL_CLEAR_PORT) - { - if (portInfo->mngCmd == MGC_MNG_CMD_OVERWRITE) - { - portInfo->mngCmd = MGC_MNG_CMD_IDLE; - } - - if ((portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd != MGCP_CMD_AUEP) && (portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd != MGCP_CMD_RQNT) - && (portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd != MGCP_CMD_RSIP)) - { - connectIndex = mgcChnl[chnlIndex].connectIndex[mgcfChnl.connectNo]; - mgcConnectInfo[connectIndex].port = 0xFFFF; - mgcChnl[chnlIndex].port = 0xFFFF; - - if ((portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd == MGCP_CMD_DLCX) - && (0 == (portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].flag & 0x01))) - { - mgcChnl[chnlIndex].connectIndex[mgcfChnl.connectNo] = 0xFFFF; - } - } - else - { - mgcChnl[chnlIndex].port = 0xFFFF; - } - return 0; - } - else - { - if ((currOperStep->cmd == MGCP_CMD_AUEP) || (currOperStep->cmd == MGCP_CMD_RQNT) || (currOperStep->cmd == MGCP_CMD_RSIP)) - { - mgcChnl[chnlIndex].port = port; - } - else - { - connectIndex = mgcChnl[chnlIndex].connectIndex[mgcfChnl.connectNo]; - - mgcConnectInfo[connectIndex].port = port; - mgcChnl[chnlIndex].port = port; - - mgcConnectInfo[connectIndex].mediaAttr.ptime = currOperStep->media.ptime; - mgcConnectInfo[connectIndex].mediaAttr.conMode = currOperStep->media.conMode; - mgcConnectInfo[connectIndex].mediaAttr.vocoderType = currOperStep->media.vocoderType.codec[0]; - mgcConnectInfo[connectIndex].mediaAttr.pkgSignal = currOperStep->pkgSignal; - } - } - - mgcChnl[chnlIndex].comMediaAttr.pkgSignal = currOperStep->pkgSignal; - - return 0; -} - -BYTE mgc_mgcf_request(WORD port, BYTE *clrFlag, BYTE *Insert) -{ - PORT_INFO *portInfo; - MG_ATTR *mgAttr; - BYTE sapIndex; - WORD cmd, res; - int llPort; - WORD portIndex = 0xFFFF; - WORD chnlIndex = 0xFFFF; - char tmpStr[128]; - int i; - WORD connectIndex = 0xFFFF; - BYTE toneNo; - - if (port >= MGC_MAX_NUM_OF_PORT) - { - return 0; - }//add by Francis - - portInfo = &mgcPort[port]; - mgAttr = &mgcMgInfo[portInfo->mgcfChnl.mgNo].mgAttr; - - if ((MGC_MG_TYPE_ANN == mgAttr->mgType) - || (MGC_MG_TYPE_INTERNAL == mgAttr->mgType)) - { - chnlIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - else - { - portIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].portIndex[portInfo->mgcfChnl.portNo]; - if ((portIndex < MGC_MAX_NUM_OF_PHY_PORT) - && (portInfo->mgcfChnl.chlNo < MGC_MAX_NUM_OF_CHNL)) - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - - *clrFlag = 0; - - if ((chnlIndex >= MGC_MAX_NUM_OF_CHNL) || (portInfo->mgcfChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON)) - return 2; - - if ((portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd != MGCP_CMD_AUEP) - && (portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd != MGCP_CMD_RQNT) - && (portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd != MGCP_CMD_RSIP)) - { - if ((portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].chnlConnectIndex != portInfo->mgcfChnl.connectNo) - || ((connectIndex = mgcChnl[chnlIndex].connectIndex[portInfo->mgcfChnl.connectNo]) >= MGC_MAX_NUM_OF_CON)) - { -// *clrFlag = 1; - return 2; - } - } - - if (portInfo->mgcfOperStepsNum >= MGC_MAX_OPER_STEPS_NUM) - { - mgc_log_err("mgc_mgcf_request: OperStepsNum out of range!\n\r"); - *clrFlag = 1; - return 2; - } - - switch (portInfo->mgcfState2) - { - case 0: - cmd = portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd; - - if (cmd != MGCP_CMD_AUEP) - { - if (chnlIndex < MGC_MAX_NUM_OF_CHNL) - { - if (((cmd != MGCP_CMD_RQNT) && (cmd != MGCP_CMD_RSIP) && (mgcConnectInfo[connectIndex].port < MGC_MAX_NUM_OF_PORT)) - || (((cmd == MGCP_CMD_RQNT) || (cmd == MGCP_CMD_RSIP)) && (mgcChnl[chnlIndex].port < MGC_MAX_NUM_OF_PORT))) - { - if (portInfo->mgcfTimer == 0) - portInfo->mgcfTimer = MGC_MGCF_TIMER_20S; - else if (--portInfo->mgcfTimer == 0) - { - *clrFlag = 1;// - return 2; - } - return 0; - } - else if (cmd == MGCP_CMD_CRCX) - { - if (mgcConnectInfo[connectIndex].status == MGC_CONNECT_STATUS_CREATED) - { - *clrFlag = 0;// - return 1; - } - else - portInfo->mgcfTimer = 0; - } - - mgc_update_connect_media_by_step(port, MGC_CHNL_SAVE_PORT, mgcPort[port].mgcfChnl, &mgcPort[port].mgcfOperSteps[mgcPort[port].mgcfOperStepIndex]); - } - } - - mgc_create_para(MGCP_COMMAND, port, mgAttr, cmd); - - if ((llPort = MGCP_req(mgcMgcpSapIndex, cmd, port, &mgcMgcpPara)) < 0) - { - sprintf(tmpStr, "mgc_mgcf_request: MGCP_req failed, cmd: %d, usrPort: %d, port = %d\n\r", cmd, portInfo->usrPort, port); - mgc_log_err(tmpStr); - - if (cmd != MGCP_CMD_AUEP) - { - if (MGC_MG_TYPE_ANN == mgAttr->mgType) - { -// sapIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].sapIndex; - sapIndex = mgcChnl[chnlIndex].sapIndex; - } - else - { - sapIndex = mgcPhyPort[portIndex].sapIndex; - } - - if (mgcSap[sapIndex].mgc_cnf != NULL) - mgcSap[sapIndex].mgc_cnf(portInfo->usrPort, port, portInfo->mgcfOperId, MGC_OPER_FAILURE, MGCP_RET_CODE_TRANS_TIME_OUT); - *clrFlag = 1; - } - else // AUEP - { - mgcChnl[chnlIndex].auepSt = MGC_CHNL_AUEP_IDLE; - *clrFlag = 0; - } - return 2; - } - - sprintf(tmpStr, "mgc_mgcf_request: send mgcp command: %d, port = %d, llPort = %d, OperStepIndex = %d\n\r", cmd, port, llPort, portInfo->mgcfOperStepIndex); - mgc_log_procedure(portInfo->mgcfChnl.mgNo, portIndex, chnlIndex, tmpStr); - - //if (cmd == MGCP_CMD_CRCX) - //mgcChnl[chnlIndex].status = MGC_CHNL_STATUS_CREATING; - - portInfo->llPort = llPort; - portInfo->mgcfTimer = MGC_MGCF_TIMER_20S; - portInfo->mgcfState2 = 1; - break; - case 1: - if (portInfo->llCmd != 0) - { - res = portInfo->llCmd; - portInfo->llCmd = 0; - - if ((res >= 100) && (res < 200)) - return 0; - - if (MGC_MG_TYPE_ANN == mgAttr->mgType) - { -// sapIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].sapIndex; - sapIndex = mgcChnl[chnlIndex].sapIndex; - } - else - { - sapIndex = mgcPhyPort[portIndex].sapIndex; - } - - cmd = portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd; - - sprintf(tmpStr, "mgc_mgcf_request: got response: %d, port = %d, usrPort = %d\n\r", res, port, portInfo->usrPort); - mgc_log_procedure(portInfo->mgcfChnl.mgNo, portIndex, chnlIndex, tmpStr); - - if ((res == 200) || - ((res == 250) && (cmd == MGCP_CMD_DLCX))) - { - if (cmd == MGCP_CMD_AUEP) - { // AUEP - mgcMgInfo[portInfo->mgcfChnl.mgNo].stLast = 1; - - if (mgc_is_non_virtual_mg(mgcMgInfo[portInfo->mgcfChnl.mgNo].mgAttr.mgType))//revise by Francis 0822 - { - for (i = 0; i < MGC_MAX_PHY_PORT_PER_MG; i++) - { - portIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].portIndex[i]; - if (portIndex != 0xFFFF) - { - mgcPhyPort[portIndex].stLast = 1; - } - } - } - - mgcChnl[chnlIndex].auepSt = MGC_CHNL_AUEP_IDLE; - *clrFlag = 0; - return 2; - } - else - { - if (cmd == MGCP_CMD_CRCX) - { - if ((MGC_MG_TYPE_ANN == mgAttr->mgType) - || (MGC_MG_TYPE_INTERNAL == mgAttr->mgType)) - { - chnlIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - else - { - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - - mgcChnl[chnlIndex].connectNum++; - - if ((portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex-1].flag & 0x01) == 1) - { - mgcConnectInfo[connectIndex].assigned = 1; - } - mgcConnectInfo[connectIndex].status = MGC_CONNECT_STATUS_CREATED; - } - - if (cmd == MGCP_CMD_DLCX) - { - if ((MGC_MG_TYPE_ANN == mgAttr->mgType) - || (MGC_MG_TYPE_INTERNAL == mgAttr->mgType)) - { - chnlIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - else - { - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - - mgcChnl[chnlIndex].connectNum--; - mgcConnectInfo[connectIndex].assigned = 0; - mgcConnectInfo[connectIndex].status = MGC_CONNECT_STATUS_IDLE; - } - - if ((portInfo->mgcfOperStepIndex + 1) >= portInfo->mgcfOperStepsNum) - { - if (mgcSap[sapIndex].mgc_cnf == NULL) - { - *clrFlag = 1;// - return 2; - } - mgcSap[sapIndex].mgc_cnf(portInfo->usrPort, port, portInfo->mgcfOperId, MGC_OPER_SUCCESS, 0); - - if (0 == portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].delay) - *clrFlag = 1;// - - return 1; - } - } - } - else if ((MGCP_CMD_CRCX == cmd) && (502 == res)) - { - for (i = portInfo->mgcfOperStepsNum; i > portInfo->mgcfOperStepIndex; i--) - { - portInfo->mgcfOperSteps[i] = portInfo->mgcfOperSteps[i-1]; - } - - - portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].cmd = MGCP_CMD_DLCX; - portInfo->mgcfOperStepsNum = portInfo->mgcfOperStepsNum + 1; - - portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].flag |= 0x01; - portInfo->mgcfState2 = 0; - *Insert = 1; - *clrFlag = 1; - return 1; - }//add by Franics 0823 - else if (cmd != MGCP_CMD_AUEP) - { - if (mgcSap[sapIndex].mgc_cnf != NULL) - mgcSap[sapIndex].mgc_cnf(portInfo->usrPort, port, portInfo->mgcfOperId, MGC_OPER_FAILURE, cmd); - - mgc_connect_init(connectIndex); - *clrFlag = 1; - return 2; - } - else - { // AUEP - *clrFlag = 0; - mgcChnl[chnlIndex].auepSt = MGC_CHNL_AUEP_IDLE; - return 2; - } - - if (portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].delay == 0) - { - portInfo->mgcfState2 = 0; - *clrFlag = 1; - return 1; - } - else - { - portInfo->mgcfTimer = portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].delay; - portInfo->mgcfState2 = 2; - } - } - else if (portInfo->mgcfTimer > 0) - { - if (--portInfo->mgcfTimer == 0) - { - sprintf(tmpStr, "mgc_mgcf_request: timeout, port = %d, usrPort = %d\n\r", port, portInfo->usrPort); - mgc_log_procedure(portInfo->mgcfChnl.mgNo, portIndex, chnlIndex, tmpStr); - - if ((cmd != MGCP_CMD_AUEP) && (MGCP_CMD_RQNT != cmd) && (MGCP_CMD_RSIP != cmd)) - { -// if (cmd == MGCP_CMD_DLCX) -// { - if ((MGC_MG_TYPE_ANN == mgAttr->mgType) - || (MGC_MG_TYPE_INTERNAL == mgAttr->mgType)) - { - chnlIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - else - { - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - - mgcChnl[chnlIndex].connectNum--; - mgcConnectInfo[connectIndex].assigned = 0; - mgcConnectInfo[connectIndex].status = MGC_CONNECT_STATUS_IDLE; -// } - - if (mgcSap[sapIndex].mgc_cnf != NULL) - mgcSap[sapIndex].mgc_cnf(portInfo->usrPort, port, portInfo->mgcfOperId, MGC_OPER_FAILURE, MGCP_RET_CODE_TRANS_TIME_OUT); - *clrFlag = 1; - } - else // AUEP - { - *clrFlag = 0; - mgcChnl[chnlIndex].auepSt = MGC_CHNL_AUEP_IDLE; - } - return 2; - } - } - break; - case 2: - if (MGC_MG_TYPE_ANN == mgAttr->mgType) - { - sapIndex = mgcChnl[chnlIndex].sapIndex; - } - else - { - sapIndex = mgcPhyPort[portIndex].sapIndex; - } - - if (portInfo->mngCmd != MGC_MNG_CMD_IDLE) - { - if (portInfo->mngCmd == MGC_MNG_CMD_OVERWRITE) - { - if ((0 != portInfo->mgcfOperSteps[portInfo->mgcfOperStepIndex].pkgSignal) - || (portInfo->mgcfOperId = MGC_OPER_ID_CONNECT_TONE) - || (portInfo->mgcfOperId = MGC_OPER_ID_CONNECT_AAS)) - { - portInfo->mgcfState2 = 0; - - *clrFlag = 1;// - - return 1; - } - else - { - *clrFlag = 1;// - return 2; - } - } - else if (portInfo->mngCmd == MGC_MNG_CMD_CLEAR_AFTER_OPER) - { - if ((MGC_MG_TYPE_ANN == mgAttr->mgType) - || (MGC_MG_TYPE_INTERNAL == mgAttr->mgType)) - { - chnlIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - else - { - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - - mgcChnl[chnlIndex].connectNum--; - mgcConnectInfo[connectIndex].assigned = 0; - mgcConnectInfo[connectIndex].status = MGC_CONNECT_STATUS_IDLE; - - if (mgcSap[sapIndex].mgc_cnf != NULL) - { - if (MGC_OPER_ID_CONNECT_AAS == portInfo->mgcfOperId) - { - toneNo = (portInfo->mgcfChnl.chlNo%10) + 7; - mgcSap[sapIndex].mgc_cnf(portInfo->usrPort, port, portInfo->mgcfOperId, MGC_OPER_SUCCESS, toneNo); - } - else - { - mgcSap[sapIndex].mgc_cnf(portInfo->usrPort, port, portInfo->mgcfOperId, MGC_OPER_SUCCESS, 0); - } - } - - *clrFlag = 1;// - return 2; - } - } - else if (portInfo->mgcfTimer > 0) - { - if (--portInfo->mgcfTimer == 0) - { - *clrFlag = 1;// - - portInfo->mgcfState2 = 0; - - return 1; - } - } - break; - } - - return 0; -} - -BYTE mgc_mgcf_indication(WORD port) -{ - PORT_INFO *portInfo; - MG_ATTR *mgAttr; - BYTE sapIndex; - WORD portIndex; - WORD chnlIndex; - WORD cmd, res; - char tmpStr[128]; - int connectIndex; - - if (port >= MGC_MAX_NUM_OF_PORT) - { - return 0; - }//add by Francis - - portInfo = &mgcPort[port]; - mgAttr = &mgcMgInfo[portInfo->mgcfChnl.mgNo].mgAttr; - - if ((mgAttr->mgType == MGC_MG_TYPE_ANN) - || (mgAttr->mgType == MGC_MG_TYPE_INTERNAL)) - { - chnlIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - else - { - portIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].portIndex[portInfo->mgcfChnl.portNo]; - - if (portIndex >= MGC_MAX_NUM_OF_PHY_PORT) - { - mgc_log_err("mgc_mgcf_indication: invalid portIndex!\n\r"); - return -1; - } - - chnlIndex = mgcPhyPort[portIndex].chnlStartIndex + portInfo->mgcfChnl.chlNo; - } - - if (((portInfo->llCmd != MGCP_CMD_RSIP) && (chnlIndex >= MGC_MAX_NUM_OF_CHNL)) || (portInfo->mgcfChnl.connectNo >= MGC_MAX_NUM_OF_CHNL_CON)) - return -1; - - if ((portInfo->llCmd != MGCP_CMD_RQNT) && (portInfo->llCmd != MGCP_CMD_AUEP) - && (portInfo->llCmd != MGCP_CMD_RSIP)) - { - if ((connectIndex = mgcChnl[chnlIndex].connectIndex[portInfo->mgcfChnl.connectNo]) >= MGC_MAX_NUM_OF_CON) - { - mgc_log_err("mgc_mgcf_indication: invalid connectIndex!\n\r"); - return -1; - } - } - - switch (portInfo->mgcfState2) - { - case 0: - cmd = portInfo->llCmd; - - if (MGC_MG_TYPE_ANN == mgAttr->mgType) - { -// sapIndex = mgcMgInfo[portInfo->mgcfChnl.mgNo].sapIndex; - sapIndex = mgcChnl[chnlIndex].sapIndex; - } - else - { - sapIndex = mgcPhyPort[portIndex].sapIndex; - } - - sprintf(tmpStr, "mgc_mgcf_indication: send mgcp indication: %d, port = %d, mgNo: %d, portNo: %d, chlNo: %d\n\r", - cmd, port, portInfo->mgcfChnl.mgNo, portInfo->mgcfChnl.portNo, portInfo->mgcfChnl.chlNo); - mgc_log_procedure(portInfo->mgcfChnl.mgNo, portIndex, chnlIndex, tmpStr); - - if (mgcSap[sapIndex].mgc_ind == NULL) - { - if ((portInfo->llCmd != MGCP_CMD_RQNT) && (portInfo->llCmd != MGCP_CMD_AUEP) - && (portInfo->llCmd != MGCP_CMD_RSIP)) - { - mgcConnectInfo[connectIndex].assigned = 0; - } - - return 1; - } - - if ((cmd != MGCP_CMD_CRCX) && (portInfo->llCmd != MGCP_CMD_RQNT) && (portInfo->llCmd != MGCP_CMD_AUEP) - && (cmd != MGCP_CMD_RSIP) && (mgcSap[sapIndex].usrType == MGC_USER_TYPE_MG)) - { - portInfo->usrPort = ((strtoll(mgcConnectInfo[connectIndex].mediaAttr.conId, NULL, 16))>>32) & 0xFFFF ; - } - - if ((cmd == MGCP_CMD_RSIP) || (cmd == MGCP_CMD_AUEP)) - { - if (mgcSap[sapIndex].mgc_ind(portInfo->mgcfChnl, cmd, &portInfo->usrPort, port, NULL) < 0) - return 1; - } - else if ((MGC_USER_TYPE_MGC == mgcMgInfo[portInfo->mgcfChnl.mgNo].usrType) - && ((MGCP_CMD_CRCX == cmd) || (MGCP_CMD_MDCX == cmd))) - { - mgc_log_err("mgc_mgcf_indication: invalid command!\n\r"); - return -1; - } - else if (mgcSap[sapIndex].mgc_ind(portInfo->mgcfChnl, cmd, &portInfo->usrPort, port, &mgcConnectInfo[connectIndex].mediaAttr) < 0) - { - if ((portInfo->llCmd != MGCP_CMD_RQNT) && (portInfo->llCmd != MGCP_CMD_AUEP) - && (portInfo->llCmd != MGCP_CMD_RSIP)) - { - mgcConnectInfo[connectIndex].assigned = 0; - } - - return 1; - } - - portInfo->mgcfTimer = MGC_MGCF_TIMER_20S; - portInfo->mgcfState2 = 1; - break; - case 1: - if (portInfo->usrCmd != 0) - { - res = portInfo->usrCmd; - portInfo->usrCmd = 0; - - mgc_create_para(MGCP_RESPONSE, port, mgAttr, portInfo->llCmd); - MGCP_rsp(mgcMgcpSapIndex, portInfo->llCmd, port, portInfo->llPort, res, &mgcMgcpPara); - - if (MGCP_CMD_CRCX == portInfo->llCmd) - { - if (200 == res) - { - mgcConnectInfo[connectIndex].status = MGC_CONNECT_STATUS_CREATED; - } - else - { - mgcConnectInfo[connectIndex].assigned = 0; - mgcConnectInfo[connectIndex].status = MGC_CONNECT_STATUS_IDLE; - } - } - else if (MGCP_CMD_DLCX == portInfo->llCmd) - { - mgcConnectInfo[connectIndex].assigned = 0; - mgcConnectInfo[connectIndex].status = MGC_CONNECT_STATUS_IDLE; - } - - sprintf(tmpStr, "mgc_mgcf_indication: send mgcp response: %d, port = %d, llPort = %d\n\r", res, port, portInfo->llPort); - mgc_log_procedure(portInfo->mgcfChnl.mgNo, portIndex, chnlIndex, tmpStr); - - return 1; - } - else if (portInfo->mgcfTimer > 0) - { - if (--portInfo->mgcfTimer == 0) - { - sprintf(tmpStr, "mgc_mgcf_indication: timeout, port = %d\n\r", port); - mgc_log_err(tmpStr); - - MGCP_rsp(mgcMgcpSapIndex, portInfo->llCmd, port, portInfo->llPort, MGCP_RET_CODE_TRANS_TIME_OUT, &mgcMgcpPara); - - if ((portInfo->llCmd != MGCP_CMD_RQNT) && (portInfo->llCmd != MGCP_CMD_AUEP) - && (portInfo->llCmd != MGCP_CMD_RSIP)) - { - mgcConnectInfo[connectIndex].assigned = 0; - mgcConnectInfo[connectIndex].status = MGC_CONNECT_STATUS_IDLE; - } - - sprintf(tmpStr, "mgc_mgcf_indication: send mgcp response: %d, port = %d, llPort = %d\n\r", MGCP_RET_CODE_TRANS_TIME_OUT, port, portInfo->llPort); - mgc_log_procedure(portInfo->mgcfChnl.mgNo, portIndex, chnlIndex, tmpStr); - - return 1; - } - } - break; - } - - return 0; -} - -void mgc_fsm(WORD port) -{ - BYTE clrFlag; - BYTE Insert = 0; - - switch (mgcPort[port].mgcfState) - { - case MGC_MGCF_STATE_REQUEST: - if (0 == mgcPort[port].mgcfOperStepIndex) - mgcPort[port].mgcfChnl = mgcPort[port].mgcfOperSteps[0].localChnl; - - switch (mgc_mgcf_request(port, &clrFlag, &Insert)) - { - case 0: - break; - case 1: - if (clrFlag == 1) - mgc_update_connect_media_by_step(port, MGC_CHNL_CLEAR_PORT, mgcPort[port].mgcfChnl, NULL); - - if (++mgcPort[port].mgcfOperStepIndex >= mgcPort[port].mgcfOperStepsNum) - { - mgcPort[port].mgcfState = MGC_MGCF_STATE_INIT; - } - else - { - if (1 == Insert) - { - mgcPort[port].mgcfOperStepIndex--; - Insert = 0; - } - - mgcPort[port].mgcfChnl = mgcPort[port].mgcfOperSteps[mgcPort[port].mgcfOperStepIndex].localChnl; - mgc_fsm(port); - } - break; - default: - if (clrFlag == 1) - mgc_update_connect_media_by_step(port, MGC_CHNL_CLEAR_PORT, mgcPort[port].mgcfChnl, NULL); - - mgcPort[port].mgcfState = MGC_MGCF_STATE_INIT; - break; - } - break; - case MGC_MGCF_STATE_INDICATION: - switch (mgc_mgcf_indication(port)) - { - case 0: - break; - default: - mgcPort[port].mgcfState = MGC_MGCF_STATE_INIT; - break; - } - break; - case MGC_MGCF_STATE_INIT: - mgc_port_init(port); - break; - } -} diff --git a/omc/plat/mgc_v2/.copyarea.db b/omc/plat/mgc_v2/.copyarea.db deleted file mode 100644 index 463cedb..0000000 --- a/omc/plat/mgc_v2/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgc_v2 -2 -5 -3:doc|2|0|0|0|8290c245a0da11dd9cdb001c23e19543|0 -2:ut|2|0|0|0|9a60c5fda0d911dd9cdb001c23e19543|0 -3:src|2|0|0|0|a76f9fe5aa3711dd84a8001c23e19543|0 -8:Makefile|1|11d70a499b3|b2f|913dc01d|5a6593f5a19211dd8868001c23e19543|0 -3:lib|2|0|0|0|8320c261a0da11dd9cdb001c23e19543|0 diff --git a/omc/plat/mgc_v2/lib/libmgc_v2.a b/omc/plat/mgc_v2/lib/libmgc_v2.a deleted file mode 100644 index 761a070..0000000 Binary files a/omc/plat/mgc_v2/lib/libmgc_v2.a and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc.o b/omc/plat/mgc_v2/obj/mgc.o deleted file mode 100644 index 9be3d90..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_8ecp.o b/omc/plat/mgc_v2/obj/mgc_8ecp.o deleted file mode 100644 index a41da27..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_8ecp.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_chnl_info.o b/omc/plat/mgc_v2/obj/mgc_chnl_info.o deleted file mode 100644 index a74d181..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_chnl_info.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_conn_info.o b/omc/plat/mgc_v2/obj/mgc_conn_info.o deleted file mode 100644 index 00ce05b..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_conn_info.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_ctl.o b/omc/plat/mgc_v2/obj/mgc_ctl.o deleted file mode 100644 index 6122506..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_ctl.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_debug.o b/omc/plat/mgc_v2/obj/mgc_debug.o deleted file mode 100644 index 2640f0f..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_debug.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_internal.o b/omc/plat/mgc_v2/obj/mgc_internal.o deleted file mode 100644 index d401cce..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_internal.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_mg_info.o b/omc/plat/mgc_v2/obj/mgc_mg_info.o deleted file mode 100644 index 1089cba..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_mg_info.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_mgcp.o b/omc/plat/mgc_v2/obj/mgc_mgcp.o deleted file mode 100644 index 948c5fa..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_mgcp.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_phy_port.o b/omc/plat/mgc_v2/obj/mgc_phy_port.o deleted file mode 100644 index 46f38d0..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_phy_port.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_port_info.o b/omc/plat/mgc_v2/obj/mgc_port_info.o deleted file mode 100644 index 81e536d..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_port_info.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_port_list.o b/omc/plat/mgc_v2/obj/mgc_port_list.o deleted file mode 100644 index e7a73da..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_port_list.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_sur_info.o b/omc/plat/mgc_v2/obj/mgc_sur_info.o deleted file mode 100644 index c508189..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_sur_info.o and /dev/null differ diff --git a/omc/plat/mgc_v2/obj/mgc_tandem_info.o b/omc/plat/mgc_v2/obj/mgc_tandem_info.o deleted file mode 100644 index 4cab926..0000000 Binary files a/omc/plat/mgc_v2/obj/mgc_tandem_info.o and /dev/null differ diff --git a/omc/plat/mgc_v2/src/.copyarea.db b/omc/plat/mgc_v2/src/.copyarea.db deleted file mode 100644 index 75ae9dc..0000000 --- a/omc/plat/mgc_v2/src/.copyarea.db +++ /dev/null @@ -1,19 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgc_v2\src -2 -f -5:mgc.c|1|11d8a87d5f1|1680b|b37fa4ff|ed30309baf1211dd889f001c23e19543|0 -e:mgc_phy_port.c|1|11d758d245c|39c5|19d92b91|4bef2902ac8911dd898a001c23e19543|0 -9:mgc_ctl.c|1|11d70a49a6e|c42|38290aaa|8450c2b5a0da11dd9cdb001c23e19543|0 -7:include|2|0|0|0|a8af9fefaa3711dd84a9001c23e19543|0 -b:mgc_debug.c|1|11d8a87d573|4224|9c39cdf9|ec903096af1211dd889f001c23e19543|0 -f:mgc_conn_info.c|1|11d9047aeff|d723|d2d41af|729a9c52b0a011dd8699001c23e19543|0 -a:mgc_8ecp.c|1|11d70a49cfe|1f39|7f156c80|99d0c5e1a0d911dd9cdb001c23e19543|0 -f:mgc_port_info.c|1|11d9047ae72|c952|49635542|720a9c51b0a011dd8699001c23e19543|0 -a:mgc_mgcp.c|1|11d70a49ba6|aa41|2b916ec6|faeffffeaa4511dd84f5001c23e19543|0 -e:mgc_internal.c|1|11d70a49c81|28df|b3280c26|8a769633a67d11dd9624001c23e19543|0 -e:mgc_sur_info.c|1|11d70a49aad|2fe8|6b6c0368|ab0f9ff9aa3711dd84ab001c23e19543|0 -f:mgc_chnl_info.c|1|11d70a49be5|4a2b|defdbfdd|e783fb8baade11dd8649001c23e19543|0 -d:mgc_mg_info.c|1|11d758d2548|61ff|2112d650|4dbf290eac8911dd898b001c23e19543|0 -11:mgc_tandem_info.c|1|11d9047af6c|9e18|e7265e11|1d0a0d28b08b11dd8640001c23e19543|0 -f:mgc_port_list.c|1|11d70a49d3c|177f|7247bcbd|b22fa028aa3711dd84b1001c23e19543|0 diff --git a/omc/plat/mgc_v2/src/include/.copyarea.db b/omc/plat/mgc_v2/src/include/.copyarea.db deleted file mode 100644 index a4f4f86..0000000 --- a/omc/plat/mgc_v2/src/include/.copyarea.db +++ /dev/null @@ -1,21 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgc_v2\src\include -2 -11 -f:mgc_port_list.h|1|11d70a4a143|12c|af836631|b19fa025aa3711dd84b0001c23e19543|0 -d:mgc_mg_info.h|1|11d70a4a0c6|5b4|4897f55e|fe700014aa4611dd84f8001c23e19543|0 -5:mgc.h|1|11d70a49de8|303d|1aeae8c3|fcb0000daa4611dd84f6001c23e19543|0 -b:mgc_debug.h|1|11d758d25c5|7ef|9d383e4c|4c8f2904ac8911dd898b001c23e19543|0 -e:mgc_phy_port.h|1|11d70a49e17|39e|c68240ab|57a5023ba64111dd959c001c23e19543|0 -c:mgc_struct.h|1|11d9047afca|10d1|c79d204d|733a9c57b0a011dd8699001c23e19543|0 -f:mgc_port_info.h|1|11d758d2633|809|3d02b243|4d1f2909ac8911dd898b001c23e19543|0 -e:mgc_sur_info.h|1|11d70a49f8e|312|630c0801|af2fa013aa3711dd84ad001c23e19543|0 -f:mgc_chnl_info.h|1|11d70a4a114|50e|4aa3b7f4|e953fb97aade11dd864a001c23e19543|0 -e:mgc_internal.h|1|11d70a49ef2|24d|ecaab846|9040c491a0da11dd9cdb001c23e19543|0 -a:mgc_8ecp.h|1|11d70a4a059|26b|d354ca86|95a0c555a0d911dd9cdb001c23e19543|0 -9:mgc_pub.h|1|11d70a49e56|94|80012e65|8e70c43da0da11dd9cdb001c23e19543|0 -a:mgc_mgcp.h|1|11d70a49fcc|89f|13d2e268|e823fb8daade11dd864a001c23e19543|0 -11:mgc_tandem_info.h|1|11d70a49eb3|7f6|6239f17|8fa0c475a0da11dd9cdb001c23e19543|0 -f:mgc_conn_info.h|1|11d70a4a01b|f77|dac22645|e8b3fb92aade11dd864a001c23e19543|0 -a:mgc_snmp.h|1|11d70a49f5f|11f|912c48d5|9210c4c9a0da11dd9cdb001c23e19543|0 -9:mgc_ctl.h|1|11d70a49ffb|19a|f731901d|9470c51da0d911dd9cdb001c23e19543|0 diff --git a/omc/plat/mgc_v2/ut/.copyarea.db b/omc/plat/mgc_v2/ut/.copyarea.db deleted file mode 100644 index e9c4462..0000000 --- a/omc/plat/mgc_v2/ut/.copyarea.db +++ /dev/null @@ -1,14 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgc_v2\ut -2 -a -4:conf|2|0|0|0|9fc0c6dda0d911dd9cdb001c23e19543|0 -3:obj|2|0|0|0|a950c865a0d911dd9cdb001c23e19543|0 -d:CUnit-Run.xsl|1|11d70a4a4fc|1072|f098c142|9e90c6a5a0d911dd9cdb001c23e19543|0 -b:mgc_v2_test|1|11d70a4a431|e4e69|dadd61f1|9c30c651a0d911dd9cdb001c23e19543|0 -7:include|2|0|0|0|a190c731a0d911dd9cdb001c23e19543|0 -d:CUnit-Run.dtd|1|11d70a4a1ff|596|1d497e8b|9b90c635a0d911dd9cdb001c23e19543|0 -e:CUnit-List.xsl|1|11d70a4a4ae|f87|f6516bae|9d60c689a0d911dd9cdb001c23e19543|0 -8:Makefile|1|11d70a4a52b|b72|2a5d4e7|9f20c6c1a0d911dd9cdb001c23e19543|0 -d:mgc_v2_test.c|1|11d70a4a1d0|bdfe|e603ddac|9b00c619a0d911dd9cdb001c23e19543|0 -e:CUnit-List.dtd|1|11d70a4a460|5bb|ad46941b|9cc0c66da0d911dd9cdb001c23e19543|0 diff --git a/omc/plat/mgc_v2/ut/conf/.copyarea.db b/omc/plat/mgc_v2/ut/conf/.copyarea.db deleted file mode 100644 index 3980985..0000000 --- a/omc/plat/mgc_v2/ut/conf/.copyarea.db +++ /dev/null @@ -1,6 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgc_v2\ut\conf -2 -2 -c:iptrans.conf|1|11d70a4a615|227|b33f8c12|a0f0c715a0d911dd9cdb001c23e19543|0 -9:menu_page|1|11d70a4a5e6|2ce|7a7341|a060c6f9a0d911dd9cdb001c23e19543|0 diff --git a/omc/plat/mgc_v2/ut/include/.copyarea.db b/omc/plat/mgc_v2/ut/include/.copyarea.db deleted file mode 100644 index 3d58072..0000000 --- a/omc/plat/mgc_v2/ut/include/.copyarea.db +++ /dev/null @@ -1,14 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgc_v2\ut\include -2 -a -9:CUError.h|1|11d70a4a895|13ee|f8001235|a820c849a0d911dd9cdb001c23e19543|0 -b:Automated.h|1|11d70a4a7bb|800|13be81cf|a5b0c7d9a0d911dd9cdb001c23e19543|0 -7:CUnit.h|1|11d70a4a6d0|494d|7d6cd6ab|a2c0c769a0d911dd9cdb001c23e19543|0 -7:Basic.h|1|11d70a4a78c|7e4|6a018341|a480c7bda0d911dd9cdb001c23e19543|0 -9:TestRun.h|1|11d70a4a73e|21e2|db012d57|a3f0c7a1a0d911dd9cdb001c23e19543|0 -8:TestDB.h|1|11d70a4a838|3dd1|3bd3f2bd|a6e0c811a0d911dd9cdb001c23e19543|0 -9:Console.h|1|11d70a4a7f9|6b2|95fb18d0|a650c7f5a0d911dd9cdb001c23e19543|0 -a:CUCurses.h|1|11d70a4a867|6d1|ac3a22e3|a780c82da0d911dd9cdb001c23e19543|0 -7:MyMem.h|1|11d70a4a70f|1001|e9410e14|a350c785a0d911dd9cdb001c23e19543|0 -6:Util.h|1|11d70a4a692|b83|279b2ab|a220c74da0d911dd9cdb001c23e19543|0 diff --git a/omc/plat/mgcp/.copyarea.db b/omc/plat/mgcp/.copyarea.db deleted file mode 100644 index a2ab4a2..0000000 --- a/omc/plat/mgcp/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgcp -2 -5 -3:doc|2|0|0|0|3d6969c5bfa511dc8595001c23e19543|0 -2:ut|2|0|0|0|48b96bd9bfa511dc8595001c23e19543|0 -3:src|2|0|0|0|3e996a19bfa511dc8595001c23e19543|0 -8:Makefile|1|11d70a4183d|b31|960ac018|3df969fdbfa511dc8595001c23e19543|0 -3:lib|2|0|0|0|3df969e1bfa511dc8595001c23e19543|0 diff --git a/omc/plat/mgcp/lib/libmgcp.a b/omc/plat/mgcp/lib/libmgcp.a deleted file mode 100644 index d055eb3..0000000 Binary files a/omc/plat/mgcp/lib/libmgcp.a and /dev/null differ diff --git a/omc/plat/mgcp/obj/mgcp.o b/omc/plat/mgcp/obj/mgcp.o deleted file mode 100644 index 13d62cb..0000000 Binary files a/omc/plat/mgcp/obj/mgcp.o and /dev/null differ diff --git a/omc/plat/mgcp/obj/mgcp_debug.o b/omc/plat/mgcp/obj/mgcp_debug.o deleted file mode 100644 index 25b7d51..0000000 Binary files a/omc/plat/mgcp/obj/mgcp_debug.o and /dev/null differ diff --git a/omc/plat/mgcp/obj/mgcp_msg.o b/omc/plat/mgcp/obj/mgcp_msg.o deleted file mode 100644 index fe1b0a5..0000000 Binary files a/omc/plat/mgcp/obj/mgcp_msg.o and /dev/null differ diff --git a/omc/plat/mgcp/obj/mgcp_trans.o b/omc/plat/mgcp/obj/mgcp_trans.o deleted file mode 100644 index 982f16d..0000000 Binary files a/omc/plat/mgcp/obj/mgcp_trans.o and /dev/null differ diff --git a/omc/plat/mgcp/src/.copyarea.db b/omc/plat/mgcp/src/.copyarea.db deleted file mode 100644 index 77a603b..0000000 --- a/omc/plat/mgcp/src/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgcp\src -2 -6 -c:mgcp_trans.c|1|11d70a41928|156a|b5711bdd|40696a6dbfa511dc8595001c23e19543|0 -e:mgcp_msg.c.bak|1|11d70a418f9|f6f7|496f7d1e|3fc96a51bfa511dc8595001c23e19543|0 -a:mgcp_msg.c|1|11d70a41966|12869|144ae62b|27764318a67111dd9610001c23e19543|0 -7:include|2|0|0|0|40f96a89bfa511dc8595001c23e19543|0 -c:mgcp_debug.c|1|11d70a418d9|3a56|9dc0526c|3f396a35bfa511dc8595001c23e19543|0 -6:mgcp.c|1|11d70a41995|1b4f|ccf385b4|48296bbdbfa511dc8595001c23e19543|0 diff --git a/omc/plat/mgcp/src/include/.copyarea.db b/omc/plat/mgcp/src/include/.copyarea.db deleted file mode 100644 index 0cb32f6..0000000 --- a/omc/plat/mgcp/src/include/.copyarea.db +++ /dev/null @@ -1,13 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mgcp\src\include -2 -9 -c:mgcp_const.h|1|11d70a41b4a|5ba|d3990dc|45296b4dbfa511dc8595001c23e19543|0 -a:mgcp_msg.h|1|11d70a41b89|116|fe215d62|46596b69bfa511dc8595001c23e19543|0 -d:mgcp_struct.h|1|11d70a41b1b|2a9|d3b8d395|44896b31bfa511dc8595001c23e19543|0 -6:mgcp.h|1|11d70a41ba8|1e14|7cf97be|ec1484ae6cf311dd91a5001c23e19543|0 -c:mgcp_trans.h|1|11d70a41aec|a7|9c78393c|43f96b15bfa511dc8595001c23e19543|0 -a:mgcp_ext.h|1|11d70a41a9e|47b|d565713c|ec1484966cf311dd91a5001c23e19543|0 -a:mgcp_def.h|1|11d70a41a60|baf|2ea9ef1f|eb84847e6cf311dd91a5001c23e19543|0 -c:mgcp_debug.h|1|11d70a41a31|f1|53ce4e9e|41996aa5bfa511dc8595001c23e19543|0 -a:mgcp_pub.h|1|11d70a41abe|3d1|c7b944b7|43596af9bfa511dc8595001c23e19543|0 diff --git a/omc/plat/mgcp/src/mgcp_msg.c.bak b/omc/plat/mgcp/src/mgcp_msg.c.bak deleted file mode 100644 index a0ac874..0000000 --- a/omc/plat/mgcp/src/mgcp_msg.c.bak +++ /dev/null @@ -1,2612 +0,0 @@ -#include "./include/mgcp_pub.h" -#include "./include/mgcp.h" -#include "./include/mgcp_const.h" -#include "./include/mgcp_ext.h" -#include "./include/mgcp_struct.h" -#include "./include/mgcp_trans.h" -#include "./include/mgcp_msg.h" - -extern int mgcp_get_port(); -extern void mgcp_port_init(WORD port); -extern int mgcp_log_err(BYTE *errMsg); -extern int mgcp_asciout_proc(BYTE *outStr); - -int mgcp_cmd_str_to_api(char *str, BYTE *cmd) -{ - if (strcasecmp(str, "CRCX") == 0) - *cmd = MGCP_CMD_CRCX; - else if (strcasecmp(str, "MDCX") == 0) - *cmd = MGCP_CMD_MDCX; - else if (strcasecmp(str, "DLCX") == 0) - *cmd = MGCP_CMD_DLCX; - else if (strcasecmp(str, "RQNT") == 0) - *cmd = MGCP_CMD_RQNT; - else if (strcasecmp(str, "NTFY") == 0) - *cmd = MGCP_CMD_NTFY; - else if (strcasecmp(str, "AUEP") == 0) - *cmd = MGCP_CMD_AUEP; - else if (strcasecmp(str, "RSIP") == 0) - *cmd = MGCP_CMD_RSIP; - else - { - return -1; - } - - return 0; -} - -int mgcp_mgtype_str_to_api(char *str, BYTE *mgtp, BYTE *porttp) -{ - if (strcasecmp(str, "e1") == 0) - { - *mgtp = MGCP_MG_TYPE_AudioCoder; - *porttp = MGCP_PORT_TYPE_E1; - } - else if (strcasecmp(str, "t1") == 0) - { - *mgtp = MGCP_MG_TYPE_AudioCoder; - *porttp = MGCP_PORT_TYPE_T1; - } - else if (strcasecmp(str, "ann") == 0) - { - *mgtp = MGCP_MG_TYPE_ANN; - *porttp = 0; - } - else if (strcasecmp(str, "aaln") == 0) - { - *mgtp = MGCP_MG_TYPE_AudioCoder; - *porttp = MGCP_PORT_TYPE_AALN; - } - else - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "Wrong mg type\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - return -1; - } - - return 0; -} - -int mgcp_mode_str_to_api(char *str, BYTE *md) -{ - if (strcasecmp(str, "inactive") == 0) - *md = MGCP_CON_MODE_INACTIVE; - else if (strcasecmp(str, "recvonly") == 0) - *md = MGCP_CON_MODE_RECVONLY; - else if (strcasecmp(str, "sendonly") == 0) - *md = MGCP_CON_MODE_SENDONLY; - else if (strcasecmp(str, "sendrecv") == 0) - *md = MGCP_CON_MODE_SENDRECV; - else - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "Wrong connect mode\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - return -1; - } - - return 0; -} - -int mgcp_rm_str_to_api(char *str, BYTE *rm) -{ - if (strcasecmp(str, "restart") == 0) - *rm = MGCP_RST_MODE_RESTART; - else if (strcasecmp(str, "forced") == 0) - *rm = MGCP_RST_MODE_FORCED; - else if (strcasecmp(str, "disconnected") == 0) - *rm = MGCP_RST_MODE_DISCONNECTED; - else if (strcasecmp(str, "graceful") == 0) - *rm = MGCP_RST_MODE_GRACEFUL; - else if (strcasecmp(str, "cancel-graceful") == 0) - *rm = MGCP_RST_MODE_CANCEL_GRACEFUL; - else - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "Wrong restart mode\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - return -1; - } - - return 0; -} - -int mgcp_pkg_str_to_api(char *str, BYTE *pkg) -{ - if (strcasecmp(str, "L") == 0) - *pkg = MGCP_PKG_L; - else if (strcasecmp(str, "D") == 0) - *pkg = MGCP_PKG_D; - else if (strcasecmp(str, "G") == 0) - *pkg = MGCP_PKG_G; - else - return -1; - - return 0; -} - -int mgcp_sig_str_to_api(char *str, BYTE *sig, BYTE pkg) -{ - if (MGCP_PKG_L == pkg) - { - if (strcasecmp(str, "aw") == 0) - *sig = MGCP_L_SIG_AW; - else if (strcasecmp(str, "dl") == 0) - *sig = MGCP_L_SIG_DL; - else if (strcasecmp(str, "bz") == 0) - *sig = MGCP_L_SIG_BZ; - else if (strcasecmp(str, "wt") == 0) - *sig = MGCP_L_SIG_WT; - else if (strcasecmp(str, "nbz") == 0) - *sig = MGCP_L_SIG_NBZ; - else if (strcasecmp(str, "rg") == 0) - *sig = MGCP_L_SIG_RG; - else if (strcasecmp(str, "e") == 0) - *sig = MGCP_L_SIG_E; - else if (strcasecmp(str, "ot") == 0) - *sig = MGCP_L_SIG_OT; - else - return -1; - } - else if (MGCP_PKG_D == pkg) - { - if (strcasecmp(str, "0") == 0) - *sig = MGCP_D_SIG_ZERO; - else if (strcasecmp(str, "1") == 0) - *sig = MGCP_D_SIG_ONE; - else if (strcasecmp(str, "2") == 0) - *sig = MGCP_D_SIG_TWO; - else if (strcasecmp(str, "3") == 0) - *sig = MGCP_D_SIG_THREE; - else if (strcasecmp(str, "4") == 0) - *sig = MGCP_D_SIG_FOUR; - else if (strcasecmp(str, "5") == 0) - *sig = MGCP_D_SIG_FIVE; - else if (strcasecmp(str, "6") == 0) - *sig = MGCP_D_SIG_SIX; - else if (strcasecmp(str, "7") == 0) - *sig = MGCP_D_SIG_SEVEN; - else if (strcasecmp(str, "8") == 0) - *sig = MGCP_D_SIG_EIGHT; - else if (strcasecmp(str, "9") == 0) - *sig = MGCP_D_SIG_NINE; - else if (strcasecmp(str, "#") == 0) - *sig = MGCP_D_SIG_POUND; - else if (strcasecmp(str, "*") == 0) - *sig = MGCP_D_SIG_STAR; - else - return -1; - } - else if (MGCP_PKG_G == pkg) - { - if (strcasecmp(str, "rt") == 0) - *sig = MGCP_G_SIG_RT; - else if (strcasecmp(str, "cf") == 0) - *sig = MGCP_G_SIG_CF; - else if (strcasecmp(str, "cg") == 0) - *sig = MGCP_G_SIG_CG; - else if (strcasecmp(str, "it") == 0) - *sig = MGCP_G_SIG_IT; - else if (strcasecmp(str, "pt") == 0) - *sig = MGCP_G_SIG_PT; - else - return -1; - } - else - return -1; - - return 0; -} - -int mgcp_event_str_to_api(char *str, BYTE *ent, BYTE pkg) -{ - if (MGCP_PKG_L == pkg) - { - if (strcasecmp(str, "hd") == 0) - *ent = MGCP_L_EVENT_HD; - else if (strcasecmp(str, "hu") == 0) - *ent = MGCP_L_EVENT_HU; - else if (strcasecmp(str, "hf") == 0) - *ent = MGCP_L_EVENT_HF; - else if (strcasecmp(str, "aw") == 0) - *ent = MGCP_L_EVENT_AW; - else if (strcasecmp(str, "nbz") == 0) - *ent = MGCP_L_EVENT_NBZ; - else if (strcasecmp(str, "e") == 0) - *ent = MGCP_L_EVENT_E; - else if (strcasecmp(str, "oc") == 0) - *ent = MGCP_L_EVENT_OC; - else if (strcasecmp(str, "of") == 0) - *ent = MGCP_L_EVENT_OF; - else - return -1; - } - else if (MGCP_PKG_D == pkg) - { - if (strcasecmp(str, "0") == 0) - *ent = MGCP_D_EVENT_ZERO; - else if (strcasecmp(str, "1") == 0) - *ent = MGCP_D_EVENT_ONE; - else if (strcasecmp(str, "2") == 0) - *ent = MGCP_D_EVENT_TWO; - else if (strcasecmp(str, "3") == 0) - *ent = MGCP_D_EVENT_THREE; - else if (strcasecmp(str, "4") == 0) - *ent = MGCP_D_EVENT_FOUR; - else if (strcasecmp(str, "5") == 0) - *ent = MGCP_D_EVENT_FIVE; - else if (strcasecmp(str, "6") == 0) - *ent = MGCP_D_EVENT_SIX; - else if (strcasecmp(str, "7") == 0) - *ent = MGCP_D_EVENT_SEVEN; - else if (strcasecmp(str, "8") == 0) - *ent = MGCP_D_EVENT_EIGHT; - else if (strcasecmp(str, "9") == 0) - *ent = MGCP_D_EVENT_NINE; - else if (strcasecmp(str, "#") == 0) - *ent = MGCP_D_EVENT_POUND; - else if (strcasecmp(str, "*") == 0) - *ent = MGCP_D_EVENT_STAR; - else - return -1; - } - else if (MGCP_PKG_G == pkg) - { - if (strcasecmp(str, "mt") == 0) - *ent = MGCP_G_EVENT_MT; - else if (strcasecmp(str, "ft") == 0) - *ent = MGCP_G_EVENT_FT; - else if (strcasecmp(str, "ld") == 0) - *ent = MGCP_G_EVENT_LD; - else if (strcasecmp(str, "of") == 0) - *ent = MGCP_G_EVENT_OF; - else - return -1; - } - else - return -1; - - return 0; -} - -void mgcp_util_replace_all_lws(char *msg) -{ - char *tmp; - - if (msg == NULL) - return; - tmp = msg; - - for (; tmp[0] != '\0'; tmp++) - { - if (('\0' == tmp[0]) || ('\0' == tmp[1]) || - ('\0' == tmp[2]) || ('\0' == tmp[3])) - return; - - if ((('\r' == tmp[0]) && ('\n' == tmp[1]) && - ('\r' == tmp[2]) && ('\n' == tmp[3])) || - (('\r' == tmp[0]) && ('\r' == tmp[1])) || - (('\n' == tmp[0]) && ('\n' == tmp[1]))) - return; - - if ((('\r' == tmp[0]) && ('\n' == tmp[1]) && - ((' ' == tmp[2]) || ('\t' == tmp[2]))) || - (('\r' == tmp[0]) && - ((' ' == tmp[1]) || ('\t' == tmp[1]))) || - (('\n' == tmp[0]) && - ((' ' == tmp[1]) || ('\t' == tmp[1])))) - { - // Replace line end and TAB symbols by SP - tmp[0] = ' '; - tmp[1] = ' '; - tmp = tmp + 2; - // Replace all following TAB symbols - for (; ('\t' == tmp[0] || ' ' == tmp[0]); ) - { - tmp[0] = ' '; - tmp++; - } - } - } -} - -int mgcp_find_next_crlf(char *startOfHeader, char **endOfHeader) -{ - char *soh = startOfHeader; - - *endOfHeader = NULL; - - while (('\r' != *soh) && ('\n' != *soh)) - { - if (*soh) - soh++; - else - { - printf("Final CRLF is missing\n"); - - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "Final CRLF is missing\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - return -1; - } - } - - // case 1: CRLF is the separator - // case 2 or 3: CR or LF is the separator - if (('\r' == soh[0]) && ('\n' == soh[1])) - soh = soh + 1; - - // VERIFY if TMP is the end of header or LWS. - // LWS are extra SP, HT, CR and LF contained in headers. - if ((' ' == soh[1]) || ('\t' == soh[1])) - { - // incoming message that potentially - // contains LWS must be processed with - // mgcp_util_replace_all_lws(char *) - printf("Message that contains LWS must be processed with sip_util_replace_all_lws(char *tmp) before being parsed.\n"); - - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "Message that contains LWS must be processed with sip_util_replace_all_lws(char *tmp) before being parsed.\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - return -1; - } - - *endOfHeader = soh + 1; - - return 0; -} - -char *mgcp_clrncpy(char *dst, char *src, WORD len) -{ - char *pbeg; - char *pend; - char *p; - WORD spaceLessLength; - - if ((src == NULL) || (len == 0)) - return NULL; - - // find the start of relevant text - pbeg = src; - while ((' ' == *pbeg) || ('\r' == *pbeg) || ('\n' == *pbeg) || ('\t' == *pbeg)) - pbeg++; - - // find the end of relevant text - pend = src + len - 1; - while ((' ' == *pend) || ('\r' == *pend) || ('\n' == *pend) || ('\t' == *pend)) - { - pend--; - if (pend < pbeg) - { - *dst = '\0'; - return dst; - } - } - - // if pend == pbeg there is only one char to copy - spaceLessLength = pend - pbeg + 1; // excluding any '\0' - memcpy(dst, pbeg, spaceLessLength); - p = dst + spaceLessLength; - - // terminate the string and pad dest with zeros until len - do - { - *p = '\0'; - p++; - spaceLessLength++; - } - while (spaceLessLength < len); - - return dst; -} - -int mgcp_msg_start_line_parse_resp(char *buf, char **nextHeader) -{ - char *hp; - char tmp[128]; - char *statusCode; - char *transId; - char *endoftransId; - MGCP_SL *sl; - WORD retCode; - DWORD transIdValue; - int port; - - *nextHeader = buf; - - statusCode = strchr(buf, ' '); // Search for first SPACE - if (statusCode == NULL) - return -1; - mgcp_clrncpy(tmp, buf, statusCode - buf); - retCode = strtoul(tmp, NULL, 10); - - transId = strchr(statusCode + 1, ' '); - if (transId == NULL) - return -1; - - mgcp_clrncpy(tmp, statusCode + 1, transId - statusCode - 1); - transIdValue = strtoul(tmp, &endoftransId, 10); - if ('\0' != endoftransId[0]) - { - printf("the space of transId is at wrong position.\n"); - return -1; - } - - if ((port = mgcp_match_client_trans(transIdValue)) < 0) - return -1; - - memset(&mgcpRespPara, 0, sizeof(MGCP_PARA)); - - sl = &mgcpRespPara.sl; - sl->cmdRes = MGCP_RESPONSE; - sl->retCode = retCode; - sl->transId = transIdValue; - - hp = transId; - while ((*hp != '\r') && (*hp != '\n')) - { - if (*hp) - hp++; - else - { - printf("No crlf found\n"); - - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "No crlf found\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - return -1; - } - } - mgcp_clrncpy(sl->desc, transId + 1, hp - transId - 1); - - hp++; - if ((*hp) && ('\r' == hp[-1]) && ('\n' == hp[0])) - hp++; - (*nextHeader) = hp; - - return port; -} - -int mgcp_msg_start_line_parse_cmd(int *portAllocated, char *buf, char **nextHeader) -{ - char *hp; - char tmp[128]; - char *cmdName; - char *transId; - char *mgName; - char *endmgName; - char *trkNum; - char *chlNum; - char *endoftransId; - char mgtype[128]; - char *mgtypeslash; - MGCP_SL *sl; - MGCP_PARA *para; - MGCP_PORT *trans; - int port; - BYTE cmd; - BYTE mgtp; - BYTE porttp; - DWORD transID; - - *portAllocated = -1; - - *nextHeader = buf; - - cmdName = strchr(buf, ' '); // Search for first SPACE - if (cmdName == NULL) - return -1; - mgcp_clrncpy(tmp, buf, cmdName - buf); - - mgcp_cmd_str_to_api(tmp, &cmd); -/*{ - return -1; - } -*/ - transId = strchr(cmdName + 1, ' '); - if (transId == NULL) - return -1; - - mgcp_clrncpy(tmp, cmdName + 1, transId - cmdName - 1); - transID = strtoul(tmp, &endoftransId, 10); - if ('\0' != endoftransId[0]) - { - printf("the space of transId is at wrong position.\n"); - - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "the space of transId is at wrong position.\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - return -1; - } - - if ((cmdMGCP_CMD_RSIP)) - { - printf("unknown or unsupport command\n"); - - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "unknown or unsupport command\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNCMD_INDEX); - return -1; - } - - if ((port = mgcp_match_server_trans(transID)) >= 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "Find the same transID\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -2; - } - - if ((port = mgcp_get_port()) < 0) - { - return -1; - } - *portAllocated = port; - - trans = &mgcpPort[port]; - para = &trans->para; - sl = ¶->sl; - - hp = transId; - while ((*hp != '\r') && (*hp != '\n')) - { - if (*hp) - hp++; - else - { - printf("No crlf found\n"); - return -1; - } - } - mgcp_clrncpy(tmp, transId + 1, hp - transId - 1); - - if ((mgName = strchr(tmp, '@')) == NULL) - { - - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "endpoint unknown\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNEP_INDEX); - return -1; - } - - if ((endmgName = strstr(mgName, " ")) == NULL) - { - - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "endpoint unknown\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNEP_INDEX); - return -1; - } - - if (NULL == mgcp_clrncpy(sl->mgName, mgName+1, endmgName-mgName-1)) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "endpoint unknown:no domain name\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNEP_INDEX); - return -1; - } - - if (isdigit(tmp[0])||(tmp[0]=='*')) - { - sl->epNameMethod = MGCP_EP_NAME_UNSTRUCTURED; - if (tmp[0] == '*') - sl->chlNum = MGCP_EP_NAME_CHNL_WILDCAST; - else - sl->chlNum = strtoul(tmp, NULL, 10); - } - else - { - sl->epNameMethod = MGCP_EP_NAME_STRUCTURED; - if ((trkNum = strchr(tmp, '-')) != NULL) - { - if ((mgtypeslash = strchr(tmp, '/')) >= trkNum) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "endpoint unknown\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNEP_INDEX); - return -1; - } - - mgcp_clrncpy(mgtype, mgtypeslash +1, trkNum - mgtypeslash - 1); - - if (mgcp_mgtype_str_to_api(mgtype, &mgtp, &porttp) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "endpoint unknown\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNEP_INDEX); - return -1; - } - - if ('*' == trkNum[1]) - { - sl->trkNum = MGCP_EP_NAME_TRK_WILDCAST; - } - else - { - sl->trkNum = strtoul(trkNum + 1, NULL, 10); - } - - if ((chlNum = strchr(trkNum + 1, '/')) != NULL) - { - if (chlNum[1] == '*') - sl->chlNum = MGCP_EP_NAME_CHNL_WILDCAST; - else - sl->chlNum = strtoul(chlNum + 1, NULL, 10); - } - else - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "endpoint unknown\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNEP_INDEX); - return -1; - } - } - else if((NULL == trkNum) && ('a' == tmp[0])) - { - if ((chlNum = strchr(tmp, '/')) != NULL) - { - mgcp_clrncpy(mgtype, tmp, chlNum - tmp); - - if (mgcp_mgtype_str_to_api(mgtype, &mgtp, &porttp) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "endpoint unknown\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNEP_INDEX); - return -1; - } - - if (MGCP_PORT_TYPE_AALN == porttp) - { - if (chlNum[1] == '*') - sl->trkNum = MGCP_EP_NAME_TRK_WILDCAST; - else - sl->trkNum = strtoul(chlNum + 1, NULL, 10); - - sl->chlNum = 0; - } - else - { - if (chlNum[1] == '*') - sl->chlNum = MGCP_EP_NAME_CHNL_WILDCAST; - else - sl->chlNum = strtoul(chlNum + 1, NULL, 10); - - sl->trkNum = MGCP_EP_NAME_TRK_WILDCAST; - } - } - else - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "endpoint unknown\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNEP_INDEX); - return -1; - } - } - else - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "endpoint unknown\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transID, MGCP_RET_CODE_UNEP_INDEX); - return -1; - } - } - - trans->transId = transID; - trans->cmd = cmd; - - para->ip = mgcpRvMsg.msgSrcIP; - para->peerPort = mgcpRvMsg.msgSrcPort; - para->localPort = mgcpRvMsg.msgDstPort; - -// mgcp_clrncpy(sl->mgName, mgName+1, endmgName-mgName-1); - sl->cmdRes = MGCP_COMMAND; - sl->transId = transID; - sl->mgType = mgtp; - sl->portType = porttp; - - hp++; - if ((*hp) && ('\r' == hp[-1]) && ('\n' == hp[0])) - hp++; - (*nextHeader) = hp; - - return port; -} - -int mgcp_msg_start_line_parse(BYTE *cmdRes, char *buf, char **nextHeader) -{ - int port = -1; - int ret; - - if (isdigit(buf[0])) - { - if ((port = mgcp_msg_start_line_parse_resp(buf, nextHeader)) < 0) - return -1; - *cmdRes = MGCP_RESPONSE; - } - else - { - if ((ret = mgcp_msg_start_line_parse_cmd(&port, buf, nextHeader)) < 0) - { - if (port >= 0) - mgcp_port_init(port); - - if (ret == -2) - return -2; - else - return -1; - } - mgcpPort[port].reqInd = MGCP_INDICATION; - *cmdRes = MGCP_COMMAND; - } - - return port; -} - -int mgcp_con_id_parse(MGCP_I *conId, char *value) -{ - if (NULL == value) - return -1; - - strcpy(conId->conId, value); - return 0; -} - -int mgcp_call_id_parse(MGCP_C *callId, char *value) -{ - if (NULL == value) - return -1; - - strcpy(callId->callId, value); - return 0; -} - -int mgcp_local_opt_p_parse(MGCP_L *localopt, char *value) -{ - if (NULL == value) - return -1; - - localopt->p=atoi(value); - return 0; -} - -int mgcp_local_opt_a_parse(MGCP_L *localopt, char *value) -{ - if (NULL == value) - return -1; - - strcpy(localopt->codec, value); - return 0; -} - -int mgcp_local_opt_nt_parse(MGCP_L *localopt, char *value) -{ - if (NULL == value) - return -1; - if (0 == strcasecmp(value, "IN")) - { - localopt->ecDisable=0; - localopt->ssDisable=0; - return 0; - } - else if (0 == strcasecmp(value, "IN, e:off")) - { - localopt->ecDisable=1; - localopt->ssDisable=0; - return 0; - } - else if (0 == strcasecmp(value, "IN, s:off")) - { - localopt->ecDisable=0; - localopt->ssDisable=1; - return 0; - } - else if (0 == strcasecmp(value, "IN, e:off, s:off")) - { - localopt->ecDisable=1; - localopt->ssDisable=1; - return 0; - } - else - return -1; -} - -int mgcp_local_opt_parse(MGCP_L *localopt, char *value) -{ - char hvaluename[64]; - char hvalue[128]; - char *colonIndex; - char *endofvalue = value; - char *begofvalue = value; - int len, commaNum = 0; - - if (NULL == value) - return -1; - - for (;;) - { - if ('\0' == *begofvalue) - return 0; - - begofvalue = endofvalue; - - if (2 > commaNum) - { - while(',' != *endofvalue) - { - if (*endofvalue) - endofvalue++; - else - { - printf("lack of comma,can not find endofvalue\n"); - return -1; - } - } - commaNum++; - } - else - { - while('\0' != *endofvalue) - { - if (*endofvalue) - endofvalue++; - } - } - colonIndex = strchr (begofvalue, ':'); - - if (NULL == colonIndex) - { - printf("can not find colonIndex in the value of Lopt, the wrong format.\n"); - return -1; - } - - if (endofvalue < colonIndex) - return -1; - - len = colonIndex - begofvalue; - mgcp_clrncpy(hvaluename, begofvalue, len); - - len = endofvalue -colonIndex-1; - mgcp_clrncpy(hvalue, colonIndex+1, len); - - if (strncasecmp(hvaluename, "p", 1) == 0) - { - if (mgcp_local_opt_p_parse(localopt, hvalue) < 0) - return -1; - } - else if (strncasecmp(hvaluename, "a", 1) == 0) - { - if (mgcp_local_opt_a_parse(localopt, hvalue) < 0) - return -1; - } - else if (strncasecmp(hvaluename, "nt", 2) == 0) - { - if (mgcp_local_opt_nt_parse(localopt, hvalue) < 0) - return -1; - } - else - return -1; - - begofvalue = endofvalue++; - } - -} - -int mgcp_connect_mode_parse(MGCP_M *m, char *value) -{ - if (NULL == value) - return -1; - - if (mgcp_mode_str_to_api(value, &m->mode) < 0) - return -1; - - return 0; -} - -int mgcp_observed_reqId_parse(MGCP_O *o, char *value) -{ - if (NULL == value) - return -1; - - strcpy(o->reqId, value); - return 0; -} - -int mgcp_event_parse(DWORD transId, MGCP_O *o, char *value) -{ - char hvalue[128]; - char *begofvalue =value; - char *endofvalue; - char *slashIndex; - int len; - - if (NULL == value) - return -1; - - while('\0' != *begofvalue) - { - if(*begofvalue) - begofvalue++; - } - endofvalue = begofvalue; - - slashIndex = strchr(value, '/'); - if(NULL == slashIndex) - { - printf("can not find slash in event, the wrong format.\n"); - return -1; - } - - len=slashIndex-value; - mgcp_clrncpy(hvalue, value, len); - - if (mgcp_pkg_str_to_api(hvalue, &o->package) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "unsupported or unknown package\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transId, MGCP_RET_CODE_UNPKG_INDEX); - printf("event package is unknown\n"); - return -1; - } - - len=endofvalue-slashIndex-1; - mgcp_clrncpy(hvalue, slashIndex+1, len); - - if (mgcp_event_str_to_api(hvalue, &o->event, o->package) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "no such event\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transId, MGCP_RET_CODE_NES_INDEX); - printf("event is unknown\n"); - return -1; - } - - return 0; -} - -int mgcp_signl_reqId_parse(MGCP_S *s, char *value) -{ - if (NULL == value) - return -1; - - strcpy(s->reqId, value); - return 0; -} - -int mgcp_signl_parse(DWORD transId, MGCP_S *s, char *value) -{ - char hvalue[128]; - char *begofvalue =value; - char *endofvalue; - char *slashIndex; - int len; - - if (NULL == value) - return -1; - - if (0 == strcmp(value, "")) - { - s->signal = MGCP_PACKAGE_SIG_NONE; - return 0; - } - - while('\0' != *begofvalue) - { - if(*begofvalue) - begofvalue++; - } - endofvalue = begofvalue; - - slashIndex = strchr(value, '/'); - if(NULL == slashIndex) - { - printf("can not find slash in signal event, the wrong format.\n"); - return -1; - } - - len=slashIndex-value; - mgcp_clrncpy(hvalue, value, len); - - if (mgcp_pkg_str_to_api(hvalue, &s->pkg) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "unsupported or unknown package\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transId, MGCP_RET_CODE_UNPKG_INDEX); - printf("signal package is unknown\n"); - return -1; - } - - len=endofvalue-slashIndex-1; - mgcp_clrncpy(hvalue, slashIndex+1, len); - - if (mgcp_sig_str_to_api(hvalue, &s->signal, s->pkg) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "no such signal\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transId, MGCP_RET_CODE_NES_INDEX); - printf("signal event is unknown\n"); - return -1; - } - - return 0; -} - - -int mgcp_reqent_parse(DWORD transId, MGCP_R *r, char *value) -{ - char hvalue[128]; - char *begofvalue =value; - char *endofvalue; - char *slashIndex; - int len; - - if (NULL == value) - return -1; - - while('\0' != *begofvalue) - { - if(*begofvalue) - begofvalue++; - } - endofvalue = begofvalue; - - slashIndex = strchr(value, '/'); - if(NULL == slashIndex) - { - printf("can not find slash in signal event, the wrong format.\n"); - return -1; - } - - len=slashIndex-value; - mgcp_clrncpy(hvalue, value, len); - - if (mgcp_pkg_str_to_api(hvalue, &r->pkg) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "unsupported or unknown package\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transId, MGCP_RET_CODE_UNPKG_INDEX); - printf("request event package is unknown\n"); - return -1; - } - - len=endofvalue-slashIndex-1; - mgcp_clrncpy(hvalue, slashIndex+1, len); - - if (mgcp_event_str_to_api(hvalue, &r->event, r->pkg) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "no such request event\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(transId, MGCP_RET_CODE_NES_INDEX); - printf("request event is unknown\n"); - return -1; - } - - return 0; -} - -int mgcp_restart_mode_parse(MGCP_RM *rm, char *value) -{ - if (NULL == value) - return -1; - - if (mgcp_rm_str_to_api(value, &rm->rm) < 0) - { - return -1; - } - - return 0; -} - -int mgcp_restart_delay_parse(MGCP_RD *rd, char *value) -{ - if (NULL == value) - return -1; - - rd->rd = atoi(value); - return 0; -} - -int mgcp_msg_params_parse(BYTE cmdRes, WORD port, char *buf, char **body) -{ - char *colonIndex; - char hname[64]; - char hvalue[128]; - char *startOfHeader = buf; - char *endOfHeader; - char *end; - BYTE S_R_Flag = 0; - BYTE len; - MGCP_PARA *para; - - if (cmdRes == MGCP_COMMAND) - { - para = &mgcpPort[port].para; - } - else if (cmdRes == MGCP_RESPONSE) - { - para = &mgcpRespPara; - } - else - return -1; - - if ((startOfHeader[0] == '\0') && (mgcpPort[port].cmd != MGCP_CMD_AUEP)&&(cmdRes == MGCP_COMMAND)) - { - printf("no parameter in buf.\n"); - return -1; - } - - for (;;) - { - if (startOfHeader[0] == '\0') - { - *body = NULL; - return 0; - } - - if (mgcp_find_next_crlf(startOfHeader, &endOfHeader) < 0) - { - printf("End of header Not found\n"); - return -1; - } - - if ((startOfHeader[0] == '\r') || (startOfHeader[0] == '\n')) - { - *body = startOfHeader; - return 0; - } - else if (((startOfHeader[0] == '.') && (startOfHeader[1] == '\r') && (startOfHeader[2] == '\n'))) - { - *body = startOfHeader + 3; - return 1; - } - - // find the header name - colonIndex = strchr(startOfHeader, ':'); - if (colonIndex == NULL) - { - printf("End of header Not found\n"); - return -1; - } - if (endOfHeader <= colonIndex) - { - printf("Malformed message\n"); - return -1; - } - len = colonIndex - startOfHeader; - mgcp_clrncpy(hname, startOfHeader, len); - - // END of header is (end_of_header-2) if header separation is CRLF - // END of header is (end_of_header-1) if header separation is CR or LF - if ((endOfHeader[-2] == '\r') || (endOfHeader[-2] == '\n')) - end = endOfHeader - 2; - else - end = endOfHeader - 1; - if ((end - colonIndex) < 2) - strcpy(hvalue, ""); // some headers can be empty - else - { - len = end - colonIndex - 1; - mgcp_clrncpy(hvalue, colonIndex + 1, len); - } - - if (strncasecmp(hname, "I", 1) == 0) - { - if (mgcp_con_id_parse(¶->i, hvalue) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "incorrect connect id\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(mgcpPort[port].transId, MGCP_RET_CODE_INCONID_INDEX); - return -1; - } - para->flag |= MGCP_PARA_FLAG_I; - } - - if (strncasecmp(hname,"C",1) == 0) - { - if (mgcp_call_id_parse(¶->c, hvalue) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "unknown call id\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(mgcpPort[port].transId, MGCP_RET_CODE_UNCLLID_INDEX); - return -1; - } - para->flag |= MGCP_PARA_FLAG_C; - } - - if (strncasecmp(hname,"L",1) == 0) - { - if (mgcp_local_opt_parse(¶->l, hvalue) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "internal inconsistency in LocalConnectionOption\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(mgcpPort[port].transId, MGCP_RET_CODE_ILCO_INDEX); - return -1; - } - para->flag |= MGCP_PARA_FLAG_L; - } - - if (strncasecmp(hname,"M",1) == 0) - { - if (mgcp_connect_mode_parse(¶->m, hvalue) < 0) - { - mgcp_send_incmd_rsp(mgcpPort[port].transId, MGCP_RET_CODE_UNMD_INDEX); - return -1; - } - para->flag |=MGCP_PARA_FLAG_M; - } - - if (strncasecmp(hname,"O",1) == 0) - { - if ((para->flag & MGCP_PARA_FLAG_O) == 0) - return -1; - if (mgcp_event_parse(mgcpPort[port].transId, ¶->o, hvalue) < 0) - return -1; - } - - if (strncasecmp(hname,"X",1) == 0) - { - if (mgcpPort[port].cmd == MGCP_CMD_NTFY) - { - if (mgcp_observed_reqId_parse(¶->o, hvalue) < 0) - return -1; - para->flag |=MGCP_PARA_FLAG_O; - } - else - { - if (mgcp_signl_reqId_parse(¶->s, hvalue) < 0) - return -1; - S_R_Flag = 1; - } - } - - if (strncasecmp(hname,"S",1) == 0) - { - if (0 == S_R_Flag) - { - printf("Have no requestId.\n"); - return -1; - } - if (mgcp_signl_parse(mgcpPort[port].transId, ¶->s, hvalue) < 0) - return -1; - - para->flag |=MGCP_PARA_FLAG_S; - } - - if (strncasecmp(hname,"R",2) == 0) - { - if(0 == S_R_Flag) - { - printf("Have no requestId.\n"); - return -1; - } - if (mgcp_reqent_parse(mgcpPort[port].transId, ¶->r, hvalue) < 0) - return -1; - - para->flag |=MGCP_PARA_FLAG_R; - } - - if (strncasecmp(hname,"RM",2) == 0) - { - if (mgcp_restart_mode_parse(¶->rm, hvalue) < 0) - { - mgcp_send_incmd_rsp(mgcpPort[port].transId, MGCP_RET_CODE_UNRM_INDEX); - return -1; - } - para->flag |= MGCP_PARA_FLAG_RM; - } - - if (strncasecmp(hname,"RD",2) == 0) - { - if (mgcp_restart_delay_parse(¶->rd, hvalue) < 0) - return -1; - para->flag |= MGCP_PARA_FLAG_RD; - } - - - // continue on the next header - startOfHeader = endOfHeader; - } - -// return -1; -} - -int mgcp_msg_parse_single(char *msg, WORD len, char **nextMsg, WORD networkPort) -{ - char *nextHeader; - int port; - MGCP_PARA *para; - BYTE cmdRes; - int ret; - - if ((port = mgcp_msg_start_line_parse(&cmdRes, msg, &nextHeader)) < 0) - { - if (port == -1) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "start_line_parse fault\n%s\n", msg); - mgcp_log_err(mgcpAsciTempBuf); - } - } - else - { - if ((mgcpMonitorFg & MONITOR_ALL) == MONITOR_ALL) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", msg); - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - - return -1; - } - if (port >= MGCP_MAX_NUM_OF_PORT) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, msg); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - - if (cmdRes == MGCP_COMMAND) - { - para = &mgcpPort[port].para; - } - else if (cmdRes == MGCP_RESPONSE) - { - para = &mgcpRespPara; - } - else - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, msg); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } -// else -// para = &mgcpPort[port].para; - para->flag |= MGCP_PARA_FLAG_SL; - - if ((ret = mgcp_msg_params_parse(cmdRes, port, nextHeader, &nextHeader)) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "params_parse fault\n%s\n", msg); - mgcp_log_err(mgcpAsciTempBuf); - } - - if (cmdRes == MGCP_COMMAND) - mgcp_port_init(port); - - return -1; - } - - - if (0 == ret) - { - if ((MGCP_CMD_CRCX == mgcpPort[port].cmd) || (MGCP_CMD_MDCX == mgcpPort[port].cmd)) - { - if (nextHeader != NULL) - { - pub_sdp_msg_init(¶->sdp); - if ((ret = pub_sdp_parse(¶->sdp, nextHeader, &nextHeader, 0xFFFFFFFF)) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "remotoconnectiondescriptor error\r\n%s\n", msg); - mgcp_log_err(mgcpAsciTempBuf); - } - - mgcp_send_incmd_rsp(mgcpPort[port].transId, MGCP_RET_CODE_RCD_ERR_INDEX); - - if (cmdRes == MGCP_COMMAND) - mgcp_port_init(port); - - return -1; - } - para->flag |= MGCP_PARA_FLAG_SDP; - } - } - } - - if (cmdRes == MGCP_RESPONSE) - memcpy(&mgcpPort[port].para, &mgcpRespPara, sizeof(MGCP_PARA)); - - if ((mgcpPort[port].para.localPort = networkPort) == MGCP_INT_PORT_2427) - { - mgcpPort[port].para.peerPort = MGCP_INT_PORT_2727; - } - else - { - mgcpPort[port].para.peerPort = MGCP_INT_PORT_2427; - } - - if (((mgcpMonitorFg & MONITOR_ALL) == MONITOR_ALL) || ((mgcpMonitorFg | MONITOR_ERROR) == MONITOR_ALL)) - { - if (mgcpPort[port].para.sl.cmdRes == MGCP_COMMAND) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else - { - sprintf(mgcpAsciTempBuf, "Receive Response: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - else if ((mgcpMonitorFg | MONITOR_MG0_MSG | MONITOR_MG1_MSG | MONITOR_MG2_MSG |MONITOR_ERROR) == MONITOR_ALL) - { - if ((mgcpMonitorFg & MONITOR_MG0_MSG) == 0) - { - if ((mgcpMonitorFg & MONITOR_MG1_MSG) == 0) - { - if ((mgcpMonitorFg & MONITOR_MG2_MSG) == 0) - { - if ((0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2]))) - { - if (mgcpPort[port].para.sl.cmdRes == MGCP_COMMAND) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else - { - sprintf(mgcpAsciTempBuf, "Receive Response: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - else - { - if ((0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1]))) - { - if (mgcpPort[port].para.sl.cmdRes == MGCP_COMMAND) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else - { - sprintf(mgcpAsciTempBuf, "Receive Response: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - } - else - { - if ((mgcpMonitorFg & MONITOR_MG2_MSG) == 0) - { - if ((0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2]))) - { - if (mgcpPort[port].para.sl.cmdRes == MGCP_COMMAND) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else - { - sprintf(mgcpAsciTempBuf, "Receive Response: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - else - { - if (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0])) - { - if (mgcpPort[port].para.sl.cmdRes == MGCP_COMMAND) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else - { - sprintf(mgcpAsciTempBuf, "Receive Response: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - } - } - else - { - if ((mgcpMonitorFg & MONITOR_MG1_MSG) == 0) - { - if ((mgcpMonitorFg & MONITOR_MG2_MSG) == 0) - { - if ((0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2]))) - { - if (mgcpPort[port].para.sl.cmdRes == MGCP_COMMAND) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else - { - sprintf(mgcpAsciTempBuf, "Receive Response: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - else - { - if (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1])) - { - if (mgcpPort[port].para.sl.cmdRes == MGCP_COMMAND) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else - { - sprintf(mgcpAsciTempBuf, "Receive Response: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - } - else - { - if ((mgcpMonitorFg & MONITOR_MG2_MSG) == 0) - { - if (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2])) - { - if (mgcpPort[port].para.sl.cmdRes == MGCP_COMMAND) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else - { - sprintf(mgcpAsciTempBuf, "Receive Response: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - } - } - } - else if (((mgcpMonitorFg & MONITOR_MG0_MSG) == MONITOR_MG0_MSG) - || ((mgcpMonitorFg & MONITOR_MG1_MSG) == MONITOR_MG1_MSG) - || ((mgcpMonitorFg & MONITOR_MG2_MSG) == MONITOR_MG2_MSG)) - { - if ((((mgcpMonitorFg & MONITOR_MG0_MSG) == MONITOR_MG0_MSG) && (0 == strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0]))) - || (((mgcpMonitorFg & MONITOR_MG1_MSG) == MONITOR_MG1_MSG) && (0 == strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1]))) - || (((mgcpMonitorFg & MONITOR_MG2_MSG) == MONITOR_MG2_MSG) && (0 == strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2])))) - { - if (mgcpPort[port].para.sl.cmdRes == MGCP_COMMAND) - { - sprintf(mgcpAsciTempBuf, "Receive Command: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else - { - sprintf(mgcpAsciTempBuf, "Receive Response: %s\r\n", mgcpRvMsg.msgContent); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - - if (1 == ret) - { - *nextMsg = nextHeader; - return 1; - } - - return 0; -} - -int mgcp_msg_parse(WORD networkPort) -{ - char *msg, *nextMsg; - WORD len; - WORD lenTotal; - int port; - MGCP_PARA *para; - BYTE cmdRes; - int ret; - int i; - - nextMsg = msg = mgcpRvMsg.msgContent; - lenTotal = len = mgcpRvMsg.msgLength; - - mgcp_util_replace_all_lws(msg); - - for (i = 0; i < 5; i++) - { - if ((ret = mgcp_msg_parse_single(nextMsg, len, &nextMsg, networkPort)) <= 0) - break; - else - { - len = nextMsg - msg; - - if (len >= lenTotal) - break; - else - len = lenTotal -len; - } - } - - return 1; -} - -void mgcp_recv_msg() -{ - BYTE i; - WORD port; - - for (i = 0; i < 64; i++) - { - if (i & 1) - port = MGCP_INT_PORT_2427; - else - port = MGCP_INT_PORT_2727; - - if (iptrDirectRecvMsg(&mgcpRvMsg, port) > 0) - { - if (mgcpRvMsg.msgLength >= 1500) - continue; - mgcpRvMsg.msgContent[mgcpRvMsg.msgLength] = '\0'; - mgcp_msg_parse(port); - } - } -} - -// MGCP Message Encoding - -int mgcp_create_req_id(WORD port, char *reqId) -{ - if (port >= MGCP_MAX_NUM_OF_PORT) - return -1; - - if (reqId[0] == '\0') - sprintf(reqId, "%X%lX", port, time(NULL)); - else - return 0; - - return 0; -} - -int mgcp_ep_id_encode(MGCP_SL *sl, char *endPointId) -{ - char epType[8]; - - if (sl->epNameMethod == MGCP_EP_NAME_UNSTRUCTURED) - { - if (sl->chlNum == MGCP_EP_NAME_CHNL_WILDCAST) - sprintf(endPointId, "*"); - else - sprintf(endPointId, "%d", sl->chlNum); - } - else if (sl->epNameMethod == MGCP_EP_NAME_STRUCTURED) - { - if ((sl->mgType >= MGCP_MG_TYPE_AudioCoder) && (sl->mgType < MGCP_MG_TYPE_ANN)) - { - if ((sl->portType == MGCP_PORT_TYPE_E1) || - (sl->portType == MGCP_PORT_TYPE_T1)) - { - if (sl->portType == MGCP_PORT_TYPE_E1) - sprintf(epType, "e1"); - else - sprintf(epType, "t1"); - if (MGCP_EP_NAME_TRK_WILDCAST == sl->trkNum) - { - if (sl->chlNum == MGCP_EP_NAME_CHNL_WILDCAST) - sprintf(endPointId, "ds/%s-*/*", epType); - else - sprintf(endPointId, "ds/%s-*/%d", epType, sl->chlNum); - } - else - { - if (sl->chlNum == MGCP_EP_NAME_CHNL_WILDCAST) - sprintf(endPointId, "ds/%s-%d/*", epType, sl->trkNum); - else - sprintf(endPointId, "ds/%s-%d/%d", epType, sl->trkNum, sl->chlNum); - } - } - else if (MGCP_PORT_TYPE_AALN == sl->portType) - { - sprintf(epType, "aaln"); - if (sl->trkNum == MGCP_EP_NAME_TRK_WILDCAST) - sprintf(endPointId, "%s/*", epType); - else - sprintf(endPointId, "%s/%d", epType, sl->trkNum); - } - else - return -1; - } - else if (sl->mgType == MGCP_MG_TYPE_ANN) - { - sprintf(epType, "ann"); - if (sl->chlNum == MGCP_EP_NAME_CHNL_WILDCAST) - sprintf(endPointId, "%s/*", epType); - else - sprintf(endPointId, "%s/%d", epType, sl->chlNum); - } - else - return -1; - } - else - return -1; - - return 0; -} - -int mgcp_para_call_id_encode(MGCP_C *c, char *msgPara) -{ - if ((c == NULL) || - (msgPara == NULL)) - return -1; - - sprintf(msgPara, "C: %s\r\n", c->callId); - - return 0; -} - -int mgcp_para_con_id_encode(MGCP_I *i, char *msgPara) -{ - if ((i == NULL) || - (msgPara == NULL)) - return -1; - - sprintf(msgPara, "I: %s\r\n", i->conId); - - return 0; -} - -int mgcp_para_local_con_opt_encode(MGCP_L *l, char *msgPara, WORD flag) -{ - if ((l == NULL) || - (msgPara == NULL)) - return -1; - - sprintf(msgPara, "L: p:%d, a:%s, nt:IN%s%s\r\n", l->p, l->codec, - (l->ecDisable)? ", e:off" : "", (l->ssDisable)? ", s:off" : ""); - - return 0; -} - -int mgcp_para_con_mode_encode(MGCP_M *m, char *msgPara) -{ - if ((m == NULL) || - (msgPara == NULL)) - return -1; - - if (m->mode > MGCP_CON_MODE_SENDRECV) - return -1; - - sprintf(msgPara, "M: %s\r\n", mgcpConModeToStr[m->mode]); - - return 0; -} - -int mgcp_para_signal_req_encode(WORD port, MGCP_S *s, char *msgPara) -{ - char str[32]; - - if ((port >= MGCP_MAX_NUM_OF_PORT) || - (s == NULL) || - (msgPara == NULL)) - return -1; - - if (s->pkg >= MGCP_PACKAGE_MAX) - return -1; - - - if (s->signal > mgcpMaxPkgSig[s->pkg]) - return -1; - - - if (mgcp_create_req_id(port, s->reqId) < 0) - return -1; - - sprintf(msgPara, "X: %s\r\n", s->reqId); - - if (s->signal == MGCP_PACKAGE_SIG_NONE) - strcat(msgPara, "S:\r\n"); - else - { - sprintf(str, "S: %s/%s\r\n", mgcpPkgToStr[s->pkg], mgcpAalnSigToStr[s->pkg][s->signal]); - strcat(msgPara, str); - } - - return 0; -} - -int mgcp_para_request_event_encode(WORD port, MGCP_R *r, char *msgPara) -{ - char str[32]; - - if ((port >= MGCP_MAX_NUM_OF_PORT) ||(r == NULL) || - (msgPara == NULL)) - return -1; - - if (r->pkg >= MGCP_PACKAGE_MAX) - return -1; - - if (r->event > mgcpMaxPkgEvent[r->pkg]) - return -1; - - if (mgcp_create_req_id(port, r->reqId) < 0) - return -1; - - sprintf(msgPara, "X: %s\r\n", r->reqId); - - sprintf(str, "R: %s/%s\r\n", mgcpPkgToStr[r->pkg], mgcpEntToStr[r->pkg][r->event]); - strcpy(msgPara, str); - - return 0; -} - -int mgcp_para_observed_ent_encode(WORD port, MGCP_O *o, char *msgPara) -{ - char str[32]; - - if ((port >= MGCP_MAX_NUM_OF_PORT) ||(o == NULL) || - (msgPara == NULL)) - return -1; - - if (o->package >= MGCP_PACKAGE_MAX) - return -1; - - if (o->event > mgcpMaxPkgEvent[o->package]) - return -1; - - if (mgcp_create_req_id(port, o->reqId) < 0) - return -1; - sprintf(msgPara, "X: %s\r\n", o->reqId); - - sprintf(str, "O: %s/%s\r\n", mgcpPkgToStr[o->package], mgcpEntToStr[o->package][o->event]); - strcat(msgPara, str); - - return 0; -} - - -int mgcp_para_restart_mod_encode(MGCP_RM *rm, char *msgPara) -{ - if ((NULL == rm)||(NULL == msgPara)) - return -1; - - if (rm->rm >= MGCP_REST_MOD_MAX) - return -1; - - sprintf(msgPara, "%s", mgcpRestModToStr[rm->rm]); - - return 0; -} - -int mgcp_para_restart_delay_encode(MGCP_RD *rd, char *msgPara) -{ - if ((NULL == rd)||(NULL == msgPara)) - return -1; - - sprintf(msgPara, "RD: %d\r\n", rd->rd); - - return 0; -} -/**/ -int mgcp_cmd_crcx_para_encode(WORD port, char *msgText) -{ - MGCP_PORT *trans; - MGCP_PARA *para; - DWORD flag; - char msgPara[128]; - - if ((port >= MGCP_MAX_NUM_OF_PORT) || - (msgText == NULL)) - return -1; - - trans = &mgcpPort[port]; - para = &trans->para; - flag = para->flag; - - if ((flag & MGCP_PARA_FLAG_C) == 0) - return -1; - if (mgcp_para_call_id_encode(¶->c, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - - if ((flag & MGCP_PARA_FLAG_L) != 0) - { - if (mgcp_para_local_con_opt_encode(¶->l, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - - if ((flag & MGCP_PARA_FLAG_M) == 0) - return -1; - if (mgcp_para_con_mode_encode(¶->m, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - - return 0; -} - -int mgcp_cmd_mdcx_para_encode(WORD port, char *msgText) -{ - MGCP_PORT *trans; - MGCP_PARA *para; - DWORD flag; - char msgPara[128]; - - if ((port >= MGCP_MAX_NUM_OF_PORT) || - (msgText == NULL)) - return -1; - - trans = &mgcpPort[port]; - para = &trans->para; - flag = para->flag; - - if ((flag & MGCP_PARA_FLAG_C) == 0) - return -1; - if (mgcp_para_call_id_encode(¶->c, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - - if ((flag & MGCP_PARA_FLAG_I) == 0) - return -1; - if (mgcp_para_con_id_encode(¶->i, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - - if ((flag & MGCP_PARA_FLAG_L) != 0) - { - if (mgcp_para_local_con_opt_encode(¶->l, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - - if ((flag & MGCP_PARA_FLAG_M) != 0) - { - if (mgcp_para_con_mode_encode(¶->m, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - - if ((flag & MGCP_PARA_FLAG_S) != 0) - { - if (mgcp_para_signal_req_encode(port, ¶->s, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - - return 0; -} - -int mgcp_cmd_dlcx_para_encode(WORD port, char *msgText) -{ - MGCP_PORT *trans; - MGCP_PARA *para; - DWORD flag; - char msgPara[128]; - - if ((port >= MGCP_MAX_NUM_OF_PORT) || - (msgText == NULL)) - return -1; - - trans = &mgcpPort[port]; - para = &trans->para; - flag = para->flag; - - if ((flag & MGCP_PARA_FLAG_C) != 0) - { - if (mgcp_para_call_id_encode(¶->c, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - - if ((flag & MGCP_PARA_FLAG_I) != 0) - { - if (mgcp_para_con_id_encode(¶->i, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - - if ((flag & MGCP_PARA_FLAG_S) != 0) - { - if (mgcp_para_signal_req_encode(port, ¶->s, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - - return 0; -} - -int mgcp_cmd_rqnt_para_encode(WORD port, char *msgText) -{ - MGCP_PORT *trans; - MGCP_PARA *para; - DWORD flag; - char msgPara[128]; - - if ((port >= MGCP_MAX_NUM_OF_PORT) || - (msgText == NULL)) - return -1; - - trans = &mgcpPort[port]; - para = &trans->para; - flag = para->flag; - - if ((flag & MGCP_PARA_FLAG_S) != 0) - { - if (mgcp_para_signal_req_encode(port, ¶->s, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - - if ((flag & MGCP_PARA_FLAG_R) != 0) - { - if (mgcp_para_request_event_encode(port, ¶->r, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - - return 0; -} - -int mgcp_cmd_ntfy_para_encode(WORD port, char *msgText) -{ - - MGCP_PORT *trans; - MGCP_PARA *para; - DWORD flag; - char msgPara[128]; - - if ((port >= MGCP_MAX_NUM_OF_PORT) || - (msgText == NULL)) - return -1; - - trans = &mgcpPort[port]; - para = &trans->para; - flag = para->flag; - - if ((flag & MGCP_PARA_FLAG_O) == 0) - return -1; - if (mgcp_para_observed_ent_encode(port, ¶->o, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - - return 0; -} - -int mgcp_cmd_auep_para_encode(WORD port, char *msgText) -{ - - if ((port >= MGCP_MAX_NUM_OF_PORT) || - (msgText == NULL)) - return -1; - - return 0; - -} - -int mgcp_cmd_rsip_para_encode(WORD port, char *msgText) -{ - - MGCP_PORT *trans; - MGCP_PARA *para; - DWORD flag; - char msgPara[128]; - - if ((port >= MGCP_MAX_NUM_OF_PORT) || - (msgText == NULL)) - return -1; - - trans = &mgcpPort[port]; - para = &trans->para; - flag = para->flag; - if ((flag & MGCP_PARA_FLAG_RM) == 0) - return -1; - if (mgcp_para_restart_mod_encode(¶->rm, msgPara) < 0) - return -1; - sprintf(msgText, "RM: %s\r\n", msgPara); - - if ((flag & MGCP_PARA_FLAG_RD) != 0) - { - if (mgcp_para_restart_delay_encode(¶->rd, msgPara) < 0) - return -1; - strcat(msgText, msgPara); - } - return 0; - -} - -int mgcp_send_msg(WORD port, BYTE cmdRes) -{ - MGCP_PORT *trans; - MGCP_PARA *para; - MGCP_SL *sl; - DWORD flag; - BYTE cmd; - WORD len; - char endPointId[16]; - char *msgText = mgcpSdMsg.msgContent; - char resPara[256]; - - if (port >= MGCP_MAX_NUM_OF_PORT) - return -1; - - msgText[MAX_CONTENT_LEN - 1] = '\0'; - - trans = &mgcpPort[port]; - - if (cmdRes == MGCP_COMMAND) - { - cmd = trans->cmd; - para = &trans->para; - flag = para->flag; - sl = ¶->sl; - - if ((flag & MGCP_PARA_FLAG_SL) == 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "MGCP_COMMAND have no sl flag\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - - if ((cmd < MGCP_CMD_CRCX) || (cmd > MGCP_CMD_RSIP)) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "cmd is unknown\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - - if (mgcp_ep_id_encode(sl, endPointId) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "ep id encode fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - - // Start Line - if (0 == strcmp(sl->mgName, "")) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "no domain name\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - - sprintf(msgText, "%s %ld %s@%s MGCP 1.0\r\n", mgcpCmdToStr[cmd], trans->transId, endPointId, sl->mgName); - - // Parameters - switch (cmd) - { - case MGCP_CMD_CRCX: - if (mgcp_cmd_crcx_para_encode(port, msgText) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "crcx para encode fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - break; - case MGCP_CMD_MDCX: - if (mgcp_cmd_mdcx_para_encode(port, msgText) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "mdcx para encode fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - break; - case MGCP_CMD_DLCX: - if (mgcp_cmd_dlcx_para_encode(port, msgText) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "dlcx para encode fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - break; - case MGCP_CMD_RQNT: - if (mgcp_cmd_rqnt_para_encode(port, msgText) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "rqnt para encode fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - break; - case MGCP_CMD_NTFY: - if (mgcp_cmd_ntfy_para_encode(port, msgText) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "ntfy para encode fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - break; - case MGCP_CMD_AUEP: - if (mgcp_cmd_auep_para_encode(port, msgText) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "auep para encode fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - break; - case MGCP_CMD_RSIP: - if (mgcp_cmd_rsip_para_encode(port, msgText) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "rsip para encode fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - break; - default: - break; - } - - len = strlen(msgText); - - // SDP - if ((flag & MGCP_PARA_FLAG_SDP) != 0) - { - strcat(msgText, "\r\n"); - len += 2; - if (pub_sdp_encode(¶->sdp, msgText + len) < 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "pub sdp encode fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - len += strlen(msgText + len); - } - } - else - { - para = &trans->para; - flag = para->flag; - sl = ¶->sl; - - if ((flag & MGCP_PARA_FLAG_SL) == 0) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "MGCP_RESPONSE have no sl flag\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - - // Start Line - sprintf(msgText, "%d %ld %s\r\n", sl->retCode, trans->transId, sl->desc); - - if ((trans->cmd == MGCP_CMD_CRCX) && (sl->retCode == 200)) - { - sprintf(resPara, "I: %s\r\n", para->i.conId); - strcat(msgText, resPara); - } - - len = strlen(msgText); - } - - if (((mgcpMonitorFg & MONITOR_ALL) == MONITOR_ALL) || ((mgcpMonitorFg | MONITOR_ERROR) == MONITOR_ALL)) - { - sprintf(mgcpAsciTempBuf, "Send Message: %s\r\n", msgText); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - else if ((mgcpMonitorFg | MONITOR_MG0_MSG | MONITOR_MG1_MSG | MONITOR_MG2_MSG |MONITOR_ERROR) == MONITOR_ALL) - { - if ((mgcpMonitorFg & MONITOR_MG0_MSG) == 0) - { - if ((mgcpMonitorFg & MONITOR_MG1_MSG) == 0) - { - if ((mgcpMonitorFg & MONITOR_MG2_MSG) == 0) - { - if ((0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2]))) - { - sprintf(mgcpAsciTempBuf, "Send Message: %s\r\n", msgText); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - else - { - if ((0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1]))) - { - sprintf(mgcpAsciTempBuf, "Send Message: %s\r\n", msgText); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - else - { - if ((mgcpMonitorFg & MONITOR_MG2_MSG) == 0) - { - if ((0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2]))) - { - sprintf(mgcpAsciTempBuf, "Send Message: %s\r\n", msgText); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - else - { - if (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0])) - { - sprintf(mgcpAsciTempBuf, "Send Message: %s\r\n", msgText); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - } - else - { - if ((mgcpMonitorFg & MONITOR_MG1_MSG) == 0) - { - if ((mgcpMonitorFg & MONITOR_MG2_MSG) == 0) - { - if ((0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1])) - && (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2]))) - { - sprintf(mgcpAsciTempBuf, "Send Message: %s\r\n", msgText); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - else - { - if (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1])) - { - sprintf(mgcpAsciTempBuf, "Send Message: %s\r\n", msgText); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - else - { - if ((mgcpMonitorFg & MONITOR_MG2_MSG) == 0) - { - if (0 != strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2])) - { - sprintf(mgcpAsciTempBuf, "Send Message: %s\r\n", msgText); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - } - } - } - else if (((mgcpMonitorFg & MONITOR_MG0_MSG) == MONITOR_MG0_MSG) - || ((mgcpMonitorFg & MONITOR_MG1_MSG) == MONITOR_MG1_MSG) - || ((mgcpMonitorFg & MONITOR_MG2_MSG) == MONITOR_MG2_MSG)) - { - if ((((mgcpMonitorFg & MONITOR_MG0_MSG) == MONITOR_MG0_MSG) && (0 == strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[0]))) - || (((mgcpMonitorFg & MONITOR_MG1_MSG) == MONITOR_MG1_MSG) && (0 == strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[1]))) - || (((mgcpMonitorFg & MONITOR_MG2_MSG) == MONITOR_MG2_MSG) && (0 == strcmp(mgcpPort[port].para.sl.mgName, dbgmgNamemg[2])))) - { - sprintf(mgcpAsciTempBuf, "Send Message: %s\r\n", msgText); - - mgcp_asciout_proc(mgcpAsciTempBuf); - } - } - - - mgcpSdMsg.msgDstIP = para->ip; - mgcpSdMsg.msgSrcPort = para->localPort; - mgcpSdMsg.msgDstPort = para->peerPort; - mgcpSdMsg.msgLength = len; - - iptrDirectSendMsg(mgcpSdMsg); - - return 0; -} - -int mgcp_send_rsp(WORD port, BYTE retCodeIndex) -{ - MGCP_PORT *trans; - MGCP_PARA *para; - MGCP_SL *sl; -// WORD tPort; - - if ((port >= MGCP_MAX_NUM_OF_PORT) || - (retCodeIndex >= MGCP_MAX_RET_CODE_INDEX)) - { - if ((mgcpMonitorFg & MONITOR_ERROR) == MONITOR_ERROR) - { - sprintf(mgcpAsciTempBuf, "mgcp_send_rsp: port or retCodeIndex fault\r\n"); - mgcp_log_err(mgcpAsciTempBuf); - } - return -1; - } - - trans = &mgcpPort[port]; - para = &trans->para; - sl = ¶->sl; - - para->flag = MGCP_PARA_FLAG_SL; - - sl->cmdRes = MGCP_RESPONSE; - sl->retCode = mgcpRetCode[retCodeIndex].retCode; - strcpy(sl->desc, mgcpRetCode[retCodeIndex].desc); - - if (mgcp_send_msg(port, MGCP_RESPONSE) < 0) - return -1; - - return 0; -} - -int mgcp_send_incmd_rsp(DWORD transId, BYTE retCodeIndex) -{ - MGCP_PORT *trans; - MGCP_PARA *para; - - trans = &mgcpPort[0]; - para = &trans->para; - - trans->transId = transId; - para->ip = mgcpRvMsg.msgSrcIP; - para->peerPort = mgcpRvMsg.msgSrcPort; - para->localPort = mgcpRvMsg.msgDstPort; - - if (mgcp_send_rsp(0, retCodeIndex) < 0) - return -1; - - return 0; -} diff --git a/omc/plat/mtp3/.copyarea.db b/omc/plat/mtp3/.copyarea.db deleted file mode 100644 index b15dc1b..0000000 --- a/omc/plat/mtp3/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mtp3 -2 -5 -3:doc|2|0|0|0|49e96a1fbfa511dc85a0001c23e19543|0 -2:ut|2|0|0|0|58396c6bbfa511dc85a0001c23e19543|0 -3:src|2|0|0|0|4bb96a73bfa511dc85a0001c23e19543|0 -8:Makefile|1|11d70a41c54|b71|77f4d1c1|4b196a57bfa511dc85a0001c23e19543|0 -3:lib|2|0|0|0|4a896a3bbfa511dc85a0001c23e19543|0 diff --git a/omc/plat/mtp3/lib/libmtp3.a b/omc/plat/mtp3/lib/libmtp3.a deleted file mode 100644 index efd8407..0000000 Binary files a/omc/plat/mtp3/lib/libmtp3.a and /dev/null differ diff --git a/omc/plat/mtp3/obj/mtp3lite.o b/omc/plat/mtp3/obj/mtp3lite.o deleted file mode 100644 index 27eb34f..0000000 Binary files a/omc/plat/mtp3/obj/mtp3lite.o and /dev/null differ diff --git a/omc/plat/mtp3/obj/mtpinit.o b/omc/plat/mtp3/obj/mtpinit.o deleted file mode 100644 index 2be5a33..0000000 Binary files a/omc/plat/mtp3/obj/mtpinit.o and /dev/null differ diff --git a/omc/plat/mtp3/obj/mtpm.o b/omc/plat/mtp3/obj/mtpm.o deleted file mode 100644 index 095e6d0..0000000 Binary files a/omc/plat/mtp3/obj/mtpm.o and /dev/null differ diff --git a/omc/plat/mtp3/obj/mtpmib.o b/omc/plat/mtp3/obj/mtpmib.o deleted file mode 100644 index 1ce71db..0000000 Binary files a/omc/plat/mtp3/obj/mtpmib.o and /dev/null differ diff --git a/omc/plat/mtp3/obj/mtpslm.o b/omc/plat/mtp3/obj/mtpslm.o deleted file mode 100644 index f585b33..0000000 Binary files a/omc/plat/mtp3/obj/mtpslm.o and /dev/null differ diff --git a/omc/plat/mtp3/obj/mtpsmh.o b/omc/plat/mtp3/obj/mtpsmh.o deleted file mode 100644 index 0f0fb90..0000000 Binary files a/omc/plat/mtp3/obj/mtpsmh.o and /dev/null differ diff --git a/omc/plat/mtp3/obj/mtpsrm.o b/omc/plat/mtp3/obj/mtpsrm.o deleted file mode 100644 index c408e37..0000000 Binary files a/omc/plat/mtp3/obj/mtpsrm.o and /dev/null differ diff --git a/omc/plat/mtp3/obj/mtpstm.o b/omc/plat/mtp3/obj/mtpstm.o deleted file mode 100644 index eef494e..0000000 Binary files a/omc/plat/mtp3/obj/mtpstm.o and /dev/null differ diff --git a/omc/plat/mtp3/src/.copyarea.db b/omc/plat/mtp3/src/.copyarea.db deleted file mode 100644 index c62ca00..0000000 --- a/omc/plat/mtp3/src/.copyarea.db +++ /dev/null @@ -1,13 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mtp3\src -2 -9 -8:mtpmib.c|1|11d9047aab9|f0f1|263f8bde|2ab9bcfdb07f11dd85e3001c23e19543|0 -8:mtpsmh.c|1|11d70a41d0f|1be10|96e61327|ecb484de6cf311dd91a5001c23e19543|0 -8:mtpslm.c|1|11d70a41e76|2a52|6ee27efa|a95b4dee15c111dd8f7b001c23e19543|0 -7:include|2|0|0|0|4e196ae3bfa511dc85a0001c23e19543|0 -8:mtpstm.c|1|11d70a41d3e|f9dd|3876dc4e|ef5346de339011dd9fa7001c23e19543|0 -8:mtpsrm.c|1|11d70a41dda|2126|72c62bcc|f1b347ce339011dd9fa7001c23e19543|0 -9:mtpinit.c|1|11d70a41e47|c26b|85cc797c|ede485266cf311dd91a5001c23e19543|0 -a:mtp3lite.c|1|11d70a41d6d|4bd8|17766c21|ed4484f66cf311dd91a5001c23e19543|0 -6:mtpm.c|1|11d9047ab36|e316|50230af0|0d28dec5b05e11dd8511001c23e19543|0 diff --git a/omc/plat/mtp3/src/include/.copyarea.db b/omc/plat/mtp3/src/include/.copyarea.db deleted file mode 100644 index 1baaf0b..0000000 --- a/omc/plat/mtp3/src/include/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mtp3\src\include -2 -8 -8:mtpdef.h|1|11d70a4203b|d08|59b0359a|f1234786339011dd9fa7001c23e19543|0 -9:mtpfunc.h|1|11d70a4206a|117d|a4742d2c|f123479e339011dd9fa7001c23e19543|0 -8:mtpext.h|1|11d70a41ffd|f14|6c4f1cc8|f083476e339011dd9fa7001c23e19543|0 -a:mtp3lite.h|1|11d70a41f9f|1f9|4ea3a3fb|f083473e339011dd9fa7001c23e19543|0 -e:mtp3lite_pub.h|1|11d70a41fce|3c4|1c113fad|f0834756339011dd9fa7001c23e19543|0 -6:mtp3.h|1|11d70a41f61|109d|ecb1683c|eff34726339011dd9fa7001c23e19543|0 -a:mtpconst.h|1|11d9047ab93|418e|88c053ff|0c88debeb05e11dd8510001c23e19543|0 -8:mtpstm.h|1|11d70a41f03|1706|33254f89|ef5346f6339011dd9fa7001c23e19543|0 diff --git a/omc/plat/mtp3_old/.copyarea.db b/omc/plat/mtp3_old/.copyarea.db deleted file mode 100644 index b15dc1b..0000000 --- a/omc/plat/mtp3_old/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mtp3 -2 -5 -3:doc|2|0|0|0|49e96a1fbfa511dc85a0001c23e19543|0 -2:ut|2|0|0|0|58396c6bbfa511dc85a0001c23e19543|0 -3:src|2|0|0|0|4bb96a73bfa511dc85a0001c23e19543|0 -8:Makefile|1|11d70a41c54|b71|77f4d1c1|4b196a57bfa511dc85a0001c23e19543|0 -3:lib|2|0|0|0|4a896a3bbfa511dc85a0001c23e19543|0 diff --git a/omc/plat/mtp3_old/src/.copyarea.db b/omc/plat/mtp3_old/src/.copyarea.db deleted file mode 100644 index c62ca00..0000000 --- a/omc/plat/mtp3_old/src/.copyarea.db +++ /dev/null @@ -1,13 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mtp3\src -2 -9 -8:mtpmib.c|1|11d9047aab9|f0f1|263f8bde|2ab9bcfdb07f11dd85e3001c23e19543|0 -8:mtpsmh.c|1|11d70a41d0f|1be10|96e61327|ecb484de6cf311dd91a5001c23e19543|0 -8:mtpslm.c|1|11d70a41e76|2a52|6ee27efa|a95b4dee15c111dd8f7b001c23e19543|0 -7:include|2|0|0|0|4e196ae3bfa511dc85a0001c23e19543|0 -8:mtpstm.c|1|11d70a41d3e|f9dd|3876dc4e|ef5346de339011dd9fa7001c23e19543|0 -8:mtpsrm.c|1|11d70a41dda|2126|72c62bcc|f1b347ce339011dd9fa7001c23e19543|0 -9:mtpinit.c|1|11d70a41e47|c26b|85cc797c|ede485266cf311dd91a5001c23e19543|0 -a:mtp3lite.c|1|11d70a41d6d|4bd8|17766c21|ed4484f66cf311dd91a5001c23e19543|0 -6:mtpm.c|1|11d9047ab36|e316|50230af0|0d28dec5b05e11dd8511001c23e19543|0 diff --git a/omc/plat/mtp3_old/src/include/.copyarea.db b/omc/plat/mtp3_old/src/include/.copyarea.db deleted file mode 100644 index 1baaf0b..0000000 --- a/omc/plat/mtp3_old/src/include/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\mtp3\src\include -2 -8 -8:mtpdef.h|1|11d70a4203b|d08|59b0359a|f1234786339011dd9fa7001c23e19543|0 -9:mtpfunc.h|1|11d70a4206a|117d|a4742d2c|f123479e339011dd9fa7001c23e19543|0 -8:mtpext.h|1|11d70a41ffd|f14|6c4f1cc8|f083476e339011dd9fa7001c23e19543|0 -a:mtp3lite.h|1|11d70a41f9f|1f9|4ea3a3fb|f083473e339011dd9fa7001c23e19543|0 -e:mtp3lite_pub.h|1|11d70a41fce|3c4|1c113fad|f0834756339011dd9fa7001c23e19543|0 -6:mtp3.h|1|11d70a41f61|109d|ecb1683c|eff34726339011dd9fa7001c23e19543|0 -a:mtpconst.h|1|11d9047ab93|418e|88c053ff|0c88debeb05e11dd8510001c23e19543|0 -8:mtpstm.h|1|11d70a41f03|1706|33254f89|ef5346f6339011dd9fa7001c23e19543|0 diff --git a/omc/plat/pal/.copyarea.db b/omc/plat/pal/.copyarea.db deleted file mode 100644 index 81e1099..0000000 --- a/omc/plat/pal/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\pal -2 -4 -5:pal.h|1|11d70a498c8|c5a|3de0ff64|1a1230a07faf11dd8601001c23e19543|0 -4:rm.c|1|11d70a49907|1bd7|3bd2b6c3|1ab230b87faf11dd8601001c23e19543|0 -8:Makefile|1|11d70a4987a|af|e40a2cda|fb948a7e6cf311dd91a5001c23e19543|0 -3:lib|2|0|0|0|bfc1243a464f11dd8a6c001c23e19543|0 diff --git a/omc/plat/pal/lib/libpal.a b/omc/plat/pal/lib/libpal.a deleted file mode 100644 index 5ff4941..0000000 Binary files a/omc/plat/pal/lib/libpal.a and /dev/null differ diff --git a/omc/plat/pal/rm.o b/omc/plat/pal/rm.o deleted file mode 100644 index b986d3a..0000000 Binary files a/omc/plat/pal/rm.o and /dev/null differ diff --git a/omc/plat/public/.copyarea.db b/omc/plat/public/.copyarea.db deleted file mode 100644 index e60b01b..0000000 --- a/omc/plat/public/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public -2 -5 -2:ut|2|0|0|0|7a396fe3bfa511dc85ad001c23e19543|0 -3:src|2|0|0|0|9d3d9499069b11e18fbf001ec9cf72cd|0 -8:Makefile|1|127d644622f|b9b|b9b8c7a2|5a996abfbfa511dc85ad001c23e19543|0 -3:doc|2|0|0|0|5a096a87bfa511dc85ad001c23e19543|0 -3:lib|2|0|0|0|5a996aa3bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/lib/libpublic.a b/omc/plat/public/lib/libpublic.a deleted file mode 100644 index 5750559..0000000 Binary files a/omc/plat/public/lib/libpublic.a and /dev/null differ diff --git a/omc/plat/public/obj/apiKey.o b/omc/plat/public/obj/apiKey.o deleted file mode 100644 index cda2da3..0000000 Binary files a/omc/plat/public/obj/apiKey.o and /dev/null differ diff --git a/omc/plat/public/obj/asn1.o b/omc/plat/public/obj/asn1.o deleted file mode 100644 index 0cd1e7e..0000000 Binary files a/omc/plat/public/obj/asn1.o and /dev/null differ diff --git a/omc/plat/public/obj/bisearch.o b/omc/plat/public/obj/bisearch.o deleted file mode 100644 index 6a4b426..0000000 Binary files a/omc/plat/public/obj/bisearch.o and /dev/null differ diff --git a/omc/plat/public/obj/cJSON.o b/omc/plat/public/obj/cJSON.o deleted file mode 100644 index a0ad2d7..0000000 Binary files a/omc/plat/public/obj/cJSON.o and /dev/null differ diff --git a/omc/plat/public/obj/cdr.o b/omc/plat/public/obj/cdr.o deleted file mode 100644 index ce927b0..0000000 Binary files a/omc/plat/public/obj/cdr.o and /dev/null differ diff --git a/omc/plat/public/obj/crypt.o b/omc/plat/public/obj/crypt.o deleted file mode 100644 index a24a993..0000000 Binary files a/omc/plat/public/obj/crypt.o and /dev/null differ diff --git a/omc/plat/public/obj/list.o b/omc/plat/public/obj/list.o deleted file mode 100644 index 33dfd88..0000000 Binary files a/omc/plat/public/obj/list.o and /dev/null differ diff --git a/omc/plat/public/obj/memwatch.o b/omc/plat/public/obj/memwatch.o deleted file mode 100644 index c4a2c64..0000000 Binary files a/omc/plat/public/obj/memwatch.o and /dev/null differ diff --git a/omc/plat/public/obj/number.o b/omc/plat/public/obj/number.o deleted file mode 100644 index a0511b7..0000000 Binary files a/omc/plat/public/obj/number.o and /dev/null differ diff --git a/omc/plat/public/obj/numgrp.o b/omc/plat/public/obj/numgrp.o deleted file mode 100644 index 650fd24..0000000 Binary files a/omc/plat/public/obj/numgrp.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_conf.o b/omc/plat/public/obj/pub_conf.o deleted file mode 100644 index f1c5ccb..0000000 Binary files a/omc/plat/public/obj/pub_conf.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_debug.o b/omc/plat/public/obj/pub_debug.o deleted file mode 100644 index 59c2fff..0000000 Binary files a/omc/plat/public/obj/pub_debug.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_file.o b/omc/plat/public/obj/pub_file.o deleted file mode 100644 index d1c7739..0000000 Binary files a/omc/plat/public/obj/pub_file.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_fmt.o b/omc/plat/public/obj/pub_fmt.o deleted file mode 100644 index cdf5459..0000000 Binary files a/omc/plat/public/obj/pub_fmt.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_inet.o b/omc/plat/public/obj/pub_inet.o deleted file mode 100644 index bda34b7..0000000 Binary files a/omc/plat/public/obj/pub_inet.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_log.o b/omc/plat/public/obj/pub_log.o deleted file mode 100644 index 387653d..0000000 Binary files a/omc/plat/public/obj/pub_log.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_malloc.o b/omc/plat/public/obj/pub_malloc.o deleted file mode 100644 index 68d16d3..0000000 Binary files a/omc/plat/public/obj/pub_malloc.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_netcap.o b/omc/plat/public/obj/pub_netcap.o deleted file mode 100644 index 39e1bfd..0000000 Binary files a/omc/plat/public/obj/pub_netcap.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_sdp.o b/omc/plat/public/obj/pub_sdp.o deleted file mode 100644 index 7a500c8..0000000 Binary files a/omc/plat/public/obj/pub_sdp.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_str.o b/omc/plat/public/obj/pub_str.o deleted file mode 100644 index a59fe78..0000000 Binary files a/omc/plat/public/obj/pub_str.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_sys.o b/omc/plat/public/obj/pub_sys.o deleted file mode 100644 index 88542b1..0000000 Binary files a/omc/plat/public/obj/pub_sys.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_time.o b/omc/plat/public/obj/pub_time.o deleted file mode 100644 index 85b88e1..0000000 Binary files a/omc/plat/public/obj/pub_time.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_timer.o b/omc/plat/public/obj/pub_timer.o deleted file mode 100644 index 2a5ac42..0000000 Binary files a/omc/plat/public/obj/pub_timer.o and /dev/null differ diff --git a/omc/plat/public/obj/pub_wnet.o b/omc/plat/public/obj/pub_wnet.o deleted file mode 100644 index 3eb1575..0000000 Binary files a/omc/plat/public/obj/pub_wnet.o and /dev/null differ diff --git a/omc/plat/public/obj/shm.o b/omc/plat/public/obj/shm.o deleted file mode 100644 index 36c1738..0000000 Binary files a/omc/plat/public/obj/shm.o and /dev/null differ diff --git a/omc/plat/public/src/.copyarea.db b/omc/plat/public/src/.copyarea.db deleted file mode 100644 index 768717e..0000000 --- a/omc/plat/public/src/.copyarea.db +++ /dev/null @@ -1,26 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\src -2 -16 -9:pub_sdp.c|1|127d6447386|9e8e|dc2ee6b1|9b54784a8b0e11de883f001ec9cf72cd|0 -c:pub_netcap.c|1|127d6446c13|245d|32552b6d|1daf6d5641e311df8afa001ec9cf72cd|0 -4:uwav|2|0|0|0|96f6447d9a8511dd8b36001c23e19543|0 -9:pub_sys.c|1|127d6447049|3979|31567382|65596c7fbfa511dc85ad001c23e19543|0 -9:pub_fmt.c|1|128cd7f376c|6f21|beb2f409|8dccec6867aa11df82b4001ec9cf72cd|0 -a:pub_conf.c|1|127d64464b0|10e|20a74078|5bc96af7bfa511dc85ad001c23e19543|0 -9:pub_str.c|1|127d64467cd|661e|d3c0ff5a|5e296b67bfa511dc85ad001c23e19543|0 -6:asn1.c|1|12e7ee24c03|4dc7|3d4c79dc|47416718460f11e09283001ec9cf72cd|0 -a:pub_inet.c|1|127d6446cee|28da|793e6029|1daf6d6e41e311df8afa001ec9cf72cd|0 -7:include|2|0|0|0|ac1d94cd069b11e18fbf001ec9cf72cd|0 -b:pub_timer.c|1|127d6446eb3|16db|39db0bf7|64296c47bfa511dc85ad001c23e19543|0 -7:crypt.c|1|127d6447124|26e6|6634adda|65e96c9bbfa511dc85ad001c23e19543|0 -a:pub_wnet.c|1|127d644653c|317b|e1890fbb|5c696b13bfa511dc85ad001c23e19543|0 -9:pub_log.c|1|127d64468b7|b2d|c3f1bd3b|5f696b83bfa511dc85ad001c23e19543|0 -a:pub_time.c|1|127d6446a5d|d8f|990a6107|60996bbbbfa511dc85ad001c23e19543|0 -5:cdr.c|1|1345dd30e40|2bcc|5f9d882|87761e132ba411e19630001ec9cf72cd|0 -a:bisearch.c|1|127d6446607|1385|f4371070|5cf96b2fbfa511dc85ad001c23e19543|0 -c:pub_malloc.c|1|127d6446992|185|b9cb602e|5ff96b9fbfa511dc85ad001c23e19543|0 -b:pub_debug.c|1|127d6446702|486|f3bb2044|5d996b4bbfa511dc85ad001c23e19543|0 -a:pub_file.c|1|127d6446de8|434|22fef381|62f96c2bbfa511dc85ad001c23e19543|0 -a:memwatch.c|1|127d64472ab|128e8|ccb0b9c1|78696fabbfa511dc85ad001c23e19543|0 -5:shm.c|1|13334a44f40|695|0|a16d94b5069b11e18fbf001ec9cf72cd|0 diff --git a/omc/plat/public/src/include/.copyarea.db b/omc/plat/public/src/include/.copyarea.db deleted file mode 100644 index 383ad16..0000000 --- a/omc/plat/public/src/include/.copyarea.db +++ /dev/null @@ -1,30 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\src\include -2 -1a -9:pub_fmt.h|1|127d644757a|18d5|482f05d1|67296cd3bfa511dc85ad001c23e19543|0 -9:pub_sdp.h|1|127d6447e54|1178|2c41eecc|9a24783a8b0e11de883f001ec9cf72cd|0 -a:memwatch.h|1|127d6447cbd|7c41|56edfb7e|6da96debbfa511dc85ad001c23e19543|0 -a:pub_list.h|1|127d64475f7|5bc3|714b5def|67b96cefbfa511dc85ad001c23e19543|0 -a:pub_file.h|1|127d6447f3e|182|64996024|6f796e3fbfa511dc85ad001c23e19543|0 -a:pub_inet.h|1|127d64486e0|75f|610ddfbd|1daf6d8641e311df8afa001ec9cf72cd|0 -b:pub_debug.h|1|127d6448615|3c9|166ce571|75696f1fbfa511dc85ad001c23e19543|0 -b:pub_timer.h|1|127d644827b|b06|9b3df959|72796eafbfa511dc85ad001c23e19543|0 -a:pub_base.h|1|127d6447a2d|136b|6bbc35ac|6b496d97bfa511dc85ad001c23e19543|0 -c:license_id.h|1|127d64480e4|271|b2a5a881|9ac478428b0e11de883f001ec9cf72cd|0 -c:pub_netcap.h|1|127d6448559|2d9|47d0c451|74396f03bfa511dc85ad001c23e19543|0 -7:crypt.h|1|127d64481a0|4c8|b74fa428|71d96e93bfa511dc85ad001c23e19543|0 -d:pub_include.h|1|127d6447943|330|4f99eca0|6ab96d7bbfa511dc85ad001c23e19543|0 -5:cdr.h|1|1345dd30e40|4c5|eceb68aa|8c361e1f2ba411e19630001ec9cf72cd|0 -9:pub_log.h|1|127d64477ac|73f|8568e202|68e96d27bfa511dc85ad001c23e19543|0 -9:pub_sys.h|1|127d6447b08|6e0|73d8d7ff|58a648e29a8611dd8b36001c23e19543|0 -c:omc_public.h|1|127d644847e|4ce0|793bbaae|73a96ee7bfa511dc85ad001c23e19543|0 -9:pub_str.h|1|127d64487ab|17e|f6585df0|76996f57bfa511dc85ad001c23e19543|0 -a:pub_wnet.h|1|127d6448365|488|51e9558b|73096ecbbfa511dc85ad001c23e19543|0 -6:asn1.h|1|127d6448886|cfb|c9b82360|77396f73bfa511dc85ad001c23e19543|0 -c:pub_malloc.h|1|127d6448941|1ce|bb8877dc|77d96f8fbfa511dc85ad001c23e19543|0 -9:svrstat.h|1|127d6447be3|b3b|36fa019e|6c796dcfbfa511dc85ad001c23e19543|0 -a:pub_time.h|1|127d64476d1|261|2563aa64|68596d0bbfa511dc85ad001c23e19543|0 -8:public.h|1|127d6447d89|604|3bfcb6a8|6e496e07bfa511dc85ad001c23e19543|0 -a:bisearch.h|1|127d6448019|162c|c80a64c5|70196e5bbfa511dc85ad001c23e19543|0 -a:includes.h|1|127d6447887|3c7|fc163750|6a196d5fbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/src/uwav/.copyarea.db b/omc/plat/public/src/uwav/.copyarea.db deleted file mode 100644 index 7746016..0000000 --- a/omc/plat/public/src/uwav/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\src\uwav -2 -4 -8:number.c|1|127d6448a5b|1d9c|86153625|78d87de4599c11de846d001c23e19543|0 -8:number.h|1|127d6448ad8|8b0|31ebb917|ac5b283d232811de8124001c23e19543|0 -8:numgrp.h|1|127d6448c5f|326|1298ff15|5c364a0a9a8611dd8b36001c23e19543|0 -8:numgrp.c|1|127d6448b93|1020|c83ab4da|5ba649f29a8611dd8b36001c23e19543|0 diff --git a/omc/plat/public/ut/.copyarea.db b/omc/plat/public/ut/.copyarea.db deleted file mode 100644 index cd1a861..0000000 --- a/omc/plat/public/ut/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\ut -2 -8 -4:main|2|0|0|0|7d2970a7bfa511dc85ad001c23e19543|0 -a:function.c|1|127d6449102|668|cbb8c74|832971f7bfa511dc85ad001c23e19543|0 -4:inet|2|0|0|0|80c97187bfa511dc85ad001c23e19543|0 -5:timer|2|0|0|0|7a396fffbfa511dc85ad001c23e19543|0 -8:bisearch|2|0|0|0|85897267bfa511dc85ad001c23e19543|0 -5:asn.1|2|0|0|0|8029714fbfa511dc85ad001c23e19543|0 -9:debug_api|2|0|0|0|83b97213bfa511dc85ad001c23e19543|0 -b:public_test|2|0|0|0|81f971bfbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/ut/asn.1/.copyarea.db b/omc/plat/public/ut/asn.1/.copyarea.db deleted file mode 100644 index fe2b26e..0000000 --- a/omc/plat/public/ut/asn.1/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\ut\asn.1 -2 -1 -9:asntest.c|1|127d6449b73|2613|a2fcc583|8029716bbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/ut/bisearch/.copyarea.db b/omc/plat/public/ut/bisearch/.copyarea.db deleted file mode 100644 index 9e261d6..0000000 --- a/omc/plat/public/ut/bisearch/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\ut\bisearch -2 -1 -f:bisearch_test.c|1|127d6449f4b|1121|34301804|86197283bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/ut/debug_api/.copyarea.db b/omc/plat/public/ut/debug_api/.copyarea.db deleted file mode 100644 index 8959c9e..0000000 --- a/omc/plat/public/ut/debug_api/.copyarea.db +++ /dev/null @@ -1,6 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\ut\debug_api -2 -2 -5:debug|1|127d6449db5|2e60|abcdd68a|8459722fbfa511dc85ad001c23e19543|0 -10:wxc_debug_test.c|1|127d6449e32|9ec|7232704a|84e9724bbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/ut/inet/.copyarea.db b/omc/plat/public/ut/inet/.copyarea.db deleted file mode 100644 index 10fa03b..0000000 --- a/omc/plat/public/ut/inet/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\ut\inet -2 -1 -f:pub_inet_test.c|1|127d6449c1f|3c61|9ffc8ccc|815971a3bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/ut/main/.copyarea.db b/omc/plat/public/ut/main/.copyarea.db deleted file mode 100644 index 21fbfff..0000000 --- a/omc/plat/public/ut/main/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\ut\main -2 -4 -3:bin|2|0|0|0|7e5970fbbfa511dc85ad001c23e19543|0 -3:src|2|0|0|0|7d2970c3bfa511dc85ad001c23e19543|0 -3:obj|2|0|0|0|7f997133bfa511dc85ad001c23e19543|0 -8:Makefile|1|127d64498c3|b99|d5b3c874|7ef97117bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/ut/main/src/.copyarea.db b/omc/plat/public/ut/main/src/.copyarea.db deleted file mode 100644 index 36f1ef6..0000000 --- a/omc/plat/public/ut/main/src/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\ut\main\src -2 -1 -6:main.c|1|127d6449ab7|18f|9e99666e|7dc970dfbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/ut/public_test/.copyarea.db b/omc/plat/public/ut/public_test/.copyarea.db deleted file mode 100644 index 1f3034e..0000000 --- a/omc/plat/public/ut/public_test/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\ut\public_test -2 -1 -d:public_test.c|1|127d6449cea|ff|b2a744c6|828971dbbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public/ut/timer/.copyarea.db b/omc/plat/public/ut/timer/.copyarea.db deleted file mode 100644 index 66865be..0000000 --- a/omc/plat/public/ut/timer/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\public\ut\timer -2 -5 -c:wxc_tmtest.c|1|127d6449671|bee|4b8d38e9|7c99708bbfa511dc85ad001c23e19543|0 -3:bin|2|0|0|0|7b697053bfa511dc85ad001c23e19543|0 -2:ut|2|0|0|0|7ac9701bbfa511dc85ad001c23e19543|0 -8:Makefile|1|127d6449587|6c9|7ebea4e5|7bf9706fbfa511dc85ad001c23e19543|0 -3:doc|2|0|0|0|7ac97037bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/.copyarea.db b/omc/plat/public_bak/.copyarea.db deleted file mode 100644 index e606c76..0000000 --- a/omc/plat/public_bak/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public -2 -5 -3:doc|2|0|0|0|5a096a87bfa511dc85ad001c23e19543|0 -2:ut|2|0|0|0|7a396fe3bfa511dc85ad001c23e19543|0 -3:src|2|0|0|0|965644719a8511dd8b36001c23e19543|0 -8:Makefile|1|11d70a42106|b39|3f03c2a8|5a996abfbfa511dc85ad001c23e19543|0 -3:lib|2|0|0|0|5a996aa3bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/src/.copyarea.db b/omc/plat/public_bak/src/.copyarea.db deleted file mode 100644 index 1dd0239..0000000 --- a/omc/plat/public_bak/src/.copyarea.db +++ /dev/null @@ -1,24 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\src -2 -14 -9:pub_sdp.c|1|11d70a4256b|80ba|584e8dc9|ede485566cf311dd91a5001c23e19543|0 -c:pub_netcap.c|1|11d70a423c5|22da|64d013d5|61c96bf3bfa511dc85ad001c23e19543|0 -a:bisearch.c|1|11d70a4224e|12be|16a50655|5cf96b2fbfa511dc85ad001c23e19543|0 -a:pub_wnet.c|1|11d70a4221f|2fd2|c024fa17|5c696b13bfa511dc85ad001c23e19543|0 -4:uwav|2|0|0|0|96f6447d9a8511dd8b36001c23e19543|0 -9:pub_str.c|1|11d70a422ac|624d|d4edcdbd|5e296b67bfa511dc85ad001c23e19543|0 -7:include|2|0|0|0|6ee472436cf311dd91c7001c23e19543|0 -c:pub_malloc.c|1|11d70a42319|16e|46e95f03|5ff96b9fbfa511dc85ad001c23e19543|0 -a:pub_time.c|1|11d70a42358|d0d|db665a6d|60996bbbbfa511dc85ad001c23e19543|0 -b:pub_timer.c|1|11d70a42461|162b|831b0307|64296c47bfa511dc85ad001c23e19543|0 -7:crypt.c|1|11d70a424fd|26e6|6634adda|65e96c9bbfa511dc85ad001c23e19543|0 -b:pub_debug.c|1|11d70a4227d|452|4f2c1da0|5d996b4bbfa511dc85ad001c23e19543|0 -9:pub_sys.c|1|11d70a424cf|3750|1975576d|65596c7fbfa511dc85ad001c23e19543|0 -9:pub_log.c|1|11d70a422db|aa6|3960b660|5f696b83bfa511dc85ad001c23e19543|0 -a:memwatch.c|1|11d70a4253c|128e8|ccb0b9c1|78696fabbfa511dc85ad001c23e19543|0 -6:asn1.c|1|11d70a424a0|49d1|cdca34b4|64b96c63bfa511dc85ad001c23e19543|0 -a:pub_file.c|1|11d70a42432|408|3176f145|62f96c2bbfa511dc85ad001c23e19543|0 -a:pub_inet.c|1|11d70a423f4|233d|5f582334|62596c0fbfa511dc85ad001c23e19543|0 -a:pub_conf.c|1|11d70a421e1|102|d42b3fdc|5bc96af7bfa511dc85ad001c23e19543|0 -9:pub_fmt.c|1|11d70a42387|6d95|c0c28582|61296bd7bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/src/include/.copyarea.db b/omc/plat/public_bak/src/include/.copyarea.db deleted file mode 100644 index 77131dc..0000000 --- a/omc/plat/public_bak/src/include/.copyarea.db +++ /dev/null @@ -1,29 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\src\include -2 -19 -c:pub_malloc.h|1|11d70a42bc3|1b4|3fe1768a|77d96f8fbfa511dc85ad001c23e19543|0 -8:public.h|1|11d70a42858|604|3bfcb6a8|6e496e07bfa511dc85ad001c23e19543|0 -9:pub_sys.h|1|11d70a427cc|6ab|b380d54e|aa5217e4952111dd8e3b001c23e19543|0 -c:pub_netcap.h|1|11d70a42ab9|2b6|1773c28a|74396f03bfa511dc85ad001c23e19543|0 -9:pub_fmt.h|1|11d70a42636|1851|3a54ff0e|67296cd3bfa511dc85ad001c23e19543|0 -a:memwatch.h|1|11d70a4282a|7c41|56edfb7e|6da96debbfa511dc85ad001c23e19543|0 -a:pub_file.h|1|11d70a428c6|16c|8ebd5f06|6f796e3fbfa511dc85ad001c23e19543|0 -a:pub_base.h|1|11d70a4279d|12ec|c8ac2f39|6b496d97bfa511dc85ad001c23e19543|0 -a:pub_inet.h|1|11d70a42b27|6df|cee7ca3a|76096f3bbfa511dc85ad001c23e19543|0 -a:pub_time.h|1|11d70a42684|244|caf5a8eb|68596d0bbfa511dc85ad001c23e19543|0 -9:pub_log.h|1|11d70a426c2|6fb|dd4dde8e|68e96d27bfa511dc85ad001c23e19543|0 -c:license_id.h|1|11d70a42923|1f9|8c079176|2c41fd307d4611dd9b8f001c23e19543|0 -b:pub_timer.h|1|11d70a429a0|aa6|80fdf479|72796eafbfa511dc85ad001c23e19543|0 -b:pub_debug.h|1|11d70a42ae8|39e|894fe342|75696f1fbfa511dc85ad001c23e19543|0 -a:pub_list.h|1|11d70a42655|59ce|b77b447e|67b96cefbfa511dc85ad001c23e19543|0 -d:pub_include.h|1|11d70a4275e|309|70a6eaa5|6ab96d7bbfa511dc85ad001c23e19543|0 -9:pub_str.h|1|11d70a42b65|164|c6ba5c9e|76996f57bfa511dc85ad001c23e19543|0 -a:includes.h|1|11d70a42701|3c7|fc163750|6a196d5fbfa511dc85ad001c23e19543|0 -a:bisearch.h|1|11d70a42904|15b1|c7705e86|70196e5bbfa511dc85ad001c23e19543|0 -7:crypt.h|1|11d70a42981|4c8|b74fa428|71d96e93bfa511dc85ad001c23e19543|0 -a:pub_wnet.h|1|11d70a42a6b|45f|e1565376|73096ecbbfa511dc85ad001c23e19543|0 -9:svrstat.h|1|11d70a427fb|b3b|36fa019e|6c796dcfbfa511dc85ad001c23e19543|0 -9:pub_sdp.h|1|11d70a42897|ff5|2703ae56|ede4853e6cf311dd91a5001c23e19543|0 -6:asn1.h|1|11d70a42b94|caf|8c5c1f84|77396f73bfa511dc85ad001c23e19543|0 -c:omc_public.h|1|11d70a42a8b|4ce0|793bbaae|73a96ee7bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/src/uwav/.copyarea.db b/omc/plat/public_bak/src/uwav/.copyarea.db deleted file mode 100644 index fb6afdd..0000000 --- a/omc/plat/public_bak/src/uwav/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\src\uwav -2 -4 -8:number.c|1|11d70a42c5f|1ac2|9a80b2a2|5b0649c29a8611dd8b36001c23e19543|0 -8:numgrp.h|1|11d70a42d0b|309|f503fd9c|5c364a0a9a8611dd8b36001c23e19543|0 -8:numgrp.c|1|11d70a42cdc|f70|fcbbabea|5ba649f29a8611dd8b36001c23e19543|0 -8:number.h|1|11d70a42c8e|840|5966abef|5ba649da9a8611dd8b36001c23e19543|0 diff --git a/omc/plat/public_bak/ut/.copyarea.db b/omc/plat/public_bak/ut/.copyarea.db deleted file mode 100644 index 9dce3f7..0000000 --- a/omc/plat/public_bak/ut/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\ut -2 -8 -9:debug_api|2|0|0|0|83b97213bfa511dc85ad001c23e19543|0 -a:function.c|1|11d70a42de6|668|cbb8c74|832971f7bfa511dc85ad001c23e19543|0 -5:timer|2|0|0|0|7a396fffbfa511dc85ad001c23e19543|0 -4:main|2|0|0|0|7d2970a7bfa511dc85ad001c23e19543|0 -8:bisearch|2|0|0|0|85897267bfa511dc85ad001c23e19543|0 -b:public_test|2|0|0|0|81f971bfbfa511dc85ad001c23e19543|0 -5:asn.1|2|0|0|0|8029714fbfa511dc85ad001c23e19543|0 -4:inet|2|0|0|0|80c97187bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/ut/asn.1/.copyarea.db b/omc/plat/public_bak/ut/asn.1/.copyarea.db deleted file mode 100644 index 4ad7d33..0000000 --- a/omc/plat/public_bak/ut/asn.1/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\ut\asn.1 -2 -1 -9:asntest.c|1|11d70a43112|2613|a2fcc583|8029716bbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/ut/bisearch/.copyarea.db b/omc/plat/public_bak/ut/bisearch/.copyarea.db deleted file mode 100644 index e51800d..0000000 --- a/omc/plat/public_bak/ut/bisearch/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\ut\bisearch -2 -1 -f:bisearch_test.c|1|11d70a43392|108c|cca11073|86197283bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/ut/debug_api/.copyarea.db b/omc/plat/public_bak/ut/debug_api/.copyarea.db deleted file mode 100644 index e6cab1e..0000000 --- a/omc/plat/public_bak/ut/debug_api/.copyarea.db +++ /dev/null @@ -1,6 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\ut\debug_api -2 -2 -5:debug|1|11d70a432e6|2e60|abcdd68a|8459722fbfa511dc85ad001c23e19543|0 -10:wxc_debug_test.c|1|11d70a43306|96f|ee1769f1|84e9724bbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/ut/inet/.copyarea.db b/omc/plat/public_bak/ut/inet/.copyarea.db deleted file mode 100644 index aef0bf6..0000000 --- a/omc/plat/public_bak/ut/inet/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\ut\inet -2 -1 -f:pub_inet_test.c|1|11d70a431ae|39db|347d6bfe|815971a3bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/ut/main/.copyarea.db b/omc/plat/public_bak/ut/main/.copyarea.db deleted file mode 100644 index 3718749..0000000 --- a/omc/plat/public_bak/ut/main/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\ut\main -2 -4 -3:obj|2|0|0|0|7f997133bfa511dc85ad001c23e19543|0 -3:bin|2|0|0|0|7e5970fbbfa511dc85ad001c23e19543|0 -3:src|2|0|0|0|7d2970c3bfa511dc85ad001c23e19543|0 -8:Makefile|1|11d70a42fba|b37|96ac37a|7ef97117bfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/ut/main/src/.copyarea.db b/omc/plat/public_bak/ut/main/src/.copyarea.db deleted file mode 100644 index a9661eb..0000000 --- a/omc/plat/public_bak/ut/main/src/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\ut\main\src -2 -1 -6:main.c|1|11d70a43066|17c|99d76577|7dc970dfbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/ut/public_test/.copyarea.db b/omc/plat/public_bak/ut/public_test/.copyarea.db deleted file mode 100644 index c629b00..0000000 --- a/omc/plat/public_bak/ut/public_test/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\ut\public_test -2 -1 -d:public_test.c|1|11d70a4325a|ff|b2a744c6|828971dbbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/public_bak/ut/timer/.copyarea.db b/omc/plat/public_bak/ut/timer/.copyarea.db deleted file mode 100644 index 129456b..0000000 --- a/omc/plat/public_bak/ut/timer/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\public\ut\timer -2 -5 -3:doc|2|0|0|0|7ac97037bfa511dc85ad001c23e19543|0 -2:ut|2|0|0|0|7ac9701bbfa511dc85ad001c23e19543|0 -3:bin|2|0|0|0|7b697053bfa511dc85ad001c23e19543|0 -8:Makefile|1|11d70a42ed0|681|ff89a13d|7bf9706fbfa511dc85ad001c23e19543|0 -c:wxc_tmtest.c|1|11d70a42eff|b53|1a60310a|7c99708bbfa511dc85ad001c23e19543|0 diff --git a/omc/plat/rtp/.copyarea.db b/omc/plat/rtp/.copyarea.db deleted file mode 100644 index 421098b..0000000 --- a/omc/plat/rtp/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\rtp -2 -5 -3:doc|2|0|0|0|89b96bc8bfa511dc85d9001c23e19543|0 -2:ut|2|0|0|0|92096d50bfa511dc85d9001c23e19543|0 -3:src|2|0|0|0|8b796c1cbfa511dc85d9001c23e19543|0 -8:Makefile|1|11d70a4342e|b30|84a2bfc7|8ae96c00bfa511dc85d9001c23e19543|0 -3:lib|2|0|0|0|8a496be4bfa511dc85d9001c23e19543|0 diff --git a/omc/plat/rtp/lib/librtp.a b/omc/plat/rtp/lib/librtp.a deleted file mode 100644 index e17d9b5..0000000 Binary files a/omc/plat/rtp/lib/librtp.a and /dev/null differ diff --git a/omc/plat/rtp/obj/rtp.o b/omc/plat/rtp/obj/rtp.o deleted file mode 100644 index 752aaee..0000000 Binary files a/omc/plat/rtp/obj/rtp.o and /dev/null differ diff --git a/omc/plat/rtp/obj/rtp_msg.o b/omc/plat/rtp/obj/rtp_msg.o deleted file mode 100644 index 4cdcfda..0000000 Binary files a/omc/plat/rtp/obj/rtp_msg.o and /dev/null differ diff --git a/omc/plat/rtp/src/.copyarea.db b/omc/plat/rtp/src/.copyarea.db deleted file mode 100644 index ea14062..0000000 --- a/omc/plat/rtp/src/.copyarea.db +++ /dev/null @@ -1,7 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\rtp\src -2 -3 -5:rtp.c|1|11d70a434ea|21cb|e12a575c|a3d47f36e04911dc8167001c23e19543|0 -7:include|2|0|0|0|8ca96c54bfa511dc85d9001c23e19543|0 -9:rtp_msg.c|1|11d70a43538|d6f|7ba31f4c|170574fea3f011dd8f4b001c23e19543|0 diff --git a/omc/plat/rtp/src/include/.copyarea.db b/omc/plat/rtp/src/include/.copyarea.db deleted file mode 100644 index e331589..0000000 --- a/omc/plat/rtp/src/include/.copyarea.db +++ /dev/null @@ -1,11 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\rtp\src\include -2 -7 -9:rtp_ext.h|1|11d70a436af|1fb|91cca451|90496cfcbfa511dc85d9001c23e19543|0 -b:rtp_const.h|1|11d70a43603|ae|d5853214|cbc07327ceff11dc829f001c23e19543|0 -9:rtp_msg.h|1|11d70a43632|49|74dd17af|8dd96ca8bfa511dc85d9001c23e19543|0 -5:rtp.h|1|11d70a4368f|61a|7adceb50|8fa96ce0bfa511dc85d9001c23e19543|0 -9:rtp_pub.h|1|11d70a436dd|3cf|4c4e4455|90d96d18bfa511dc85d9001c23e19543|0 -9:rtp_def.h|1|11d70a43651|20f|576fa202|cc507328ceff11dc82a0001c23e19543|0 -c:rtp_struct.h|1|11d70a435c4|33f|ac26f5b2|8ca96c70bfa511dc85d9001c23e19543|0 diff --git a/omc/plat/sccp/.copyarea.db b/omc/plat/sccp/.copyarea.db deleted file mode 100644 index 537cb7f..0000000 --- a/omc/plat/sccp/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sccp -2 -5 -3:doc|2|0|0|0|62e881bfc44711dc9634001c23e19543|0 -2:ut|2|0|0|0|65d881d2c44711dc9638001c23e19543|0 -3:src|2|0|0|0|641881c4c44711dc9636001c23e19543|0 -8:Makefile|1|11d70a4377a|b8a|eadd81e|96c96c97bfa511dc85e0001c23e19543|0 -3:lib|2|0|0|0|96396c7bbfa511dc85e0001c23e19543|0 diff --git a/omc/plat/sccp/lib/libsccp.a b/omc/plat/sccp/lib/libsccp.a deleted file mode 100644 index 5a47909..0000000 Binary files a/omc/plat/sccp/lib/libsccp.a and /dev/null differ diff --git a/omc/plat/sccp/obj/sccp.o b/omc/plat/sccp/obj/sccp.o deleted file mode 100644 index c56d636..0000000 Binary files a/omc/plat/sccp/obj/sccp.o and /dev/null differ diff --git a/omc/plat/sccp/obj/sccp_debug.o b/omc/plat/sccp/obj/sccp_debug.o deleted file mode 100644 index a305a6b..0000000 Binary files a/omc/plat/sccp/obj/sccp_debug.o and /dev/null differ diff --git a/omc/plat/sccp/obj/sccp_func.o b/omc/plat/sccp/obj/sccp_func.o deleted file mode 100644 index d6630f0..0000000 Binary files a/omc/plat/sccp/obj/sccp_func.o and /dev/null differ diff --git a/omc/plat/sccp/obj/sccp_gtt.o b/omc/plat/sccp/obj/sccp_gtt.o deleted file mode 100644 index f2ed607..0000000 Binary files a/omc/plat/sccp/obj/sccp_gtt.o and /dev/null differ diff --git a/omc/plat/sccp/obj/sccp_log.o b/omc/plat/sccp/obj/sccp_log.o deleted file mode 100644 index 0068e64..0000000 Binary files a/omc/plat/sccp/obj/sccp_log.o and /dev/null differ diff --git a/omc/plat/sccp/obj/sccp_mib.o b/omc/plat/sccp/obj/sccp_mib.o deleted file mode 100644 index bcc7cd5..0000000 Binary files a/omc/plat/sccp/obj/sccp_mib.o and /dev/null differ diff --git a/omc/plat/sccp/obj/sccp_msg.o b/omc/plat/sccp/obj/sccp_msg.o deleted file mode 100644 index 7538e17..0000000 Binary files a/omc/plat/sccp/obj/sccp_msg.o and /dev/null differ diff --git a/omc/plat/sccp/obj/sccp_param.o b/omc/plat/sccp/obj/sccp_param.o deleted file mode 100644 index 882d037..0000000 Binary files a/omc/plat/sccp/obj/sccp_param.o and /dev/null differ diff --git a/omc/plat/sccp/obj/sclc.o b/omc/plat/sccp/obj/sclc.o deleted file mode 100644 index ec8c1a7..0000000 Binary files a/omc/plat/sccp/obj/sclc.o and /dev/null differ diff --git a/omc/plat/sccp/obj/scmg.o b/omc/plat/sccp/obj/scmg.o deleted file mode 100644 index 2a2a256..0000000 Binary files a/omc/plat/sccp/obj/scmg.o and /dev/null differ diff --git a/omc/plat/sccp/obj/scoc.o b/omc/plat/sccp/obj/scoc.o deleted file mode 100644 index 340ef69..0000000 Binary files a/omc/plat/sccp/obj/scoc.o and /dev/null differ diff --git a/omc/plat/sccp/obj/scoc_fsm.o b/omc/plat/sccp/obj/scoc_fsm.o deleted file mode 100644 index 54b8039..0000000 Binary files a/omc/plat/sccp/obj/scoc_fsm.o and /dev/null differ diff --git a/omc/plat/sccp/obj/scoc_func.o b/omc/plat/sccp/obj/scoc_func.o deleted file mode 100644 index ba1ff42..0000000 Binary files a/omc/plat/sccp/obj/scoc_func.o and /dev/null differ diff --git a/omc/plat/sccp/obj/scoc_if.o b/omc/plat/sccp/obj/scoc_if.o deleted file mode 100644 index 91cf6e7..0000000 Binary files a/omc/plat/sccp/obj/scoc_if.o and /dev/null differ diff --git a/omc/plat/sccp/obj/scoc_pool.o b/omc/plat/sccp/obj/scoc_pool.o deleted file mode 100644 index 1d051f8..0000000 Binary files a/omc/plat/sccp/obj/scoc_pool.o and /dev/null differ diff --git a/omc/plat/sccp/obj/scoc_pri.o b/omc/plat/sccp/obj/scoc_pri.o deleted file mode 100644 index 0a50221..0000000 Binary files a/omc/plat/sccp/obj/scoc_pri.o and /dev/null differ diff --git a/omc/plat/sccp/obj/scrc.o b/omc/plat/sccp/obj/scrc.o deleted file mode 100644 index f3282e9..0000000 Binary files a/omc/plat/sccp/obj/scrc.o and /dev/null differ diff --git a/omc/plat/sccp/src/.copyarea.db b/omc/plat/sccp/src/.copyarea.db deleted file mode 100644 index e2cafb0..0000000 --- a/omc/plat/sccp/src/.copyarea.db +++ /dev/null @@ -1,22 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sccp\src -2 -12 -6:sccp.c|1|11d8b0aa7f3|234c|38b00492|01855b34afd811dd8b66001c23e19543|0 -c:sccp_debug.c|1|11d70a43835|5a9c|a2e0bac5|97696ccfbfa511dc85e0001c23e19543|0 -a:sccp_log.c|1|11d70a439bc|3132|cce2e116|9e896de7bfa511dc85e0001c23e19543|0 -6:scoc.c|1|11d70a43b13|fa5|859b38ab|a8196f6fbfa511dc85e0001c23e19543|0 -7:include|2|0|0|0|654881cdc44711dc9637001c23e19543|0 -b:scoc_pool.c|1|11d70a43a77|1666|cf4a3298|a1896e57bfa511dc85e0001c23e19543|0 -9:scoc_if.c|1|11d70a43ae4|1f84|3a95b205|a7896f53bfa511dc85e0001c23e19543|0 -a:scoc_fsm.c|1|11d70a4392f|7f89|36762e52|9cc96d93bfa511dc85e0001c23e19543|0 -6:scrc.c|1|11d70a4398d|81b5|8a846dc5|ee7485866cf311dd91a5001c23e19543|0 -a:sccp_mib.c|1|11d8b0aa776|1e3f|6249e2df|00f55b31afd811dd8b65001c23e19543|0 -6:sclc.c|1|11d70a438e1|4bdb|f5a2ec98|ee74856e6cf311dd91a5001c23e19543|0 -a:sccp_gtt.c|1|11d70a4395e|2f83|62008ed2|9d596dafbfa511dc85e0001c23e19543|0 -c:sccp_param.c|1|11d70a439ea|51df|eda792a6|58a648fa9a8611dd8b36001c23e19543|0 -b:sccp_func.c|1|11d70a43b42|ba6|6f53e1f2|a8b96f8bbfa511dc85e0001c23e19543|0 -6:scmg.c|1|11d70a43a19|3d0c|c6908349|9fc96e1fbfa511dc85e0001c23e19543|0 -a:sccp_msg.c|1|11d70a43a38|6563|c4ffae0c|a0596e3bbfa511dc85e0001c23e19543|0 -b:scoc_func.c|1|11d70a43910|6e7f|6b018863|9b996d77bfa511dc85e0001c23e19543|0 -a:scoc_pri.c|1|11d70a438b2|23e7|65affdc2|9a696d3fbfa511dc85e0001c23e19543|0 diff --git a/omc/plat/sccp/src/include/.copyarea.db b/omc/plat/sccp/src/include/.copyarea.db deleted file mode 100644 index bc12bf0..0000000 --- a/omc/plat/sccp/src/include/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sccp\src\include -2 -6 -6:sccp.h|1|11d9047abf1|171b|129691b3|0db8dec8b05e11dd8512001c23e19543|0 -b:sccpconst.h|1|11d8a87d240|4c43|144d7cae|4234cffaafc311dd8a8d001c23e19543|0 -6:scoc.h|1|11d70a43cb9|1146|32e1d2e0|a5196effbfa511dc85e0001c23e19543|0 -9:scoc_if.h|1|11d70a43c8a|371b|dd0495fc|a4896ee3bfa511dc85e0001c23e19543|0 -a:sccp_pub.h|1|11d70a43d07|258|b7cbaac1|a5b96f1bbfa511dc85e0001c23e19543|0 -b:sccp_func.h|1|11d70a43d36|1836|bf10e086|a6e96f37bfa511dc85e0001c23e19543|0 diff --git a/omc/plat/sccp/ut/.copyarea.db b/omc/plat/sccp/ut/.copyarea.db deleted file mode 100644 index 8eeb263..0000000 --- a/omc/plat/sccp/ut/.copyarea.db +++ /dev/null @@ -1,7 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sccp\ut -2 -3 -6:ut_doc|2|0|0|0|a9e96fdfbfa511dc85e0001c23e19543|0 -7:fsmtest|2|0|0|0|670881dbc44711dc9639001c23e19543|0 -4:pool|2|0|0|0|a9e96fc3bfa511dc85e0001c23e19543|0 diff --git a/omc/plat/sccp/ut/fsmtest/.copyarea.db b/omc/plat/sccp/ut/fsmtest/.copyarea.db deleted file mode 100644 index f06fe9e..0000000 --- a/omc/plat/sccp/ut/fsmtest/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sccp\ut\fsmtest -2 -5 -b:scoc_test.c|1|11d70a43f0a|486d|63291a83|ec097acfbfa511dc85e0001c23e19543|0 -3:obj|2|0|0|0|eca97aebbfa511dc85e0001c23e19543|0 -3:bin|2|0|0|0|683881e0c44711dc963b001c23e19543|0 -b:sccp_test.c|1|11d70a43e7e|f68|fd7f3d88|bf59735fbfa511dc85e0001c23e19543|0 -8:Makefile|1|11d70a43edb|bc5|2253d117|d6997733bfa511dc85e0001c23e19543|0 diff --git a/omc/plat/sccp/ut/fsmtest/bin/.copyarea.db b/omc/plat/sccp/ut/fsmtest/bin/.copyarea.db deleted file mode 100644 index 977154f..0000000 --- a/omc/plat/sccp/ut/fsmtest/bin/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sccp\ut\fsmtest\bin -2 -1 -4:conf|2|0|0|0|697881e9c44711dc963c001c23e19543|0 diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/.copyarea.db b/omc/plat/sccp/ut/fsmtest/bin/conf/.copyarea.db deleted file mode 100644 index 15449d7..0000000 --- a/omc/plat/sccp/ut/fsmtest/bin/conf/.copyarea.db +++ /dev/null @@ -1,28 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sccp\ut\fsmtest\bin\conf -2 -18 -9:help_page|1|11d70a440ee|21d|76e388e2|c3897423bfa511dc85e0001c23e19543|0 -11:hlr_parambit.conf|1|11d70a4442a|5104|45018cef|d009761bbfa511dc85e0001c23e19543|0 -9:sccp.conf|1|11d70a44081|45c|70f1cec3|c25973ebbfa511dc85e0001c23e19543|0 -12:cap_operation.conf|1|11d70a4438e|4ec|138764f3|ce3975c7bfa511dc85e0001c23e19543|0 -10:conv_prefix.conf|1|11d70a44208|1200|4a8a0577|c7a974cbbfa511dc85e0001c23e19543|0 -c:cap_acn.conf|1|11d70a44236|f4|79044b6f|c84974e7bfa511dc85e0001c23e19543|0 -e:smsc_csta.conf|1|11d70a444d6|16b|27e474c8|d1d9766fbfa511dc85e0001c23e19543|0 -c:map_acn.conf|1|11d70a441d9|605|8729d67f|c71974afbfa511dc85e0001c23e19543|0 -d:wxc2_sys.conf|1|11d70a4411d|13|32e20463|c419743fbfa511dc85e0001c23e19543|0 -c:iptrans.conf|1|11d70a44534|1c2|5d6d4a|d4c976dfbfa511dc85e0001c23e19543|0 -7:profile|1|11d70a443fb|303|f498ea9e|cf6975ffbfa511dc85e0001c23e19543|0 -9:menu_page|1|11d70a44043|2da|b80578ca|c12973b3bfa511dc85e0001c23e19543|0 -b:ppsConf.txt|1|11d70a440c0|6eb4|7ddbb6ab|c2e97407bfa511dc85e0001c23e19543|0 -a:system.ini|1|11d70a44505|d4|c2920d14|d39976a7bfa511dc85e0001c23e19543|0 -a:HlrSysPara|1|11d70a443bd|1c4c|4897e7b6|ced975e3bfa511dc85e0001c23e19543|0 -9:mtp3.conf|1|11d70a4415c|17450|6f04775|c549745bbfa511dc85e0001c23e19543|0 -d:smsc_sys.conf|1|11d70a444a7|56|7f8e17d8|d1397653bfa511dc85e0001c23e19543|0 -12:smsc_parambit.conf|1|11d70a44350|b14|e71da7cc|cd0975abbfa511dc85e0001c23e19543|0 -d:cc_table.conf|1|11d70a44285|1156|31d07a59|c9797503bfa511dc85e0001c23e19543|0 -c:wxc2exit.txt|1|11d70a442b3|4a|51411549|ca19751fbfa511dc85e0001c23e19543|0 -11:xap_sysparam.conf|1|11d70a442e2|d|246d0664|cb497557bfa511dc85e0001c23e19543|0 -e:sccp_test.conf|1|11d70a44469|12|20b80338|d0a97637bfa511dc85e0001c23e19543|0 -12:map_operation.conf|1|11d70a44311|c11|26bf7744|cbd97573bfa511dc85e0001c23e19543|0 -c:hae_sys.conf|1|11d70a4419a|74|a5dc1e78|c6797493bfa511dc85e0001c23e19543|0 diff --git a/omc/plat/sccp/ut/fsmtest/obj/.copyarea.db b/omc/plat/sccp/ut/fsmtest/obj/.copyarea.db deleted file mode 100644 index 7ae86d2..0000000 --- a/omc/plat/sccp/ut/fsmtest/obj/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sccp\ut\fsmtest\obj -2 -4 -e:sccp_test.gcno|1|11d70a4466c|1388|6e120937|ef097b5bbfa511dc85e0001c23e19543|0 -b:scoc_test.o|1|11d70a4462e|bed0|14b598f2|ee697b3fbfa511dc85e0001c23e19543|0 -e:scoc_test.gcno|1|11d70a445ff|36a8|a2ae2b78|edd97b23bfa511dc85e0001c23e19543|0 -b:sccp_test.o|1|11d70a445d0|6f68|f2935f7b|ed397b07bfa511dc85e0001c23e19543|0 diff --git a/omc/plat/scf/.copyarea.db b/omc/plat/scf/.copyarea.db deleted file mode 100644 index f349f5f..0000000 --- a/omc/plat/scf/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\scf -2 -5 -3:doc|2|0|0|0|f3396e8bbfa511dc8664001c23e19543|0 -2:ut|2|0|0|0|faf96ff7bfa511dc8664001c23e19543|0 -3:src|2|0|0|0|f4696edfbfa511dc8664001c23e19543|0 -8:Makefile|1|11d70a44727|b34|fa13c392|f3c96ec3bfa511dc8664001c23e19543|0 -3:lib|2|0|0|0|f3396ea7bfa511dc8664001c23e19543|0 diff --git a/omc/plat/scf/lib/libscf.a b/omc/plat/scf/lib/libscf.a deleted file mode 100644 index c7e719a..0000000 Binary files a/omc/plat/scf/lib/libscf.a and /dev/null differ diff --git a/omc/plat/scf/obj/scfmsg.o b/omc/plat/scf/obj/scfmsg.o deleted file mode 100644 index a81c225..0000000 Binary files a/omc/plat/scf/obj/scfmsg.o and /dev/null differ diff --git a/omc/plat/scf/obj/scsm.o b/omc/plat/scf/obj/scsm.o deleted file mode 100644 index f887b4e..0000000 Binary files a/omc/plat/scf/obj/scsm.o and /dev/null differ diff --git a/omc/plat/scf/src/.copyarea.db b/omc/plat/scf/src/.copyarea.db deleted file mode 100644 index 983b49c..0000000 --- a/omc/plat/scf/src/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\scf\src -2 -6 -8:scfdef.h|1|11d70a44841|158|64be5fb7|f6296f33bfa511dc8664001c23e19543|0 -6:scsm.c|1|11d70a44812|6654|6a2a980b|ed09abf1abb711dd8553001c23e19543|0 -8:scfmsg.h|1|11d70a448cd|da2|13bffc80|fa596fdbbfa511dc8664001c23e19543|0 -8:scfpub.h|1|11d70a4487f|50|fac618e1|f6c96f4fbfa511dc8664001c23e19543|0 -7:include|2|0|0|0|f7f96f6bbfa511dc8664001c23e19543|0 -8:scfmsg.c|1|11d70a447d3|116b|b0f381f1|f4f96efbbfa511dc8664001c23e19543|0 diff --git a/omc/plat/scf/src/include/.copyarea.db b/omc/plat/scf/src/include/.copyarea.db deleted file mode 100644 index 10197d4..0000000 --- a/omc/plat/scf/src/include/.copyarea.db +++ /dev/null @@ -1,7 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\scf\src\include -2 -3 -8:scfdef.h|1|11d70a44969|158|64be5fb7|f7f96f87bfa511dc8664001c23e19543|0 -8:scfmsg.h|1|11d70a449c7|da2|13bffc80|f9296fbfbfa511dc8664001c23e19543|0 -8:scfpub.h|1|11d70a44998|50|fac618e1|f8896fa3bfa511dc8664001c23e19543|0 diff --git a/omc/plat/sip/.copyarea.db b/omc/plat/sip/.copyarea.db deleted file mode 100644 index 822edb5..0000000 --- a/omc/plat/sip/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sip -2 -5 -3:doc|2|0|0|0|ef8e83c477fc11dd8efd001c23e19543|0 -2:ut|2|0|0|0|088e87f077fd11dd8efd001c23e19543|0 -3:src|2|0|0|0|e04228167fad11dd863a001c23e19543|0 -8:Makefile|1|11d70a48fff|b30|106fc051|1ab230d07faf11dd8601001c23e19543|0 -3:lib|2|0|0|0|ef8e83e477fc11dd8efd001c23e19543|0 diff --git a/omc/plat/sip/lib/libsip.a b/omc/plat/sip/lib/libsip.a deleted file mode 100644 index a742a53..0000000 Binary files a/omc/plat/sip/lib/libsip.a and /dev/null differ diff --git a/omc/plat/sip/obj/sip.o b/omc/plat/sip/obj/sip.o deleted file mode 100644 index 8c4643f..0000000 Binary files a/omc/plat/sip/obj/sip.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_debug.o b/omc/plat/sip/obj/sip_debug.o deleted file mode 100644 index 8c17bc5..0000000 Binary files a/omc/plat/sip/obj/sip_debug.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_msg.o b/omc/plat/sip/obj/sip_msg.o deleted file mode 100644 index f0eb845..0000000 Binary files a/omc/plat/sip/obj/sip_msg.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_msg_encode.o b/omc/plat/sip/obj/sip_msg_encode.o deleted file mode 100644 index 6b914d2..0000000 Binary files a/omc/plat/sip/obj/sip_msg_encode.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_msg_parse.o b/omc/plat/sip/obj/sip_msg_parse.o deleted file mode 100644 index 4be2b1a..0000000 Binary files a/omc/plat/sip/obj/sip_msg_parse.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_transaction.o b/omc/plat/sip/obj/sip_transaction.o deleted file mode 100644 index 333505c..0000000 Binary files a/omc/plat/sip/obj/sip_transaction.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_transport.o b/omc/plat/sip/obj/sip_transport.o deleted file mode 100644 index 57600a7..0000000 Binary files a/omc/plat/sip/obj/sip_transport.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_ua.o b/omc/plat/sip/obj/sip_ua.o deleted file mode 100644 index 37f1d28..0000000 Binary files a/omc/plat/sip/obj/sip_ua.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_ua_dialog.o b/omc/plat/sip/obj/sip_ua_dialog.o deleted file mode 100644 index ac45e3f..0000000 Binary files a/omc/plat/sip/obj/sip_ua_dialog.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_ua_fsm.o b/omc/plat/sip/obj/sip_ua_fsm.o deleted file mode 100644 index 985ba53..0000000 Binary files a/omc/plat/sip/obj/sip_ua_fsm.o and /dev/null differ diff --git a/omc/plat/sip/obj/sip_ua_msg.o b/omc/plat/sip/obj/sip_ua_msg.o deleted file mode 100644 index 76b957a..0000000 Binary files a/omc/plat/sip/obj/sip_ua_msg.o and /dev/null differ diff --git a/omc/plat/sip/src/.copyarea.db b/omc/plat/sip/src/.copyarea.db deleted file mode 100644 index 4abbf50..0000000 --- a/omc/plat/sip/src/.copyarea.db +++ /dev/null @@ -1,16 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sip\src -2 -c -c:sip_ua_fsm.c|1|11d70c3d925|4c51|d85939ab|513a4fa8abd011dd8639001c23e19543|0 -c:sip_ua_msg.c|1|11d70c3d993|8589|2c7f377b|55fa4fc8abd011dd863c001c23e19543|0 -8:sip_ua.c|1|11d70c3d83b|5863|ce6c57b9|500a4fa1abd011dd8638001c23e19543|0 -9:sip_msg.c|1|11d70c3d608|adb0|d0f9f939|4eda4f96abd011dd8637001c23e19543|0 -11:sip_transaction.c|1|11d70c3d7ae|9a06|aaf1e8e1|526a4fb3abd011dd8639001c23e19543|0 -f:sip_msg_parse.c|1|11d70c3d712|1afaf|a163b5b0|5a2a4fe5abd011dd863e001c23e19543|0 -f:sip_ua_dialog.c|1|11d70c3d8a8|2ae5|57b2e600|543a4fbaabd011dd863a001c23e19543|0 -7:include|2|0|0|0|e0e2282a7fad11dd863a001c23e19543|0 -5:sip.c|1|11d70a490ea|1b09|f1fe8a16|1d1231c07faf11dd8601001c23e19543|0 -10:sip_msg_encode.c|1|11d70c3d694|c0fa|92d76863|b8ea7aa3abd611dd869a001c23e19543|0 -b:sip_debug.c|1|11d70a49118|1674|6cdc7efa|f345817fa3f111dd8f7b001c23e19543|0 -f:sip_transport.c|1|11d70a49232|12f2|5c19ee92|1be231487faf11dd8601001c23e19543|0 diff --git a/omc/plat/sip/src/include/.copyarea.db b/omc/plat/sip/src/include/.copyarea.db deleted file mode 100644 index 55fca36..0000000 --- a/omc/plat/sip/src/include/.copyarea.db +++ /dev/null @@ -1,24 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\sip\src\include -2 -14 -c:sip_ua_def.h|1|11d70a49696|20c|7b08a79c|20a233707faf11dd8601001c23e19543|0 -9:sip_def.h|1|11d70a49445|49e|822376ed|1e4232687faf11dd8601001c23e19543|0 -11:sip_transaction.h|1|11d70a495bb|1a6|cebc9201|1e4232807faf11dd8601001c23e19543|0 -b:sip_const.h|1|11d70a493d7|16c7|620c3467|1f7232c87faf11dd8601001c23e19543|0 -9:sip_msg.h|1|11d70a494a2|83f|eac0d691|1ed232987faf11dd8601001c23e19543|0 -8:sip_ua.h|1|11d70a49629|47a|66f878bd|20a233887faf11dd8601001c23e19543|0 -10:sip_msg_encode.h|1|11d70a494e1|3d0|1ad92a7d|201233287faf11dd8601001c23e19543|0 -c:sip_ua_ext.h|1|11d70a49723|258|68ffc5aa|1ed232b07faf11dd8601001c23e19543|0 -9:sip_pub.h|1|11d70a4954e|3cd|aa104401|1da232207faf11dd8601001c23e19543|0 -9:sip_ext.h|1|11d70a49473|4fa|d9a013|214233a07faf11dd8601001c23e19543|0 -f:sip_msg_parse.h|1|11d70a4951f|1d8|351da001|1d1231d87faf11dd8601001c23e19543|0 -b:sip_debug.h|1|11d70a49406|ea|4dcc4c61|20a233587faf11dd8601001c23e19543|0 -c:sip_struct.h|1|11d70a4958d|443|cfaf4480|201233107faf11dd8601001c23e19543|0 -c:sip_ua_pub.h|1|11d70a497a0|3d4|3e8145f5|1da232387faf11dd8601001c23e19543|0 -c:sip_ua_msg.h|1|11d70c3da9d|85d|aa21d0ee|57ca4fd3abd011dd863c001c23e19543|0 -f:sip_ua_dialog.h|1|11d70a496c5|8ed|a01f5fb7|1da232087faf11dd8601001c23e19543|0 -f:sip_ua_struct.h|1|11d70a497de|318|d1ecdbc7|1d1231f07faf11dd8601001c23e19543|0 -5:sip.h|1|11d70c3da20|48c9|58ae7a2b|ba1a7aa4abd611dd869b001c23e19543|0 -e:sip_ua_const.h|1|11d70a49667|70d|fc94c446|1f7232e07faf11dd8601001c23e19543|0 -f:sip_transport.h|1|11d70a495fa|129|1b65a8|201233407faf11dd8601001c23e19543|0 diff --git a/omc/plat/smpp/.copyarea.db b/omc/plat/smpp/.copyarea.db deleted file mode 100644 index a9f32b4..0000000 --- a/omc/plat/smpp/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\smpp -2 -5 -2:ut|2|0|0|0|08a970f7bfa611dc866b001c23e19543|0 -3:src|2|0|0|0|00496f8bbfa611dc866b001c23e19543|0 -8:Makefile|1|127d644ee8a|b93|f44dc52b|ffb96f6fbfa511dc866b001c23e19543|0 -3:doc|2|0|0|0|fc296ec7bfa511dc866b001c23e19543|0 -3:lib|2|0|0|0|ff196f53bfa511dc866b001c23e19543|0 diff --git a/omc/plat/smpp/doc/.copyarea.db b/omc/plat/smpp/doc/.copyarea.db deleted file mode 100644 index 4363483..0000000 --- a/omc/plat/smpp/doc/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\smpp\doc -2 -4 -13:SMPP_R9V0_01P14.doc|1|127d644f197|ec00|d642859|fd596effbfa511dc866b001c23e19543|0 -13:SMPP_R9V0_01P13.doc|1|127d644f263|ee00|35df93d7|fde96f1bbfa511dc866b001c23e19543|0 -13:SMPP_R9V0_01P15.doc|1|127d644f32e|e200|cce4080f|fe896f37bfa511dc866b001c23e19543|0 -13:SMPP_R9V0_01P12.doc|1|127d644f11a|ea00|d917f48d|fcb96ee3bfa511dc866b001c23e19543|0 diff --git a/omc/plat/smpp/lib/libsmpp.a b/omc/plat/smpp/lib/libsmpp.a deleted file mode 100644 index f291945..0000000 Binary files a/omc/plat/smpp/lib/libsmpp.a and /dev/null differ diff --git a/omc/plat/smpp/obj/smpp_debug.o b/omc/plat/smpp/obj/smpp_debug.o deleted file mode 100644 index df734d5..0000000 Binary files a/omc/plat/smpp/obj/smpp_debug.o and /dev/null differ diff --git a/omc/plat/smpp/obj/smpp_fsm.o b/omc/plat/smpp/obj/smpp_fsm.o deleted file mode 100644 index 9b0cfa4..0000000 Binary files a/omc/plat/smpp/obj/smpp_fsm.o and /dev/null differ diff --git a/omc/plat/smpp/obj/smpp_func.o b/omc/plat/smpp/obj/smpp_func.o deleted file mode 100644 index 276759c..0000000 Binary files a/omc/plat/smpp/obj/smpp_func.o and /dev/null differ diff --git a/omc/plat/smpp/obj/smpp_mib.o b/omc/plat/smpp/obj/smpp_mib.o deleted file mode 100644 index cee4b0c..0000000 Binary files a/omc/plat/smpp/obj/smpp_mib.o and /dev/null differ diff --git a/omc/plat/smpp/obj/smpp_msg.o b/omc/plat/smpp/obj/smpp_msg.o deleted file mode 100644 index 2388f3f..0000000 Binary files a/omc/plat/smpp/obj/smpp_msg.o and /dev/null differ diff --git a/omc/plat/smpp/src/.copyarea.db b/omc/plat/smpp/src/.copyarea.db deleted file mode 100644 index 36dd7b0..0000000 --- a/omc/plat/smpp/src/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\smpp\src -2 -6 -7:include|2|0|0|0|02196fdfbfa611dc866b001c23e19543|0 -a:smpp_msg.c|1|127d644f466|2fa89|454147fb|4d56b878e5ff11de967d001ec9cf72cd|0 -a:smpp_mib.c|1|127d644f810|518a|95f85926|1f6f6ed641e311df8afa001ec9cf72cd|0 -c:smpp_debug.c|1|128a46bade2|2cc6|e11eaa3c|7e05559e42c511df9b33001ec9cf72cd|0 -b:smpp_func.c|1|130683a6ba5|7636|6d690ddb|5926781190ba11e09df5001ec9cf72cd|0 -a:smpp_fsm.c|1|127d644f4d4|532e|4a10af47|1edf6e7641e311df8afa001ec9cf72cd|0 diff --git a/omc/plat/smpp/src/include/.copyarea.db b/omc/plat/smpp/src/include/.copyarea.db deleted file mode 100644 index 99b1e03..0000000 --- a/omc/plat/smpp/src/include/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\smpp\src\include -2 -6 -d:smpp_public.h|1|127d644fafe|37a|a138006f|4f26b898e5ff11de967d001ec9cf72cd|0 -6:smpp.h|1|127d644fa23|14ea|b27ef32b|1f6f6e8e41e311df8afa001ec9cf72cd|0 -a:smpp_ext.h|1|127d644fd60|43c|3b73642e|5056b8b0e5ff11de967d001ec9cf72cd|0 -a:smpp_msg.h|1|127d644f997|33e7|7b1ed86|4df6b888e5ff11de967d001ec9cf72cd|0 -a:smpp_def.h|1|127d644fbc9|38c|ebd8231c|4f26b8a0e5ff11de967d001ec9cf72cd|0 -c:smpp_const.h|1|128a46baf68|1e31|48241e9b|2159c61258e311df80dc001ec9cf72cd|0 diff --git a/omc/plat/smpp/ut/.copyarea.db b/omc/plat/smpp/ut/.copyarea.db deleted file mode 100644 index b2d8b11..0000000 --- a/omc/plat/smpp/ut/.copyarea.db +++ /dev/null @@ -1,7 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\smpp\ut -2 -3 -e:smpp_ussd_test|2|0|0|0|09d9714bbfa611dc866b001c23e19543|0 -4:conf|2|0|0|0|0ba9719fbfa611dc866b001c23e19543|0 -9:smpp_test|2|0|0|0|08a97113bfa611dc866b001c23e19543|0 diff --git a/omc/plat/smpp/ut/conf/.copyarea.db b/omc/plat/smpp/ut/conf/.copyarea.db deleted file mode 100644 index 3b2d639..0000000 --- a/omc/plat/smpp/ut/conf/.copyarea.db +++ /dev/null @@ -1,14 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\smpp\ut\conf -2 -a -9:smpp.conf|1|127d64506c7|ca9|7a6043f8|0f397247bfa611dc866b001c23e19543|0 -9:menu_page|1|127d645032d|258|68f60b8|0ba971bbbfa611dc866b001c23e19543|0 -c:iptrans.conf|1|127d64509e4|1c2|f6956d3e|1bb9745bbfa611dc866b001c23e19543|0 -1b:.guess_number_test.conf.swp|1|127d645087c|11000|801a9722|1069727fbfa611dc866b001c23e19543|0 -9:mtp3.conf|1|127d6450511|17450|17f78bc5|0e09720fbfa611dc866b001c23e19543|0 -9:help_page|1|127d6450455|192|15015d77|0d6971f3bfa611dc866b001c23e19543|0 -16:guess_number_test.conf|1|127d64507a1|d|12da0283|0fc97263bfa611dc866b001c23e19543|0 -e:.smpp.conf.swp|1|127d64505ec|3000|db6a7a0a|0e99722bbfa611dc866b001c23e19543|0 -9:sccp.conf|1|127d645038a|330|6fa7b29c|0cd971d7bfa611dc866b001c23e19543|0 -9:MIB_files|2|0|0|0|1109729bbfa611dc866b001c23e19543|0 diff --git a/omc/plat/smpp/ut/conf/MIB_files/.copyarea.db b/omc/plat/smpp/ut/conf/MIB_files/.copyarea.db deleted file mode 100644 index acde53b..0000000 --- a/omc/plat/smpp/ut/conf/MIB_files/.copyarea.db +++ /dev/null @@ -1,19 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\smpp\ut\conf\MIB_files -2 -f -10:WXC2-MSS-MIB.txt|1|127d6450f53|52e|d7e257dd|1529735fbfa611dc866b001c23e19543|0 -11:mib_list_file.txt|1|127d6450e97|103|c80b4c14|14997343bfa611dc866b001c23e19543|0 -10:WXC2-PPS-MIB.txt|1|127d6451406|5f38c|7440987d|19f97407bfa611dc866b001c23e19543|0 -d:menu_tree.txt|1|127d645100e|812e|981faf7b|1659737bbfa611dc866b001c23e19543|0 -10:WXC2-MSC-MIB.txt|1|127d6450dcc|191c0|4c9942b2|13f97327bfa611dc866b001c23e19543|0 -10:WXC2-SS7-MIB.txt|1|127d6450cf1|16cb7|4d147c17|1369730bbfa611dc866b001c23e19543|0 -13:Special_App-SMI.txt|1|127d64511d4|3a4|cf48f6f3|178973b3bfa611dc866b001c23e19543|0 -9:menu_page|1|127d6450b7a|210|74ae5530|123972d3bfa611dc866b001c23e19543|0 -12:System_IP_List.txt|1|127d645159c|378|3a5de1c2|1b29743fbfa611dc866b001c23e19543|0 -10:WXC2-HLR-MIB.txt|1|127d645127f|caba|19ccf150|182973cfbfa611dc866b001c23e19543|0 -10:WXC2-AUC-MIB.txt|1|127d6450afd|274a|b7ed001d|119972b7bfa611dc866b001c23e19543|0 -b:IWV-SMI.txt|1|127d6450c36|40c|a1951d1d|12c972efbfa611dc866b001c23e19543|0 -11:WXC2-SMSC-MIB.txt|1|127d64514c2|16bf|1710a8e8|1a897423bfa611dc866b001c23e19543|0 -12:mib_write_tree.txt|1|127d6451118|9c3e4|7b54ced8|16f97397bfa611dc866b001c23e19543|0 -c:WXC2-SMI.txt|1|127d645133b|453|cda920a7|195973ebbfa611dc866b001c23e19543|0 diff --git a/omc/plat/smpp/ut/smpp_test/.copyarea.db b/omc/plat/smpp/ut/smpp_test/.copyarea.db deleted file mode 100644 index e0a1462..0000000 --- a/omc/plat/smpp/ut/smpp_test/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\smpp\ut\smpp_test -2 -1 -b:smpp_test.c|1|127d64500ac|5abd|bc186382|0949712fbfa611dc866b001c23e19543|0 diff --git a/omc/plat/smpp/ut/smpp_ussd_test/.copyarea.db b/omc/plat/smpp/ut/smpp_ussd_test/.copyarea.db deleted file mode 100644 index e1668e8..0000000 --- a/omc/plat/smpp/ut/smpp_ussd_test/.copyarea.db +++ /dev/null @@ -1,6 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\MNS\r9\plat\smpp\ut\smpp_ussd_test -2 -2 -9:pppchat.c|1|127d6450167|576a|515471ea|0a797167bfa611dc866b001c23e19543|0 -e:guess_number.c|1|127d64501f4|793c|c28a2f2d|0b097183bfa611dc866b001c23e19543|0 diff --git a/omc/plat/snmp/.copyarea.db b/omc/plat/snmp/.copyarea.db deleted file mode 100644 index 0fc30f5..0000000 --- a/omc/plat/snmp/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\snmp -2 -5 -3:doc|2|0|0|0|1eb96fadbfa611dc868f001c23e19543|0 -2:ut|2|0|0|0|2a0971c1bfa611dc868f001c23e19543|0 -3:src|2|0|0|0|23706adb9e6b11dd978e001c23e19543|0 -8:Makefile|1|11d70a45936|b49|74cfc733|1f496fe5bfa611dc868f001c23e19543|0 -3:lib|2|0|0|0|1eb96fc9bfa611dc868f001c23e19543|0 diff --git a/omc/plat/snmp/lib/libsnmp.a b/omc/plat/snmp/lib/libsnmp.a deleted file mode 100644 index 13642f9..0000000 Binary files a/omc/plat/snmp/lib/libsnmp.a and /dev/null differ diff --git a/omc/plat/snmp/obj/heartbeat.o b/omc/plat/snmp/obj/heartbeat.o deleted file mode 100644 index c19e628..0000000 Binary files a/omc/plat/snmp/obj/heartbeat.o and /dev/null differ diff --git a/omc/plat/snmp/obj/snmp.o b/omc/plat/snmp/obj/snmp.o deleted file mode 100644 index ed64d83..0000000 Binary files a/omc/plat/snmp/obj/snmp.o and /dev/null differ diff --git a/omc/plat/snmp/obj/snmp_mib.o b/omc/plat/snmp/obj/snmp_mib.o deleted file mode 100644 index 170cb14..0000000 Binary files a/omc/plat/snmp/obj/snmp_mib.o and /dev/null differ diff --git a/omc/plat/snmp/obj/snmp_mib_api.o b/omc/plat/snmp/obj/snmp_mib_api.o deleted file mode 100644 index 87737a6..0000000 Binary files a/omc/plat/snmp/obj/snmp_mib_api.o and /dev/null differ diff --git a/omc/plat/snmp/obj/snmpdebug.o b/omc/plat/snmp/obj/snmpdebug.o deleted file mode 100644 index bfc5132..0000000 Binary files a/omc/plat/snmp/obj/snmpdebug.o and /dev/null differ diff --git a/omc/plat/snmp/obj/snmpmib.o b/omc/plat/snmp/obj/snmpmib.o deleted file mode 100644 index d0a0c44..0000000 Binary files a/omc/plat/snmp/obj/snmpmib.o and /dev/null differ diff --git a/omc/plat/snmp/obj/snmptable.o b/omc/plat/snmp/obj/snmptable.o deleted file mode 100644 index fb54c7c..0000000 Binary files a/omc/plat/snmp/obj/snmptable.o and /dev/null differ diff --git a/omc/plat/snmp/obj/snmptest.o b/omc/plat/snmp/obj/snmptest.o deleted file mode 100644 index f43ed21..0000000 Binary files a/omc/plat/snmp/obj/snmptest.o and /dev/null differ diff --git a/omc/plat/snmp/obj/sysctrl.o b/omc/plat/snmp/obj/sysctrl.o deleted file mode 100644 index a791d50..0000000 Binary files a/omc/plat/snmp/obj/sysctrl.o and /dev/null differ diff --git a/omc/plat/snmp/src/.copyarea.db b/omc/plat/snmp/src/.copyarea.db deleted file mode 100644 index 41c4fb7..0000000 --- a/omc/plat/snmp/src/.copyarea.db +++ /dev/null @@ -1,13 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\snmp\src -2 -9 -9:snmpmib.c|1|11d8b0aa861|15cb|92c1a774|98554452afd411dd8b28001c23e19543|0 -9:sysctrl.c|1|11d70a45b59|11d2|c1767c02|26797119bfa611dc868f001c23e19543|0 -a:snmptest.c|1|11d70a45a30|13e9|2011514e|2079701dbfa611dc868f001c23e19543|0 -b:snmpdebug.c|1|11d70a45aec|35d7|d88ee6df|22497071bfa611dc868f001c23e19543|0 -7:include|2|0|0|0|25406ae19e6b11dd9790001c23e19543|0 -6:snmp.c|1|11d70a45b1b|b090|73752cc6|2379708dbfa611dc868f001c23e19543|0 -b:snmptable.c|1|11d70a45b98|169b|26063315|4ed6995aa1b911dd8ad8001c23e19543|0 -a:mib_parser|2|0|0|0|27097135bfa611dc868f001c23e19543|0 -b:heartbeat.c|1|11d70a45aad|1a09|e7a2eb58|21b97055bfa611dc868f001c23e19543|0 diff --git a/omc/plat/snmp/src/include/.copyarea.db b/omc/plat/snmp/src/include/.copyarea.db deleted file mode 100644 index f15e98b..0000000 --- a/omc/plat/snmp/src/include/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\snmp\src\include -2 -5 -b:heartbeat.h|1|11d8a87d39b|715|44da0811|20b39a67af9511dd892a001c23e19543|0 -7:macro.h|1|11d70a45cd0|7d4|fc7c68ec|28d06af69e6b11dd9792001c23e19543|0 -6:snmp.h|1|11d70a45c53|1f9a|361481b4|b4a0b617a0d811dd9cba001c23e19543|0 -9:sysctrl.h|1|11d70a45c14|3a4|c073efbf|241970c5bfa611dc868f001c23e19543|0 -7:table.h|1|11d70a45cff|573|30b3d287|b530b614a0d811dd9cbb001c23e19543|0 diff --git a/omc/plat/snmp/src/mib_parser/.copyarea.db b/omc/plat/snmp/src/mib_parser/.copyarea.db deleted file mode 100644 index 5245af3..0000000 --- a/omc/plat/snmp/src/mib_parser/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\snmp\src\mib_parser -2 -4 -a:snmp_mib.h|1|11d70a45e37|13fe|db25ab6d|18e22ff87faf11dd8601001c23e19543|0 -e:snmp_mib_api.c|1|11d70a45e08|c54|97af7302|28d97189bfa611dc868f001c23e19543|0 -e:snmp_mib_api.h|1|11d70a45dd9|4b9|c03b75b8|2839716dbfa611dc868f001c23e19543|0 -a:snmp_mib.c|1|11d70a45d9b|1ef8e|61e6fb94|27a97151bfa611dc868f001c23e19543|0 diff --git a/omc/plat/tcap/.copyarea.db b/omc/plat/tcap/.copyarea.db deleted file mode 100644 index 5ccc9ca..0000000 --- a/omc/plat/tcap/.copyarea.db +++ /dev/null @@ -1,9 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\tcap -2 -5 -3:doc|2|0|0|0|2c697008bfa611dc869a001c23e19543|0 -2:ut|2|0|0|0|368971e4bfa611dc869a001c23e19543|0 -3:src|2|0|0|0|2d99705cbfa611dc869a001c23e19543|0 -8:Makefile|1|11d70a45ee3|b31|9a1cc019|2d097040bfa611dc869a001c23e19543|0 -3:lib|2|0|0|0|2c697024bfa611dc869a001c23e19543|0 diff --git a/omc/plat/tcap/lib/libtcap.a b/omc/plat/tcap/lib/libtcap.a deleted file mode 100644 index 1615865..0000000 Binary files a/omc/plat/tcap/lib/libtcap.a and /dev/null differ diff --git a/omc/plat/tcap/obj/idmanage.o b/omc/plat/tcap/obj/idmanage.o deleted file mode 100644 index 8ac5a27..0000000 Binary files a/omc/plat/tcap/obj/idmanage.o and /dev/null differ diff --git a/omc/plat/tcap/obj/itcap.o b/omc/plat/tcap/obj/itcap.o deleted file mode 100644 index fb3644a..0000000 Binary files a/omc/plat/tcap/obj/itcap.o and /dev/null differ diff --git a/omc/plat/tcap/obj/tcap_coding.o b/omc/plat/tcap/obj/tcap_coding.o deleted file mode 100644 index 910748f..0000000 Binary files a/omc/plat/tcap/obj/tcap_coding.o and /dev/null differ diff --git a/omc/plat/tcap/obj/tcap_fsm.o b/omc/plat/tcap/obj/tcap_fsm.o deleted file mode 100644 index 9fc45ee..0000000 Binary files a/omc/plat/tcap/obj/tcap_fsm.o and /dev/null differ diff --git a/omc/plat/tcap/obj/tcap_m.o b/omc/plat/tcap/obj/tcap_m.o deleted file mode 100644 index 61c4887..0000000 Binary files a/omc/plat/tcap/obj/tcap_m.o and /dev/null differ diff --git a/omc/plat/tcap/src/.copyarea.db b/omc/plat/tcap/src/.copyarea.db deleted file mode 100644 index 0d41b07..0000000 --- a/omc/plat/tcap/src/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\tcap\src -2 -6 -8:tcap_m.c|1|11d70a45fbe|41b6|f212816e|2e397078bfa611dc869a001c23e19543|0 -7:itcap.c|1|11d70a46098|5b46|ee3a2096|f04485fe6cf311dd91a5001c23e19543|0 -7:include|2|0|0|0|2ff970ccbfa611dc869a001c23e19543|0 -a:tcap_fsm.c|1|11d70a46069|16b55|125a598b|355971acbfa611dc869a001c23e19543|0 -d:tcap_coding.c|1|11d70a45fec|11993|48dc6c43|f4b348a6339011dd9fa7001c23e19543|0 -a:idmanage.c|1|11d70a4601b|17e1|137c4b9c|efa485e66cf311dd91a5001c23e19543|0 diff --git a/omc/plat/tcap/src/include/.copyarea.db b/omc/plat/tcap/src/include/.copyarea.db deleted file mode 100644 index 85894f8..0000000 --- a/omc/plat/tcap/src/include/.copyarea.db +++ /dev/null @@ -1,11 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\tcap\src\include -2 -7 -d:tcap_struct.h|1|11d70a461b1|24b0|bd200439|31c97120bfa611dc869a001c23e19543|0 -b:tcap_proc.h|1|11d70a4627c|82|6d8d2c30|34c97190bfa611dc869a001c23e19543|0 -d:tcap_public.h|1|11d70a4621f|853|b18f6d13|6c81ed33ca7311dc926f001c23e19543|0 -8:tcap_m.h|1|11d70a46134|20f|8aeaa39b|309970e8bfa611dc869a001c23e19543|0 -7:itcap.h|1|11d70a461e0|252|de5acccc|3269713cbfa611dc869a001c23e19543|0 -b:tcap_head.h|1|11d70a4625d|22d8|c703b517|34297174bfa611dc869a001c23e19543|0 -a:idmanage.h|1|11d70a46163|1a7|2bbc7a1d|31297104bfa611dc869a001c23e19543|0 diff --git a/omc/plat/xapp/.copyarea.db b/omc/plat/xapp/.copyarea.db deleted file mode 100644 index ebbe1fd..0000000 --- a/omc/plat/xapp/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\xapp -2 -6 -3:doc|2|0|0|0|3be970e4bfa611dc86a4001c23e19543|0 -4:conf|2|0|0|0|38597058bfa611dc86a4001c23e19543|0 -2:ut|2|0|0|0|63497758bfa611dc86a4001c23e19543|0 -3:src|2|0|0|0|3d197138bfa611dc86a4001c23e19543|0 -8:Makefile|1|11d70a46328|b33|2962c360|3c89711cbfa611dc86a4001c23e19543|0 -3:lib|2|0|0|0|3be97100bfa611dc86a4001c23e19543|0 diff --git a/omc/plat/xapp/conf/.copyarea.db b/omc/plat/xapp/conf/.copyarea.db deleted file mode 100644 index 830c456..0000000 --- a/omc/plat/xapp/conf/.copyarea.db +++ /dev/null @@ -1,8 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\xapp\conf -2 -4 -12:cap_operation.conf|1|11d70a464dd|4ec|f4364f0|3b5970c8bfa611dc86a4001c23e19543|0 -12:map_operation.conf|1|11d70a464af|c12|5e0a7764|3a2970acbfa611dc86a4001c23e19543|0 -c:cap_acn.conf|1|11d70a46470|f4|779e4b69|39897090bfa611dc86a4001c23e19543|0 -c:map_acn.conf|1|11d70a46422|605|7e51d67d|38e97074bfa611dc86a4001c23e19543|0 diff --git a/omc/plat/xapp/lib/libxapp.a b/omc/plat/xapp/lib/libxapp.a deleted file mode 100644 index a2d7234..0000000 Binary files a/omc/plat/xapp/lib/libxapp.a and /dev/null differ diff --git a/omc/plat/xapp/obj/Map_opr.o b/omc/plat/xapp/obj/Map_opr.o deleted file mode 100644 index 31c209b..0000000 Binary files a/omc/plat/xapp/obj/Map_opr.o and /dev/null differ diff --git a/omc/plat/xapp/obj/cap_msg.o b/omc/plat/xapp/obj/cap_msg.o deleted file mode 100644 index 7e1a0eb..0000000 Binary files a/omc/plat/xapp/obj/cap_msg.o and /dev/null differ diff --git a/omc/plat/xapp/obj/cap_msgtype.o b/omc/plat/xapp/obj/cap_msgtype.o deleted file mode 100644 index f45466a..0000000 Binary files a/omc/plat/xapp/obj/cap_msgtype.o and /dev/null differ diff --git a/omc/plat/xapp/obj/cap_public.o b/omc/plat/xapp/obj/cap_public.o deleted file mode 100644 index eec0811..0000000 Binary files a/omc/plat/xapp/obj/cap_public.o and /dev/null differ diff --git a/omc/plat/xapp/obj/conv_prefix.o b/omc/plat/xapp/obj/conv_prefix.o deleted file mode 100644 index 20a3ea3..0000000 Binary files a/omc/plat/xapp/obj/conv_prefix.o and /dev/null differ diff --git a/omc/plat/xapp/obj/is41_code_auc.o b/omc/plat/xapp/obj/is41_code_auc.o deleted file mode 100644 index 7a44987..0000000 Binary files a/omc/plat/xapp/obj/is41_code_auc.o and /dev/null differ diff --git a/omc/plat/xapp/obj/is41_code_ms.o b/omc/plat/xapp/obj/is41_code_ms.o deleted file mode 100644 index 9a32f5e..0000000 Binary files a/omc/plat/xapp/obj/is41_code_ms.o and /dev/null differ diff --git a/omc/plat/xapp/obj/is41_code_sms.o b/omc/plat/xapp/obj/is41_code_sms.o deleted file mode 100644 index 71848e1..0000000 Binary files a/omc/plat/xapp/obj/is41_code_sms.o and /dev/null differ diff --git a/omc/plat/xapp/obj/is41_code_win.o b/omc/plat/xapp/obj/is41_code_win.o deleted file mode 100644 index 16bb6d0..0000000 Binary files a/omc/plat/xapp/obj/is41_code_win.o and /dev/null differ diff --git a/omc/plat/xapp/obj/is41_coding.o b/omc/plat/xapp/obj/is41_coding.o deleted file mode 100644 index d80e75e..0000000 Binary files a/omc/plat/xapp/obj/is41_coding.o and /dev/null differ diff --git a/omc/plat/xapp/obj/is41_debug.o b/omc/plat/xapp/obj/is41_debug.o deleted file mode 100644 index 9342eca..0000000 Binary files a/omc/plat/xapp/obj/is41_debug.o and /dev/null differ diff --git a/omc/plat/xapp/obj/is41_init.o b/omc/plat/xapp/obj/is41_init.o deleted file mode 100644 index 3ffdebb..0000000 Binary files a/omc/plat/xapp/obj/is41_init.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_LCSCode.o b/omc/plat/xapp/obj/map_LCSCode.o deleted file mode 100644 index 8738321..0000000 Binary files a/omc/plat/xapp/obj/map_LCSCode.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_code_auc.o b/omc/plat/xapp/obj/map_code_auc.o deleted file mode 100644 index dbb60da..0000000 Binary files a/omc/plat/xapp/obj/map_code_auc.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_code_ch.o b/omc/plat/xapp/obj/map_code_ch.o deleted file mode 100644 index 18f152d..0000000 Binary files a/omc/plat/xapp/obj/map_code_ch.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_code_dlgpdu.o b/omc/plat/xapp/obj/map_code_dlgpdu.o deleted file mode 100644 index 5edff0d..0000000 Binary files a/omc/plat/xapp/obj/map_code_dlgpdu.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_code_ms.o b/omc/plat/xapp/obj/map_code_ms.o deleted file mode 100644 index a84638f..0000000 Binary files a/omc/plat/xapp/obj/map_code_ms.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_code_om.o b/omc/plat/xapp/obj/map_code_om.o deleted file mode 100644 index 4788279..0000000 Binary files a/omc/plat/xapp/obj/map_code_om.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_code_sms.o b/omc/plat/xapp/obj/map_code_sms.o deleted file mode 100644 index 7596a40..0000000 Binary files a/omc/plat/xapp/obj/map_code_sms.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_code_ss.o b/omc/plat/xapp/obj/map_code_ss.o deleted file mode 100644 index 5f98602..0000000 Binary files a/omc/plat/xapp/obj/map_code_ss.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_coding.o b/omc/plat/xapp/obj/map_coding.o deleted file mode 100644 index 1a8a189..0000000 Binary files a/omc/plat/xapp/obj/map_coding.o and /dev/null differ diff --git a/omc/plat/xapp/obj/map_public.o b/omc/plat/xapp/obj/map_public.o deleted file mode 100644 index 3b3e1ef..0000000 Binary files a/omc/plat/xapp/obj/map_public.o and /dev/null differ diff --git a/omc/plat/xapp/obj/xap_cdmacdr.o b/omc/plat/xapp/obj/xap_cdmacdr.o deleted file mode 100644 index 744f5c0..0000000 Binary files a/omc/plat/xapp/obj/xap_cdmacdr.o and /dev/null differ diff --git a/omc/plat/xapp/obj/xap_interface.o b/omc/plat/xapp/obj/xap_interface.o deleted file mode 100644 index 176d559..0000000 Binary files a/omc/plat/xapp/obj/xap_interface.o and /dev/null differ diff --git a/omc/plat/xapp/obj/xap_monitor.o b/omc/plat/xapp/obj/xap_monitor.o deleted file mode 100644 index f1d8e96..0000000 Binary files a/omc/plat/xapp/obj/xap_monitor.o and /dev/null differ diff --git a/omc/plat/xapp/obj/xap_provider.o b/omc/plat/xapp/obj/xap_provider.o deleted file mode 100644 index 05a9ab1..0000000 Binary files a/omc/plat/xapp/obj/xap_provider.o and /dev/null differ diff --git a/omc/plat/xapp/src/.copyarea.db b/omc/plat/xapp/src/.copyarea.db deleted file mode 100644 index 1e9a568..0000000 --- a/omc/plat/xapp/src/.copyarea.db +++ /dev/null @@ -1,18 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\xapp\src -2 -e -6:ixap.h|1|11d70a4672f|98b|cdf03166|5ae975ecbfa611dc86a4001c23e19543|0 -b:include.bak|2|0|0|0|51597464bfa611dc86a4001c23e19543|0 -4:capp|2|0|0|0|5d49765cbfa611dc86a4001c23e19543|0 -f:xap_interfunc.h|1|11d70a46625|101|63c54522|57597560bfa611dc86a4001c23e19543|0 -d:xap_monitor.h|1|11d70a465b8|1ea|89569a8f|55897528bfa611dc86a4001c23e19543|0 -d:xap_cdmacdr.c|1|11d70a46654|b483|29a8c0f8|57e9757cbfa611dc86a4001c23e19543|0 -e:xap_provider.h|1|11d70a465f7|1405|1f611f64|56b97544bfa611dc86a4001c23e19543|0 -d:conv_prefix.h|1|11d70a4679c|7d7|3073a435|189e7b93aa0d11dd9db8001c23e19543|0 -f:xap_interface.c|1|11d70a467db|5fb2|5fe03eb7|520f0675e90311dc9871001c23e19543|0 -d:conv_prefix.c|1|11d9047ad2a|67ae|eae796e0|d83ac08bb0a511dd86b5001c23e19543|0 -e:xap_provider.c|1|11d70a46693|1800e|8d8f8e3|302fce00cee611dc81e7001c23e19543|0 -d:xap_monitor.c|1|11d9047ae05|80c5|b432942d|d83ac088b0a511dd86b6001c23e19543|0 -4:mapp|2|0|0|0|87cefb9fac8211dd893a001c23e19543|0 -d:xap_cdmacdr.h|1|11d70a466c2|53ca|d7babf63|591975b4bfa611dc86a4001c23e19543|0 diff --git a/omc/plat/xapp/src/capp/.copyarea.db b/omc/plat/xapp/src/capp/.copyarea.db deleted file mode 100644 index fa5227c..0000000 --- a/omc/plat/xapp/src/capp/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\xapp\src\capp -2 -8 -d:cap_msgtype.c|1|11d70a4722a|83e9|3ea8ad20|61797704bfa611dc86a4001c23e19543|0 -6:icap.h|1|11d70a471ec|258|2193a696|604976e8bfa611dc86a4001c23e19543|0 -c:cap_public.h|1|11d70a47140|252|3aaac56|5e797694bfa611dc86a4001c23e19543|0 -9:cap_msg.h|1|11d70a4717e|6832|83bf1e6d|5f1976b0bfa611dc86a4001c23e19543|0 -a:cap_head.h|1|11d70a471bd|1325|678a9aaa|5fa976ccbfa611dc86a4001c23e19543|0 -9:cap_msg.c|1|11d70a472a7|d08d|d8d8777c|62a9773cbfa611dc86a4001c23e19543|0 -c:cap_coding.h|1|11d70a47269|8d9|26cdd9b3|62197720bfa611dc86a4001c23e19543|0 -c:cap_public.c|1|11d70a47111|4853|a5a1c16e|5de97678bfa611dc86a4001c23e19543|0 diff --git a/omc/plat/xapp/src/include.bak/.copyarea.db b/omc/plat/xapp/src/include.bak/.copyarea.db deleted file mode 100644 index c406400..0000000 --- a/omc/plat/xapp/src/include.bak/.copyarea.db +++ /dev/null @@ -1,10 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\xapp\src\include.bak -2 -6 -6:ixap.h|1|11d70a47046|798|72fb818c|545974f0bfa611dc86a4001c23e19543|0 -e:xap_provider.h|1|11d70a46f9a|1406|69bb1fdd|5299749cbfa611dc86a4001c23e19543|0 -d:conv_prefix.h|1|11d70a47075|678|f50c3072|54f9750cbfa611dc86a4001c23e19543|0 -f:xap_interfunc.h|1|11d70a46fd9|101|63c54522|532974b8bfa611dc86a4001c23e19543|0 -d:xap_monitor.h|1|11d70a46f6b|1ea|89569a8f|51597480bfa611dc86a4001c23e19543|0 -d:xap_cdmacdr.h|1|11d70a47008|53ca|d7babf63|53c974d4bfa611dc86a4001c23e19543|0 diff --git a/omc/plat/xapp/src/include.bak/ixap.h b/omc/plat/xapp/src/include.bak/ixap.h deleted file mode 100644 index 3910752..0000000 --- a/omc/plat/xapp/src/include.bak/ixap.h +++ /dev/null @@ -1,59 +0,0 @@ -/* XAP provider interface head file */ -/* Written by Liu Zhiguo 2003-03-13 */ -/* Version 1.0 */ -/* -------------------------------- */ - -#ifndef _XAP_INTERFACE -#define _XAP_INTERFACE - -#include "mapp/imap.h" -#include "capp/icap.h" - -/* defined in xap_interface.c */ -void xap_get_mcc(u8 *mcc); -void xap_get_mnc(u8 *mnc); -void xap_get_cc(u8 *cc); -void xap_get_ndc(u8 *ndc); -void xap_get_interprefix(u8 *inter_prefix); -void xap_get_nationalprefix(u8 *national_prefix); -void xap_get_localprefix(u8 *local_prefix); -int xap_mscid_to_num(u8 *mscid,u8 ssn, u8 *num); - -int imap_reg_ssn(u8 ssn); -u8 map_check_sendcom(u32 did); -u8 map_send_comdata(u8 *data_flow); // send map common service data -u8 map_check_sendopr(u32 did); -u8 map_send_oprdata(u8 *data_flow); // send map operation service data -u8 map_get_comdata(u8 *data_flow,u32 did); -u8 map_get_open(u8 *data_flow,u8 ssn); -u8 map_get_oprdata(u8 *data_flow,u32 did); -u32 map_get_dialogueid(u8 ssn); -u8 map_get_invokeid(u32 did); -u8 map_check_map_flag(u32 did); - -u32 is41_get_dialogueid(u8 ssn); - -int icap_reg_ssn(u8 ssn); -u8 cap_check_sendcom(u32 did); -u8 cap_send_comdata(u8 *data_flow); // send cap common service data -u8 cap_check_sendopr(u32 did); -u8 cap_send_oprdata(u8 *data_flow); // send cap operation service data -u8 cap_get_comdata(u8 *data_flow,u32 did); -u8 cap_get_open(u8 *data_flow,u8 ssn); -u8 cap_get_oprdata(u8 *data_flow,u32 did); -u32 cap_get_dialogueid(u8 ssn); -u8 cap_get_invokeid(u32 did); - -/* defined in xap_provider.c */ -u8 map_get_acnver(SCCP_ADDR *sccp_ptr,u8 acn); -u8 map_set_acnver(SCCP_ADDR *sccp_ptr,u8 acn,u8 acn_ver); -void xap_init( int grantdid ); -void xap_fsm(); - -int snmpGetCliPrefix(u_char oidlen,DWORD *oid,u_char *pdata,u_char *vartype); -int snmpSetCliPrefix(u_char oidlen,DWORD *oid,u_char *pdata,u_short datalen); -int saveConvPrefix(); -u8 init_mappconst(void); -u8 init_cappconst(void); -void wxc2_trace_xapp(u32 did); -#endif diff --git a/omc/plat/xapp/src/include.bak/xap_provider.h b/omc/plat/xapp/src/include.bak/xap_provider.h deleted file mode 100644 index c27f060..0000000 --- a/omc/plat/xapp/src/include.bak/xap_provider.h +++ /dev/null @@ -1,182 +0,0 @@ -/* XAP provider head file */ -/* Written by Liu Zhiguo 2003-08-26 */ -/* Version 1.0 */ -/* -------------------------------- */ - -#include "../../public/src/include/includes.h" -#include "../../public/src/include/function.h" -#include "../../sccp/src/include/sccp.h" -#include "../../tcap/src/include/tcap_head.h" -#include "../../tcap/src/include/tcap_public.h" -#include "../../tcap/src/include/tcap_struct.h" -#include "ixap.h" -#include "mapp/map_const.h" -#include "mapp/map_public.h" -#include "mapp/map_code.h" -#include "mapp/map_coding.h" -#include "mapp/is41_code.h" -#include "mapp/map_struct.h" -#include "mapp/map_acn.h" -#include "mapp/map_dlgpdu.h" - -#ifndef _PROVIDER_H -#define _PROVIDER_H - -#define XAP_MAP_SSN 1 // ssn is used for map -#define XAP_CAP_SSN 2 // ssn is used for cap -#define XAP_IS41_SSN 3 // ssn is used for is41 - -#define XAP_VM_KEY 0xa0e00000 -#define XAP_VM_PERM 0664 -#define XAP_INTER_KEY 0xa0f00000 -#define XAP_INTER_PERM 0664 - -#define MAX_XAP_SSN 16 -#define XAP_OPEN_LEN 128 -#define XAP_ACN_LEN 7 // xap acn length -#define XAP_ACN_NUM 50 // acn buffer length -#define XAP_OPR_NUM 80 // operation length - -#define XAP_ASCIN_LEN 1024 -#define XAP_ASCOUT_LEN 4096 -#define XAP_WTDOG_LEN 256 - -#define XAP_INIT 0x00 -#define XAP_IDLE 0x01 -#define XAP_WFUR 0x02 // wait for user requests -#define XAP_WFCBI 0x03 // wait for check begin indicate -#define XAP_DLG_INITIATED 0x05 -#define XAP_DLG_PENDING 0x04 // dialogue pending -#define XAP_DLG_ACCEPTED 0x06 -#define XAP_DLG_ESTABLISHED 0x07 -#define XAP_DLG_SUSPEND 0x08 -#define XAP_DLG_HALT 0x09 - -/* the state of SSM */ -#define SSM_IDLE 0x00 -#define SSM_WFRESPONSE 0x01 // wait for response -#define SSM_WFCONFIRM 0x02 - -/* the flag of requesting map SSM */ -#define SERVICE_INVOKED 0x01 -#define RESULT_RECEIVED 0x02 -#define PARTIAL_RESULT_RECEIVED 0x03 -#define NEGATIVE_RESULT_RECEIVED 0x04 -#define LINKED_REQUEST_RECEIVED 0x05 -#define LINKED_SERVICE_INVOKED 0x06 -#define USER_REJECT_RECEIVED 0x07 -#define PROVIDER_REJECT_RECEIVED 0x08 -#define TIMER_EXPIRY 0x09 -#define TERMINATED 0x0a - -/* the flag of performing map SSM */ -#define SERVICE_INVOCATION_RECEIVED 0x01 -#define RESPONSE_ISSUED 0x02 -#define GUARD_TIMER 0x03 - -#define SUSPEND_TIME 1 -#define DLGPEND_TIME 180 -#define XAPP_TIMERHZ 100 - -#define XAPP_PRIVATE_TCAP 1 -#define XAPP_OPER_FAMILY 9 - -typedef struct xap_acn_info // store info about application context name -{ - u8 buf_len; - u8 acn[XAP_ACN_NUM]; // acn buffer - u8 acn_ver[XAP_ACN_NUM]; // acn version buffer -} xap_acn_info; - -typedef struct xap_opr_info // store info about opration code -{ - u8 buf_len; - u8 opr_code[XAP_OPR_NUM]; // operation code buffer - u8 opr_class[XAP_OPR_NUM]; // operation class buffer - u32 opr_timer[XAP_OPR_NUM]; // operation timer buffer -} xap_opr_info; - - -typedef struct xap_inter_struct // xap interface structure -{ - u8 mcc[2]; - u8 mnc0; - u8 cc[2]; - u8 ndc[3]; - u8 inter_prefix[2]; - u8 national_prefix[2]; - u8 local_prefix[2]; - u8 mnc[2];//expend mnc from 1 byte to 2 bytes - -/* mscid is special use for CDMA */ - u8 mscidToNum[256][14]; -/* mscid is special use for CDMA */ - - // define for the ssn control - u8 regssn_len; - u8 reg_ssn[MAX_XAP_SSN]; - u8 regssn_flag[MAX_XAP_SSN]; // indicate if the register SSN is MAP or CAP ssn - u8 open_head[MAX_XAP_SSN]; - u8 open_tail[MAX_XAP_SSN]; - u32 open_did[MAX_XAP_SSN][XAP_OPEN_LEN]; -} xap_inter_struct; - -typedef struct xap_debug_struct -{ - char *start_time; // time of module start - u32 monitor_did; // the dialogue id for monitored - u8 error_switch; - u8 map_switch; - u8 cap_switch; - u8 send_control; // control if can send xap message - u8 ascin_buf[XAP_ASCIN_LEN]; - u8 ascout_buf[XAP_ASCOUT_LEN]; - u32 watch_dog[XAP_WTDOG_LEN]; -} xap_debug_struct; - -typedef struct psmvm_data // xap provider state machine data -{ - u8 xap_flag; // 0: empty; 1: map primitive; 2: cap primitive - u8 psm_state; - u8 sub_state1; - u8 delimiter_flag; - u8 acn; - u8 acn_ver; - u8 msg_type; - u8 msg_flag; - u32 port_id; - u32 suspend_timer; - u8 data_count; - u8 recv_bsa_count; - u8 opr_state[MAX_INVOKEID]; - u8 opr_code[MAX_INVOKEID]; - u8 opr_class[MAX_INVOKEID]; -} psmvm_data; - -typedef struct xapp_vm_data // XAP provider virtue machine structure -{ - struct psmvm_data psm_data; - u8 recvcom_flag; // USER=>XAPP - u8 recvopr_flag; // USER=>XAPP 0: has not data 1: has data 2: has partial data - u8 sendcom_flag; // XAPP=>USER - u8 sendopr_flag; // XAPP=>USER - u32 recvopr_site; // USER=>XAPP 0: has not data 1: has data 2: has partial data - struct MapComSrv_struct recvcom_data; - struct MapOprData_struct recvopr_data; - struct MapComSrv_struct sendcom_data; - struct MapOprData_struct sendopr_data; - struct CSLdlg_struct tcap_data; - struct MapDlg_struct map_dlg; -} xapp_vm_data; - -typedef struct xap_vm_struct -{ - int grantdid; - struct xapp_vm_data xap_data[MAX_DIALOGUEID]; - struct xap_debug_struct debug_data; -} xap_vm_struct; - -struct xap_vm_struct *xap_vm_ptr; -struct xap_inter_struct *xap_inter_ptr; - -#endif diff --git a/omc/plat/xapp/src/mapp/.copyarea.db b/omc/plat/xapp/src/mapp/.copyarea.db deleted file mode 100644 index 81fce06..0000000 --- a/omc/plat/xapp/src/mapp/.copyarea.db +++ /dev/null @@ -1,35 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\xapp\src\mapp -2 -1f -d:map_code_om.c|1|11d70a46d1a|1683|8533b312|4d3973bcbfa611dc86a4001c23e19543|0 -c:map_coding.h|1|11d758d2276|764e|72d0f1a4|91eefbe7ac8211dd893c001c23e19543|0 -d:map_LCSCode.h|1|11d8a87d487|c82|89c1de71|34b017a0af0f11dd8895001c23e19543|0 -f:is41_code_auc.c|1|11d70a46a4b|98c0|4f5117ba|43a97250bfa611dc86a4001c23e19543|0 -b:map_const.h|1|11d758d2218|5e17|19fde9ff|8a2e6809ac6c11dd8812001c23e19543|0 -c:map_public.c|1|11d70a46c6e|6433|a97cc9ba|4ad97368bfa611dc86a4001c23e19543|0 -e:map_includes.h|1|11d70a469a0|1ee|bcce8b46|41e971fcbfa611dc86a4001c23e19543|0 -c:map_dlgpdu.h|1|11d70a468e4|b4a|63d576dd|3f7971a8bfa611dc86a4001c23e19543|0 -c:map_coding.c|1|11d758d2228|f398|ddb9308d|8e5efbc8ac8211dd893c001c23e19543|0 -11:map_code_dlgpdu.c|1|11d70a46b55|1706|46d6fc5a|473972dcbfa611dc86a4001c23e19543|0 -6:imap.h|1|11d70a46c10|2c3|dc9fe4aa|49997330bfa611dc86a4001c23e19543|0 -d:is41_coding.c|1|11d70a46ab9|49ab|423152d3|45797288bfa611dc86a4001c23e19543|0 -c:win_struct.h|1|11d70a46df5|3e48|1f57596c|4f99742cbfa611dc86a4001c23e19543|0 -9:Map_opr.c|1|11d70a46e81|52d6|2ac4a191|6f2f82226e9911dd9a39001c23e19543|0 -f:is41_code_win.c|1|11d70a46971|11614|f8b47ad7|414971e0bfa611dc86a4001c23e19543|0 -e:is41_code_ms.c|1|11d70a46b93|1e110|ec432a25|47d972f8bfa611dc86a4001c23e19543|0 -d:map_code_ss.c|1|11d70a46877|a3b6|2318f99e|3e497170bfa611dc86a4001c23e19543|0 -f:is41_code_sms.c|1|11d70a469de|8385|11db6fb8|42797218bfa611dc86a4001c23e19543|0 -d:map_code_ch.c|1|11d70a46a0d|b630|627641d|43197234bfa611dc86a4001c23e19543|0 -e:map_opr_func.h|1|11d70a46eb0|913|7bcf3496|705f82296e9911dd9a3a001c23e19543|0 -9:map_acn.h|1|11d758d2257|9e9|a849ef3d|90befbd6ac8211dd893c001c23e19543|0 -b:is41_code.h|1|11d70a468a6|e0a|568eb710|3ee9718cbfa611dc86a4001c23e19543|0 -c:map_struct.h|1|11d758d2295|16b5a|28a4e1b4|93befbeaac8211dd893d001c23e19543|0 -e:map_code_auc.c|1|11d70a46e52|1981|58069302|50c97448bfa611dc86a4001c23e19543|0 -a:map_code.h|1|11d758d2247|2d56|f984c4d4|67ef017fac8311dd8958001c23e19543|0 -c:is41_debug.c|1|11d70a46ae8|1216c|76dd9cc8|460972a4bfa611dc86a4001c23e19543|0 -e:map_code_sms.c|1|11d70a46d78|812b|d2e2b0bd|406a3fb9ce1311dc9f39001c23e19543|0 -d:map_LCSCode.c|1|11d8a87d419|12ae|c754bc51|342017a3af0f11dd8894001c23e19543|0 -d:map_code_ms.c|1|11d70a46cdb|1ddbf|620185bb|6953d7e6e4f611dc8b3a001c23e19543|0 -b:is41_init.c|1|11d70a46923|1bc|4e4683d7|401971c4bfa611dc86a4001c23e19543|0 -c:map_public.h|1|11d70a46a6b|406|ff725524|4449726cbfa611dc86a4001c23e19543|0 diff --git a/omc/plat/xapp/src/xap_cdmacdr.h b/omc/plat/xapp/src/xap_cdmacdr.h deleted file mode 100644 index caf9611..0000000 --- a/omc/plat/xapp/src/xap_cdmacdr.h +++ /dev/null @@ -1,898 +0,0 @@ -/* HLR CDMA cdr structure */ -/* Created by daniel:2005-06-21 */ -/* Modify by daniel:2005-06-21 */ -/* -------------------------------- */ - -#define DMHPAR_ASWID 0 -#define DMHPAR_AUDSN 1 -#define DMHPAR_AUDSUB 2 -#define DMHPAR_BIN 6 -#define DMHPAR_BILLIND 7 -#define DMHPAR_CDDGTS 8 -#define DMHPAR_CDLOC 9 -#define DMHPAR_CGDGTS 10 -#define DMHPAR_CGLOC 11 -#define DMHPAR_CHRGAMT 12 -#define DMHPAR_CNVDUR 13 -#define DMHPAR_CNVUSG 14 -#define DMHPAR_DATE 15 -#define DMHPAR_DIALDGTS 16 -#define DMHPAR_DUR 17 -#define DMHPAR_IDSUB 18 -#define DMHPAR_LNUM 19 -#define DMHPAR_MODIND 20 -#define DMHPAR_OSWID 21 -#define DMHPAR_RLEG 22 -#define DMHPAR_SEGNUM 23 -#define DMHPAR_SSWID 24 -#define DMHPAR_SWNO 25 -#define DMHPAR_SID 26 -#define DMHPAR_TOD 27 -#define DMHPAR_TKNUM 29 -#define DMHPAR_ACTIND 32 -#define DMHPAR_AJCKT 33 -#define DMHPAR_ACTSUB 34 -#define DMHPAR_ACHDUR 37 -#define DMHPAR_ACHUSG 38 -#define DMHPAR_AIRSSUB 39 -#define DMHPAR_AUTHCNT 42 -#define DMHPAR_AUTHDEN 43 -#define DMHPAR_AUTHTYP 44 -#define DMHPAR_CJCKT 47 -#define DMHPAR_CELLID 49 -#define DMHPAR_CHRGIND 50 -#define DMHPAR_CHRGSUB 51 -#define DMHPAR_CHRGTAX 52 -#define DMHPAR_CHRGTIND 53 -#define DMHPAR_CHRGUNIT 54 -#define DMHPAR_DENACC 56 -#define DMHPAR_DESTDGTS 57 -#define DMHPAR_ESN 58 -#define DMHPAR_EVTIND 60 -#define DMHPAR_FPARM 61 -#define DMHPAR_FBDUR 62 -#define DMHPAR_FBIND 64 -#define DMHPAR_FBUSG 65 -#define DMHPAR_FEATIND 66 -#define DMHPAR_FEATOPN 67 -#define DMHPAR_FRIND 68 -#define DMHPAR_HCOORD 69 -#define DMHPAR_HSWID 70 -#define DMHPAR_IECCDUR 71 -#define DMHPAR_INCDUR 73 -#define DMHPAR_INCUSG 74 -#define DMHPAR_LLIND 78 -#define DMHPAR_LJCKT 81 -#define DMHPAR_MIN 84 -#define DMHPAR_MRPI 85 -#define DMHPAR_NPANXX 86 -#define DMHPAR_NUMACT 87 -#define DMHPAR_NUMCHRG 89 -#define DMHPAR_NUMEVT 90 -#define DMHPAR_NUMLEG 91 -#define DMHPAR_NUMSEG 93 -#define DMHPAR_OLSUB 94 -#define DMHPAR_OGTDUR 95 -#define DMHPAR_OGTUSG 96 -#define DMHPAR_PLNAM 97 -#define DMHPAR_RCHNUM 99 -#define DMHPAR_RPI 100 -#define DMHPAR_REDIND 101 -#define DMHPAR_RLSUB 102 -#define DMHPAR_RBIN 103 -#define DMHPAR_RELIND 104 -#define DMHPAR_RIN 106 -#define DMHPAR_SRT 109 -#define DMHPAR_SJCKT 110 -#define DMHPAR_SPNAM 112 -#define DMHPAR_TSSUB 113 -#define DMHPAR_TSWID 114 -#define DMHPAR_TLSUB 115 -#define DMHPAR_TDO 116 -#define DMHPAR_TTIND 117 -#define DMHPAR_VCOORD 118 -#define DMHPAR_BINR 128 -#define DMHPAR_BRI 129 -#define DMHPAR_EJCKT 142 -#define DMHPAR_EVTSUB 143 -#define DMHPAR_FALSUB 146 -#define DMHPAR_PACAIND 150 -#define DMHPAR_PACASUB 151 -#define DMHPAR_AUXLSUB 161 -#define DMHPAR_IMEI 165 -#define DMHPAR_IMSI 166 -#define DMHPAR_LATA 167 -#define DMHPAR_NUMOCT 168 -#define DMHPAR_NUMPKT 169 -#define DMHPAR_TEXIND 170 -#define DMHPAR_CHRGTCOD 171 -#define DMHPAR_CHRGTTBL 172 -#define DMHPAR_FILLIND 178 -#define DMHPAR_FILLIC 179 -#define DMHPAR_MDN 184 -#define DMHPAR_NEICLNP 186 -#define DMHPAR_NUMFAL 188 -#define DMHPAR_NUMRED 189 -#define DMHPAR_NUMORG 190 -#define DMHPAR_NUMTRM 191 -#define DMHPAR_SELUSE 193 -#define DMHPAR_SUCOD 194 -#define DMHPAR_MYTYP 196 -#define DMHPAR_NUMAUX 199 -#define DMHPAR_NEIIP 200 -#define DMHPAR_IWFDUR 202 -#define DMHPAR_RETIND 207 -#define DMHPAR_RICODE 208 -#define DMHPAR_RSEG 209 -#define DMHPAR_WCNTRY 214 - -#define EVTIND_authorizationGranted 1 -#define EVTIND_authorizationExpired 2 -#define EVTIND_authorizationDenied 3 -#define EVTIND_securityViolationReport 4 -#define EVTIND_inactive 5 -#define EVTIND_deregistration 6 -#define EVTIND_registrationCanceled 7 -#define EVTIND_profileUpdated 8 -#define EVTIND_qualificationUpdated 9 -#define EVTIND_terminationDeniedInvalid 10 -#define EVTIND_terminationDeniedUnassigned 11 -#define EVTIND_terminationDeniedInactive 12 -#define EVTIND_terminationDeniedUnregistered 13 -#define EVTIND_terminationDeniedNoPageResponse 14 -#define EVTIND_terminationDeniedBusy 15 -#define EVTIND_terminationDeniedSCA 16 -#define EVTIND_terminationDeniedDND 17 -#define EVTIND_terminationDeniedCD 18 -#define EVTIND_terminationDeniedCS 19 -#define EVTIND_terminationDeniedOther 20 -#define EVTIND_callDelivered 21 -#define EVTIND_callForwarded 22 -#define EVTIND_callForwardingNotification 23 -#define EVTIND_messageWaitingNotification 24 -#define EVTIND_originationDeniedNoTrunk 25 -#define EVTIND_originationDeniedUnrecognized 26 -#define EVTIND_originationDeniedCB 27 -#define EVTIND_originationDeniedOther 28 -#define EVTIND_unspecifiedHourlyEvent 29 -#define EVTIND_unspecifiedDailyEvent 30 -#define EVTIND_unspecifiedWeeklyEvent 31 -#define EVTIND_unspecifiedMonthlyEvent 32 -#define EVTIND_unspecifiedQuarterlyEvent 33 -#define EVTIND_unspecifiedSemi_annualEvent 34 -#define EVTIND_unspecifiedAnnualEvent 35 -#define EVTIND_featureAccessAttempted 36 -#define EVTIND_SMSMO 37 -#define EVTIND_SMSMT 38 -#define EVTIND_SMSNOT 39 - -#define ACTIND_unspecified 0 -#define ACTIND_locallyDeniedRegistration 1 -#define ACTIND_homeDeniedRegistration 2 -#define ACTIND_powerOnRegistration 3 -#define ACTIND_autonomousRegistration 4 -#define ACTIND_missedAutonomousRegistration 5 -#define ACTIND_movementRegistration 6 -#define ACTIND_movementDetected 7 -#define ACTIND_powerDownDeregistration 8 -#define ACTIND_pageResponse 0 -#define ACTIND_noPageResponse 10 -#define ACTIND_messageWaiting 11 -#define ACTIND_abbreviatedAlert 12 -#define ACTIND_alert 13 -#define ACTIND_alertWithInformation 14 -#define ACTIND_alertingAnswered 15 -#define ACTIND_pACARequest 16 -#define ACTIND_originationRequest 17 -#define ACTIND_flashRequestWithoutInformation 18 -#define ACTIND_flashRequestWithInformation 19 -#define ACTIND_callModeChanged 20 -#define ACTIND_lostRadioContact 21 -#define ACTIND_measurementRequest 22 -#define ACTIND_mAHORequest 23 -#define ACTIND_intraSystemHandoff 24 -#define ACTIND_interSystemHandoff 25 -#define ACTIND_powerControlProblem 26 -#define ACTIND_protocolError 27 -#define ACTIND_spuriousEmissions 28 -#define ACTIND_orderedRegistration 29 -#define ACTIND_trafficChannelRegistration 30 -#define ACTIND_dataBurst_ShortMessage 31 -#define ACTIND_featureNotification 32 -#define ACTIND_lock 33 -#define ACTIND_unlock 34 -#define ACTIND_maintenanceRequired 35 -#define ACTIND_intrasystemSoftHandoffBegin 36 -#define ACTIND_intersystemSoftHandoffBegin 37 -#define ACTIND_packetDataRegistrationOnly 38 - -#define FEATIND_callForwarding_Unconditional 1 -#define FEATIND_callForwarding_Busy 2 -#define FEATIND_callForwarding_NoAnswer 3 -#define FEATIND_callForwarding_Other 4 -#define FEATIND_callWaiting 5 -#define FEATIND_threeWayCalling 6 -#define FEATIND_callDelivery 7 -#define FEATIND_doNotDisturb 8 -#define FEATIND_conferenceCalling 9 -#define FEATIND_callTransfer 10 -#define FEATIND_callingNumberIdentificationRestriction 11 -#define FEATIND_selectiveCallAcceptance 12 -#define FEATIND_authorizationCode 13 -#define FEATIND_speedDialing 14 -#define FEATIND_adviceOfCharging 15 -#define FEATIND_voiceMail 16 -#define FEATIND_callForwardDefault 17 -#define FEATIND_callingNumberIdentificationPresentation 18 -#define FEATIND_flexibleAlerting 19 -#define FEATIND_messageWaitingNotification 20 -#define FEATIND_mobileAccessHunting 21 -#define FEATIND_passwordCallAcceptance 22 -#define FEATIND_preferredLanguageService 23 -#define FEATIND_priorityAccessAndChannelAssignment 24 -#define FEATIND_remoteFeatureControl 25 -#define FEATIND_subscriberPINAccess 26 -#define FEATIND_subscriberPINIntercept 27 -#define FEATIND_voicePrivacy 28 -#define FEATIND_shortMessageDeliveryPoint_ToPointBearer 29 -#define FEATIND_shortMessageDeliveryBroadcast 30 -#define FEATIND_cellularPagingTeleservice 31 -#define FEATIND_cellularMessagingTeleservice 32 -#define FEATIND_intersystemCall 33 -#define FEATIND_voiceMailDelete 34 -#define FEATIND_voiceMailSend 35 -#define FEATIND_voiceMailDeposit 36 -#define FEATIND_answerHold 37 -#define FEATIND_userSelectiveCallForwarding 38 - -#define FEATOPN_featureRegistration 1 -#define FEATOPN_featureDeregistration 2 -#define FEATOPN_featureActivation 3 -#define FEATOPN_featureDeactivation 4 -#define FEATOPN_featureInvocation 5 -#define FEATOPN_featurePerCallActivation 6 -#define FEATOPN_featurePerCallDeactivation 7 -#define FEATOPN_featureRegistrationAndActivation 8 -#define FEATOPN_featureInterrogation 9 -#define FEATOPN_featureTesting 10 -#define FEATOPN_screenListEditing 11 - -#define FRIND_timerExpiry 1 -#define FRIND_networkFailure 2 -#define FRIND_operationError 3 -#define FRIND_operationReject 4 -#define FRIND_unspecified 5 -#define FRIND_unsuccessful 6 -#define FRIND_successful 7 - -typedef struct DMH_CallLocation -{ - u32 param_flag; - - u8 HcoordinateLen; - u8 Hcoordinate[3]; - - u8 NPANXX[3]; - - u8 PlaceNameLen; - u8 PlaceName[20]; - - u8 StateProvinceName[2]; - - u8 VcoordinateLen; - u8 Vcoordinate[3]; - - u8 LocalAccessTransportAreaLen; - u8 LocalAccessTransportArea[4]; - - u8 WorldCountry[3]; -}DMH_CallLocation; - -typedef struct DMH_ReturnIndicator -{ - u32 param_flag; - - u8 ReturnIndicatorCode; - -//optional part - struct - { - u8 ParameterIdentifierLen; - u8 ParameterIdentifier[16]; - } FaultyParameter; - -}DMH_ReturnIndicator; - -typedef struct DMH_FillIndicator -{ - struct - { - u8 ParameterIdentifierLen; - u8 ParameterIdentifier[16]; - } FaultyParameter; - - u8 FillIndicatorCode; -}DMH_FillIndicator; - -typedef struct DMH_AuditSubrecord -{ - u32 param_flag; - - u8 audsnLen; - u8 audsn[4];//AuditSequenceNumber - -//optional part - u8 achdurLen; - u8 achdur[4];//AirChannelDuration - u8 cnvdurLen; - u8 cnvdur[4];//ConversationDuration - u8 fbdurLen; - u8 fbdur[4];//FeatureBridgeDuration - u8 ieccdurLen; - u8 ieccdur[4];//IECConnectDuration - u8 incdurLen; - u8 incdur[4];//IncomingTrunkDuration - u8 numactLen; - u8 numact[4];//NumberOfActivities - u8 numchrgLen; - u8 numchrg[4];//NumberOfCharges - u8 numevtLen; - u8 numevt[4];//NumberOfEvents - u8 numlegLen; - u8 numleg[4];//NumberOfLegs - u8 numsegLen; - u8 numseg[4];//NumberOfSegments - u8 ogtdurLen; - u8 ogtdur[4];//OutgoingTrunkDuration - u8 numfalLen; - u8 numfal[4];//NumberOfFeatureActivationLegs - u8 numorgLen; - u8 numorg[8];//NumberOfOriginationLegs - u8 numredLen; - u8 numred[4];//NumberOfRedirectionLegs - u8 numtrmLen; - u8 numtrm[4];//NumberOfTerminationLegs - u8 numauxLen; - u8 numaux[4];//NumberOfAuxiliaryLegs - u8 numoctLen; - u8 numoct[4];//NumberOfOctets - u8 numpktLen; - u8 numpkt[4];//NumberOfPackets - u8 iwfdurLen; - u8 iwfdur[4];//IWFDuration - DMH_FillIndicator fillind; - DMH_ReturnIndicator retind; -}DMH_AuditSubrecord; - -typedef struct DMH_SwitchID -{ - u32 param_flag; - - u8 swno;//SwitchNumber - u8 sid[2];//SystemIdentifier - u8 bri[2];//BusinessRelationIdentifier - u8 mytyp;//SystemMyTypeCode -}DMH_SwitchID; - -typedef struct DMH_IdentitySubrecord -{ - u32 param_flag; - - u8 Date[3]; - struct - { - u8 ChoiceFlag; - - u8 esn[4]; - u8 imei[5]; - } Choice1; - - struct - { - u8 ChoiceFlag; - - u8 min[5]; - u8 imsi[8]; - u8 neiclnp[19]; - u8 neiip[4]; - } Choice2; - - u8 tdoLen; - u8 tdo[2];//TimeDateOffset - u8 todLen; - u8 tod[3];//TimeOfDay - - struct - { - u8 ChoiceFlag; - - DMH_SwitchID aswid;//AnchorSWID - DMH_SwitchID oswid;//OriginatingSWID - DMH_SwitchID sswid;//ServingSWID - } Choice3; - - u8 binLen; - u8 bin[4];//BillingIdentificationNumber - - DMH_SwitchID hswid;//HomeSWID - - u8 mdnLen; - u8 mdn[8]; - DMH_FillIndicator fillind; - DMH_ReturnIndicator retind; - -}DMH_IdentitySubrecord; - -typedef struct DMH_EventSubrecord -{ - u32 param_flag; - - u8 evtind;//EventIndicator - u8 rinLen; - u8 rin[4];//ReportIdentificationNumber - -//optional part - DMH_SwitchID aswid;//AnchorSWID - - u8 authcnt;//AuthorizationCount - u8 authden;//AuthorizationDenied - u8 authtyp;//AuthorizationType - u8 binLen; - u8 bin[4];//BillingIdentificationNumber - u8 Date[3]; - u8 denacc;//DenyAccess - u8 featind;//FeatureIndicator - u8 featopn;//FeatureOperation - u8 frind;//FeatureResultIndicator - - DMH_SwitchID oswid;//OriginatingSWID - - u8 rbinLen; - u8 rbin[4];//RelatedBillingIdentificationNumber - u8 srt;//SecurityReportType - - DMH_SwitchID sswid;//ServingSWID - - u8 tdoLen; - u8 tdo[2];//TimeDateOffset - u8 todLen; - u8 tod[3];//TimeOfDay - DMH_FillIndicator fillind; - DMH_ReturnIndicator retind; -}DMH_EventSubrecord; - -typedef struct DMH_ChargeSubrecord -{ - u32 param_flag; - - u8 chrgamtLen; - u8 chrgamt[4];//ChargeAmount - u8 chrgind;//ChargeIndicator - -//optional part - u8 chrgtaxLen; - u8 chrgtax[4];//ChargeTax - u8 chrgtind;//ChargeTaxIndicator - u8 chrgunit;//ChargeUnits - u8 durLen; - u8 dur[4];//Duration - u8 mrpi;//MultipleRatePeriodIndicator,len=0 - u8 plnamLen; - u8 plnam[20];//PlaceName - u8 rpi;//RatePeriodIndicator - u8 spnam[2];//StateProvinceName - u8 ttind;//TollTariffIndicator - u8 wcntry[3];//WorldCountry - - struct - { - u8 ChoiceFlag; - - u8 lnum;//LegNumber - u8 segnum;//SegmentNumber - } Choice; - - u8 chrgtcodLen; - u8 chrgtcod[2];//ChargeTaxCode - u8 chrgttbl;//ChargeTaxTable - u8 numoctLen; - u8 numoct[4];//NumberOfOctets - u8 numpktLen; - u8 numpkt[4];//NumberOfPackets - u8 seluseLen; - u8 seluse[100];//SelectiveUse - u8 sucod;//SelectiveUseCode - u8 texind;//TaxExemptIndicator - DMH_FillIndicator fillind; - DMH_ReturnIndicator retind; -}DMH_ChargeSubrecord; - -typedef struct DMH_BeginForwardPath -{ - u32 param_flag; - - u8 cellidLen; - u8 cellid[2];//CellIdentifier - u8 modind;//ModulationIndicator - u8 rchnumLen; - u8 rchnum[2];//RadioChannelNumber - u8 tknumLen; - u8 tknum[2];//TrunkNumber - -//optional part - u8 bearind;//BearerIndicator - u8 locidLen; - u8 locid[2];//LocationAreaIdentifier - u8 radattr[2];//RadioAttributes - u8 trnsnumLen; - u8 trnsnum[2];//TransceiverNumber - u8 tkgrpLen; - u8 tkgrp[2];//TrunkGroup - - struct - { - u8 ChoiceFlag; - //will add encode in the future - - } Choice; - - u8 cellnamLen; - u8 cellnam[8];//CellName - u8 tgpnamLen; - u8 tgpnam[12];//TrunkGroupName - u8 uzLen; - u8 uz[3];//UserZoneNumber - u8 bndclsLen; - u8 bndcls[63];//BandClass - u8 freqind;//FrequencyIndicator -}DMH_BeginForwardPath;//BeginForwardPath - -typedef struct DMH_EndForwardPath -{ - u32 param_flag; -}DMH_EndForwardPath;//BeginForwardPath - -typedef struct DMH_ActivitySubrecord -{ - u32 param_flag; - - u8 actind;//ActivityIndicator - u8 rinLen; - u8 rin[4];//ReportIdentificationNumber - -//optional part - u8 authden;//AuthorizationDenied - - DMH_BeginForwardPath bfpath; - u8 binLen; - u8 bin[4];//BillingIdentificationNumber - u8 Date[3]; - u8 denacc;//DenyAccess - u8 srt;//SecurityReportType - - DMH_SwitchID sswid;//ServingSWID - - u8 tdoLen; - u8 tdo[2];//TimeDateOffset - u8 todLen; - u8 tod[3];//TimeOfDay - DMH_FillIndicator fillind; - u8 rsegLen; - u8 rseg[3];//RelatedSegmentNumber - DMH_ReturnIndicator retind; -}DMH_ActivitySubrecord; - -typedef struct DMH_FeatureBridgeUsage -{ - u32 param_flag; - - u8 fbind; //FeatureBridgeIndicator - u8 durLen; - u8 dur[4];//Duration - u8 rlegLen; - u8 rleg[3];//RelatedLegNumber - u8 todLen; - u8 tod[3];//TimeOfDay - -}DMH_FeatureBridgeUsage; - -typedef struct DMH_IncomingTrunkUsage -{ - u32 param_flag; - - u8 durLen; - u8 dur[4];//Duration - u8 todLen; - u8 tod[3];//TimeOfDay - u8 tknumLen; - u8 tknum[2];//TrunkNumber - - u8 cardgts[2];//CarrierDigits - u8 Date[3]; - u8 relind;//ReleaseIndicator - u8 tdoLen; - u8 tdo[2];//TimeDateOffset - u8 tkgrpLen; - u8 tkgrp[2];//TrunkGroup - u8 tgpnamLen; - u8 tgpnam[12];//TrunkGroupName -}DMH_IncomingTrunkUsage; - -typedef struct DMH_OutgoingTrunkUsage -{ - u32 param_flag; - - u8 durLen; - u8 dur[4];//Duration - u8 todLen; - u8 tod[3];//TimeOfDay - u8 tknumLen; - u8 tknum[2];//TrunkNumber - - u8 cardgts[2];//CarrierDigits - u8 Date[3]; - u8 relind;//ReleaseIndicator - u8 tdoLen; - u8 tdo[2];//TimeDateOffset - u8 tkgrpLen; - u8 tkgrp[2];//TrunkGroup - u8 tgpnamLen; - u8 tgpnam[12];//TrunkGroupName -}DMH_OutgoingTrunkUsage; - -typedef struct DMH_AirChannelUsage -{ - u32 param_flag; - - DMH_BeginForwardPath bfpath; - u8 durLen; - u8 dur[4];//Duration - u8 todLen; - u8 tod[3];//TimeOfDay - u8 Date[3]; - -//optional part - DMH_EndForwardPath efpath; - u8 relind;//ReleaseIndicator - u8 tdoLen; - u8 tdo[2];//TimeDateOffset -}DMH_AirChannelUsage; - -typedef struct DMH_AirSegmentSubrecord -{ - u32 param_flag; - - DMH_AirChannelUsage achusg;//AirChannelUsage - u8 segnum;//SegmentNumber - -//optional part - struct - { - u32 param_flag; - - u8 latLen; - u8 lat[3];//Latitude - u8 LONGLen; - u8 LONG[3];//Longitude - u8 resolLen; - u8 resol[3];//Resolution - }begloc;//BeginLocation - DMH_IncomingTrunkUsage incusg;//IncomingTrunkUsage - u8 lsind;//LastSegmentIndicator,len=0 - DMH_SwitchID sswid;//ServingSWID - u8 cgblind;//ChargeableIndicator - DMH_FillIndicator fillind; - DMH_ReturnIndicator retind; - -}DMH_AirSegmentSubrecord; - -typedef struct DMH_FeatureActivationLegSubrecord -{ - u32 param_flag; - - u8 dialdgtsLen; - u8 dialdgts[32];//DialedDigits - u8 lnum;//LegNumber - -//optional part will be encoded in the future - u8 frind;//FeatureResultIndicator, BIT13 - u8 llind;//LastLegIndicator, BIT15 -}DMH_FeatureActivationLegSubrecord; - -typedef struct DMH_ConversationUsage -{ - u32 param_flag; - - u8 durLen; - u8 dur[4];//Duration - u8 todLen; - u8 tod[3];//TimeOfDay - -//optional part - u8 Date[3]; - u8 relind;//ReleaseIndicator - u8 tdoLen; - u8 tdo[2];//TimeDateOffset - u8 numoctLen; - u8 numoct[4];//NumberOfOctets - u8 numpktLen; - u8 numpkt[4];//NumberOfPackets -}DMH_ConversationUsage; - -typedef struct DMH_OriginationLegSubrecord -{ - u32 param_flag; - - u8 billind;//BillingIndicator - u8 dialdgtsLen; - u8 dialdgts[32];//DialedDigits - u8 lnum;//LegNumber - - DMH_CallLocation CalledLocation;//BIT8 - - DMH_CallLocation CallingLocation;//BIT11 - - DMH_ConversationUsage cnvusg;//ConversationUsage,BIT14 - DMH_FeatureBridgeUsage fbusg;//FeatureBridgeUsage,BIT16 - u8 llind;//LastLegIndicator,len=0,BIT19 - DMH_OutgoingTrunkUsage ogtusg;//OutgoingTrunkUsage.BIT20 - -}DMH_OriginationLegSubrecord; - -typedef struct DMH_PACASegmentSubrecord -{ - u32 param_flag; - - u8 cellidLen; - u8 cellid[2];//CellIdentifier - u8 durLen; - u8 dur[4];//Duration - u8 pacaind;//PACAIndicator - u8 segnum;//SegmentNumber -}DMH_PACASegmentSubrecord; - -typedef struct DMH_RedirectionLegSubrecord -{ - u32 param_flag; - - u8 billind;//BillingIndicator - u8 cddgtsLen; - u8 cddgts[9];//CalledDigits - DMH_IncomingTrunkUsage incusg;//IncomingTrunkUsage - u8 lnum;//LegNumber - u8 redind;//RedirectionIndicator - -//optional part - DMH_CallLocation CalledLocation;//BIT6 - - u8 cgdgtsLen; - u8 cgdgts[9];//CallingDigits, BIT8 - - DMH_CallLocation CallingLocation;//BIT9 - - DMH_ConversationUsage cnvusg;//ConversationUsage,BIT12 - u8 destdgtsLen; - u8 destdgts[32];//DestinationDigits,BIT13 - u8 llind;//LastLegIndicator,len=0,BIT18 - DMH_OutgoingTrunkUsage ogtusg;//OutgoingTrunkUsage.BIT19 - -}DMH_RedirectionLegSubrecord; - -typedef struct DMH_TandemSegmentSubrecord -{ - u32 param_flag; - - DMH_OutgoingTrunkUsage ogtusg;//OutgoingTrunkUsage - u8 segnum;//SegmentNumber - DMH_SwitchID tswid;//ServingSWID - -//optional part will be added in the future -}DMH_TandemSegmentSubrecord; - -typedef struct DMH_TerminationLegSubrecord -{ - u32 param_flag; - - u8 billind;//BillingIndicator - u8 lnum;//LegNumber - -//optional part - DMH_CallLocation CalledLocation;//BIT6 - - u8 cgdgtsLen; - u8 cgdgts[9];//CallingDigits,BIT9 - - DMH_CallLocation CallingLocation;//BIT10 - - DMH_ConversationUsage cnvusg;//ConversationUsage,BIT13 - DMH_FeatureBridgeUsage fbusg;//FeatureBridgeUsage,BIT16 - DMH_IncomingTrunkUsage incusg;//IncomingTrunkUsage,BIT17 - u8 llind;//LastLegIndicator,len=0,BIT19 - -}DMH_TerminationLegSubrecord; - -typedef struct DMH_AuxiliaryLegSubrecord -{ - u32 param_flag; - - u8 billind;//BillingIndicator - u8 lnum;//LegNumber -}DMH_AuxiliaryLegSubrecord; - -typedef struct DMH_EventJacket -{ - u32 param_flag; - - DMH_AuditSubrecord audsub; - DMH_IdentitySubrecord idsub; - DMH_EventSubrecord evtsub; - DMH_ChargeSubrecord chrgsub; -}DMH_EventJacket; - -typedef struct DMH_ActivityJacket -{ - u32 param_flag; - - DMH_AuditSubrecord audsub; - DMH_IdentitySubrecord idsub; - DMH_ActivitySubrecord actsub; - DMH_ChargeSubrecord chrgsub; -}DMH_ActivityJacket; - -typedef struct DMH_CallJacket -{ - u32 param_flag; - - DMH_AuditSubrecord audsub; - DMH_IdentitySubrecord idsub; - - DMH_ActivitySubrecord actsub; - DMH_AirSegmentSubrecord airssub; - DMH_ChargeSubrecord chrgsub; - DMH_FeatureActivationLegSubrecord falsub; - DMH_OriginationLegSubrecord olsub; - DMH_PACASegmentSubrecord pacasub; - DMH_RedirectionLegSubrecord rlsub; - DMH_TandemSegmentSubrecord tssub; - DMH_TerminationLegSubrecord tlsub; - DMH_AuxiliaryLegSubrecord auxlsub; -}DMH_CallJacket; - -typedef struct DMH_LegJacket -{ - u32 param_flag; - - DMH_IdentitySubrecord idsub; - - DMH_ChargeSubrecord chrgsub; - DMH_FeatureActivationLegSubrecord falsub; - DMH_OriginationLegSubrecord olsub; - DMH_RedirectionLegSubrecord rlsub; - DMH_TerminationLegSubrecord tlsub; - DMH_AuxiliaryLegSubrecord auxlsub; -}DMH_LegJacket; - -typedef struct DMH_SegmentJacket -{ - u32 param_flag; - - DMH_IdentitySubrecord idsub; - - DMH_ActivitySubrecord actsub; - DMH_AirSegmentSubrecord airssub; - DMH_ChargeSubrecord chrgsub; - DMH_PACASegmentSubrecord pacasub; - DMH_TandemSegmentSubrecord tssub; -}DMH_SegmentJacket; - - - -int assign_DMHEventJacket(DMH_EventJacket *ptr,u8 *buf); -int assign_DMH_ActivityJacket(DMH_ActivityJacket *ptr,u8 *buf); -int assign_DMH_CallJacket(DMH_CallJacket *ptr,u8 *buf); -int assign_DMH_LegJacket(DMH_LegJacket *ptr,u8 *buf); -int assign_DMH_SegmentJacket(DMH_SegmentJacket *ptr,u8 *buf); -void encode_DMH_date(u8 *date); -u8 encode_DMH_TimeDateOffset(u8 *TimeDateOffset); -u8 encode_DMH_TimeOfDay(u8 *TimeOfDay); - diff --git a/omc/plat/xapp/src/xap_interfunc.h b/omc/plat/xapp/src/xap_interfunc.h deleted file mode 100644 index 15c1c2a..0000000 --- a/omc/plat/xapp/src/xap_interfunc.h +++ /dev/null @@ -1,11 +0,0 @@ -/* XAP interface for map/cap use head file */ -/* Written by Liu Zhiguo 2003-08-26 */ -/* Version 1.0 */ -/* --------------------------------------- */ - -#ifndef _XAP_INTER_FUNC -#define _XAP_INTER_FUNC - -void xap_send_error(const char *fmt,...); - -#endif diff --git a/omc/plat/xapp/src/xap_monitor.h b/omc/plat/xapp/src/xap_monitor.h deleted file mode 100644 index ffa8176..0000000 --- a/omc/plat/xapp/src/xap_monitor.h +++ /dev/null @@ -1,19 +0,0 @@ -/* XAP monitor head file */ -/* Written by Liu Zhiguo 2003-03-13 */ -/* Version 1.0 */ -/* -------------------------------- */ - -#ifndef _XAP_MONITOR -#define _XAP_MONITOR - -void xap_init_m(void); -void xap_monitor(void); - -void xap_send_error(const char *fmt,...); -void xap_msg_display(u8 *info_str); -void xap_dlg_display(struct CSLdlg_struct *dha_ptr); -void xap_cmp_display(struct CSLcmp_struct *cha_ptr); -void xap_watch_dog(u32 wd_site); -void xap_logdebug(const char *fmt,...); - -#endif diff --git a/omc/plat/xapp/ut/.copyarea.db b/omc/plat/xapp/ut/.copyarea.db deleted file mode 100644 index ddcccc0..0000000 --- a/omc/plat/xapp/ut/.copyarea.db +++ /dev/null @@ -1,5 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\xapp\ut -2 -1 -9:xapp_test|2|0|0|0|63d97774bfa611dc86a4001c23e19543|0 diff --git a/omc/plat/xapp/ut/xapp_test/.copyarea.db b/omc/plat/xapp/ut/xapp_test/.copyarea.db deleted file mode 100644 index c1d638d..0000000 --- a/omc/plat/xapp/ut/xapp_test/.copyarea.db +++ /dev/null @@ -1,12 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\xapp\ut\xapp_test -2 -8 -4:conf|2|0|0|0|663977e4bfa611dc86a4001c23e19543|0 -e:xapp_op_test.c|1|11d70a473a1|12ba2|6b3fd864|64797790bfa611dc86a4001c23e19543|0 -b:xapp_main.h|1|11d70a473df|3cc|9e541cb0|650977acbfa611dc86a4001c23e19543|0 -12:xapp_coding_test.c|1|11d70a474ca|46e2|bdb8be9e|7c497b80bfa611dc86a4001c23e19543|0 -12:xapp_coding_test.h|1|11d70a4745c|e31|a16881d6|7b197b48bfa611dc86a4001c23e19543|0 -8:Makefile|1|11d70a4740e|438|fbe93923|65a977c8bfa611dc86a4001c23e19543|0 -b:xapp_main.c|1|11d70a4749b|2c3a|e6358e92|7bb97b64bfa611dc86a4001c23e19543|0 -e:xapp_op_test.h|1|11d70a47508|3eb|4543f7b9|7ce97b9cbfa611dc86a4001c23e19543|0 diff --git a/omc/plat/xapp/ut/xapp_test/conf/.copyarea.db b/omc/plat/xapp/ut/xapp_test/conf/.copyarea.db deleted file mode 100644 index db32266..0000000 --- a/omc/plat/xapp/ut/xapp_test/conf/.copyarea.db +++ /dev/null @@ -1,34 +0,0 @@ -ClearCase CopyAreaDB|4 -vobs\r9\plat\xapp\ut\xapp_test\conf -2 -1e -9:help_page|1|11d70a47650|21d|76e388e2|69c97870bfa611dc86a4001c23e19543|0 -8:conf.rar|1|11d70a475c4|a4e|398f2d2|6769781cbfa611dc86a4001c23e19543|0 -12:cap_operation.conf|1|11d70a4799c|4ec|138764f3|73f97a14bfa611dc86a4001c23e19543|0 -c:cap_acn.conf|1|11d70a47798|f4|79044b6f|6e997934bfa611dc86a4001c23e19543|0 -10:conv_prefix.conf|1|11d70a47779|1200|4a8a0577|6d697918bfa611dc86a4001c23e19543|0 -c:map_acn.conf|1|11d70a4774a|605|8729d67f|6cc978fcbfa611dc86a4001c23e19543|0 -e:smsc_csta.conf|1|11d70a47a86|16b|27e474c8|76e97aa0bfa611dc86a4001c23e19543|0 -e:system.ini.30K|1|11d70a476ec|d4|a6f90c7e|6b9978c4bfa611dc86a4001c23e19543|0 -d:wxc2_sys.conf|1|11d70a4767f|13|32e20463|6a69788cbfa611dc86a4001c23e19543|0 -c:iptrans.conf|1|11d70a47b8f|133|afae515b|7a897b2cbfa611dc86a4001c23e19543|0 -9:menu_page|1|11d70a47595|20a|2b951fe|66d97800bfa611dc86a4001c23e19543|0 -7:profile|1|11d70a479f9|303|f498ea9e|75297a4cbfa611dc86a4001c23e19543|0 -e:.sccp.conf.swo|1|11d70a47b60|3000|a97f0912|79497b10bfa611dc86a4001c23e19543|0 -a:system.ini|1|11d70a47b32|d4|c2920d14|78b97af4bfa611dc86a4001c23e19543|0 -a:HlrSysPara|1|11d70a479ca|1c4c|4897e7b6|74897a30bfa611dc86a4001c23e19543|0 -d:smsc_sys.conf|1|11d70a47a47|56|7f8e17d8|76597a84bfa611dc86a4001c23e19543|0 -12:map_operation.conf|1|11d70a478ff|c11|26bf7744|718979c0bfa611dc86a4001c23e19543|0 -e:.sccp.conf.swp|1|11d70a47825|f000|f01a302d|70597988bfa611dc86a4001c23e19543|0 -9:sccp.conf|1|11d70a475f2|45c|70f1cec3|68097838bfa611dc86a4001c23e19543|0 -11:hlr_parambit.conf|1|11d70a47a28|5104|45018cef|75b97a68bfa611dc86a4001c23e19543|0 -f:system.ini.100k|1|11d70a4792e|d4|f4bd0e99|722979dcbfa611dc86a4001c23e19543|0 -b:ppsConf.txt|1|11d70a47621|6eb4|7ddbb6ab|68997854bfa611dc86a4001c23e19543|0 -9:mtp3.conf|1|11d70a476ae|17450|6f04775|6b0978a8bfa611dc86a4001c23e19543|0 -13:system.inimscvlrhlr|1|11d70a47b03|d4|a5640c59|78197ad8bfa611dc86a4001c23e19543|0 -d:cc_table.conf|1|11d70a477c7|1156|31d07a59|6f297950bfa611dc86a4001c23e19543|0 -12:smsc_parambit.conf|1|11d70a4796d|b14|e71da7cc|72c979f8bfa611dc86a4001c23e19543|0 -c:wxc2exit.txt|1|11d70a477f6|4a|51411549|6fc9796cbfa611dc86a4001c23e19543|0 -11:xap_sysparam.conf|1|11d70a47854|d|246d0664|70f979a4bfa611dc86a4001c23e19543|0 -e:xapp_test.conf|1|11d70a47ab5|14|26ca0352|77897abcbfa611dc86a4001c23e19543|0 -c:hae_sys.conf|1|11d70a4771b|74|a5dc1e78|6c3978e0bfa611dc86a4001c23e19543|0 diff --git a/omc/pub_include.h b/omc/pub_include.h deleted file mode 100644 index 1eaac8a..0000000 --- a/omc/pub_include.h +++ /dev/null @@ -1,39 +0,0 @@ -////////////////////////////////////////////////// -//Title : pub_incudes.h -//Auhtor : Liu Wei -//Desc : public header includes -//Created : 2007-07-13 -//Revision : -// -//Revision : -// -////////////////////////////////////////////////// - - -#ifndef _PUB_INCLUDE_H_ -#define _PUB_INCLUDE_H_ - -#include "public.h" -#include "includes.h" -#include "pub_base.h" -#include "asn1.h" -#include "crypt.h" -#include "bisearch.h" -#include "pub_base.h" -#include "pub_debug.h" -#include "pub_log.h" -#include "pub_file.h" -#include "pub_list.h" -#include "pub_malloc.h" -#include "pub_fmt.h" -#include "pub_base.h" -#include "pub_time.h" -#include "pub_timer.h" -#include "pub_sys.h" -#include "pub_str.h" -#include "pub_inet.h" -#include "pub_wnet.h" -#include "pub_netcap.h" -#include "pub_sdp.h" - -#endif diff --git a/omc/src b/omc/src deleted file mode 160000 index 6cfb0c5..0000000 --- a/omc/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6cfb0c54e8869a5cd9fb2196d22d6f3824f250ae diff --git a/omc/plat/8ecp/Makefile b/plat/8ecp/Makefile similarity index 96% rename from omc/plat/8ecp/Makefile rename to plat/8ecp/Makefile index e1f1687..794cac5 100644 --- a/omc/plat/8ecp/Makefile +++ b/plat/8ecp/Makefile @@ -50,7 +50,7 @@ MODULE = 8ecp TYPE = plat DBUG_FLAGS_ADD = -RELS_FLAGS_ADD = +RELS_FLAGS_ADD = ##Default commonly as below @@ -83,6 +83,7 @@ TEST_OBJ_PATH = ../../obj CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./ut/ut_doc/output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -92,5 +93,5 @@ COVER_REPORT_PATH = ./ut/ut_doc/output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/8ecp/src/8ecp.c b/plat/8ecp/src/8ecp.c similarity index 100% rename from omc/plat/8ecp/src/8ecp.c rename to plat/8ecp/src/8ecp.c diff --git a/omc/plat/8ecp/src/8ecp_debug.c b/plat/8ecp/src/8ecp_debug.c similarity index 100% rename from omc/plat/8ecp/src/8ecp_debug.c rename to plat/8ecp/src/8ecp_debug.c diff --git a/omc/plat/8ecp/src/include/8ecp.h b/plat/8ecp/src/include/8ecp.h similarity index 100% rename from omc/plat/8ecp/src/include/8ecp.h rename to plat/8ecp/src/include/8ecp.h diff --git a/omc/plat/8ecp/src/include/8ecp_debug.h b/plat/8ecp/src/include/8ecp_debug.h similarity index 100% rename from omc/plat/8ecp/src/include/8ecp_debug.h rename to plat/8ecp/src/include/8ecp_debug.h diff --git a/omc/plat/aif/Makefile b/plat/aif/Makefile similarity index 97% rename from omc/plat/aif/Makefile rename to plat/aif/Makefile index e56b564..9bc3480 100644 --- a/omc/plat/aif/Makefile +++ b/plat/aif/Makefile @@ -83,6 +83,7 @@ TEST_OBJ_PATH = ../../obj CCFLAG_SWITCH = off COVER_NEED = yes COVER_REPORT_PATH = ./ut/ut_doc/output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -92,4 +93,4 @@ COVER_REPORT_PATH = ./ut/ut_doc/output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/aif/doc/release_note.txt b/plat/aif/doc/release_note.txt similarity index 100% rename from omc/plat/aif/doc/release_note.txt rename to plat/aif/doc/release_note.txt diff --git a/omc/plat/aif/src/aifg.c b/plat/aif/src/aifg.c similarity index 100% rename from omc/plat/aif/src/aifg.c rename to plat/aif/src/aifg.c diff --git a/omc/plat/aif/src/aifg_csta.c b/plat/aif/src/aifg_csta.c similarity index 100% rename from omc/plat/aif/src/aifg_csta.c rename to plat/aif/src/aifg_csta.c diff --git a/omc/plat/aif/src/aifg_debug.c b/plat/aif/src/aifg_debug.c similarity index 100% rename from omc/plat/aif/src/aifg_debug.c rename to plat/aif/src/aifg_debug.c diff --git a/omc/plat/aif/src/aifg_ie.c b/plat/aif/src/aifg_ie.c similarity index 100% rename from omc/plat/aif/src/aifg_ie.c rename to plat/aif/src/aifg_ie.c diff --git a/omc/plat/aif/src/aifg_m.c b/plat/aif/src/aifg_m.c similarity index 100% rename from omc/plat/aif/src/aifg_m.c rename to plat/aif/src/aifg_m.c diff --git a/omc/plat/aif/src/aifg_mpp.c b/plat/aif/src/aifg_mpp.c similarity index 100% rename from omc/plat/aif/src/aifg_mpp.c rename to plat/aif/src/aifg_mpp.c diff --git a/omc/plat/aif/src/include/aifg.h b/plat/aif/src/include/aifg.h similarity index 100% rename from omc/plat/aif/src/include/aifg.h rename to plat/aif/src/include/aifg.h diff --git a/omc/plat/aif/src/include/aifg_ie.h b/plat/aif/src/include/aifg_ie.h similarity index 100% rename from omc/plat/aif/src/include/aifg_ie.h rename to plat/aif/src/include/aifg_ie.h diff --git a/omc/plat/aif/src/include/aifg_if.h b/plat/aif/src/include/aifg_if.h similarity index 100% rename from omc/plat/aif/src/include/aifg_if.h rename to plat/aif/src/include/aifg_if.h diff --git a/omc/plat/aif/src/include/aifg_msg.h b/plat/aif/src/include/aifg_msg.h similarity index 100% rename from omc/plat/aif/src/include/aifg_msg.h rename to plat/aif/src/include/aifg_msg.h diff --git a/omc/plat/aif/src/include/aifg_public.h b/plat/aif/src/include/aifg_public.h similarity index 100% rename from omc/plat/aif/src/include/aifg_public.h rename to plat/aif/src/include/aifg_public.h diff --git a/omc/plat/aif/src/include/aifg_type_def.h b/plat/aif/src/include/aifg_type_def.h similarity index 100% rename from omc/plat/aif/src/include/aifg_type_def.h rename to plat/aif/src/include/aifg_type_def.h diff --git a/omc/plat/aif/src/include/aifg_var_ext.h b/plat/aif/src/include/aifg_var_ext.h similarity index 100% rename from omc/plat/aif/src/include/aifg_var_ext.h rename to plat/aif/src/include/aifg_var_ext.h diff --git a/omc/plat/aif/ut/aifg_main.c b/plat/aif/ut/aifg_main.c similarity index 100% rename from omc/plat/aif/ut/aifg_main.c rename to plat/aif/ut/aifg_main.c diff --git a/omc/plat/aif/ut/aifg_test.c b/plat/aif/ut/aifg_test.c similarity index 100% rename from omc/plat/aif/ut/aifg_test.c rename to plat/aif/ut/aifg_test.c diff --git a/omc/plat/aif/ut/makefile b/plat/aif/ut/makefile similarity index 100% rename from omc/plat/aif/ut/makefile rename to plat/aif/ut/makefile diff --git a/omc/plat/bicc/Makefile b/plat/bicc/Makefile similarity index 97% rename from omc/plat/bicc/Makefile rename to plat/bicc/Makefile index b2bd77f..a4c6787 100644 --- a/omc/plat/bicc/Makefile +++ b/plat/bicc/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/bicc/src.old/bicc_apm.c b/plat/bicc/src.old/bicc_apm.c similarity index 100% rename from omc/plat/bicc/src.old/bicc_apm.c rename to plat/bicc/src.old/bicc_apm.c diff --git a/omc/plat/bicc/src.old/bicc_debug.c b/plat/bicc/src.old/bicc_debug.c similarity index 100% rename from omc/plat/bicc/src.old/bicc_debug.c rename to plat/bicc/src.old/bicc_debug.c diff --git a/omc/plat/bicc/src.old/bicc_fsm.c b/plat/bicc/src.old/bicc_fsm.c similarity index 100% rename from omc/plat/bicc/src.old/bicc_fsm.c rename to plat/bicc/src.old/bicc_fsm.c diff --git a/omc/plat/bicc/src.old/bicc_fsm.c.old b/plat/bicc/src.old/bicc_fsm.c.old similarity index 100% rename from omc/plat/bicc/src.old/bicc_fsm.c.old rename to plat/bicc/src.old/bicc_fsm.c.old diff --git a/omc/plat/bicc/src.old/bicc_ipbcp.c b/plat/bicc/src.old/bicc_ipbcp.c similarity index 100% rename from omc/plat/bicc/src.old/bicc_ipbcp.c rename to plat/bicc/src.old/bicc_ipbcp.c diff --git a/omc/plat/bicc/src.old/bicc_msg.c b/plat/bicc/src.old/bicc_msg.c similarity index 100% rename from omc/plat/bicc/src.old/bicc_msg.c rename to plat/bicc/src.old/bicc_msg.c diff --git a/omc/plat/bicc/src.old/bicc_prm.c b/plat/bicc/src.old/bicc_prm.c similarity index 100% rename from omc/plat/bicc/src.old/bicc_prm.c rename to plat/bicc/src.old/bicc_prm.c diff --git a/omc/plat/bicc/src.old/biccif.c b/plat/bicc/src.old/biccif.c similarity index 100% rename from omc/plat/bicc/src.old/biccif.c rename to plat/bicc/src.old/biccif.c diff --git a/omc/plat/bicc/src.old/include/bicc_debug.h b/plat/bicc/src.old/include/bicc_debug.h similarity index 100% rename from omc/plat/bicc/src.old/include/bicc_debug.h rename to plat/bicc/src.old/include/bicc_debug.h diff --git a/omc/plat/bicc/src.old/include/biccif.h b/plat/bicc/src.old/include/biccif.h similarity index 100% rename from omc/plat/bicc/src.old/include/biccif.h rename to plat/bicc/src.old/include/biccif.h diff --git a/omc/plat/bicc/src.old/include/define.h b/plat/bicc/src.old/include/define.h similarity index 100% rename from omc/plat/bicc/src.old/include/define.h rename to plat/bicc/src.old/include/define.h diff --git a/omc/plat/bicc/src.old/include/inc.h b/plat/bicc/src.old/include/inc.h similarity index 100% rename from omc/plat/bicc/src.old/include/inc.h rename to plat/bicc/src.old/include/inc.h diff --git a/omc/plat/bicc/src.old/include/ipbcp.h b/plat/bicc/src.old/include/ipbcp.h similarity index 100% rename from omc/plat/bicc/src.old/include/ipbcp.h rename to plat/bicc/src.old/include/ipbcp.h diff --git a/omc/plat/bicc/src.old/include/q1902_3e.h b/plat/bicc/src.old/include/q1902_3e.h similarity index 100% rename from omc/plat/bicc/src.old/include/q1902_3e.h rename to plat/bicc/src.old/include/q1902_3e.h diff --git a/omc/plat/bicc/src.old/include/q765_5e.h b/plat/bicc/src.old/include/q765_5e.h similarity index 100% rename from omc/plat/bicc/src.old/include/q765_5e.h rename to plat/bicc/src.old/include/q765_5e.h diff --git a/omc/plat/bicc/src.old/include/var_ext.h b/plat/bicc/src.old/include/var_ext.h similarity index 100% rename from omc/plat/bicc/src.old/include/var_ext.h rename to plat/bicc/src.old/include/var_ext.h diff --git a/omc/plat/bicc/src/bicc_apm.c b/plat/bicc/src/bicc_apm.c similarity index 100% rename from omc/plat/bicc/src/bicc_apm.c rename to plat/bicc/src/bicc_apm.c diff --git a/omc/plat/bicc/src/bicc_debug.c b/plat/bicc/src/bicc_debug.c similarity index 100% rename from omc/plat/bicc/src/bicc_debug.c rename to plat/bicc/src/bicc_debug.c diff --git a/omc/plat/bicc/src/bicc_fsm.c b/plat/bicc/src/bicc_fsm.c similarity index 100% rename from omc/plat/bicc/src/bicc_fsm.c rename to plat/bicc/src/bicc_fsm.c diff --git a/omc/plat/bicc/src/bicc_ipbcp.c b/plat/bicc/src/bicc_ipbcp.c similarity index 100% rename from omc/plat/bicc/src/bicc_ipbcp.c rename to plat/bicc/src/bicc_ipbcp.c diff --git a/omc/plat/bicc/src/bicc_msg.c b/plat/bicc/src/bicc_msg.c similarity index 100% rename from omc/plat/bicc/src/bicc_msg.c rename to plat/bicc/src/bicc_msg.c diff --git a/omc/plat/bicc/src/bicc_prm.c b/plat/bicc/src/bicc_prm.c similarity index 100% rename from omc/plat/bicc/src/bicc_prm.c rename to plat/bicc/src/bicc_prm.c diff --git a/omc/plat/bicc/src/biccif.c b/plat/bicc/src/biccif.c similarity index 100% rename from omc/plat/bicc/src/biccif.c rename to plat/bicc/src/biccif.c diff --git a/omc/plat/bicc/src/include/bicc_debug.h b/plat/bicc/src/include/bicc_debug.h similarity index 100% rename from omc/plat/bicc/src/include/bicc_debug.h rename to plat/bicc/src/include/bicc_debug.h diff --git a/omc/plat/bicc/src/include/biccif.h b/plat/bicc/src/include/biccif.h similarity index 100% rename from omc/plat/bicc/src/include/biccif.h rename to plat/bicc/src/include/biccif.h diff --git a/omc/plat/bicc/src/include/define.h b/plat/bicc/src/include/define.h similarity index 100% rename from omc/plat/bicc/src/include/define.h rename to plat/bicc/src/include/define.h diff --git a/omc/plat/bicc/src/include/inc.h b/plat/bicc/src/include/inc.h similarity index 100% rename from omc/plat/bicc/src/include/inc.h rename to plat/bicc/src/include/inc.h diff --git a/omc/plat/bicc/src/include/ipbcp.h b/plat/bicc/src/include/ipbcp.h similarity index 100% rename from omc/plat/bicc/src/include/ipbcp.h rename to plat/bicc/src/include/ipbcp.h diff --git a/omc/plat/bicc/src/include/q1902_3e.h b/plat/bicc/src/include/q1902_3e.h similarity index 100% rename from omc/plat/bicc/src/include/q1902_3e.h rename to plat/bicc/src/include/q1902_3e.h diff --git a/omc/plat/bicc/src/include/q765_5e.h b/plat/bicc/src/include/q765_5e.h similarity index 100% rename from omc/plat/bicc/src/include/q765_5e.h rename to plat/bicc/src/include/q765_5e.h diff --git a/omc/plat/bicc/src/include/var_ext.h b/plat/bicc/src/include/var_ext.h similarity index 100% rename from omc/plat/bicc/src/include/var_ext.h rename to plat/bicc/src/include/var_ext.h diff --git a/omc/plat/debug/Makefile b/plat/debug/Makefile similarity index 97% rename from omc/plat/debug/Makefile rename to plat/debug/Makefile index 5f7c859..39c8763 100644 --- a/omc/plat/debug/Makefile +++ b/plat/debug/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/debug/src/debug.c b/plat/debug/src/debug.c similarity index 100% rename from omc/plat/debug/src/debug.c rename to plat/debug/src/debug.c diff --git a/omc/plat/debug/src/include/debug.h b/plat/debug/src/include/debug.h similarity index 100% rename from omc/plat/debug/src/include/debug.h rename to plat/debug/src/include/debug.h diff --git a/omc/plat/debug/src/include/debug_struct.h b/plat/debug/src/include/debug_struct.h similarity index 100% rename from omc/plat/debug/src/include/debug_struct.h rename to plat/debug/src/include/debug_struct.h diff --git a/omc/plat/debug/ut/debug_test.c b/plat/debug/ut/debug_test.c similarity index 100% rename from omc/plat/debug/ut/debug_test.c rename to plat/debug/ut/debug_test.c diff --git a/omc/plat/haepub/Makefile b/plat/haepub/Makefile similarity index 97% rename from omc/plat/haepub/Makefile rename to plat/haepub/Makefile index ba6ca16..06ccf42 100644 --- a/omc/plat/haepub/Makefile +++ b/plat/haepub/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/haepub/src/hae_function.c b/plat/haepub/src/hae_function.c similarity index 100% rename from omc/plat/haepub/src/hae_function.c rename to plat/haepub/src/hae_function.c diff --git a/omc/plat/haepub/src/hae_param.c b/plat/haepub/src/hae_param.c similarity index 100% rename from omc/plat/haepub/src/hae_param.c rename to plat/haepub/src/hae_param.c diff --git a/omc/plat/haepub/src/hae_sync.c b/plat/haepub/src/hae_sync.c similarity index 100% rename from omc/plat/haepub/src/hae_sync.c rename to plat/haepub/src/hae_sync.c diff --git a/omc/plat/haepub/src/include/hae_function.h b/plat/haepub/src/include/hae_function.h similarity index 100% rename from omc/plat/haepub/src/include/hae_function.h rename to plat/haepub/src/include/hae_function.h diff --git a/omc/plat/haepub/src/include/hae_include.h b/plat/haepub/src/include/hae_include.h similarity index 100% rename from omc/plat/haepub/src/include/hae_include.h rename to plat/haepub/src/include/hae_include.h diff --git a/omc/plat/iptrans/Makefile b/plat/iptrans/Makefile similarity index 97% rename from omc/plat/iptrans/Makefile rename to plat/iptrans/Makefile index 8f49e05..b00a84f 100644 --- a/omc/plat/iptrans/Makefile +++ b/plat/iptrans/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/iptrans/doc/iptrans_bak b/plat/iptrans/doc/iptrans_bak similarity index 100% rename from omc/plat/iptrans/doc/iptrans_bak rename to plat/iptrans/doc/iptrans_bak diff --git a/omc/plat/iptrans/generate_iptrans b/plat/iptrans/generate_iptrans similarity index 100% rename from omc/plat/iptrans/generate_iptrans rename to plat/iptrans/generate_iptrans diff --git a/plat/iptrans/iptrans b/plat/iptrans/iptrans new file mode 100644 index 0000000..1984b43 Binary files /dev/null and b/plat/iptrans/iptrans differ diff --git a/omc/plat/iptrans/iptrans_bak b/plat/iptrans/iptrans_bak similarity index 100% rename from omc/plat/iptrans/iptrans_bak rename to plat/iptrans/iptrans_bak diff --git a/omc/plat/iptrans/src/comfunc.c b/plat/iptrans/src/comfunc.c similarity index 100% rename from omc/plat/iptrans/src/comfunc.c rename to plat/iptrans/src/comfunc.c diff --git a/omc/plat/iptrans/src/daemon.c b/plat/iptrans/src/daemon.c similarity index 100% rename from omc/plat/iptrans/src/daemon.c rename to plat/iptrans/src/daemon.c diff --git a/omc/plat/iptrans/src/error.c b/plat/iptrans/src/error.c similarity index 100% rename from omc/plat/iptrans/src/error.c rename to plat/iptrans/src/error.c diff --git a/omc/plat/iptrans/src/errorlog.c b/plat/iptrans/src/errorlog.c similarity index 100% rename from omc/plat/iptrans/src/errorlog.c rename to plat/iptrans/src/errorlog.c diff --git a/omc/plat/iptrans/src/generate_iptrans b/plat/iptrans/src/generate_iptrans similarity index 100% rename from omc/plat/iptrans/src/generate_iptrans rename to plat/iptrans/src/generate_iptrans diff --git a/omc/plat/iptrans/src/include/config.h b/plat/iptrans/src/include/config.h similarity index 100% rename from omc/plat/iptrans/src/include/config.h rename to plat/iptrans/src/include/config.h diff --git a/omc/plat/iptrans/src/include/dbsync.h b/plat/iptrans/src/include/dbsync.h similarity index 100% rename from omc/plat/iptrans/src/include/dbsync.h rename to plat/iptrans/src/include/dbsync.h diff --git a/omc/plat/iptrans/src/include/debug.h b/plat/iptrans/src/include/debug.h similarity index 100% rename from omc/plat/iptrans/src/include/debug.h rename to plat/iptrans/src/include/debug.h diff --git a/omc/plat/iptrans/src/include/errlog.h b/plat/iptrans/src/include/errlog.h similarity index 100% rename from omc/plat/iptrans/src/include/errlog.h rename to plat/iptrans/src/include/errlog.h diff --git a/omc/plat/iptrans/src/include/function.h b/plat/iptrans/src/include/function.h similarity index 100% rename from omc/plat/iptrans/src/include/function.h rename to plat/iptrans/src/include/function.h diff --git a/omc/plat/iptrans/src/include/includes.h b/plat/iptrans/src/include/includes.h similarity index 100% rename from omc/plat/iptrans/src/include/includes.h rename to plat/iptrans/src/include/includes.h diff --git a/omc/plat/iptrans/src/include/iptrans.h b/plat/iptrans/src/include/iptrans.h similarity index 100% rename from omc/plat/iptrans/src/include/iptrans.h rename to plat/iptrans/src/include/iptrans.h diff --git a/omc/plat/iptrans/src/include/iptrfunc.h b/plat/iptrans/src/include/iptrfunc.h similarity index 100% rename from omc/plat/iptrans/src/include/iptrfunc.h rename to plat/iptrans/src/include/iptrfunc.h diff --git a/omc/plat/iptrans/src/ipcfunc.c b/plat/iptrans/src/ipcfunc.c similarity index 100% rename from omc/plat/iptrans/src/ipcfunc.c rename to plat/iptrans/src/ipcfunc.c diff --git a/omc/plat/iptrans/src/ipmsgfun.c b/plat/iptrans/src/ipmsgfun.c similarity index 100% rename from omc/plat/iptrans/src/ipmsgfun.c rename to plat/iptrans/src/ipmsgfun.c diff --git a/omc/plat/iptrans/src/iptrans.c b/plat/iptrans/src/iptrans.c similarity index 100% rename from omc/plat/iptrans/src/iptrans.c rename to plat/iptrans/src/iptrans.c diff --git a/omc/plat/iptrans/src/iptrans_bak b/plat/iptrans/src/iptrans_bak similarity index 100% rename from omc/plat/iptrans/src/iptrans_bak rename to plat/iptrans/src/iptrans_bak diff --git a/omc/plat/iptrans/src/iptrmain.c b/plat/iptrans/src/iptrmain.c similarity index 100% rename from omc/plat/iptrans/src/iptrmain.c rename to plat/iptrans/src/iptrmain.c diff --git a/omc/plat/iptrans/src/mcast_join.c b/plat/iptrans/src/mcast_join.c similarity index 100% rename from omc/plat/iptrans/src/mcast_join.c rename to plat/iptrans/src/mcast_join.c diff --git a/omc/plat/iptrans/src/queuefunc.c b/plat/iptrans/src/queuefunc.c similarity index 100% rename from omc/plat/iptrans/src/queuefunc.c rename to plat/iptrans/src/queuefunc.c diff --git a/omc/plat/iptrans/src/readmsg.c b/plat/iptrans/src/readmsg.c similarity index 100% rename from omc/plat/iptrans/src/readmsg.c rename to plat/iptrans/src/readmsg.c diff --git a/omc/plat/iptrans/src/signal.c b/plat/iptrans/src/signal.c similarity index 100% rename from omc/plat/iptrans/src/signal.c rename to plat/iptrans/src/signal.c diff --git a/omc/plat/iptrans/src/simu_debug.c b/plat/iptrans/src/simu_debug.c similarity index 100% rename from omc/plat/iptrans/src/simu_debug.c rename to plat/iptrans/src/simu_debug.c diff --git a/omc/plat/isdn/Makefile b/plat/isdn/Makefile similarity index 97% rename from omc/plat/isdn/Makefile rename to plat/isdn/Makefile index 41bc709..6e3e378 100644 --- a/omc/plat/isdn/Makefile +++ b/plat/isdn/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/isdn/doc/D-500014-0-10.doc b/plat/isdn/doc/D-500014-0-10.doc similarity index 100% rename from omc/plat/isdn/doc/D-500014-0-10.doc rename to plat/isdn/doc/D-500014-0-10.doc diff --git a/omc/plat/isdn/src/Makefile b/plat/isdn/src/Makefile similarity index 100% rename from omc/plat/isdn/src/Makefile rename to plat/isdn/src/Makefile diff --git a/omc/plat/isdn/src/include/isdn_const.h b/plat/isdn/src/include/isdn_const.h similarity index 100% rename from omc/plat/isdn/src/include/isdn_const.h rename to plat/isdn/src/include/isdn_const.h diff --git a/omc/plat/isdn/src/include/isdn_debug.h b/plat/isdn/src/include/isdn_debug.h similarity index 100% rename from omc/plat/isdn/src/include/isdn_debug.h rename to plat/isdn/src/include/isdn_debug.h diff --git a/omc/plat/isdn/src/include/isdn_ext.h b/plat/isdn/src/include/isdn_ext.h similarity index 100% rename from omc/plat/isdn/src/include/isdn_ext.h rename to plat/isdn/src/include/isdn_ext.h diff --git a/omc/plat/isdn/src/include/isdn_ie.h b/plat/isdn/src/include/isdn_ie.h similarity index 100% rename from omc/plat/isdn/src/include/isdn_ie.h rename to plat/isdn/src/include/isdn_ie.h diff --git a/omc/plat/isdn/src/include/isdn_if.h b/plat/isdn/src/include/isdn_if.h similarity index 100% rename from omc/plat/isdn/src/include/isdn_if.h rename to plat/isdn/src/include/isdn_if.h diff --git a/omc/plat/isdn/src/include/isdn_inc.h b/plat/isdn/src/include/isdn_inc.h similarity index 100% rename from omc/plat/isdn/src/include/isdn_inc.h rename to plat/isdn/src/include/isdn_inc.h diff --git a/omc/plat/isdn/src/include/isdn_msg.h b/plat/isdn/src/include/isdn_msg.h similarity index 100% rename from omc/plat/isdn/src/include/isdn_msg.h rename to plat/isdn/src/include/isdn_msg.h diff --git a/omc/plat/isdn/src/include/isdn_public.h b/plat/isdn/src/include/isdn_public.h similarity index 100% rename from omc/plat/isdn/src/include/isdn_public.h rename to plat/isdn/src/include/isdn_public.h diff --git a/omc/plat/isdn/src/include/isdn_rm.h b/plat/isdn/src/include/isdn_rm.h similarity index 100% rename from omc/plat/isdn/src/include/isdn_rm.h rename to plat/isdn/src/include/isdn_rm.h diff --git a/omc/plat/isdn/src/isdn_debug.c b/plat/isdn/src/isdn_debug.c similarity index 100% rename from omc/plat/isdn/src/isdn_debug.c rename to plat/isdn/src/isdn_debug.c diff --git a/omc/plat/isdn/src/isdn_fsm.c b/plat/isdn/src/isdn_fsm.c similarity index 100% rename from omc/plat/isdn/src/isdn_fsm.c rename to plat/isdn/src/isdn_fsm.c diff --git a/omc/plat/isdn/src/isdn_ie.c b/plat/isdn/src/isdn_ie.c similarity index 100% rename from omc/plat/isdn/src/isdn_ie.c rename to plat/isdn/src/isdn_ie.c diff --git a/omc/plat/isdn/src/isdn_msg.c b/plat/isdn/src/isdn_msg.c similarity index 100% rename from omc/plat/isdn/src/isdn_msg.c rename to plat/isdn/src/isdn_msg.c diff --git a/omc/plat/isdn/src/isdn_rm.c b/plat/isdn/src/isdn_rm.c similarity index 100% rename from omc/plat/isdn/src/isdn_rm.c rename to plat/isdn/src/isdn_rm.c diff --git a/omc/plat/isdn/src/isdn_uif.c b/plat/isdn/src/isdn_uif.c similarity index 100% rename from omc/plat/isdn/src/isdn_uif.c rename to plat/isdn/src/isdn_uif.c diff --git a/omc/plat/isdn/ut/Makefile b/plat/isdn/ut/Makefile similarity index 100% rename from omc/plat/isdn/ut/Makefile rename to plat/isdn/ut/Makefile diff --git a/omc/plat/isdn/ut/code/data.Text b/plat/isdn/ut/code/data.Text similarity index 100% rename from omc/plat/isdn/ut/code/data.Text rename to plat/isdn/ut/code/data.Text diff --git a/omc/plat/isdn/ut/code/ds-service-01.Text b/plat/isdn/ut/code/ds-service-01.Text similarity index 100% rename from omc/plat/isdn/ut/code/ds-service-01.Text rename to plat/isdn/ut/code/ds-service-01.Text diff --git a/omc/plat/isdn/ut/code/ds-service-02.Text b/plat/isdn/ut/code/ds-service-02.Text similarity index 100% rename from omc/plat/isdn/ut/code/ds-service-02.Text rename to plat/isdn/ut/code/ds-service-02.Text diff --git a/omc/plat/isdn/ut/code/headfile.txt b/plat/isdn/ut/code/headfile.txt similarity index 100% rename from omc/plat/isdn/ut/code/headfile.txt rename to plat/isdn/ut/code/headfile.txt diff --git a/omc/plat/isdn/ut/code/iua data.txt b/plat/isdn/ut/code/iua data.txt similarity index 100% rename from omc/plat/isdn/ut/code/iua data.txt rename to plat/isdn/ut/code/iua data.txt diff --git a/omc/plat/isdn/ut/code/iua set up-bak.txt b/plat/isdn/ut/code/iua set up-bak.txt similarity index 100% rename from omc/plat/isdn/ut/code/iua set up-bak.txt rename to plat/isdn/ut/code/iua set up-bak.txt diff --git a/omc/plat/isdn/ut/code/iua set up.Text b/plat/isdn/ut/code/iua set up.Text similarity index 100% rename from omc/plat/isdn/ut/code/iua set up.Text rename to plat/isdn/ut/code/iua set up.Text diff --git a/omc/plat/isdn/ut/code/iua set up.txt b/plat/isdn/ut/code/iua set up.txt similarity index 100% rename from omc/plat/isdn/ut/code/iua set up.txt rename to plat/isdn/ut/code/iua set up.txt diff --git a/omc/plat/isdn/ut/code/nt-2link-01.Text b/plat/isdn/ut/code/nt-2link-01.Text similarity index 100% rename from omc/plat/isdn/ut/code/nt-2link-01.Text rename to plat/isdn/ut/code/nt-2link-01.Text diff --git a/omc/plat/isdn/ut/code/nt-incoming-01.Text b/plat/isdn/ut/code/nt-incoming-01.Text similarity index 100% rename from omc/plat/isdn/ut/code/nt-incoming-01.Text rename to plat/isdn/ut/code/nt-incoming-01.Text diff --git a/omc/plat/isdn/ut/code/nt-incoming-02.Text b/plat/isdn/ut/code/nt-incoming-02.Text similarity index 100% rename from omc/plat/isdn/ut/code/nt-incoming-02.Text rename to plat/isdn/ut/code/nt-incoming-02.Text diff --git a/omc/plat/isdn/ut/code/nt-outgoing-01-.Text b/plat/isdn/ut/code/nt-outgoing-01-.Text similarity index 100% rename from omc/plat/isdn/ut/code/nt-outgoing-01-.Text rename to plat/isdn/ut/code/nt-outgoing-01-.Text diff --git a/omc/plat/isdn/ut/code/nt-outgoing-01.Text b/plat/isdn/ut/code/nt-outgoing-01.Text similarity index 100% rename from omc/plat/isdn/ut/code/nt-outgoing-01.Text rename to plat/isdn/ut/code/nt-outgoing-01.Text diff --git a/omc/plat/isdn/ut/code/nt-outgoing-02.Text b/plat/isdn/ut/code/nt-outgoing-02.Text similarity index 100% rename from omc/plat/isdn/ut/code/nt-outgoing-02.Text rename to plat/isdn/ut/code/nt-outgoing-02.Text diff --git a/omc/plat/isdn/ut/code/rest1-0.Text b/plat/isdn/ut/code/rest1-0.Text similarity index 100% rename from omc/plat/isdn/ut/code/rest1-0.Text rename to plat/isdn/ut/code/rest1-0.Text diff --git a/omc/plat/isdn/ut/code/rest2-0.Text b/plat/isdn/ut/code/rest2-0.Text similarity index 100% rename from omc/plat/isdn/ut/code/rest2-0.Text rename to plat/isdn/ut/code/rest2-0.Text diff --git a/omc/plat/isdn/ut/code/test-01.Text b/plat/isdn/ut/code/test-01.Text similarity index 100% rename from omc/plat/isdn/ut/code/test-01.Text rename to plat/isdn/ut/code/test-01.Text diff --git a/omc/plat/isdn/ut/code/u01-01.Text b/plat/isdn/ut/code/u01-01.Text similarity index 100% rename from omc/plat/isdn/ut/code/u01-01.Text rename to plat/isdn/ut/code/u01-01.Text diff --git a/omc/plat/isdn/ut/code/u01-03.Text b/plat/isdn/ut/code/u01-03.Text similarity index 100% rename from omc/plat/isdn/ut/code/u01-03.Text rename to plat/isdn/ut/code/u01-03.Text diff --git a/omc/plat/isdn/ut/code/u01-05.Text b/plat/isdn/ut/code/u01-05.Text similarity index 100% rename from omc/plat/isdn/ut/code/u01-05.Text rename to plat/isdn/ut/code/u01-05.Text diff --git a/omc/plat/isdn/ut/code/u01-10.Text b/plat/isdn/ut/code/u01-10.Text similarity index 100% rename from omc/plat/isdn/ut/code/u01-10.Text rename to plat/isdn/ut/code/u01-10.Text diff --git a/omc/plat/isdn/ut/code/u03-13.Text b/plat/isdn/ut/code/u03-13.Text similarity index 100% rename from omc/plat/isdn/ut/code/u03-13.Text rename to plat/isdn/ut/code/u03-13.Text diff --git a/omc/plat/isdn/ut/isdn_main.c b/plat/isdn/ut/isdn_main.c similarity index 100% rename from omc/plat/isdn/ut/isdn_main.c rename to plat/isdn/ut/isdn_main.c diff --git a/omc/plat/isdn/ut/isdn_test.c b/plat/isdn/ut/isdn_test.c similarity index 100% rename from omc/plat/isdn/ut/isdn_test.c rename to plat/isdn/ut/isdn_test.c diff --git a/omc/plat/isdn/ut/test_main b/plat/isdn/ut/test_main similarity index 100% rename from omc/plat/isdn/ut/test_main rename to plat/isdn/ut/test_main diff --git a/omc/plat/isdn/ut/test_main_0526 b/plat/isdn/ut/test_main_0526 similarity index 100% rename from omc/plat/isdn/ut/test_main_0526 rename to plat/isdn/ut/test_main_0526 diff --git a/omc/plat/isup/Makefile b/plat/isup/Makefile similarity index 97% rename from omc/plat/isup/Makefile rename to plat/isup/Makefile index 66a9c2a..8747e2d 100644 --- a/omc/plat/isup/Makefile +++ b/plat/isup/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/isup/doc/ISUP_R9V0_01P07.doc b/plat/isup/doc/ISUP_R9V0_01P07.doc similarity index 100% rename from omc/plat/isup/doc/ISUP_R9V0_01P07.doc rename to plat/isup/doc/ISUP_R9V0_01P07.doc diff --git a/omc/plat/isup/doc/ISUP_R9V0_01P08.doc b/plat/isup/doc/ISUP_R9V0_01P08.doc similarity index 100% rename from omc/plat/isup/doc/ISUP_R9V0_01P08.doc rename to plat/isup/doc/ISUP_R9V0_01P08.doc diff --git a/omc/plat/isup/doc/ISUP_R9V0_01P8.doc b/plat/isup/doc/ISUP_R9V0_01P8.doc similarity index 100% rename from omc/plat/isup/doc/ISUP_R9V0_01P8.doc rename to plat/isup/doc/ISUP_R9V0_01P8.doc diff --git a/omc/plat/isup/doc/ISUP_R9V0_02P01.doc b/plat/isup/doc/ISUP_R9V0_02P01.doc similarity index 100% rename from omc/plat/isup/doc/ISUP_R9V0_02P01.doc rename to plat/isup/doc/ISUP_R9V0_02P01.doc diff --git a/omc/plat/isup/doc/ISUP_R9V0_02P02.doc b/plat/isup/doc/ISUP_R9V0_02P02.doc similarity index 100% rename from omc/plat/isup/doc/ISUP_R9V0_02P02.doc rename to plat/isup/doc/ISUP_R9V0_02P02.doc diff --git a/omc/plat/isup/doc/ISUP_R9V0_02P03-6.doc b/plat/isup/doc/ISUP_R9V0_02P03-6.doc similarity index 100% rename from omc/plat/isup/doc/ISUP_R9V0_02P03-6.doc rename to plat/isup/doc/ISUP_R9V0_02P03-6.doc diff --git a/omc/plat/isup/doc/ISUP_R9V0_02P07.doc b/plat/isup/doc/ISUP_R9V0_02P07.doc similarity index 100% rename from omc/plat/isup/doc/ISUP_R9V0_02P07.doc rename to plat/isup/doc/ISUP_R9V0_02P07.doc diff --git a/omc/plat/isup/doc/ISUP_R9V0_02P1.doc b/plat/isup/doc/ISUP_R9V0_02P1.doc similarity index 100% rename from omc/plat/isup/doc/ISUP_R9V0_02P1.doc rename to plat/isup/doc/ISUP_R9V0_02P1.doc diff --git a/omc/plat/isup/src/include/inc.h b/plat/isup/src/include/inc.h similarity index 100% rename from omc/plat/isup/src/include/inc.h rename to plat/isup/src/include/inc.h diff --git a/omc/plat/isup/src/include/isup_const.h b/plat/isup/src/include/isup_const.h similarity index 100% rename from omc/plat/isup/src/include/isup_const.h rename to plat/isup/src/include/isup_const.h diff --git a/omc/plat/isup/src/include/isup_debug.h b/plat/isup/src/include/isup_debug.h similarity index 100% rename from omc/plat/isup/src/include/isup_debug.h rename to plat/isup/src/include/isup_debug.h diff --git a/omc/plat/isup/src/include/isup_def.h b/plat/isup/src/include/isup_def.h similarity index 100% rename from omc/plat/isup/src/include/isup_def.h rename to plat/isup/src/include/isup_def.h diff --git a/omc/plat/isup/src/include/isup_if.h b/plat/isup/src/include/isup_if.h similarity index 100% rename from omc/plat/isup/src/include/isup_if.h rename to plat/isup/src/include/isup_if.h diff --git a/omc/plat/isup/src/include/isup_msg.h b/plat/isup/src/include/isup_msg.h similarity index 100% rename from omc/plat/isup/src/include/isup_msg.h rename to plat/isup/src/include/isup_msg.h diff --git a/omc/plat/isup/src/include/isup_public.h b/plat/isup/src/include/isup_public.h similarity index 100% rename from omc/plat/isup/src/include/isup_public.h rename to plat/isup/src/include/isup_public.h diff --git a/omc/plat/isup/src/include/isup_struct.h b/plat/isup/src/include/isup_struct.h similarity index 100% rename from omc/plat/isup/src/include/isup_struct.h rename to plat/isup/src/include/isup_struct.h diff --git a/omc/plat/isup/src/include/vssver2.scc b/plat/isup/src/include/vssver2.scc similarity index 100% rename from omc/plat/isup/src/include/vssver2.scc rename to plat/isup/src/include/vssver2.scc diff --git a/omc/plat/isup/src/isup_debug.c b/plat/isup/src/isup_debug.c similarity index 100% rename from omc/plat/isup/src/isup_debug.c rename to plat/isup/src/isup_debug.c diff --git a/omc/plat/isup/src/isup_fsm.c b/plat/isup/src/isup_fsm.c similarity index 100% rename from omc/plat/isup/src/isup_fsm.c rename to plat/isup/src/isup_fsm.c diff --git a/omc/plat/isup/src/isup_if.c b/plat/isup/src/isup_if.c similarity index 100% rename from omc/plat/isup/src/isup_if.c rename to plat/isup/src/isup_if.c diff --git a/omc/plat/isup/src/isup_msg.c b/plat/isup/src/isup_msg.c similarity index 100% rename from omc/plat/isup/src/isup_msg.c rename to plat/isup/src/isup_msg.c diff --git a/omc/plat/isup/src/isup_transit.c b/plat/isup/src/isup_transit.c similarity index 100% rename from omc/plat/isup/src/isup_transit.c rename to plat/isup/src/isup_transit.c diff --git a/omc/plat/isup/src/vssver2.scc b/plat/isup/src/vssver2.scc similarity index 100% rename from omc/plat/isup/src/vssver2.scc rename to plat/isup/src/vssver2.scc diff --git a/omc/plat/isup/ut/isup_main.c b/plat/isup/ut/isup_main.c similarity index 100% rename from omc/plat/isup/ut/isup_main.c rename to plat/isup/ut/isup_main.c diff --git a/omc/plat/isup/ut/isup_msg_rv.txt b/plat/isup/ut/isup_msg_rv.txt similarity index 100% rename from omc/plat/isup/ut/isup_msg_rv.txt rename to plat/isup/ut/isup_msg_rv.txt diff --git a/omc/plat/isup/ut/isup_msg_send.txt b/plat/isup/ut/isup_msg_send.txt similarity index 100% rename from omc/plat/isup/ut/isup_msg_send.txt rename to plat/isup/ut/isup_msg_send.txt diff --git a/omc/plat/m2ua/Makefile b/plat/m2ua/Makefile similarity index 97% rename from omc/plat/m2ua/Makefile rename to plat/m2ua/Makefile index 2af2ba0..01eb4f4 100644 --- a/omc/plat/m2ua/Makefile +++ b/plat/m2ua/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/m2ua/doc/M2UA_R9V0_04P01.doc b/plat/m2ua/doc/M2UA_R9V0_04P01.doc similarity index 100% rename from omc/plat/m2ua/doc/M2UA_R9V0_04P01.doc rename to plat/m2ua/doc/M2UA_R9V0_04P01.doc diff --git a/omc/plat/m2ua/src/include/m2ua.h b/plat/m2ua/src/include/m2ua.h similarity index 100% rename from omc/plat/m2ua/src/include/m2ua.h rename to plat/m2ua/src/include/m2ua.h diff --git a/omc/plat/m2ua/src/include/m2ua_const.h b/plat/m2ua/src/include/m2ua_const.h similarity index 100% rename from omc/plat/m2ua/src/include/m2ua_const.h rename to plat/m2ua/src/include/m2ua_const.h diff --git a/omc/plat/m2ua/src/include/m2ua_debug.h b/plat/m2ua/src/include/m2ua_debug.h similarity index 100% rename from omc/plat/m2ua/src/include/m2ua_debug.h rename to plat/m2ua/src/include/m2ua_debug.h diff --git a/omc/plat/m2ua/src/include/m2ua_def.h b/plat/m2ua/src/include/m2ua_def.h similarity index 100% rename from omc/plat/m2ua/src/include/m2ua_def.h rename to plat/m2ua/src/include/m2ua_def.h diff --git a/omc/plat/m2ua/src/include/m2ua_ext.h b/plat/m2ua/src/include/m2ua_ext.h similarity index 100% rename from omc/plat/m2ua/src/include/m2ua_ext.h rename to plat/m2ua/src/include/m2ua_ext.h diff --git a/omc/plat/m2ua/src/include/m2ua_fsm.h b/plat/m2ua/src/include/m2ua_fsm.h similarity index 100% rename from omc/plat/m2ua/src/include/m2ua_fsm.h rename to plat/m2ua/src/include/m2ua_fsm.h diff --git a/omc/plat/m2ua/src/include/m2ua_msg.h b/plat/m2ua/src/include/m2ua_msg.h similarity index 100% rename from omc/plat/m2ua/src/include/m2ua_msg.h rename to plat/m2ua/src/include/m2ua_msg.h diff --git a/omc/plat/m2ua/src/include/m2ua_pub.h b/plat/m2ua/src/include/m2ua_pub.h similarity index 100% rename from omc/plat/m2ua/src/include/m2ua_pub.h rename to plat/m2ua/src/include/m2ua_pub.h diff --git a/omc/plat/m2ua/src/include/m2ua_struct.h b/plat/m2ua/src/include/m2ua_struct.h similarity index 100% rename from omc/plat/m2ua/src/include/m2ua_struct.h rename to plat/m2ua/src/include/m2ua_struct.h diff --git a/omc/plat/m2ua/src/include/sctp.h b/plat/m2ua/src/include/sctp.h similarity index 100% rename from omc/plat/m2ua/src/include/sctp.h rename to plat/m2ua/src/include/sctp.h diff --git a/omc/plat/m2ua/src/m2ua.c b/plat/m2ua/src/m2ua.c similarity index 100% rename from omc/plat/m2ua/src/m2ua.c rename to plat/m2ua/src/m2ua.c diff --git a/omc/plat/m2ua/src/m2ua_debug.c b/plat/m2ua/src/m2ua_debug.c similarity index 100% rename from omc/plat/m2ua/src/m2ua_debug.c rename to plat/m2ua/src/m2ua_debug.c diff --git a/omc/plat/m2ua/src/m2ua_fsm.c b/plat/m2ua/src/m2ua_fsm.c similarity index 100% rename from omc/plat/m2ua/src/m2ua_fsm.c rename to plat/m2ua/src/m2ua_fsm.c diff --git a/omc/plat/m2ua/src/m2ua_msg.c b/plat/m2ua/src/m2ua_msg.c similarity index 100% rename from omc/plat/m2ua/src/m2ua_msg.c rename to plat/m2ua/src/m2ua_msg.c diff --git a/omc/plat/m2ua/src_old/include/m2ua.h b/plat/m2ua/src_old/include/m2ua.h similarity index 100% rename from omc/plat/m2ua/src_old/include/m2ua.h rename to plat/m2ua/src_old/include/m2ua.h diff --git a/omc/plat/m2ua/src_old/include/m2ua_const.h b/plat/m2ua/src_old/include/m2ua_const.h similarity index 100% rename from omc/plat/m2ua/src_old/include/m2ua_const.h rename to plat/m2ua/src_old/include/m2ua_const.h diff --git a/omc/plat/m2ua/src_old/include/m2ua_debug.h b/plat/m2ua/src_old/include/m2ua_debug.h similarity index 100% rename from omc/plat/m2ua/src_old/include/m2ua_debug.h rename to plat/m2ua/src_old/include/m2ua_debug.h diff --git a/omc/plat/m2ua/src_old/include/m2ua_def.h b/plat/m2ua/src_old/include/m2ua_def.h similarity index 100% rename from omc/plat/m2ua/src_old/include/m2ua_def.h rename to plat/m2ua/src_old/include/m2ua_def.h diff --git a/omc/plat/m2ua/src_old/include/m2ua_ext.h b/plat/m2ua/src_old/include/m2ua_ext.h similarity index 100% rename from omc/plat/m2ua/src_old/include/m2ua_ext.h rename to plat/m2ua/src_old/include/m2ua_ext.h diff --git a/omc/plat/m2ua/src_old/include/m2ua_fsm.h b/plat/m2ua/src_old/include/m2ua_fsm.h similarity index 100% rename from omc/plat/m2ua/src_old/include/m2ua_fsm.h rename to plat/m2ua/src_old/include/m2ua_fsm.h diff --git a/omc/plat/m2ua/src_old/include/m2ua_msg.h b/plat/m2ua/src_old/include/m2ua_msg.h similarity index 100% rename from omc/plat/m2ua/src_old/include/m2ua_msg.h rename to plat/m2ua/src_old/include/m2ua_msg.h diff --git a/omc/plat/m2ua/src_old/include/m2ua_pub.h b/plat/m2ua/src_old/include/m2ua_pub.h similarity index 100% rename from omc/plat/m2ua/src_old/include/m2ua_pub.h rename to plat/m2ua/src_old/include/m2ua_pub.h diff --git a/omc/plat/m2ua/src_old/include/m2ua_struct.h b/plat/m2ua/src_old/include/m2ua_struct.h similarity index 100% rename from omc/plat/m2ua/src_old/include/m2ua_struct.h rename to plat/m2ua/src_old/include/m2ua_struct.h diff --git a/omc/plat/m2ua/src_old/include/sctp.h b/plat/m2ua/src_old/include/sctp.h similarity index 100% rename from omc/plat/m2ua/src_old/include/sctp.h rename to plat/m2ua/src_old/include/sctp.h diff --git a/omc/plat/m2ua/src_old/m2ua.c b/plat/m2ua/src_old/m2ua.c similarity index 100% rename from omc/plat/m2ua/src_old/m2ua.c rename to plat/m2ua/src_old/m2ua.c diff --git a/omc/plat/m2ua/src_old/m2ua_debug.c b/plat/m2ua/src_old/m2ua_debug.c similarity index 100% rename from omc/plat/m2ua/src_old/m2ua_debug.c rename to plat/m2ua/src_old/m2ua_debug.c diff --git a/omc/plat/m2ua/src_old/m2ua_fsm.c b/plat/m2ua/src_old/m2ua_fsm.c similarity index 100% rename from omc/plat/m2ua/src_old/m2ua_fsm.c rename to plat/m2ua/src_old/m2ua_fsm.c diff --git a/omc/plat/m2ua/src_old/m2ua_msg.c b/plat/m2ua/src_old/m2ua_msg.c similarity index 100% rename from omc/plat/m2ua/src_old/m2ua_msg.c rename to plat/m2ua/src_old/m2ua_msg.c diff --git a/omc/plat/m2ua/ut/testcate/MGC(IUA)_Client.txt b/plat/m2ua/ut/testcate/MGC(IUA)_Client.txt similarity index 100% rename from omc/plat/m2ua/ut/testcate/MGC(IUA)_Client.txt rename to plat/m2ua/ut/testcate/MGC(IUA)_Client.txt diff --git a/omc/plat/m2ua/ut/testcate/MGC(IUA)_Server.txt b/plat/m2ua/ut/testcate/MGC(IUA)_Server.txt similarity index 100% rename from omc/plat/m2ua/ut/testcate/MGC(IUA)_Server.txt rename to plat/m2ua/ut/testcate/MGC(IUA)_Server.txt diff --git a/omc/plat/m2ua/ut/testcate/MGC(M2UA)_Client.txt b/plat/m2ua/ut/testcate/MGC(M2UA)_Client.txt similarity index 100% rename from omc/plat/m2ua/ut/testcate/MGC(M2UA)_Client.txt rename to plat/m2ua/ut/testcate/MGC(M2UA)_Client.txt diff --git a/omc/plat/m2ua/ut/testcate/MGC(M2UA)_Server.txt b/plat/m2ua/ut/testcate/MGC(M2UA)_Server.txt similarity index 100% rename from omc/plat/m2ua/ut/testcate/MGC(M2UA)_Server.txt rename to plat/m2ua/ut/testcate/MGC(M2UA)_Server.txt diff --git a/omc/plat/m2ua/ut/testcate/SG(IUA)_Client.txt b/plat/m2ua/ut/testcate/SG(IUA)_Client.txt similarity index 100% rename from omc/plat/m2ua/ut/testcate/SG(IUA)_Client.txt rename to plat/m2ua/ut/testcate/SG(IUA)_Client.txt diff --git a/omc/plat/m2ua/ut/testcate/SG(IUA)_Server.txt b/plat/m2ua/ut/testcate/SG(IUA)_Server.txt similarity index 100% rename from omc/plat/m2ua/ut/testcate/SG(IUA)_Server.txt rename to plat/m2ua/ut/testcate/SG(IUA)_Server.txt diff --git a/omc/plat/m2ua/ut/testcate/SG(M2UA)_Client.txt b/plat/m2ua/ut/testcate/SG(M2UA)_Client.txt similarity index 100% rename from omc/plat/m2ua/ut/testcate/SG(M2UA)_Client.txt rename to plat/m2ua/ut/testcate/SG(M2UA)_Client.txt diff --git a/omc/plat/m2ua/ut/testcate/SG(M2UA)_Server.txt b/plat/m2ua/ut/testcate/SG(M2UA)_Server.txt similarity index 100% rename from omc/plat/m2ua/ut/testcate/SG(M2UA)_Server.txt rename to plat/m2ua/ut/testcate/SG(M2UA)_Server.txt diff --git a/omc/plat/m2ua/ut/testcate/headfile.txt b/plat/m2ua/ut/testcate/headfile.txt similarity index 100% rename from omc/plat/m2ua/ut/testcate/headfile.txt rename to plat/m2ua/ut/testcate/headfile.txt diff --git a/omc/plat/m2ua/ut/xua_test/Makefile b/plat/m2ua/ut/xua_test/Makefile similarity index 100% rename from omc/plat/m2ua/ut/xua_test/Makefile rename to plat/m2ua/ut/xua_test/Makefile diff --git a/omc/plat/m2ua/ut/xua_test/conf/AucSysPara b/plat/m2ua/ut/xua_test/conf/AucSysPara similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/AucSysPara rename to plat/m2ua/ut/xua_test/conf/AucSysPara diff --git a/omc/plat/m2ua/ut/xua_test/conf/EirSysPara b/plat/m2ua/ut/xua_test/conf/EirSysPara similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/EirSysPara rename to plat/m2ua/ut/xua_test/conf/EirSysPara diff --git a/omc/plat/m2ua/ut/xua_test/conf/HlrSysPara b/plat/m2ua/ut/xua_test/conf/HlrSysPara similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/HlrSysPara rename to plat/m2ua/ut/xua_test/conf/HlrSysPara diff --git a/omc/plat/m2ua/ut/xua_test/conf/cap_acn.conf b/plat/m2ua/ut/xua_test/conf/cap_acn.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/cap_acn.conf rename to plat/m2ua/ut/xua_test/conf/cap_acn.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/cap_operation.conf b/plat/m2ua/ut/xua_test/conf/cap_operation.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/cap_operation.conf rename to plat/m2ua/ut/xua_test/conf/cap_operation.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/cc_table.conf b/plat/m2ua/ut/xua_test/conf/cc_table.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/cc_table.conf rename to plat/m2ua/ut/xua_test/conf/cc_table.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/conv_prefix.conf b/plat/m2ua/ut/xua_test/conf/conv_prefix.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/conv_prefix.conf rename to plat/m2ua/ut/xua_test/conf/conv_prefix.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/help_page b/plat/m2ua/ut/xua_test/conf/help_page similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/help_page rename to plat/m2ua/ut/xua_test/conf/help_page diff --git a/omc/plat/m2ua/ut/xua_test/conf/hlr_parambit.conf b/plat/m2ua/ut/xua_test/conf/hlr_parambit.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/hlr_parambit.conf rename to plat/m2ua/ut/xua_test/conf/hlr_parambit.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/iptrans.conf b/plat/m2ua/ut/xua_test/conf/iptrans.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/iptrans.conf rename to plat/m2ua/ut/xua_test/conf/iptrans.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/map_acn.conf b/plat/m2ua/ut/xua_test/conf/map_acn.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/map_acn.conf rename to plat/m2ua/ut/xua_test/conf/map_acn.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/map_operation.conf b/plat/m2ua/ut/xua_test/conf/map_operation.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/map_operation.conf rename to plat/m2ua/ut/xua_test/conf/map_operation.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/menu_page b/plat/m2ua/ut/xua_test/conf/menu_page similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/menu_page rename to plat/m2ua/ut/xua_test/conf/menu_page diff --git a/omc/plat/m2ua/ut/xua_test/conf/mnpf.conf b/plat/m2ua/ut/xua_test/conf/mnpf.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/mnpf.conf rename to plat/m2ua/ut/xua_test/conf/mnpf.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/msc_conf b/plat/m2ua/ut/xua_test/conf/msc_conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/msc_conf rename to plat/m2ua/ut/xua_test/conf/msc_conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/mtp3.conf b/plat/m2ua/ut/xua_test/conf/mtp3.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/mtp3.conf rename to plat/m2ua/ut/xua_test/conf/mtp3.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/ppsConf.txt b/plat/m2ua/ut/xua_test/conf/ppsConf.txt similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/ppsConf.txt rename to plat/m2ua/ut/xua_test/conf/ppsConf.txt diff --git a/omc/plat/m2ua/ut/xua_test/conf/ppsCrdConf.txt b/plat/m2ua/ut/xua_test/conf/ppsCrdConf.txt similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/ppsCrdConf.txt rename to plat/m2ua/ut/xua_test/conf/ppsCrdConf.txt diff --git a/omc/plat/m2ua/ut/xua_test/conf/profile b/plat/m2ua/ut/xua_test/conf/profile similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/profile rename to plat/m2ua/ut/xua_test/conf/profile diff --git a/omc/plat/m2ua/ut/xua_test/conf/sccp.conf b/plat/m2ua/ut/xua_test/conf/sccp.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/sccp.conf rename to plat/m2ua/ut/xua_test/conf/sccp.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/sccp_omt.conf b/plat/m2ua/ut/xua_test/conf/sccp_omt.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/sccp_omt.conf rename to plat/m2ua/ut/xua_test/conf/sccp_omt.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/sccp_sts.conf b/plat/m2ua/ut/xua_test/conf/sccp_sts.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/sccp_sts.conf rename to plat/m2ua/ut/xua_test/conf/sccp_sts.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/smsc_csta.conf b/plat/m2ua/ut/xua_test/conf/smsc_csta.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/smsc_csta.conf rename to plat/m2ua/ut/xua_test/conf/smsc_csta.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/smsc_parambit.conf b/plat/m2ua/ut/xua_test/conf/smsc_parambit.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/smsc_parambit.conf rename to plat/m2ua/ut/xua_test/conf/smsc_parambit.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/smsc_sys.conf b/plat/m2ua/ut/xua_test/conf/smsc_sys.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/smsc_sys.conf rename to plat/m2ua/ut/xua_test/conf/smsc_sys.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/system.ini b/plat/m2ua/ut/xua_test/conf/system.ini similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/system.ini rename to plat/m2ua/ut/xua_test/conf/system.ini diff --git a/omc/plat/m2ua/ut/xua_test/conf/vlr.conf b/plat/m2ua/ut/xua_test/conf/vlr.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/vlr.conf rename to plat/m2ua/ut/xua_test/conf/vlr.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/wxc2_sys.conf b/plat/m2ua/ut/xua_test/conf/wxc2_sys.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/wxc2_sys.conf rename to plat/m2ua/ut/xua_test/conf/wxc2_sys.conf diff --git a/omc/plat/m2ua/ut/xua_test/conf/wxc2exit.txt b/plat/m2ua/ut/xua_test/conf/wxc2exit.txt similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/wxc2exit.txt rename to plat/m2ua/ut/xua_test/conf/wxc2exit.txt diff --git a/omc/plat/m2ua/ut/xua_test/conf/xap_sysparam.conf b/plat/m2ua/ut/xua_test/conf/xap_sysparam.conf similarity index 100% rename from omc/plat/m2ua/ut/xua_test/conf/xap_sysparam.conf rename to plat/m2ua/ut/xua_test/conf/xap_sysparam.conf diff --git a/omc/plat/m2ua/ut/xua_test/xuatest.c b/plat/m2ua/ut/xua_test/xuatest.c similarity index 100% rename from omc/plat/m2ua/ut/xua_test/xuatest.c rename to plat/m2ua/ut/xua_test/xuatest.c diff --git a/omc/plat/make_plat b/plat/make_plat similarity index 78% rename from omc/plat/make_plat rename to plat/make_plat index a59d74a..0ae92d4 100644 --- a/omc/plat/make_plat +++ b/plat/make_plat @@ -1,6 +1,7 @@ #!/bin/bash -platDir=/usr/local/omc/plat +projectDir=$(HOME)/ems.git +platDir=$(projectDir)/plat platModuleList="8ecp aif bicc debug haepub iptrans isdn isup m2ua mgc mgcp mgc_v2 mtp3 pal public rtp sccp scf sip smpp snmp tcap xapp" for mod in $platModuleList; do echo "====================== make $mod ======================="; @@ -10,7 +11,7 @@ for mod in $platModuleList; do if [ $mod == "iptrans" ] ; then ./generate_iptrans - cp -f ./iptrans /usr/local/omc/bin/ + #cp -f ./iptrans /usr/local/omc/bin/ fi cd - diff --git a/omc/plat/mgc/Makefile b/plat/mgc/Makefile similarity index 97% rename from omc/plat/mgc/Makefile rename to plat/mgc/Makefile index 50540dd..0b1d5b1 100644 --- a/omc/plat/mgc/Makefile +++ b/plat/mgc/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/mgc/src/include/mgc.h b/plat/mgc/src/include/mgc.h similarity index 100% rename from omc/plat/mgc/src/include/mgc.h rename to plat/mgc/src/include/mgc.h diff --git a/omc/plat/mgc/src/include/mgc_const.h b/plat/mgc/src/include/mgc_const.h similarity index 100% rename from omc/plat/mgc/src/include/mgc_const.h rename to plat/mgc/src/include/mgc_const.h diff --git a/omc/plat/mgc/src/include/mgc_debug.h b/plat/mgc/src/include/mgc_debug.h similarity index 100% rename from omc/plat/mgc/src/include/mgc_debug.h rename to plat/mgc/src/include/mgc_debug.h diff --git a/omc/plat/mgc/src/include/mgc_def.h b/plat/mgc/src/include/mgc_def.h similarity index 100% rename from omc/plat/mgc/src/include/mgc_def.h rename to plat/mgc/src/include/mgc_def.h diff --git a/omc/plat/mgc/src/include/mgc_ext.h b/plat/mgc/src/include/mgc_ext.h similarity index 100% rename from omc/plat/mgc/src/include/mgc_ext.h rename to plat/mgc/src/include/mgc_ext.h diff --git a/omc/plat/mgc/src/include/mgc_fsm.h b/plat/mgc/src/include/mgc_fsm.h similarity index 100% rename from omc/plat/mgc/src/include/mgc_fsm.h rename to plat/mgc/src/include/mgc_fsm.h diff --git a/omc/plat/mgc/src/include/mgc_pub.h b/plat/mgc/src/include/mgc_pub.h similarity index 100% rename from omc/plat/mgc/src/include/mgc_pub.h rename to plat/mgc/src/include/mgc_pub.h diff --git a/omc/plat/mgc/src/include/mgc_sess_ctl.h b/plat/mgc/src/include/mgc_sess_ctl.h similarity index 100% rename from omc/plat/mgc/src/include/mgc_sess_ctl.h rename to plat/mgc/src/include/mgc_sess_ctl.h diff --git a/omc/plat/mgc/src/include/mgc_struct.h b/plat/mgc/src/include/mgc_struct.h similarity index 100% rename from omc/plat/mgc/src/include/mgc_struct.h rename to plat/mgc/src/include/mgc_struct.h diff --git a/omc/plat/mgc/src/mgc.c b/plat/mgc/src/mgc.c similarity index 100% rename from omc/plat/mgc/src/mgc.c rename to plat/mgc/src/mgc.c diff --git a/omc/plat/mgc/src/mgc_debug.c b/plat/mgc/src/mgc_debug.c similarity index 100% rename from omc/plat/mgc/src/mgc_debug.c rename to plat/mgc/src/mgc_debug.c diff --git a/omc/plat/mgc/src/mgc_fsm.c b/plat/mgc/src/mgc_fsm.c similarity index 100% rename from omc/plat/mgc/src/mgc_fsm.c rename to plat/mgc/src/mgc_fsm.c diff --git a/omc/plat/mgc/src/mgc_sess_ctl.c b/plat/mgc/src/mgc_sess_ctl.c similarity index 100% rename from omc/plat/mgc/src/mgc_sess_ctl.c rename to plat/mgc/src/mgc_sess_ctl.c diff --git a/omc/plat/mgc_v2/Makefile b/plat/mgc_v2/Makefile similarity index 97% rename from omc/plat/mgc_v2/Makefile rename to plat/mgc_v2/Makefile index 09b2d11..3917db9 100644 --- a/omc/plat/mgc_v2/Makefile +++ b/plat/mgc_v2/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/mgc_v2/src/include/mgc.h b/plat/mgc_v2/src/include/mgc.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc.h rename to plat/mgc_v2/src/include/mgc.h diff --git a/omc/plat/mgc_v2/src/include/mgc_8ecp.h b/plat/mgc_v2/src/include/mgc_8ecp.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_8ecp.h rename to plat/mgc_v2/src/include/mgc_8ecp.h diff --git a/omc/plat/mgc_v2/src/include/mgc_chnl_info.h b/plat/mgc_v2/src/include/mgc_chnl_info.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_chnl_info.h rename to plat/mgc_v2/src/include/mgc_chnl_info.h diff --git a/omc/plat/mgc_v2/src/include/mgc_conn_info.h b/plat/mgc_v2/src/include/mgc_conn_info.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_conn_info.h rename to plat/mgc_v2/src/include/mgc_conn_info.h diff --git a/omc/plat/mgc_v2/src/include/mgc_ctl.h b/plat/mgc_v2/src/include/mgc_ctl.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_ctl.h rename to plat/mgc_v2/src/include/mgc_ctl.h diff --git a/omc/plat/mgc_v2/src/include/mgc_debug.h b/plat/mgc_v2/src/include/mgc_debug.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_debug.h rename to plat/mgc_v2/src/include/mgc_debug.h diff --git a/omc/plat/mgc_v2/src/include/mgc_internal.h b/plat/mgc_v2/src/include/mgc_internal.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_internal.h rename to plat/mgc_v2/src/include/mgc_internal.h diff --git a/omc/plat/mgc_v2/src/include/mgc_mg_info.h b/plat/mgc_v2/src/include/mgc_mg_info.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_mg_info.h rename to plat/mgc_v2/src/include/mgc_mg_info.h diff --git a/omc/plat/mgc_v2/src/include/mgc_mgcp.h b/plat/mgc_v2/src/include/mgc_mgcp.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_mgcp.h rename to plat/mgc_v2/src/include/mgc_mgcp.h diff --git a/omc/plat/mgc_v2/src/include/mgc_phy_port.h b/plat/mgc_v2/src/include/mgc_phy_port.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_phy_port.h rename to plat/mgc_v2/src/include/mgc_phy_port.h diff --git a/omc/plat/mgc_v2/src/include/mgc_port_info.h b/plat/mgc_v2/src/include/mgc_port_info.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_port_info.h rename to plat/mgc_v2/src/include/mgc_port_info.h diff --git a/omc/plat/mgc_v2/src/include/mgc_port_list.h b/plat/mgc_v2/src/include/mgc_port_list.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_port_list.h rename to plat/mgc_v2/src/include/mgc_port_list.h diff --git a/omc/plat/mgc_v2/src/include/mgc_pub.h b/plat/mgc_v2/src/include/mgc_pub.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_pub.h rename to plat/mgc_v2/src/include/mgc_pub.h diff --git a/omc/plat/mgc_v2/src/include/mgc_snmp.h b/plat/mgc_v2/src/include/mgc_snmp.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_snmp.h rename to plat/mgc_v2/src/include/mgc_snmp.h diff --git a/omc/plat/mgc_v2/src/include/mgc_struct.h b/plat/mgc_v2/src/include/mgc_struct.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_struct.h rename to plat/mgc_v2/src/include/mgc_struct.h diff --git a/omc/plat/mgc_v2/src/include/mgc_sur_info.h b/plat/mgc_v2/src/include/mgc_sur_info.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_sur_info.h rename to plat/mgc_v2/src/include/mgc_sur_info.h diff --git a/omc/plat/mgc_v2/src/include/mgc_tandem_info.h b/plat/mgc_v2/src/include/mgc_tandem_info.h similarity index 100% rename from omc/plat/mgc_v2/src/include/mgc_tandem_info.h rename to plat/mgc_v2/src/include/mgc_tandem_info.h diff --git a/omc/plat/mgc_v2/src/mgc.c b/plat/mgc_v2/src/mgc.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc.c rename to plat/mgc_v2/src/mgc.c diff --git a/omc/plat/mgc_v2/src/mgc_8ecp.c b/plat/mgc_v2/src/mgc_8ecp.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_8ecp.c rename to plat/mgc_v2/src/mgc_8ecp.c diff --git a/omc/plat/mgc_v2/src/mgc_chnl_info.c b/plat/mgc_v2/src/mgc_chnl_info.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_chnl_info.c rename to plat/mgc_v2/src/mgc_chnl_info.c diff --git a/omc/plat/mgc_v2/src/mgc_conn_info.c b/plat/mgc_v2/src/mgc_conn_info.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_conn_info.c rename to plat/mgc_v2/src/mgc_conn_info.c diff --git a/omc/plat/mgc_v2/src/mgc_ctl.c b/plat/mgc_v2/src/mgc_ctl.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_ctl.c rename to plat/mgc_v2/src/mgc_ctl.c diff --git a/omc/plat/mgc_v2/src/mgc_debug.c b/plat/mgc_v2/src/mgc_debug.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_debug.c rename to plat/mgc_v2/src/mgc_debug.c diff --git a/omc/plat/mgc_v2/src/mgc_internal.c b/plat/mgc_v2/src/mgc_internal.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_internal.c rename to plat/mgc_v2/src/mgc_internal.c diff --git a/omc/plat/mgc_v2/src/mgc_mg_info.c b/plat/mgc_v2/src/mgc_mg_info.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_mg_info.c rename to plat/mgc_v2/src/mgc_mg_info.c diff --git a/omc/plat/mgc_v2/src/mgc_mgcp.c b/plat/mgc_v2/src/mgc_mgcp.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_mgcp.c rename to plat/mgc_v2/src/mgc_mgcp.c diff --git a/omc/plat/mgc_v2/src/mgc_phy_port.c b/plat/mgc_v2/src/mgc_phy_port.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_phy_port.c rename to plat/mgc_v2/src/mgc_phy_port.c diff --git a/omc/plat/mgc_v2/src/mgc_port_info.c b/plat/mgc_v2/src/mgc_port_info.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_port_info.c rename to plat/mgc_v2/src/mgc_port_info.c diff --git a/omc/plat/mgc_v2/src/mgc_port_list.c b/plat/mgc_v2/src/mgc_port_list.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_port_list.c rename to plat/mgc_v2/src/mgc_port_list.c diff --git a/omc/plat/mgc_v2/src/mgc_sur_info.c b/plat/mgc_v2/src/mgc_sur_info.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_sur_info.c rename to plat/mgc_v2/src/mgc_sur_info.c diff --git a/omc/plat/mgc_v2/src/mgc_tandem_info.c b/plat/mgc_v2/src/mgc_tandem_info.c similarity index 100% rename from omc/plat/mgc_v2/src/mgc_tandem_info.c rename to plat/mgc_v2/src/mgc_tandem_info.c diff --git a/omc/plat/mgc_v2/ut/CUnit-List.dtd b/plat/mgc_v2/ut/CUnit-List.dtd similarity index 100% rename from omc/plat/mgc_v2/ut/CUnit-List.dtd rename to plat/mgc_v2/ut/CUnit-List.dtd diff --git a/omc/plat/mgc_v2/ut/CUnit-List.xsl b/plat/mgc_v2/ut/CUnit-List.xsl similarity index 100% rename from omc/plat/mgc_v2/ut/CUnit-List.xsl rename to plat/mgc_v2/ut/CUnit-List.xsl diff --git a/omc/plat/mgc_v2/ut/CUnit-Run.dtd b/plat/mgc_v2/ut/CUnit-Run.dtd similarity index 100% rename from omc/plat/mgc_v2/ut/CUnit-Run.dtd rename to plat/mgc_v2/ut/CUnit-Run.dtd diff --git a/omc/plat/mgc_v2/ut/CUnit-Run.xsl b/plat/mgc_v2/ut/CUnit-Run.xsl similarity index 100% rename from omc/plat/mgc_v2/ut/CUnit-Run.xsl rename to plat/mgc_v2/ut/CUnit-Run.xsl diff --git a/omc/plat/mgc_v2/ut/Makefile b/plat/mgc_v2/ut/Makefile similarity index 98% rename from omc/plat/mgc_v2/ut/Makefile rename to plat/mgc_v2/ut/Makefile index 0521321..615d298 100644 --- a/omc/plat/mgc_v2/ut/Makefile +++ b/plat/mgc_v2/ut/Makefile @@ -96,5 +96,5 @@ COVER_REPORT_PATH = ./output ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/mgc_v2/ut/conf/iptrans.conf b/plat/mgc_v2/ut/conf/iptrans.conf similarity index 100% rename from omc/plat/mgc_v2/ut/conf/iptrans.conf rename to plat/mgc_v2/ut/conf/iptrans.conf diff --git a/omc/plat/mgc_v2/ut/conf/menu_page b/plat/mgc_v2/ut/conf/menu_page similarity index 100% rename from omc/plat/mgc_v2/ut/conf/menu_page rename to plat/mgc_v2/ut/conf/menu_page diff --git a/omc/plat/mgc_v2/ut/include/Automated.h b/plat/mgc_v2/ut/include/Automated.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/Automated.h rename to plat/mgc_v2/ut/include/Automated.h diff --git a/omc/plat/mgc_v2/ut/include/Basic.h b/plat/mgc_v2/ut/include/Basic.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/Basic.h rename to plat/mgc_v2/ut/include/Basic.h diff --git a/omc/plat/mgc_v2/ut/include/CUCurses.h b/plat/mgc_v2/ut/include/CUCurses.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/CUCurses.h rename to plat/mgc_v2/ut/include/CUCurses.h diff --git a/omc/plat/mgc_v2/ut/include/CUError.h b/plat/mgc_v2/ut/include/CUError.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/CUError.h rename to plat/mgc_v2/ut/include/CUError.h diff --git a/omc/plat/mgc_v2/ut/include/CUnit.h b/plat/mgc_v2/ut/include/CUnit.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/CUnit.h rename to plat/mgc_v2/ut/include/CUnit.h diff --git a/omc/plat/mgc_v2/ut/include/Console.h b/plat/mgc_v2/ut/include/Console.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/Console.h rename to plat/mgc_v2/ut/include/Console.h diff --git a/omc/plat/mgc_v2/ut/include/MyMem.h b/plat/mgc_v2/ut/include/MyMem.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/MyMem.h rename to plat/mgc_v2/ut/include/MyMem.h diff --git a/omc/plat/mgc_v2/ut/include/TestDB.h b/plat/mgc_v2/ut/include/TestDB.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/TestDB.h rename to plat/mgc_v2/ut/include/TestDB.h diff --git a/omc/plat/mgc_v2/ut/include/TestRun.h b/plat/mgc_v2/ut/include/TestRun.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/TestRun.h rename to plat/mgc_v2/ut/include/TestRun.h diff --git a/omc/plat/mgc_v2/ut/include/Util.h b/plat/mgc_v2/ut/include/Util.h similarity index 100% rename from omc/plat/mgc_v2/ut/include/Util.h rename to plat/mgc_v2/ut/include/Util.h diff --git a/omc/plat/mgc_v2/ut/mgc_v2_test b/plat/mgc_v2/ut/mgc_v2_test similarity index 100% rename from omc/plat/mgc_v2/ut/mgc_v2_test rename to plat/mgc_v2/ut/mgc_v2_test diff --git a/omc/plat/mgc_v2/ut/mgc_v2_test.c b/plat/mgc_v2/ut/mgc_v2_test.c similarity index 100% rename from omc/plat/mgc_v2/ut/mgc_v2_test.c rename to plat/mgc_v2/ut/mgc_v2_test.c diff --git a/omc/plat/mgcp/Makefile b/plat/mgcp/Makefile similarity index 97% rename from omc/plat/mgcp/Makefile rename to plat/mgcp/Makefile index 7e8c06f..6aa03d4 100644 --- a/omc/plat/mgcp/Makefile +++ b/plat/mgcp/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/mgcp/src/include/mgcp.h b/plat/mgcp/src/include/mgcp.h similarity index 100% rename from omc/plat/mgcp/src/include/mgcp.h rename to plat/mgcp/src/include/mgcp.h diff --git a/omc/plat/mgcp/src/include/mgcp_const.h b/plat/mgcp/src/include/mgcp_const.h similarity index 100% rename from omc/plat/mgcp/src/include/mgcp_const.h rename to plat/mgcp/src/include/mgcp_const.h diff --git a/omc/plat/mgcp/src/include/mgcp_debug.h b/plat/mgcp/src/include/mgcp_debug.h similarity index 100% rename from omc/plat/mgcp/src/include/mgcp_debug.h rename to plat/mgcp/src/include/mgcp_debug.h diff --git a/omc/plat/mgcp/src/include/mgcp_def.h b/plat/mgcp/src/include/mgcp_def.h similarity index 100% rename from omc/plat/mgcp/src/include/mgcp_def.h rename to plat/mgcp/src/include/mgcp_def.h diff --git a/omc/plat/mgcp/src/include/mgcp_ext.h b/plat/mgcp/src/include/mgcp_ext.h similarity index 100% rename from omc/plat/mgcp/src/include/mgcp_ext.h rename to plat/mgcp/src/include/mgcp_ext.h diff --git a/omc/plat/mgcp/src/include/mgcp_msg.h b/plat/mgcp/src/include/mgcp_msg.h similarity index 100% rename from omc/plat/mgcp/src/include/mgcp_msg.h rename to plat/mgcp/src/include/mgcp_msg.h diff --git a/omc/plat/mgcp/src/include/mgcp_pub.h b/plat/mgcp/src/include/mgcp_pub.h similarity index 100% rename from omc/plat/mgcp/src/include/mgcp_pub.h rename to plat/mgcp/src/include/mgcp_pub.h diff --git a/omc/plat/mgcp/src/include/mgcp_struct.h b/plat/mgcp/src/include/mgcp_struct.h similarity index 100% rename from omc/plat/mgcp/src/include/mgcp_struct.h rename to plat/mgcp/src/include/mgcp_struct.h diff --git a/omc/plat/mgcp/src/include/mgcp_trans.h b/plat/mgcp/src/include/mgcp_trans.h similarity index 100% rename from omc/plat/mgcp/src/include/mgcp_trans.h rename to plat/mgcp/src/include/mgcp_trans.h diff --git a/omc/plat/mgcp/src/mgcp.c b/plat/mgcp/src/mgcp.c similarity index 100% rename from omc/plat/mgcp/src/mgcp.c rename to plat/mgcp/src/mgcp.c diff --git a/omc/plat/mgcp/src/mgcp_debug.c b/plat/mgcp/src/mgcp_debug.c similarity index 100% rename from omc/plat/mgcp/src/mgcp_debug.c rename to plat/mgcp/src/mgcp_debug.c diff --git a/omc/plat/mgcp/src/mgcp_msg.c b/plat/mgcp/src/mgcp_msg.c similarity index 100% rename from omc/plat/mgcp/src/mgcp_msg.c rename to plat/mgcp/src/mgcp_msg.c diff --git a/omc/plat/mgcp/src/mgcp_trans.c b/plat/mgcp/src/mgcp_trans.c similarity index 100% rename from omc/plat/mgcp/src/mgcp_trans.c rename to plat/mgcp/src/mgcp_trans.c diff --git a/omc/plat/mtp3/Makefile b/plat/mtp3/Makefile similarity index 97% rename from omc/plat/mtp3/Makefile rename to plat/mtp3/Makefile index 967afb0..fef042f 100644 --- a/omc/plat/mtp3/Makefile +++ b/plat/mtp3/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/mtp3/src/include/mtp3.h b/plat/mtp3/src/include/mtp3.h similarity index 100% rename from omc/plat/mtp3/src/include/mtp3.h rename to plat/mtp3/src/include/mtp3.h diff --git a/omc/plat/mtp3/src/include/mtp3lite.h b/plat/mtp3/src/include/mtp3lite.h similarity index 100% rename from omc/plat/mtp3/src/include/mtp3lite.h rename to plat/mtp3/src/include/mtp3lite.h diff --git a/omc/plat/mtp3/src/include/mtp3lite_pub.h b/plat/mtp3/src/include/mtp3lite_pub.h similarity index 100% rename from omc/plat/mtp3/src/include/mtp3lite_pub.h rename to plat/mtp3/src/include/mtp3lite_pub.h diff --git a/omc/plat/mtp3/src/include/mtpconst.h b/plat/mtp3/src/include/mtpconst.h similarity index 100% rename from omc/plat/mtp3/src/include/mtpconst.h rename to plat/mtp3/src/include/mtpconst.h diff --git a/omc/plat/mtp3/src/include/mtpdef.h b/plat/mtp3/src/include/mtpdef.h similarity index 100% rename from omc/plat/mtp3/src/include/mtpdef.h rename to plat/mtp3/src/include/mtpdef.h diff --git a/omc/plat/mtp3/src/include/mtpext.h b/plat/mtp3/src/include/mtpext.h similarity index 100% rename from omc/plat/mtp3/src/include/mtpext.h rename to plat/mtp3/src/include/mtpext.h diff --git a/omc/plat/mtp3/src/include/mtpfunc.h b/plat/mtp3/src/include/mtpfunc.h similarity index 100% rename from omc/plat/mtp3/src/include/mtpfunc.h rename to plat/mtp3/src/include/mtpfunc.h diff --git a/omc/plat/mtp3/src/include/mtpstm.h b/plat/mtp3/src/include/mtpstm.h similarity index 100% rename from omc/plat/mtp3/src/include/mtpstm.h rename to plat/mtp3/src/include/mtpstm.h diff --git a/omc/plat/mtp3/src/mtp3lite.c b/plat/mtp3/src/mtp3lite.c similarity index 100% rename from omc/plat/mtp3/src/mtp3lite.c rename to plat/mtp3/src/mtp3lite.c diff --git a/omc/plat/mtp3/src/mtpinit.c b/plat/mtp3/src/mtpinit.c similarity index 100% rename from omc/plat/mtp3/src/mtpinit.c rename to plat/mtp3/src/mtpinit.c diff --git a/omc/plat/mtp3/src/mtpm.c b/plat/mtp3/src/mtpm.c similarity index 100% rename from omc/plat/mtp3/src/mtpm.c rename to plat/mtp3/src/mtpm.c diff --git a/omc/plat/mtp3/src/mtpmib.c b/plat/mtp3/src/mtpmib.c similarity index 100% rename from omc/plat/mtp3/src/mtpmib.c rename to plat/mtp3/src/mtpmib.c diff --git a/omc/plat/mtp3/src/mtpslm.c b/plat/mtp3/src/mtpslm.c similarity index 100% rename from omc/plat/mtp3/src/mtpslm.c rename to plat/mtp3/src/mtpslm.c diff --git a/omc/plat/mtp3/src/mtpsmh.c b/plat/mtp3/src/mtpsmh.c similarity index 100% rename from omc/plat/mtp3/src/mtpsmh.c rename to plat/mtp3/src/mtpsmh.c diff --git a/omc/plat/mtp3/src/mtpsrm.c b/plat/mtp3/src/mtpsrm.c similarity index 100% rename from omc/plat/mtp3/src/mtpsrm.c rename to plat/mtp3/src/mtpsrm.c diff --git a/omc/plat/mtp3/src/mtpstm.c b/plat/mtp3/src/mtpstm.c similarity index 100% rename from omc/plat/mtp3/src/mtpstm.c rename to plat/mtp3/src/mtpstm.c diff --git a/omc/plat/mtp3_old/Makefile b/plat/mtp3_old/Makefile similarity index 97% rename from omc/plat/mtp3_old/Makefile rename to plat/mtp3_old/Makefile index 967afb0..fef042f 100644 --- a/omc/plat/mtp3_old/Makefile +++ b/plat/mtp3_old/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/mtp3_old/src/include/mtp3.h b/plat/mtp3_old/src/include/mtp3.h similarity index 100% rename from omc/plat/mtp3_old/src/include/mtp3.h rename to plat/mtp3_old/src/include/mtp3.h diff --git a/omc/plat/mtp3_old/src/include/mtp3lite.h b/plat/mtp3_old/src/include/mtp3lite.h similarity index 100% rename from omc/plat/mtp3_old/src/include/mtp3lite.h rename to plat/mtp3_old/src/include/mtp3lite.h diff --git a/omc/plat/mtp3_old/src/include/mtp3lite_pub.h b/plat/mtp3_old/src/include/mtp3lite_pub.h similarity index 100% rename from omc/plat/mtp3_old/src/include/mtp3lite_pub.h rename to plat/mtp3_old/src/include/mtp3lite_pub.h diff --git a/omc/plat/mtp3_old/src/include/mtpconst.h b/plat/mtp3_old/src/include/mtpconst.h similarity index 100% rename from omc/plat/mtp3_old/src/include/mtpconst.h rename to plat/mtp3_old/src/include/mtpconst.h diff --git a/omc/plat/mtp3_old/src/include/mtpdef.h b/plat/mtp3_old/src/include/mtpdef.h similarity index 100% rename from omc/plat/mtp3_old/src/include/mtpdef.h rename to plat/mtp3_old/src/include/mtpdef.h diff --git a/omc/plat/mtp3_old/src/include/mtpext.h b/plat/mtp3_old/src/include/mtpext.h similarity index 100% rename from omc/plat/mtp3_old/src/include/mtpext.h rename to plat/mtp3_old/src/include/mtpext.h diff --git a/omc/plat/mtp3_old/src/include/mtpfunc.h b/plat/mtp3_old/src/include/mtpfunc.h similarity index 100% rename from omc/plat/mtp3_old/src/include/mtpfunc.h rename to plat/mtp3_old/src/include/mtpfunc.h diff --git a/omc/plat/mtp3_old/src/include/mtpstm.h b/plat/mtp3_old/src/include/mtpstm.h similarity index 100% rename from omc/plat/mtp3_old/src/include/mtpstm.h rename to plat/mtp3_old/src/include/mtpstm.h diff --git a/omc/plat/mtp3_old/src/mtp3lite.c b/plat/mtp3_old/src/mtp3lite.c similarity index 100% rename from omc/plat/mtp3_old/src/mtp3lite.c rename to plat/mtp3_old/src/mtp3lite.c diff --git a/omc/plat/mtp3_old/src/mtpinit.c b/plat/mtp3_old/src/mtpinit.c similarity index 100% rename from omc/plat/mtp3_old/src/mtpinit.c rename to plat/mtp3_old/src/mtpinit.c diff --git a/omc/plat/mtp3_old/src/mtpm.c b/plat/mtp3_old/src/mtpm.c similarity index 100% rename from omc/plat/mtp3_old/src/mtpm.c rename to plat/mtp3_old/src/mtpm.c diff --git a/omc/plat/mtp3_old/src/mtpmib.c b/plat/mtp3_old/src/mtpmib.c similarity index 100% rename from omc/plat/mtp3_old/src/mtpmib.c rename to plat/mtp3_old/src/mtpmib.c diff --git a/omc/plat/mtp3_old/src/mtpslm.c b/plat/mtp3_old/src/mtpslm.c similarity index 100% rename from omc/plat/mtp3_old/src/mtpslm.c rename to plat/mtp3_old/src/mtpslm.c diff --git a/omc/plat/mtp3_old/src/mtpsmh.c b/plat/mtp3_old/src/mtpsmh.c similarity index 100% rename from omc/plat/mtp3_old/src/mtpsmh.c rename to plat/mtp3_old/src/mtpsmh.c diff --git a/omc/plat/mtp3_old/src/mtpsrm.c b/plat/mtp3_old/src/mtpsrm.c similarity index 100% rename from omc/plat/mtp3_old/src/mtpsrm.c rename to plat/mtp3_old/src/mtpsrm.c diff --git a/omc/plat/mtp3_old/src/mtpstm.c b/plat/mtp3_old/src/mtpstm.c similarity index 100% rename from omc/plat/mtp3_old/src/mtpstm.c rename to plat/mtp3_old/src/mtpstm.c diff --git a/omc/plat/pal/Makefile b/plat/pal/Makefile similarity index 100% rename from omc/plat/pal/Makefile rename to plat/pal/Makefile diff --git a/omc/plat/pal/lib/Just for creating lib directory.txt b/plat/pal/lib/Just for creating lib directory.txt similarity index 100% rename from omc/plat/pal/lib/Just for creating lib directory.txt rename to plat/pal/lib/Just for creating lib directory.txt diff --git a/omc/plat/pal/pal.h b/plat/pal/pal.h similarity index 100% rename from omc/plat/pal/pal.h rename to plat/pal/pal.h diff --git a/omc/plat/pal/rm.c b/plat/pal/rm.c similarity index 100% rename from omc/plat/pal/rm.c rename to plat/pal/rm.c diff --git a/omc/plat/public/Makefile b/plat/public/Makefile similarity index 97% rename from omc/plat/public/Makefile rename to plat/public/Makefile index 842a1e8..49cad84 100644 --- a/omc/plat/public/Makefile +++ b/plat/public/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/public/src/apiKey.c b/plat/public/src/apiKey.c similarity index 100% rename from omc/plat/public/src/apiKey.c rename to plat/public/src/apiKey.c diff --git a/omc/plat/public/src/asn1.c b/plat/public/src/asn1.c similarity index 100% rename from omc/plat/public/src/asn1.c rename to plat/public/src/asn1.c diff --git a/omc/plat/public/src/bisearch.c b/plat/public/src/bisearch.c similarity index 100% rename from omc/plat/public/src/bisearch.c rename to plat/public/src/bisearch.c diff --git a/omc/plat/public/src/cJSON.c b/plat/public/src/cJSON.c similarity index 100% rename from omc/plat/public/src/cJSON.c rename to plat/public/src/cJSON.c diff --git a/omc/plat/public/src/cdr.c b/plat/public/src/cdr.c similarity index 100% rename from omc/plat/public/src/cdr.c rename to plat/public/src/cdr.c diff --git a/omc/plat/public/src/crypt.c b/plat/public/src/crypt.c similarity index 100% rename from omc/plat/public/src/crypt.c rename to plat/public/src/crypt.c diff --git a/omc/plat/public/src/include/asn1.h b/plat/public/src/include/asn1.h similarity index 100% rename from omc/plat/public/src/include/asn1.h rename to plat/public/src/include/asn1.h diff --git a/omc/plat/public/src/include/bisearch.h b/plat/public/src/include/bisearch.h similarity index 100% rename from omc/plat/public/src/include/bisearch.h rename to plat/public/src/include/bisearch.h diff --git a/omc/plat/public/src/include/cJSON.h b/plat/public/src/include/cJSON.h similarity index 100% rename from omc/plat/public/src/include/cJSON.h rename to plat/public/src/include/cJSON.h diff --git a/omc/plat/public/src/include/cdr.h b/plat/public/src/include/cdr.h similarity index 100% rename from omc/plat/public/src/include/cdr.h rename to plat/public/src/include/cdr.h diff --git a/omc/plat/public/src/include/crypt.h b/plat/public/src/include/crypt.h similarity index 100% rename from omc/plat/public/src/include/crypt.h rename to plat/public/src/include/crypt.h diff --git a/omc/plat/public/src/include/includes.h b/plat/public/src/include/includes.h similarity index 100% rename from omc/plat/public/src/include/includes.h rename to plat/public/src/include/includes.h diff --git a/omc/plat/public/src/include/keyValuePair.h b/plat/public/src/include/keyValuePair.h similarity index 100% rename from omc/plat/public/src/include/keyValuePair.h rename to plat/public/src/include/keyValuePair.h diff --git a/omc/plat/public/src/include/license_id.h b/plat/public/src/include/license_id.h similarity index 100% rename from omc/plat/public/src/include/license_id.h rename to plat/public/src/include/license_id.h diff --git a/omc/plat/public/src/include/list.h b/plat/public/src/include/list.h similarity index 100% rename from omc/plat/public/src/include/list.h rename to plat/public/src/include/list.h diff --git a/omc/plat/public/src/include/memwatch.h b/plat/public/src/include/memwatch.h similarity index 100% rename from omc/plat/public/src/include/memwatch.h rename to plat/public/src/include/memwatch.h diff --git a/omc/plat/public/src/include/omc_public.h b/plat/public/src/include/omc_public.h similarity index 100% rename from omc/plat/public/src/include/omc_public.h rename to plat/public/src/include/omc_public.h diff --git a/omc/plat/public/src/include/pub_base.h b/plat/public/src/include/pub_base.h similarity index 100% rename from omc/plat/public/src/include/pub_base.h rename to plat/public/src/include/pub_base.h diff --git a/omc/plat/public/src/include/pub_debug.h b/plat/public/src/include/pub_debug.h similarity index 100% rename from omc/plat/public/src/include/pub_debug.h rename to plat/public/src/include/pub_debug.h diff --git a/omc/plat/public/src/include/pub_file.h b/plat/public/src/include/pub_file.h similarity index 100% rename from omc/plat/public/src/include/pub_file.h rename to plat/public/src/include/pub_file.h diff --git a/omc/plat/public/src/include/pub_fmt.h b/plat/public/src/include/pub_fmt.h similarity index 100% rename from omc/plat/public/src/include/pub_fmt.h rename to plat/public/src/include/pub_fmt.h diff --git a/omc/plat/public/src/include/pub_include.h b/plat/public/src/include/pub_include.h similarity index 100% rename from omc/plat/public/src/include/pub_include.h rename to plat/public/src/include/pub_include.h diff --git a/omc/plat/public/src/include/pub_inet.h b/plat/public/src/include/pub_inet.h similarity index 100% rename from omc/plat/public/src/include/pub_inet.h rename to plat/public/src/include/pub_inet.h diff --git a/omc/plat/public/src/include/pub_list.h b/plat/public/src/include/pub_list.h similarity index 100% rename from omc/plat/public/src/include/pub_list.h rename to plat/public/src/include/pub_list.h diff --git a/omc/plat/public/src/include/pub_log.h b/plat/public/src/include/pub_log.h similarity index 100% rename from omc/plat/public/src/include/pub_log.h rename to plat/public/src/include/pub_log.h diff --git a/omc/plat/public/src/include/pub_malloc.h b/plat/public/src/include/pub_malloc.h similarity index 100% rename from omc/plat/public/src/include/pub_malloc.h rename to plat/public/src/include/pub_malloc.h diff --git a/omc/plat/public/src/include/pub_netcap.h b/plat/public/src/include/pub_netcap.h similarity index 100% rename from omc/plat/public/src/include/pub_netcap.h rename to plat/public/src/include/pub_netcap.h diff --git a/omc/plat/public/src/include/pub_sdp.h b/plat/public/src/include/pub_sdp.h similarity index 100% rename from omc/plat/public/src/include/pub_sdp.h rename to plat/public/src/include/pub_sdp.h diff --git a/omc/plat/public/src/include/pub_str.h b/plat/public/src/include/pub_str.h similarity index 100% rename from omc/plat/public/src/include/pub_str.h rename to plat/public/src/include/pub_str.h diff --git a/omc/plat/public/src/include/pub_sys.h b/plat/public/src/include/pub_sys.h similarity index 100% rename from omc/plat/public/src/include/pub_sys.h rename to plat/public/src/include/pub_sys.h diff --git a/omc/plat/public/src/include/pub_time.h b/plat/public/src/include/pub_time.h similarity index 100% rename from omc/plat/public/src/include/pub_time.h rename to plat/public/src/include/pub_time.h diff --git a/omc/plat/public/src/include/pub_timer.h b/plat/public/src/include/pub_timer.h similarity index 100% rename from omc/plat/public/src/include/pub_timer.h rename to plat/public/src/include/pub_timer.h diff --git a/omc/plat/public/src/include/pub_wnet.h b/plat/public/src/include/pub_wnet.h similarity index 100% rename from omc/plat/public/src/include/pub_wnet.h rename to plat/public/src/include/pub_wnet.h diff --git a/omc/plat/public/src/include/public.h b/plat/public/src/include/public.h similarity index 100% rename from omc/plat/public/src/include/public.h rename to plat/public/src/include/public.h diff --git a/omc/plat/public/src/include/svrstat.h b/plat/public/src/include/svrstat.h similarity index 100% rename from omc/plat/public/src/include/svrstat.h rename to plat/public/src/include/svrstat.h diff --git a/omc/plat/public/src/list.c b/plat/public/src/list.c similarity index 100% rename from omc/plat/public/src/list.c rename to plat/public/src/list.c diff --git a/omc/plat/public/src/memwatch.c b/plat/public/src/memwatch.c similarity index 100% rename from omc/plat/public/src/memwatch.c rename to plat/public/src/memwatch.c diff --git a/omc/plat/public/src/pub_conf.c b/plat/public/src/pub_conf.c similarity index 100% rename from omc/plat/public/src/pub_conf.c rename to plat/public/src/pub_conf.c diff --git a/omc/plat/public/src/pub_debug.c b/plat/public/src/pub_debug.c similarity index 100% rename from omc/plat/public/src/pub_debug.c rename to plat/public/src/pub_debug.c diff --git a/omc/plat/public/src/pub_file.c b/plat/public/src/pub_file.c similarity index 100% rename from omc/plat/public/src/pub_file.c rename to plat/public/src/pub_file.c diff --git a/omc/plat/public/src/pub_fmt.c b/plat/public/src/pub_fmt.c similarity index 100% rename from omc/plat/public/src/pub_fmt.c rename to plat/public/src/pub_fmt.c diff --git a/omc/plat/public/src/pub_inet.c b/plat/public/src/pub_inet.c similarity index 100% rename from omc/plat/public/src/pub_inet.c rename to plat/public/src/pub_inet.c diff --git a/omc/plat/public/src/pub_log.c b/plat/public/src/pub_log.c similarity index 100% rename from omc/plat/public/src/pub_log.c rename to plat/public/src/pub_log.c diff --git a/omc/plat/public/src/pub_malloc.c b/plat/public/src/pub_malloc.c similarity index 100% rename from omc/plat/public/src/pub_malloc.c rename to plat/public/src/pub_malloc.c diff --git a/omc/plat/public/src/pub_netcap.c b/plat/public/src/pub_netcap.c similarity index 100% rename from omc/plat/public/src/pub_netcap.c rename to plat/public/src/pub_netcap.c diff --git a/omc/plat/public/src/pub_sdp.c b/plat/public/src/pub_sdp.c similarity index 100% rename from omc/plat/public/src/pub_sdp.c rename to plat/public/src/pub_sdp.c diff --git a/omc/plat/public/src/pub_str.c b/plat/public/src/pub_str.c similarity index 100% rename from omc/plat/public/src/pub_str.c rename to plat/public/src/pub_str.c diff --git a/omc/plat/public/src/pub_sys.c b/plat/public/src/pub_sys.c similarity index 100% rename from omc/plat/public/src/pub_sys.c rename to plat/public/src/pub_sys.c diff --git a/omc/plat/public/src/pub_time.c b/plat/public/src/pub_time.c similarity index 100% rename from omc/plat/public/src/pub_time.c rename to plat/public/src/pub_time.c diff --git a/omc/plat/public/src/pub_timer.c b/plat/public/src/pub_timer.c similarity index 100% rename from omc/plat/public/src/pub_timer.c rename to plat/public/src/pub_timer.c diff --git a/omc/plat/public/src/pub_wnet.c b/plat/public/src/pub_wnet.c similarity index 100% rename from omc/plat/public/src/pub_wnet.c rename to plat/public/src/pub_wnet.c diff --git a/omc/plat/public/src/shm.c b/plat/public/src/shm.c similarity index 100% rename from omc/plat/public/src/shm.c rename to plat/public/src/shm.c diff --git a/omc/plat/public/src/uwav/number.c b/plat/public/src/uwav/number.c similarity index 100% rename from omc/plat/public/src/uwav/number.c rename to plat/public/src/uwav/number.c diff --git a/omc/plat/public/src/uwav/number.h b/plat/public/src/uwav/number.h similarity index 100% rename from omc/plat/public/src/uwav/number.h rename to plat/public/src/uwav/number.h diff --git a/omc/plat/public/src/uwav/numgrp.c b/plat/public/src/uwav/numgrp.c similarity index 100% rename from omc/plat/public/src/uwav/numgrp.c rename to plat/public/src/uwav/numgrp.c diff --git a/omc/plat/public/src/uwav/numgrp.h b/plat/public/src/uwav/numgrp.h similarity index 100% rename from omc/plat/public/src/uwav/numgrp.h rename to plat/public/src/uwav/numgrp.h diff --git a/omc/plat/public/ut/asn.1/asntest.c b/plat/public/ut/asn.1/asntest.c similarity index 100% rename from omc/plat/public/ut/asn.1/asntest.c rename to plat/public/ut/asn.1/asntest.c diff --git a/omc/plat/public/ut/bisearch/bisearch_test.c b/plat/public/ut/bisearch/bisearch_test.c similarity index 100% rename from omc/plat/public/ut/bisearch/bisearch_test.c rename to plat/public/ut/bisearch/bisearch_test.c diff --git a/omc/plat/public/ut/debug_api/debug b/plat/public/ut/debug_api/debug similarity index 100% rename from omc/plat/public/ut/debug_api/debug rename to plat/public/ut/debug_api/debug diff --git a/omc/plat/public/ut/debug_api/wxc_debug_test.c b/plat/public/ut/debug_api/wxc_debug_test.c similarity index 100% rename from omc/plat/public/ut/debug_api/wxc_debug_test.c rename to plat/public/ut/debug_api/wxc_debug_test.c diff --git a/omc/plat/public/ut/function.c b/plat/public/ut/function.c similarity index 100% rename from omc/plat/public/ut/function.c rename to plat/public/ut/function.c diff --git a/omc/plat/public/ut/inet/pub_inet_test.c b/plat/public/ut/inet/pub_inet_test.c similarity index 100% rename from omc/plat/public/ut/inet/pub_inet_test.c rename to plat/public/ut/inet/pub_inet_test.c diff --git a/omc/plat/public_bak/ut/main/Makefile b/plat/public/ut/main/Makefile similarity index 98% rename from omc/plat/public_bak/ut/main/Makefile rename to plat/public/ut/main/Makefile index 6c0aba1..dc26b04 100644 --- a/omc/plat/public_bak/ut/main/Makefile +++ b/plat/public/ut/main/Makefile @@ -92,7 +92,7 @@ COVER_REPORT_PATH = ./ut/ut_doc/output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/public/ut/main/src/main.c b/plat/public/ut/main/src/main.c similarity index 100% rename from omc/plat/public/ut/main/src/main.c rename to plat/public/ut/main/src/main.c diff --git a/omc/plat/public/ut/public_test/public_test.c b/plat/public/ut/public_test/public_test.c similarity index 100% rename from omc/plat/public/ut/public_test/public_test.c rename to plat/public/ut/public_test/public_test.c diff --git a/omc/plat/public/ut/timer/Makefile b/plat/public/ut/timer/Makefile similarity index 97% rename from omc/plat/public/ut/timer/Makefile rename to plat/public/ut/timer/Makefile index b1b556c..acd54b0 100644 --- a/omc/plat/public/ut/timer/Makefile +++ b/plat/public/ut/timer/Makefile @@ -69,4 +69,4 @@ COVER_REPORT_PATH = ./ut/ut_doc/output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/public/ut/timer/wxc_tmtest.c b/plat/public/ut/timer/wxc_tmtest.c similarity index 100% rename from omc/plat/public/ut/timer/wxc_tmtest.c rename to plat/public/ut/timer/wxc_tmtest.c diff --git a/omc/plat/public_bak/Makefile b/plat/public_bak/Makefile similarity index 97% rename from omc/plat/public_bak/Makefile rename to plat/public_bak/Makefile index 842a1e8..49cad84 100644 --- a/omc/plat/public_bak/Makefile +++ b/plat/public_bak/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/public_bak/src/asn1.c b/plat/public_bak/src/asn1.c similarity index 100% rename from omc/plat/public_bak/src/asn1.c rename to plat/public_bak/src/asn1.c diff --git a/omc/plat/public_bak/src/bisearch.c b/plat/public_bak/src/bisearch.c similarity index 100% rename from omc/plat/public_bak/src/bisearch.c rename to plat/public_bak/src/bisearch.c diff --git a/omc/plat/public_bak/src/crypt.c b/plat/public_bak/src/crypt.c similarity index 100% rename from omc/plat/public_bak/src/crypt.c rename to plat/public_bak/src/crypt.c diff --git a/omc/plat/public_bak/src/include/asn1.h b/plat/public_bak/src/include/asn1.h similarity index 100% rename from omc/plat/public_bak/src/include/asn1.h rename to plat/public_bak/src/include/asn1.h diff --git a/omc/plat/public_bak/src/include/bisearch.h b/plat/public_bak/src/include/bisearch.h similarity index 100% rename from omc/plat/public_bak/src/include/bisearch.h rename to plat/public_bak/src/include/bisearch.h diff --git a/omc/plat/public_bak/src/include/crypt.h b/plat/public_bak/src/include/crypt.h similarity index 100% rename from omc/plat/public_bak/src/include/crypt.h rename to plat/public_bak/src/include/crypt.h diff --git a/omc/plat/public_bak/src/include/includes.h b/plat/public_bak/src/include/includes.h similarity index 100% rename from omc/plat/public_bak/src/include/includes.h rename to plat/public_bak/src/include/includes.h diff --git a/omc/plat/public_bak/src/include/license_id.h b/plat/public_bak/src/include/license_id.h similarity index 100% rename from omc/plat/public_bak/src/include/license_id.h rename to plat/public_bak/src/include/license_id.h diff --git a/omc/plat/public_bak/src/include/memwatch.h b/plat/public_bak/src/include/memwatch.h similarity index 100% rename from omc/plat/public_bak/src/include/memwatch.h rename to plat/public_bak/src/include/memwatch.h diff --git a/omc/plat/public_bak/src/include/omc_public.h b/plat/public_bak/src/include/omc_public.h similarity index 100% rename from omc/plat/public_bak/src/include/omc_public.h rename to plat/public_bak/src/include/omc_public.h diff --git a/omc/plat/public_bak/src/include/pub_base.h b/plat/public_bak/src/include/pub_base.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_base.h rename to plat/public_bak/src/include/pub_base.h diff --git a/omc/plat/public_bak/src/include/pub_debug.h b/plat/public_bak/src/include/pub_debug.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_debug.h rename to plat/public_bak/src/include/pub_debug.h diff --git a/omc/plat/public_bak/src/include/pub_file.h b/plat/public_bak/src/include/pub_file.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_file.h rename to plat/public_bak/src/include/pub_file.h diff --git a/omc/plat/public_bak/src/include/pub_fmt.h b/plat/public_bak/src/include/pub_fmt.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_fmt.h rename to plat/public_bak/src/include/pub_fmt.h diff --git a/omc/plat/public_bak/src/include/pub_include.h b/plat/public_bak/src/include/pub_include.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_include.h rename to plat/public_bak/src/include/pub_include.h diff --git a/omc/plat/public_bak/src/include/pub_inet.h b/plat/public_bak/src/include/pub_inet.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_inet.h rename to plat/public_bak/src/include/pub_inet.h diff --git a/omc/plat/public_bak/src/include/pub_list.h b/plat/public_bak/src/include/pub_list.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_list.h rename to plat/public_bak/src/include/pub_list.h diff --git a/omc/plat/public_bak/src/include/pub_log.h b/plat/public_bak/src/include/pub_log.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_log.h rename to plat/public_bak/src/include/pub_log.h diff --git a/omc/plat/public_bak/src/include/pub_malloc.h b/plat/public_bak/src/include/pub_malloc.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_malloc.h rename to plat/public_bak/src/include/pub_malloc.h diff --git a/omc/plat/public_bak/src/include/pub_netcap.h b/plat/public_bak/src/include/pub_netcap.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_netcap.h rename to plat/public_bak/src/include/pub_netcap.h diff --git a/omc/plat/public_bak/src/include/pub_sdp.h b/plat/public_bak/src/include/pub_sdp.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_sdp.h rename to plat/public_bak/src/include/pub_sdp.h diff --git a/omc/plat/public_bak/src/include/pub_str.h b/plat/public_bak/src/include/pub_str.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_str.h rename to plat/public_bak/src/include/pub_str.h diff --git a/omc/plat/public_bak/src/include/pub_sys.h b/plat/public_bak/src/include/pub_sys.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_sys.h rename to plat/public_bak/src/include/pub_sys.h diff --git a/omc/plat/public_bak/src/include/pub_time.h b/plat/public_bak/src/include/pub_time.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_time.h rename to plat/public_bak/src/include/pub_time.h diff --git a/omc/plat/public_bak/src/include/pub_timer.h b/plat/public_bak/src/include/pub_timer.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_timer.h rename to plat/public_bak/src/include/pub_timer.h diff --git a/omc/plat/public_bak/src/include/pub_wnet.h b/plat/public_bak/src/include/pub_wnet.h similarity index 100% rename from omc/plat/public_bak/src/include/pub_wnet.h rename to plat/public_bak/src/include/pub_wnet.h diff --git a/omc/plat/public_bak/src/include/public.h b/plat/public_bak/src/include/public.h similarity index 100% rename from omc/plat/public_bak/src/include/public.h rename to plat/public_bak/src/include/public.h diff --git a/omc/plat/public_bak/src/include/svrstat.h b/plat/public_bak/src/include/svrstat.h similarity index 100% rename from omc/plat/public_bak/src/include/svrstat.h rename to plat/public_bak/src/include/svrstat.h diff --git a/omc/plat/public_bak/src/memwatch.c b/plat/public_bak/src/memwatch.c similarity index 100% rename from omc/plat/public_bak/src/memwatch.c rename to plat/public_bak/src/memwatch.c diff --git a/omc/plat/public_bak/src/pub_conf.c b/plat/public_bak/src/pub_conf.c similarity index 100% rename from omc/plat/public_bak/src/pub_conf.c rename to plat/public_bak/src/pub_conf.c diff --git a/omc/plat/public_bak/src/pub_debug.c b/plat/public_bak/src/pub_debug.c similarity index 100% rename from omc/plat/public_bak/src/pub_debug.c rename to plat/public_bak/src/pub_debug.c diff --git a/omc/plat/public_bak/src/pub_file.c b/plat/public_bak/src/pub_file.c similarity index 100% rename from omc/plat/public_bak/src/pub_file.c rename to plat/public_bak/src/pub_file.c diff --git a/omc/plat/public_bak/src/pub_fmt.c b/plat/public_bak/src/pub_fmt.c similarity index 100% rename from omc/plat/public_bak/src/pub_fmt.c rename to plat/public_bak/src/pub_fmt.c diff --git a/omc/plat/public_bak/src/pub_inet.c b/plat/public_bak/src/pub_inet.c similarity index 100% rename from omc/plat/public_bak/src/pub_inet.c rename to plat/public_bak/src/pub_inet.c diff --git a/omc/plat/public_bak/src/pub_log.c b/plat/public_bak/src/pub_log.c similarity index 100% rename from omc/plat/public_bak/src/pub_log.c rename to plat/public_bak/src/pub_log.c diff --git a/omc/plat/public_bak/src/pub_malloc.c b/plat/public_bak/src/pub_malloc.c similarity index 100% rename from omc/plat/public_bak/src/pub_malloc.c rename to plat/public_bak/src/pub_malloc.c diff --git a/omc/plat/public_bak/src/pub_netcap.c b/plat/public_bak/src/pub_netcap.c similarity index 100% rename from omc/plat/public_bak/src/pub_netcap.c rename to plat/public_bak/src/pub_netcap.c diff --git a/omc/plat/public_bak/src/pub_sdp.c b/plat/public_bak/src/pub_sdp.c similarity index 100% rename from omc/plat/public_bak/src/pub_sdp.c rename to plat/public_bak/src/pub_sdp.c diff --git a/omc/plat/public_bak/src/pub_str.c b/plat/public_bak/src/pub_str.c similarity index 100% rename from omc/plat/public_bak/src/pub_str.c rename to plat/public_bak/src/pub_str.c diff --git a/omc/plat/public_bak/src/pub_sys.c b/plat/public_bak/src/pub_sys.c similarity index 100% rename from omc/plat/public_bak/src/pub_sys.c rename to plat/public_bak/src/pub_sys.c diff --git a/omc/plat/public_bak/src/pub_time.c b/plat/public_bak/src/pub_time.c similarity index 100% rename from omc/plat/public_bak/src/pub_time.c rename to plat/public_bak/src/pub_time.c diff --git a/omc/plat/public_bak/src/pub_timer.c b/plat/public_bak/src/pub_timer.c similarity index 100% rename from omc/plat/public_bak/src/pub_timer.c rename to plat/public_bak/src/pub_timer.c diff --git a/omc/plat/public_bak/src/pub_wnet.c b/plat/public_bak/src/pub_wnet.c similarity index 100% rename from omc/plat/public_bak/src/pub_wnet.c rename to plat/public_bak/src/pub_wnet.c diff --git a/omc/plat/public_bak/src/uwav/number.c b/plat/public_bak/src/uwav/number.c similarity index 100% rename from omc/plat/public_bak/src/uwav/number.c rename to plat/public_bak/src/uwav/number.c diff --git a/omc/plat/public_bak/src/uwav/number.h b/plat/public_bak/src/uwav/number.h similarity index 100% rename from omc/plat/public_bak/src/uwav/number.h rename to plat/public_bak/src/uwav/number.h diff --git a/omc/plat/public_bak/src/uwav/numgrp.c b/plat/public_bak/src/uwav/numgrp.c similarity index 100% rename from omc/plat/public_bak/src/uwav/numgrp.c rename to plat/public_bak/src/uwav/numgrp.c diff --git a/omc/plat/public_bak/src/uwav/numgrp.h b/plat/public_bak/src/uwav/numgrp.h similarity index 100% rename from omc/plat/public_bak/src/uwav/numgrp.h rename to plat/public_bak/src/uwav/numgrp.h diff --git a/omc/plat/public_bak/ut/asn.1/asntest.c b/plat/public_bak/ut/asn.1/asntest.c similarity index 100% rename from omc/plat/public_bak/ut/asn.1/asntest.c rename to plat/public_bak/ut/asn.1/asntest.c diff --git a/omc/plat/public_bak/ut/bisearch/bisearch_test.c b/plat/public_bak/ut/bisearch/bisearch_test.c similarity index 100% rename from omc/plat/public_bak/ut/bisearch/bisearch_test.c rename to plat/public_bak/ut/bisearch/bisearch_test.c diff --git a/omc/plat/public_bak/ut/debug_api/debug b/plat/public_bak/ut/debug_api/debug similarity index 100% rename from omc/plat/public_bak/ut/debug_api/debug rename to plat/public_bak/ut/debug_api/debug diff --git a/omc/plat/public_bak/ut/debug_api/wxc_debug_test.c b/plat/public_bak/ut/debug_api/wxc_debug_test.c similarity index 100% rename from omc/plat/public_bak/ut/debug_api/wxc_debug_test.c rename to plat/public_bak/ut/debug_api/wxc_debug_test.c diff --git a/omc/plat/public_bak/ut/function.c b/plat/public_bak/ut/function.c similarity index 100% rename from omc/plat/public_bak/ut/function.c rename to plat/public_bak/ut/function.c diff --git a/omc/plat/public_bak/ut/inet/pub_inet_test.c b/plat/public_bak/ut/inet/pub_inet_test.c similarity index 100% rename from omc/plat/public_bak/ut/inet/pub_inet_test.c rename to plat/public_bak/ut/inet/pub_inet_test.c diff --git a/omc/plat/public/ut/main/Makefile b/plat/public_bak/ut/main/Makefile similarity index 98% rename from omc/plat/public/ut/main/Makefile rename to plat/public_bak/ut/main/Makefile index 6c0aba1..dc26b04 100644 --- a/omc/plat/public/ut/main/Makefile +++ b/plat/public_bak/ut/main/Makefile @@ -92,7 +92,7 @@ COVER_REPORT_PATH = ./ut/ut_doc/output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/public_bak/ut/main/src/main.c b/plat/public_bak/ut/main/src/main.c similarity index 100% rename from omc/plat/public_bak/ut/main/src/main.c rename to plat/public_bak/ut/main/src/main.c diff --git a/omc/plat/public_bak/ut/public_test/public_test.c b/plat/public_bak/ut/public_test/public_test.c similarity index 100% rename from omc/plat/public_bak/ut/public_test/public_test.c rename to plat/public_bak/ut/public_test/public_test.c diff --git a/omc/plat/public_bak/ut/timer/Makefile b/plat/public_bak/ut/timer/Makefile similarity index 97% rename from omc/plat/public_bak/ut/timer/Makefile rename to plat/public_bak/ut/timer/Makefile index b1b556c..acd54b0 100644 --- a/omc/plat/public_bak/ut/timer/Makefile +++ b/plat/public_bak/ut/timer/Makefile @@ -69,4 +69,4 @@ COVER_REPORT_PATH = ./ut/ut_doc/output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/public_bak/ut/timer/wxc_tmtest.c b/plat/public_bak/ut/timer/wxc_tmtest.c similarity index 100% rename from omc/plat/public_bak/ut/timer/wxc_tmtest.c rename to plat/public_bak/ut/timer/wxc_tmtest.c diff --git a/omc/plat/rtp/Makefile b/plat/rtp/Makefile similarity index 97% rename from omc/plat/rtp/Makefile rename to plat/rtp/Makefile index ed316cb..0b4eef3 100644 --- a/omc/plat/rtp/Makefile +++ b/plat/rtp/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/rtp/src/include/rtp.h b/plat/rtp/src/include/rtp.h similarity index 100% rename from omc/plat/rtp/src/include/rtp.h rename to plat/rtp/src/include/rtp.h diff --git a/omc/plat/rtp/src/include/rtp_const.h b/plat/rtp/src/include/rtp_const.h similarity index 100% rename from omc/plat/rtp/src/include/rtp_const.h rename to plat/rtp/src/include/rtp_const.h diff --git a/omc/plat/rtp/src/include/rtp_def.h b/plat/rtp/src/include/rtp_def.h similarity index 100% rename from omc/plat/rtp/src/include/rtp_def.h rename to plat/rtp/src/include/rtp_def.h diff --git a/omc/plat/rtp/src/include/rtp_ext.h b/plat/rtp/src/include/rtp_ext.h similarity index 100% rename from omc/plat/rtp/src/include/rtp_ext.h rename to plat/rtp/src/include/rtp_ext.h diff --git a/omc/plat/rtp/src/include/rtp_msg.h b/plat/rtp/src/include/rtp_msg.h similarity index 100% rename from omc/plat/rtp/src/include/rtp_msg.h rename to plat/rtp/src/include/rtp_msg.h diff --git a/omc/plat/rtp/src/include/rtp_pub.h b/plat/rtp/src/include/rtp_pub.h similarity index 100% rename from omc/plat/rtp/src/include/rtp_pub.h rename to plat/rtp/src/include/rtp_pub.h diff --git a/omc/plat/rtp/src/include/rtp_struct.h b/plat/rtp/src/include/rtp_struct.h similarity index 100% rename from omc/plat/rtp/src/include/rtp_struct.h rename to plat/rtp/src/include/rtp_struct.h diff --git a/omc/plat/rtp/src/rtp.c b/plat/rtp/src/rtp.c similarity index 100% rename from omc/plat/rtp/src/rtp.c rename to plat/rtp/src/rtp.c diff --git a/omc/plat/rtp/src/rtp_msg.c b/plat/rtp/src/rtp_msg.c similarity index 100% rename from omc/plat/rtp/src/rtp_msg.c rename to plat/rtp/src/rtp_msg.c diff --git a/omc/plat/sccp/Makefile b/plat/sccp/Makefile similarity index 97% rename from omc/plat/sccp/Makefile rename to plat/sccp/Makefile index f6789c6..241e6ea 100644 --- a/omc/plat/sccp/Makefile +++ b/plat/sccp/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/sccp/src/include/sccp.h b/plat/sccp/src/include/sccp.h similarity index 100% rename from omc/plat/sccp/src/include/sccp.h rename to plat/sccp/src/include/sccp.h diff --git a/omc/plat/sccp/src/include/sccp_func.h b/plat/sccp/src/include/sccp_func.h similarity index 100% rename from omc/plat/sccp/src/include/sccp_func.h rename to plat/sccp/src/include/sccp_func.h diff --git a/omc/plat/sccp/src/include/sccp_pub.h b/plat/sccp/src/include/sccp_pub.h similarity index 100% rename from omc/plat/sccp/src/include/sccp_pub.h rename to plat/sccp/src/include/sccp_pub.h diff --git a/omc/plat/sccp/src/include/sccpconst.h b/plat/sccp/src/include/sccpconst.h similarity index 100% rename from omc/plat/sccp/src/include/sccpconst.h rename to plat/sccp/src/include/sccpconst.h diff --git a/omc/plat/sccp/src/include/scoc.h b/plat/sccp/src/include/scoc.h similarity index 100% rename from omc/plat/sccp/src/include/scoc.h rename to plat/sccp/src/include/scoc.h diff --git a/omc/plat/sccp/src/include/scoc_if.h b/plat/sccp/src/include/scoc_if.h similarity index 100% rename from omc/plat/sccp/src/include/scoc_if.h rename to plat/sccp/src/include/scoc_if.h diff --git a/omc/plat/sccp/src/sccp.c b/plat/sccp/src/sccp.c similarity index 100% rename from omc/plat/sccp/src/sccp.c rename to plat/sccp/src/sccp.c diff --git a/omc/plat/sccp/src/sccp_debug.c b/plat/sccp/src/sccp_debug.c similarity index 100% rename from omc/plat/sccp/src/sccp_debug.c rename to plat/sccp/src/sccp_debug.c diff --git a/omc/plat/sccp/src/sccp_func.c b/plat/sccp/src/sccp_func.c similarity index 100% rename from omc/plat/sccp/src/sccp_func.c rename to plat/sccp/src/sccp_func.c diff --git a/omc/plat/sccp/src/sccp_gtt.c b/plat/sccp/src/sccp_gtt.c similarity index 100% rename from omc/plat/sccp/src/sccp_gtt.c rename to plat/sccp/src/sccp_gtt.c diff --git a/omc/plat/sccp/src/sccp_log.c b/plat/sccp/src/sccp_log.c similarity index 100% rename from omc/plat/sccp/src/sccp_log.c rename to plat/sccp/src/sccp_log.c diff --git a/omc/plat/sccp/src/sccp_mib.c b/plat/sccp/src/sccp_mib.c similarity index 100% rename from omc/plat/sccp/src/sccp_mib.c rename to plat/sccp/src/sccp_mib.c diff --git a/omc/plat/sccp/src/sccp_msg.c b/plat/sccp/src/sccp_msg.c similarity index 100% rename from omc/plat/sccp/src/sccp_msg.c rename to plat/sccp/src/sccp_msg.c diff --git a/omc/plat/sccp/src/sccp_param.c b/plat/sccp/src/sccp_param.c similarity index 100% rename from omc/plat/sccp/src/sccp_param.c rename to plat/sccp/src/sccp_param.c diff --git a/omc/plat/sccp/src/sclc.c b/plat/sccp/src/sclc.c similarity index 100% rename from omc/plat/sccp/src/sclc.c rename to plat/sccp/src/sclc.c diff --git a/omc/plat/sccp/src/scmg.c b/plat/sccp/src/scmg.c similarity index 100% rename from omc/plat/sccp/src/scmg.c rename to plat/sccp/src/scmg.c diff --git a/omc/plat/sccp/src/scoc.c b/plat/sccp/src/scoc.c similarity index 100% rename from omc/plat/sccp/src/scoc.c rename to plat/sccp/src/scoc.c diff --git a/omc/plat/sccp/src/scoc_fsm.c b/plat/sccp/src/scoc_fsm.c similarity index 100% rename from omc/plat/sccp/src/scoc_fsm.c rename to plat/sccp/src/scoc_fsm.c diff --git a/omc/plat/sccp/src/scoc_func.c b/plat/sccp/src/scoc_func.c similarity index 100% rename from omc/plat/sccp/src/scoc_func.c rename to plat/sccp/src/scoc_func.c diff --git a/omc/plat/sccp/src/scoc_if.c b/plat/sccp/src/scoc_if.c similarity index 100% rename from omc/plat/sccp/src/scoc_if.c rename to plat/sccp/src/scoc_if.c diff --git a/omc/plat/sccp/src/scoc_pool.c b/plat/sccp/src/scoc_pool.c similarity index 100% rename from omc/plat/sccp/src/scoc_pool.c rename to plat/sccp/src/scoc_pool.c diff --git a/omc/plat/sccp/src/scoc_pri.c b/plat/sccp/src/scoc_pri.c similarity index 100% rename from omc/plat/sccp/src/scoc_pri.c rename to plat/sccp/src/scoc_pri.c diff --git a/omc/plat/sccp/src/scrc.c b/plat/sccp/src/scrc.c similarity index 100% rename from omc/plat/sccp/src/scrc.c rename to plat/sccp/src/scrc.c diff --git a/omc/plat/sccp/ut/fsmtest/Makefile b/plat/sccp/ut/fsmtest/Makefile similarity index 98% rename from omc/plat/sccp/ut/fsmtest/Makefile rename to plat/sccp/ut/fsmtest/Makefile index b4de194..f729d7c 100644 --- a/omc/plat/sccp/ut/fsmtest/Makefile +++ b/plat/sccp/ut/fsmtest/Makefile @@ -95,4 +95,4 @@ COVER_REPORT_PATH = ./ut/ut_doc/output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/HlrSysPara b/plat/sccp/ut/fsmtest/bin/conf/HlrSysPara similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/HlrSysPara rename to plat/sccp/ut/fsmtest/bin/conf/HlrSysPara diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/cap_acn.conf b/plat/sccp/ut/fsmtest/bin/conf/cap_acn.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/cap_acn.conf rename to plat/sccp/ut/fsmtest/bin/conf/cap_acn.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/cap_operation.conf b/plat/sccp/ut/fsmtest/bin/conf/cap_operation.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/cap_operation.conf rename to plat/sccp/ut/fsmtest/bin/conf/cap_operation.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/cc_table.conf b/plat/sccp/ut/fsmtest/bin/conf/cc_table.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/cc_table.conf rename to plat/sccp/ut/fsmtest/bin/conf/cc_table.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/conv_prefix.conf b/plat/sccp/ut/fsmtest/bin/conf/conv_prefix.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/conv_prefix.conf rename to plat/sccp/ut/fsmtest/bin/conf/conv_prefix.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/hae_sys.conf b/plat/sccp/ut/fsmtest/bin/conf/hae_sys.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/hae_sys.conf rename to plat/sccp/ut/fsmtest/bin/conf/hae_sys.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/help_page b/plat/sccp/ut/fsmtest/bin/conf/help_page similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/help_page rename to plat/sccp/ut/fsmtest/bin/conf/help_page diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/hlr_parambit.conf b/plat/sccp/ut/fsmtest/bin/conf/hlr_parambit.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/hlr_parambit.conf rename to plat/sccp/ut/fsmtest/bin/conf/hlr_parambit.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/iptrans.conf b/plat/sccp/ut/fsmtest/bin/conf/iptrans.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/iptrans.conf rename to plat/sccp/ut/fsmtest/bin/conf/iptrans.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/map_acn.conf b/plat/sccp/ut/fsmtest/bin/conf/map_acn.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/map_acn.conf rename to plat/sccp/ut/fsmtest/bin/conf/map_acn.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/map_operation.conf b/plat/sccp/ut/fsmtest/bin/conf/map_operation.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/map_operation.conf rename to plat/sccp/ut/fsmtest/bin/conf/map_operation.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/menu_page b/plat/sccp/ut/fsmtest/bin/conf/menu_page similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/menu_page rename to plat/sccp/ut/fsmtest/bin/conf/menu_page diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/mtp3.conf b/plat/sccp/ut/fsmtest/bin/conf/mtp3.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/mtp3.conf rename to plat/sccp/ut/fsmtest/bin/conf/mtp3.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/ppsConf.txt b/plat/sccp/ut/fsmtest/bin/conf/ppsConf.txt similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/ppsConf.txt rename to plat/sccp/ut/fsmtest/bin/conf/ppsConf.txt diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/profile b/plat/sccp/ut/fsmtest/bin/conf/profile similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/profile rename to plat/sccp/ut/fsmtest/bin/conf/profile diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/sccp.conf b/plat/sccp/ut/fsmtest/bin/conf/sccp.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/sccp.conf rename to plat/sccp/ut/fsmtest/bin/conf/sccp.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/sccp_test.conf b/plat/sccp/ut/fsmtest/bin/conf/sccp_test.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/sccp_test.conf rename to plat/sccp/ut/fsmtest/bin/conf/sccp_test.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/smsc_csta.conf b/plat/sccp/ut/fsmtest/bin/conf/smsc_csta.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/smsc_csta.conf rename to plat/sccp/ut/fsmtest/bin/conf/smsc_csta.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/smsc_parambit.conf b/plat/sccp/ut/fsmtest/bin/conf/smsc_parambit.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/smsc_parambit.conf rename to plat/sccp/ut/fsmtest/bin/conf/smsc_parambit.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/smsc_sys.conf b/plat/sccp/ut/fsmtest/bin/conf/smsc_sys.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/smsc_sys.conf rename to plat/sccp/ut/fsmtest/bin/conf/smsc_sys.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/system.ini b/plat/sccp/ut/fsmtest/bin/conf/system.ini similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/system.ini rename to plat/sccp/ut/fsmtest/bin/conf/system.ini diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/wxc2_sys.conf b/plat/sccp/ut/fsmtest/bin/conf/wxc2_sys.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/wxc2_sys.conf rename to plat/sccp/ut/fsmtest/bin/conf/wxc2_sys.conf diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/wxc2exit.txt b/plat/sccp/ut/fsmtest/bin/conf/wxc2exit.txt similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/wxc2exit.txt rename to plat/sccp/ut/fsmtest/bin/conf/wxc2exit.txt diff --git a/omc/plat/sccp/ut/fsmtest/bin/conf/xap_sysparam.conf b/plat/sccp/ut/fsmtest/bin/conf/xap_sysparam.conf similarity index 100% rename from omc/plat/sccp/ut/fsmtest/bin/conf/xap_sysparam.conf rename to plat/sccp/ut/fsmtest/bin/conf/xap_sysparam.conf diff --git a/omc/plat/sccp/ut/fsmtest/obj/sccp_test.gcno b/plat/sccp/ut/fsmtest/obj/sccp_test.gcno similarity index 100% rename from omc/plat/sccp/ut/fsmtest/obj/sccp_test.gcno rename to plat/sccp/ut/fsmtest/obj/sccp_test.gcno diff --git a/omc/plat/sccp/ut/fsmtest/obj/scoc_test.gcno b/plat/sccp/ut/fsmtest/obj/scoc_test.gcno similarity index 100% rename from omc/plat/sccp/ut/fsmtest/obj/scoc_test.gcno rename to plat/sccp/ut/fsmtest/obj/scoc_test.gcno diff --git a/omc/plat/sccp/ut/fsmtest/sccp_test.c b/plat/sccp/ut/fsmtest/sccp_test.c similarity index 100% rename from omc/plat/sccp/ut/fsmtest/sccp_test.c rename to plat/sccp/ut/fsmtest/sccp_test.c diff --git a/omc/plat/sccp/ut/fsmtest/scoc_test.c b/plat/sccp/ut/fsmtest/scoc_test.c similarity index 100% rename from omc/plat/sccp/ut/fsmtest/scoc_test.c rename to plat/sccp/ut/fsmtest/scoc_test.c diff --git a/omc/plat/scf/Makefile b/plat/scf/Makefile similarity index 97% rename from omc/plat/scf/Makefile rename to plat/scf/Makefile index b08238e..bf513d5 100644 --- a/omc/plat/scf/Makefile +++ b/plat/scf/Makefile @@ -80,6 +80,7 @@ TEST_OBJ_PATH = ../../obj CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = /ut/ut_doc/output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -89,4 +90,4 @@ COVER_REPORT_PATH = /ut/ut_doc/output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/scf/src/include/scfdef.h b/plat/scf/src/include/scfdef.h similarity index 100% rename from omc/plat/scf/src/include/scfdef.h rename to plat/scf/src/include/scfdef.h diff --git a/omc/plat/scf/src/include/scfmsg.h b/plat/scf/src/include/scfmsg.h similarity index 100% rename from omc/plat/scf/src/include/scfmsg.h rename to plat/scf/src/include/scfmsg.h diff --git a/omc/plat/scf/src/include/scfpub.h b/plat/scf/src/include/scfpub.h similarity index 100% rename from omc/plat/scf/src/include/scfpub.h rename to plat/scf/src/include/scfpub.h diff --git a/omc/plat/scf/src/scfdef.h b/plat/scf/src/scfdef.h similarity index 100% rename from omc/plat/scf/src/scfdef.h rename to plat/scf/src/scfdef.h diff --git a/omc/plat/scf/src/scfmsg.c b/plat/scf/src/scfmsg.c similarity index 100% rename from omc/plat/scf/src/scfmsg.c rename to plat/scf/src/scfmsg.c diff --git a/omc/plat/scf/src/scfmsg.h b/plat/scf/src/scfmsg.h similarity index 100% rename from omc/plat/scf/src/scfmsg.h rename to plat/scf/src/scfmsg.h diff --git a/omc/plat/scf/src/scfpub.h b/plat/scf/src/scfpub.h similarity index 100% rename from omc/plat/scf/src/scfpub.h rename to plat/scf/src/scfpub.h diff --git a/omc/plat/scf/src/scsm.c b/plat/scf/src/scsm.c similarity index 100% rename from omc/plat/scf/src/scsm.c rename to plat/scf/src/scsm.c diff --git a/omc/plat/sip/Makefile b/plat/sip/Makefile similarity index 97% rename from omc/plat/sip/Makefile rename to plat/sip/Makefile index ca5f765..0546e71 100644 --- a/omc/plat/sip/Makefile +++ b/plat/sip/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/sip/src/include/sip.h b/plat/sip/src/include/sip.h similarity index 100% rename from omc/plat/sip/src/include/sip.h rename to plat/sip/src/include/sip.h diff --git a/omc/plat/sip/src/include/sip_const.h b/plat/sip/src/include/sip_const.h similarity index 100% rename from omc/plat/sip/src/include/sip_const.h rename to plat/sip/src/include/sip_const.h diff --git a/omc/plat/sip/src/include/sip_debug.h b/plat/sip/src/include/sip_debug.h similarity index 100% rename from omc/plat/sip/src/include/sip_debug.h rename to plat/sip/src/include/sip_debug.h diff --git a/omc/plat/sip/src/include/sip_def.h b/plat/sip/src/include/sip_def.h similarity index 100% rename from omc/plat/sip/src/include/sip_def.h rename to plat/sip/src/include/sip_def.h diff --git a/omc/plat/sip/src/include/sip_ext.h b/plat/sip/src/include/sip_ext.h similarity index 100% rename from omc/plat/sip/src/include/sip_ext.h rename to plat/sip/src/include/sip_ext.h diff --git a/omc/plat/sip/src/include/sip_msg.h b/plat/sip/src/include/sip_msg.h similarity index 100% rename from omc/plat/sip/src/include/sip_msg.h rename to plat/sip/src/include/sip_msg.h diff --git a/omc/plat/sip/src/include/sip_msg_encode.h b/plat/sip/src/include/sip_msg_encode.h similarity index 100% rename from omc/plat/sip/src/include/sip_msg_encode.h rename to plat/sip/src/include/sip_msg_encode.h diff --git a/omc/plat/sip/src/include/sip_msg_parse.h b/plat/sip/src/include/sip_msg_parse.h similarity index 100% rename from omc/plat/sip/src/include/sip_msg_parse.h rename to plat/sip/src/include/sip_msg_parse.h diff --git a/omc/plat/sip/src/include/sip_pub.h b/plat/sip/src/include/sip_pub.h similarity index 100% rename from omc/plat/sip/src/include/sip_pub.h rename to plat/sip/src/include/sip_pub.h diff --git a/omc/plat/sip/src/include/sip_struct.h b/plat/sip/src/include/sip_struct.h similarity index 100% rename from omc/plat/sip/src/include/sip_struct.h rename to plat/sip/src/include/sip_struct.h diff --git a/omc/plat/sip/src/include/sip_transaction.h b/plat/sip/src/include/sip_transaction.h similarity index 100% rename from omc/plat/sip/src/include/sip_transaction.h rename to plat/sip/src/include/sip_transaction.h diff --git a/omc/plat/sip/src/include/sip_transport.h b/plat/sip/src/include/sip_transport.h similarity index 100% rename from omc/plat/sip/src/include/sip_transport.h rename to plat/sip/src/include/sip_transport.h diff --git a/omc/plat/sip/src/include/sip_ua.h b/plat/sip/src/include/sip_ua.h similarity index 100% rename from omc/plat/sip/src/include/sip_ua.h rename to plat/sip/src/include/sip_ua.h diff --git a/omc/plat/sip/src/include/sip_ua_const.h b/plat/sip/src/include/sip_ua_const.h similarity index 100% rename from omc/plat/sip/src/include/sip_ua_const.h rename to plat/sip/src/include/sip_ua_const.h diff --git a/omc/plat/sip/src/include/sip_ua_def.h b/plat/sip/src/include/sip_ua_def.h similarity index 100% rename from omc/plat/sip/src/include/sip_ua_def.h rename to plat/sip/src/include/sip_ua_def.h diff --git a/omc/plat/sip/src/include/sip_ua_dialog.h b/plat/sip/src/include/sip_ua_dialog.h similarity index 100% rename from omc/plat/sip/src/include/sip_ua_dialog.h rename to plat/sip/src/include/sip_ua_dialog.h diff --git a/omc/plat/sip/src/include/sip_ua_ext.h b/plat/sip/src/include/sip_ua_ext.h similarity index 100% rename from omc/plat/sip/src/include/sip_ua_ext.h rename to plat/sip/src/include/sip_ua_ext.h diff --git a/omc/plat/sip/src/include/sip_ua_msg.h b/plat/sip/src/include/sip_ua_msg.h similarity index 100% rename from omc/plat/sip/src/include/sip_ua_msg.h rename to plat/sip/src/include/sip_ua_msg.h diff --git a/omc/plat/sip/src/include/sip_ua_pub.h b/plat/sip/src/include/sip_ua_pub.h similarity index 100% rename from omc/plat/sip/src/include/sip_ua_pub.h rename to plat/sip/src/include/sip_ua_pub.h diff --git a/omc/plat/sip/src/include/sip_ua_struct.h b/plat/sip/src/include/sip_ua_struct.h similarity index 100% rename from omc/plat/sip/src/include/sip_ua_struct.h rename to plat/sip/src/include/sip_ua_struct.h diff --git a/omc/plat/sip/src/sip.c b/plat/sip/src/sip.c similarity index 100% rename from omc/plat/sip/src/sip.c rename to plat/sip/src/sip.c diff --git a/omc/plat/sip/src/sip_debug.c b/plat/sip/src/sip_debug.c similarity index 100% rename from omc/plat/sip/src/sip_debug.c rename to plat/sip/src/sip_debug.c diff --git a/omc/plat/sip/src/sip_msg.c b/plat/sip/src/sip_msg.c similarity index 100% rename from omc/plat/sip/src/sip_msg.c rename to plat/sip/src/sip_msg.c diff --git a/omc/plat/sip/src/sip_msg_encode.c b/plat/sip/src/sip_msg_encode.c similarity index 100% rename from omc/plat/sip/src/sip_msg_encode.c rename to plat/sip/src/sip_msg_encode.c diff --git a/omc/plat/sip/src/sip_msg_parse.c b/plat/sip/src/sip_msg_parse.c similarity index 100% rename from omc/plat/sip/src/sip_msg_parse.c rename to plat/sip/src/sip_msg_parse.c diff --git a/omc/plat/sip/src/sip_transaction.c b/plat/sip/src/sip_transaction.c similarity index 100% rename from omc/plat/sip/src/sip_transaction.c rename to plat/sip/src/sip_transaction.c diff --git a/omc/plat/sip/src/sip_transport.c b/plat/sip/src/sip_transport.c similarity index 100% rename from omc/plat/sip/src/sip_transport.c rename to plat/sip/src/sip_transport.c diff --git a/omc/plat/sip/src/sip_ua.c b/plat/sip/src/sip_ua.c similarity index 100% rename from omc/plat/sip/src/sip_ua.c rename to plat/sip/src/sip_ua.c diff --git a/omc/plat/sip/src/sip_ua_dialog.c b/plat/sip/src/sip_ua_dialog.c similarity index 100% rename from omc/plat/sip/src/sip_ua_dialog.c rename to plat/sip/src/sip_ua_dialog.c diff --git a/omc/plat/sip/src/sip_ua_fsm.c b/plat/sip/src/sip_ua_fsm.c similarity index 100% rename from omc/plat/sip/src/sip_ua_fsm.c rename to plat/sip/src/sip_ua_fsm.c diff --git a/omc/plat/sip/src/sip_ua_msg.c b/plat/sip/src/sip_ua_msg.c similarity index 100% rename from omc/plat/sip/src/sip_ua_msg.c rename to plat/sip/src/sip_ua_msg.c diff --git a/omc/plat/smpp/Makefile b/plat/smpp/Makefile similarity index 97% rename from omc/plat/smpp/Makefile rename to plat/smpp/Makefile index a4ee62a..a1742bc 100644 --- a/omc/plat/smpp/Makefile +++ b/plat/smpp/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/smpp/doc/SMPP_R9V0_01P12.doc b/plat/smpp/doc/SMPP_R9V0_01P12.doc similarity index 100% rename from omc/plat/smpp/doc/SMPP_R9V0_01P12.doc rename to plat/smpp/doc/SMPP_R9V0_01P12.doc diff --git a/omc/plat/smpp/doc/SMPP_R9V0_01P13.doc b/plat/smpp/doc/SMPP_R9V0_01P13.doc similarity index 100% rename from omc/plat/smpp/doc/SMPP_R9V0_01P13.doc rename to plat/smpp/doc/SMPP_R9V0_01P13.doc diff --git a/omc/plat/smpp/doc/SMPP_R9V0_01P14.doc b/plat/smpp/doc/SMPP_R9V0_01P14.doc similarity index 100% rename from omc/plat/smpp/doc/SMPP_R9V0_01P14.doc rename to plat/smpp/doc/SMPP_R9V0_01P14.doc diff --git a/omc/plat/smpp/doc/SMPP_R9V0_01P15.doc b/plat/smpp/doc/SMPP_R9V0_01P15.doc similarity index 100% rename from omc/plat/smpp/doc/SMPP_R9V0_01P15.doc rename to plat/smpp/doc/SMPP_R9V0_01P15.doc diff --git a/omc/plat/smpp/src/include/smpp.h b/plat/smpp/src/include/smpp.h similarity index 100% rename from omc/plat/smpp/src/include/smpp.h rename to plat/smpp/src/include/smpp.h diff --git a/omc/plat/smpp/src/include/smpp_const.h b/plat/smpp/src/include/smpp_const.h similarity index 100% rename from omc/plat/smpp/src/include/smpp_const.h rename to plat/smpp/src/include/smpp_const.h diff --git a/omc/plat/smpp/src/include/smpp_def.h b/plat/smpp/src/include/smpp_def.h similarity index 100% rename from omc/plat/smpp/src/include/smpp_def.h rename to plat/smpp/src/include/smpp_def.h diff --git a/omc/plat/smpp/src/include/smpp_ext.h b/plat/smpp/src/include/smpp_ext.h similarity index 100% rename from omc/plat/smpp/src/include/smpp_ext.h rename to plat/smpp/src/include/smpp_ext.h diff --git a/omc/plat/smpp/src/include/smpp_msg.h b/plat/smpp/src/include/smpp_msg.h similarity index 100% rename from omc/plat/smpp/src/include/smpp_msg.h rename to plat/smpp/src/include/smpp_msg.h diff --git a/omc/plat/smpp/src/include/smpp_public.h b/plat/smpp/src/include/smpp_public.h similarity index 100% rename from omc/plat/smpp/src/include/smpp_public.h rename to plat/smpp/src/include/smpp_public.h diff --git a/omc/plat/smpp/src/smpp_debug.c b/plat/smpp/src/smpp_debug.c similarity index 100% rename from omc/plat/smpp/src/smpp_debug.c rename to plat/smpp/src/smpp_debug.c diff --git a/omc/plat/smpp/src/smpp_fsm.c b/plat/smpp/src/smpp_fsm.c similarity index 100% rename from omc/plat/smpp/src/smpp_fsm.c rename to plat/smpp/src/smpp_fsm.c diff --git a/omc/plat/smpp/src/smpp_func.c b/plat/smpp/src/smpp_func.c similarity index 98% rename from omc/plat/smpp/src/smpp_func.c rename to plat/smpp/src/smpp_func.c index 2d9bdb7..cfa3475 100644 --- a/omc/plat/smpp/src/smpp_func.c +++ b/plat/smpp/src/smpp_func.c @@ -109,7 +109,8 @@ void smpp_attach_link(BYTE linkNo, smpp_callBack_dataProc onDataRecv, if(linkNo>=MAX_SMPP_LINK) return; // removed by simon, 2023/11/04 - //printf("[smpp]link %d attached.\n", linkNo); + // added by simon at 2024/06/12 + smeg_debug_log("[smpp]link %d attached.\n", linkNo); if(smpp_state[linkNo] == ESTABLISHED || smpp_state[linkNo] == SUSPEND) { @@ -160,8 +161,8 @@ WORD smpp_send(BYTE linkNo, SMPP_MSG* pMsg, WORD dataLen) PDU_CANCEL_SM *pCancelSM; PDU_REPLACE_SM *pReplaceSM; DWORD seqNum; - -// printf("\33[32mlink %d call smpp_send, message_type=%d\33[0m\n", linkNo, pMsg->message_type); + + smeg_debug_log("\33[32mlink %d call smpp_send, message_type=%d\33[0m\n", linkNo, pMsg->message_type); switch (pMsg->message_type) { case 0x0B: /* SUBMIT SM */ @@ -274,7 +275,7 @@ WORD smpp_send(BYTE linkNo, SMPP_MSG* pMsg, WORD dataLen) smpp_encode_msg(linkNo, pMsg, ReplaceSMResp); break; default: -// printf("[ERROR]link %d no such message type!(=%02x)\n", linkNo, pMsg->message_type); + smeg_debug_log("[ERROR]link %d no such message type!(=%02x)\n", linkNo, pMsg->message_type); return 0; } @@ -439,10 +440,8 @@ void smpp_tcp_connect(int link) */ Mysock.Sockets[link] = Mysock.client_sock[link]; Mysock.client_sock[link] =-1; - - -// printf("[init TCP client]link %d socket number = %d\n", link, Mysock.Sockets[link]); + smeg_debug_log("[init TCP client]link %d socket number = %d\n", link, Mysock.Sockets[link]); } extern DWORD GetLocalIP(); @@ -506,7 +505,7 @@ void smpp_initTCPServer() FD_SET(serverSockFd, &Mysock.readfds); FD_SET(serverSockFd, &Mysock.exceptfds); -// printf("init TCP server complete. socket number = %d.\n",serverSockFd); + smeg_debug_log("init TCP server complete. socket number = %d.\n",serverSockFd); } WORD smpp_getServerPort() diff --git a/omc/plat/smpp/src/smpp_mib.c b/plat/smpp/src/smpp_mib.c similarity index 100% rename from omc/plat/smpp/src/smpp_mib.c rename to plat/smpp/src/smpp_mib.c diff --git a/omc/plat/smpp/src/smpp_msg.c b/plat/smpp/src/smpp_msg.c similarity index 100% rename from omc/plat/smpp/src/smpp_msg.c rename to plat/smpp/src/smpp_msg.c diff --git a/omc/plat/smpp/ut/conf/MIB_files/IWV-SMI.txt b/plat/smpp/ut/conf/MIB_files/IWV-SMI.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/IWV-SMI.txt rename to plat/smpp/ut/conf/MIB_files/IWV-SMI.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/Special_App-SMI.txt b/plat/smpp/ut/conf/MIB_files/Special_App-SMI.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/Special_App-SMI.txt rename to plat/smpp/ut/conf/MIB_files/Special_App-SMI.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/System_IP_List.txt b/plat/smpp/ut/conf/MIB_files/System_IP_List.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/System_IP_List.txt rename to plat/smpp/ut/conf/MIB_files/System_IP_List.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/WXC2-AUC-MIB.txt b/plat/smpp/ut/conf/MIB_files/WXC2-AUC-MIB.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/WXC2-AUC-MIB.txt rename to plat/smpp/ut/conf/MIB_files/WXC2-AUC-MIB.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/WXC2-HLR-MIB.txt b/plat/smpp/ut/conf/MIB_files/WXC2-HLR-MIB.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/WXC2-HLR-MIB.txt rename to plat/smpp/ut/conf/MIB_files/WXC2-HLR-MIB.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/WXC2-MSC-MIB.txt b/plat/smpp/ut/conf/MIB_files/WXC2-MSC-MIB.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/WXC2-MSC-MIB.txt rename to plat/smpp/ut/conf/MIB_files/WXC2-MSC-MIB.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/WXC2-MSS-MIB.txt b/plat/smpp/ut/conf/MIB_files/WXC2-MSS-MIB.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/WXC2-MSS-MIB.txt rename to plat/smpp/ut/conf/MIB_files/WXC2-MSS-MIB.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/WXC2-PPS-MIB.txt b/plat/smpp/ut/conf/MIB_files/WXC2-PPS-MIB.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/WXC2-PPS-MIB.txt rename to plat/smpp/ut/conf/MIB_files/WXC2-PPS-MIB.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/WXC2-SMI.txt b/plat/smpp/ut/conf/MIB_files/WXC2-SMI.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/WXC2-SMI.txt rename to plat/smpp/ut/conf/MIB_files/WXC2-SMI.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/WXC2-SMSC-MIB.txt b/plat/smpp/ut/conf/MIB_files/WXC2-SMSC-MIB.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/WXC2-SMSC-MIB.txt rename to plat/smpp/ut/conf/MIB_files/WXC2-SMSC-MIB.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/WXC2-SS7-MIB.txt b/plat/smpp/ut/conf/MIB_files/WXC2-SS7-MIB.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/WXC2-SS7-MIB.txt rename to plat/smpp/ut/conf/MIB_files/WXC2-SS7-MIB.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/menu_page b/plat/smpp/ut/conf/MIB_files/menu_page similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/menu_page rename to plat/smpp/ut/conf/MIB_files/menu_page diff --git a/omc/plat/smpp/ut/conf/MIB_files/menu_tree.txt b/plat/smpp/ut/conf/MIB_files/menu_tree.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/menu_tree.txt rename to plat/smpp/ut/conf/MIB_files/menu_tree.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/mib_list_file.txt b/plat/smpp/ut/conf/MIB_files/mib_list_file.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/mib_list_file.txt rename to plat/smpp/ut/conf/MIB_files/mib_list_file.txt diff --git a/omc/plat/smpp/ut/conf/MIB_files/mib_write_tree.txt b/plat/smpp/ut/conf/MIB_files/mib_write_tree.txt similarity index 100% rename from omc/plat/smpp/ut/conf/MIB_files/mib_write_tree.txt rename to plat/smpp/ut/conf/MIB_files/mib_write_tree.txt diff --git a/omc/plat/smpp/ut/conf/guess_number_test.conf b/plat/smpp/ut/conf/guess_number_test.conf similarity index 100% rename from omc/plat/smpp/ut/conf/guess_number_test.conf rename to plat/smpp/ut/conf/guess_number_test.conf diff --git a/omc/plat/smpp/ut/conf/help_page b/plat/smpp/ut/conf/help_page similarity index 100% rename from omc/plat/smpp/ut/conf/help_page rename to plat/smpp/ut/conf/help_page diff --git a/omc/plat/smpp/ut/conf/iptrans.conf b/plat/smpp/ut/conf/iptrans.conf similarity index 100% rename from omc/plat/smpp/ut/conf/iptrans.conf rename to plat/smpp/ut/conf/iptrans.conf diff --git a/omc/plat/smpp/ut/conf/menu_page b/plat/smpp/ut/conf/menu_page similarity index 100% rename from omc/plat/smpp/ut/conf/menu_page rename to plat/smpp/ut/conf/menu_page diff --git a/omc/plat/smpp/ut/conf/mtp3.conf b/plat/smpp/ut/conf/mtp3.conf similarity index 100% rename from omc/plat/smpp/ut/conf/mtp3.conf rename to plat/smpp/ut/conf/mtp3.conf diff --git a/omc/plat/smpp/ut/conf/sccp.conf b/plat/smpp/ut/conf/sccp.conf similarity index 100% rename from omc/plat/smpp/ut/conf/sccp.conf rename to plat/smpp/ut/conf/sccp.conf diff --git a/omc/plat/smpp/ut/conf/smpp.conf b/plat/smpp/ut/conf/smpp.conf similarity index 100% rename from omc/plat/smpp/ut/conf/smpp.conf rename to plat/smpp/ut/conf/smpp.conf diff --git a/omc/plat/smpp/ut/smpp_test/smpp_test.c b/plat/smpp/ut/smpp_test/smpp_test.c similarity index 100% rename from omc/plat/smpp/ut/smpp_test/smpp_test.c rename to plat/smpp/ut/smpp_test/smpp_test.c diff --git a/omc/plat/smpp/ut/smpp_ussd_test/guess_number.c b/plat/smpp/ut/smpp_ussd_test/guess_number.c similarity index 100% rename from omc/plat/smpp/ut/smpp_ussd_test/guess_number.c rename to plat/smpp/ut/smpp_ussd_test/guess_number.c diff --git a/omc/plat/smpp/ut/smpp_ussd_test/pppchat.c b/plat/smpp/ut/smpp_ussd_test/pppchat.c similarity index 100% rename from omc/plat/smpp/ut/smpp_ussd_test/pppchat.c rename to plat/smpp/ut/smpp_ussd_test/pppchat.c diff --git a/omc/plat/snmp/Makefile b/plat/snmp/Makefile similarity index 97% rename from omc/plat/snmp/Makefile rename to plat/snmp/Makefile index ee8f04e..0011d46 100644 --- a/omc/plat/snmp/Makefile +++ b/plat/snmp/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/snmp/src/heartbeat.c b/plat/snmp/src/heartbeat.c similarity index 100% rename from omc/plat/snmp/src/heartbeat.c rename to plat/snmp/src/heartbeat.c diff --git a/omc/plat/snmp/src/include/heartbeat.h b/plat/snmp/src/include/heartbeat.h similarity index 100% rename from omc/plat/snmp/src/include/heartbeat.h rename to plat/snmp/src/include/heartbeat.h diff --git a/omc/plat/snmp/src/include/macro.h b/plat/snmp/src/include/macro.h similarity index 100% rename from omc/plat/snmp/src/include/macro.h rename to plat/snmp/src/include/macro.h diff --git a/omc/plat/snmp/src/include/snmp.h b/plat/snmp/src/include/snmp.h similarity index 100% rename from omc/plat/snmp/src/include/snmp.h rename to plat/snmp/src/include/snmp.h diff --git a/omc/plat/snmp/src/include/sysctrl.h b/plat/snmp/src/include/sysctrl.h similarity index 100% rename from omc/plat/snmp/src/include/sysctrl.h rename to plat/snmp/src/include/sysctrl.h diff --git a/omc/plat/snmp/src/include/table.h b/plat/snmp/src/include/table.h similarity index 100% rename from omc/plat/snmp/src/include/table.h rename to plat/snmp/src/include/table.h diff --git a/omc/plat/snmp/src/mib_parser/snmp_mib.c b/plat/snmp/src/mib_parser/snmp_mib.c similarity index 100% rename from omc/plat/snmp/src/mib_parser/snmp_mib.c rename to plat/snmp/src/mib_parser/snmp_mib.c diff --git a/omc/plat/snmp/src/mib_parser/snmp_mib.h b/plat/snmp/src/mib_parser/snmp_mib.h similarity index 100% rename from omc/plat/snmp/src/mib_parser/snmp_mib.h rename to plat/snmp/src/mib_parser/snmp_mib.h diff --git a/omc/plat/snmp/src/mib_parser/snmp_mib_api.c b/plat/snmp/src/mib_parser/snmp_mib_api.c similarity index 100% rename from omc/plat/snmp/src/mib_parser/snmp_mib_api.c rename to plat/snmp/src/mib_parser/snmp_mib_api.c diff --git a/omc/plat/snmp/src/mib_parser/snmp_mib_api.h b/plat/snmp/src/mib_parser/snmp_mib_api.h similarity index 100% rename from omc/plat/snmp/src/mib_parser/snmp_mib_api.h rename to plat/snmp/src/mib_parser/snmp_mib_api.h diff --git a/omc/plat/snmp/src/snmp.c b/plat/snmp/src/snmp.c similarity index 100% rename from omc/plat/snmp/src/snmp.c rename to plat/snmp/src/snmp.c diff --git a/omc/plat/snmp/src/snmpdebug.c b/plat/snmp/src/snmpdebug.c similarity index 100% rename from omc/plat/snmp/src/snmpdebug.c rename to plat/snmp/src/snmpdebug.c diff --git a/omc/plat/snmp/src/snmpmib.c b/plat/snmp/src/snmpmib.c similarity index 100% rename from omc/plat/snmp/src/snmpmib.c rename to plat/snmp/src/snmpmib.c diff --git a/omc/plat/snmp/src/snmptable.c b/plat/snmp/src/snmptable.c similarity index 100% rename from omc/plat/snmp/src/snmptable.c rename to plat/snmp/src/snmptable.c diff --git a/omc/plat/snmp/src/snmptest.c b/plat/snmp/src/snmptest.c similarity index 100% rename from omc/plat/snmp/src/snmptest.c rename to plat/snmp/src/snmptest.c diff --git a/omc/plat/snmp/src/sysctrl.c b/plat/snmp/src/sysctrl.c similarity index 99% rename from omc/plat/snmp/src/sysctrl.c rename to plat/snmp/src/sysctrl.c index c68f619..064b547 100644 --- a/omc/plat/snmp/src/sysctrl.c +++ b/plat/snmp/src/sysctrl.c @@ -87,6 +87,7 @@ void system_report() SysInfo3.pt[0].used_space = htonl(totaldisk - freedisk); SysInfo3.pt[0].total_space = htonl(totaldisk); + get_idlecpu(); // set_status(8,22,(BYTE *)&SysInfo.cpu_idle); @@ -105,6 +106,8 @@ void get_idlecpu() double idlecpu,totalcpu; u_short idlerate; + // by simon at 20240426 + /* if(fseek(stat_fp,0,SEEK_SET)!=0) { snmp_debug(SNMPDB_ERR|SNMPDB_SYS, "Fail to seek to beginning of /proc/stat"); @@ -147,6 +150,7 @@ void get_idlecpu() { SysInfo3.idle_cpu_rate = (u_short)(idlecpu * 100 / totalcpu); } + */ } diff --git a/omc/plat/tcap/Makefile b/plat/tcap/Makefile similarity index 97% rename from omc/plat/tcap/Makefile rename to plat/tcap/Makefile index 3ba98eb..2d3cb4f 100644 --- a/omc/plat/tcap/Makefile +++ b/plat/tcap/Makefile @@ -86,6 +86,7 @@ POSTPROC_CMD = CCFLAG_SWITCH = off COVER_NEED = no COVER_REPORT_PATH = ./output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -95,4 +96,4 @@ COVER_REPORT_PATH = ./output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/tcap/src/idmanage.c b/plat/tcap/src/idmanage.c similarity index 100% rename from omc/plat/tcap/src/idmanage.c rename to plat/tcap/src/idmanage.c diff --git a/omc/plat/tcap/src/include/idmanage.h b/plat/tcap/src/include/idmanage.h similarity index 100% rename from omc/plat/tcap/src/include/idmanage.h rename to plat/tcap/src/include/idmanage.h diff --git a/omc/plat/tcap/src/include/itcap.h b/plat/tcap/src/include/itcap.h similarity index 100% rename from omc/plat/tcap/src/include/itcap.h rename to plat/tcap/src/include/itcap.h diff --git a/omc/plat/tcap/src/include/tcap_head.h b/plat/tcap/src/include/tcap_head.h similarity index 100% rename from omc/plat/tcap/src/include/tcap_head.h rename to plat/tcap/src/include/tcap_head.h diff --git a/omc/plat/tcap/src/include/tcap_m.h b/plat/tcap/src/include/tcap_m.h similarity index 100% rename from omc/plat/tcap/src/include/tcap_m.h rename to plat/tcap/src/include/tcap_m.h diff --git a/omc/plat/tcap/src/include/tcap_proc.h b/plat/tcap/src/include/tcap_proc.h similarity index 100% rename from omc/plat/tcap/src/include/tcap_proc.h rename to plat/tcap/src/include/tcap_proc.h diff --git a/omc/plat/tcap/src/include/tcap_public.h b/plat/tcap/src/include/tcap_public.h similarity index 100% rename from omc/plat/tcap/src/include/tcap_public.h rename to plat/tcap/src/include/tcap_public.h diff --git a/omc/plat/tcap/src/include/tcap_struct.h b/plat/tcap/src/include/tcap_struct.h similarity index 100% rename from omc/plat/tcap/src/include/tcap_struct.h rename to plat/tcap/src/include/tcap_struct.h diff --git a/omc/plat/tcap/src/itcap.c b/plat/tcap/src/itcap.c similarity index 100% rename from omc/plat/tcap/src/itcap.c rename to plat/tcap/src/itcap.c diff --git a/omc/plat/tcap/src/tcap_coding.c b/plat/tcap/src/tcap_coding.c similarity index 100% rename from omc/plat/tcap/src/tcap_coding.c rename to plat/tcap/src/tcap_coding.c diff --git a/omc/plat/tcap/src/tcap_fsm.c b/plat/tcap/src/tcap_fsm.c similarity index 100% rename from omc/plat/tcap/src/tcap_fsm.c rename to plat/tcap/src/tcap_fsm.c diff --git a/omc/plat/tcap/src/tcap_m.c b/plat/tcap/src/tcap_m.c similarity index 100% rename from omc/plat/tcap/src/tcap_m.c rename to plat/tcap/src/tcap_m.c diff --git a/omc/plat/xapp/Makefile b/plat/xapp/Makefile similarity index 97% rename from omc/plat/xapp/Makefile rename to plat/xapp/Makefile index 62f4a5b..02bcb5d 100644 --- a/omc/plat/xapp/Makefile +++ b/plat/xapp/Makefile @@ -83,6 +83,7 @@ TEST_OBJ_PATH = ../../obj CCFLAG_SWITCH = off COVER_NEED = COVER_REPORT_PATH = ./ut/ut_doc/output +MAKE_INCLUDE = $(HOME)/ems.git/include ##---------------------------------------------------------------------## @@ -92,4 +93,4 @@ COVER_REPORT_PATH = ./ut/ut_doc/output ## include makefile.rules (Do not change) ## ##-------------------------------------- -include Makefile.rules +include $(MAKE_INCLUDE)/Makefile.rules diff --git a/omc/plat/xapp/conf/cap_acn.conf b/plat/xapp/conf/cap_acn.conf similarity index 100% rename from omc/plat/xapp/conf/cap_acn.conf rename to plat/xapp/conf/cap_acn.conf diff --git a/omc/plat/xapp/conf/cap_operation.conf b/plat/xapp/conf/cap_operation.conf similarity index 100% rename from omc/plat/xapp/conf/cap_operation.conf rename to plat/xapp/conf/cap_operation.conf diff --git a/omc/plat/xapp/conf/map_acn.conf b/plat/xapp/conf/map_acn.conf similarity index 100% rename from omc/plat/xapp/conf/map_acn.conf rename to plat/xapp/conf/map_acn.conf diff --git a/omc/plat/xapp/conf/map_operation.conf b/plat/xapp/conf/map_operation.conf similarity index 100% rename from omc/plat/xapp/conf/map_operation.conf rename to plat/xapp/conf/map_operation.conf diff --git a/omc/plat/xapp/src/capp/cap_coding.h b/plat/xapp/src/capp/cap_coding.h similarity index 100% rename from omc/plat/xapp/src/capp/cap_coding.h rename to plat/xapp/src/capp/cap_coding.h diff --git a/omc/plat/xapp/src/capp/cap_head.h b/plat/xapp/src/capp/cap_head.h similarity index 100% rename from omc/plat/xapp/src/capp/cap_head.h rename to plat/xapp/src/capp/cap_head.h diff --git a/omc/plat/xapp/src/capp/cap_msg.c b/plat/xapp/src/capp/cap_msg.c similarity index 100% rename from omc/plat/xapp/src/capp/cap_msg.c rename to plat/xapp/src/capp/cap_msg.c diff --git a/omc/plat/xapp/src/capp/cap_msg.h b/plat/xapp/src/capp/cap_msg.h similarity index 100% rename from omc/plat/xapp/src/capp/cap_msg.h rename to plat/xapp/src/capp/cap_msg.h diff --git a/omc/plat/xapp/src/capp/cap_msgtype.c b/plat/xapp/src/capp/cap_msgtype.c similarity index 100% rename from omc/plat/xapp/src/capp/cap_msgtype.c rename to plat/xapp/src/capp/cap_msgtype.c diff --git a/omc/plat/xapp/src/capp/cap_public.c b/plat/xapp/src/capp/cap_public.c similarity index 100% rename from omc/plat/xapp/src/capp/cap_public.c rename to plat/xapp/src/capp/cap_public.c diff --git a/omc/plat/xapp/src/capp/cap_public.h b/plat/xapp/src/capp/cap_public.h similarity index 100% rename from omc/plat/xapp/src/capp/cap_public.h rename to plat/xapp/src/capp/cap_public.h diff --git a/omc/plat/xapp/src/capp/icap.h b/plat/xapp/src/capp/icap.h similarity index 100% rename from omc/plat/xapp/src/capp/icap.h rename to plat/xapp/src/capp/icap.h diff --git a/omc/plat/xapp/src/conv_prefix.c b/plat/xapp/src/conv_prefix.c similarity index 100% rename from omc/plat/xapp/src/conv_prefix.c rename to plat/xapp/src/conv_prefix.c diff --git a/omc/plat/xapp/src/conv_prefix.h b/plat/xapp/src/conv_prefix.h similarity index 100% rename from omc/plat/xapp/src/conv_prefix.h rename to plat/xapp/src/conv_prefix.h diff --git a/omc/plat/xapp/src/ixap.h b/plat/xapp/src/ixap.h similarity index 100% rename from omc/plat/xapp/src/ixap.h rename to plat/xapp/src/ixap.h diff --git a/omc/plat/xapp/src/mapp/Map_opr.c b/plat/xapp/src/mapp/Map_opr.c similarity index 100% rename from omc/plat/xapp/src/mapp/Map_opr.c rename to plat/xapp/src/mapp/Map_opr.c diff --git a/omc/plat/xapp/src/mapp/imap.h b/plat/xapp/src/mapp/imap.h similarity index 100% rename from omc/plat/xapp/src/mapp/imap.h rename to plat/xapp/src/mapp/imap.h diff --git a/omc/plat/xapp/src/mapp/is41_code.h b/plat/xapp/src/mapp/is41_code.h similarity index 100% rename from omc/plat/xapp/src/mapp/is41_code.h rename to plat/xapp/src/mapp/is41_code.h diff --git a/omc/plat/xapp/src/mapp/is41_code_auc.c b/plat/xapp/src/mapp/is41_code_auc.c similarity index 100% rename from omc/plat/xapp/src/mapp/is41_code_auc.c rename to plat/xapp/src/mapp/is41_code_auc.c diff --git a/omc/plat/xapp/src/mapp/is41_code_ms.c b/plat/xapp/src/mapp/is41_code_ms.c similarity index 100% rename from omc/plat/xapp/src/mapp/is41_code_ms.c rename to plat/xapp/src/mapp/is41_code_ms.c diff --git a/omc/plat/xapp/src/mapp/is41_code_sms.c b/plat/xapp/src/mapp/is41_code_sms.c similarity index 100% rename from omc/plat/xapp/src/mapp/is41_code_sms.c rename to plat/xapp/src/mapp/is41_code_sms.c diff --git a/omc/plat/xapp/src/mapp/is41_code_win.c b/plat/xapp/src/mapp/is41_code_win.c similarity index 100% rename from omc/plat/xapp/src/mapp/is41_code_win.c rename to plat/xapp/src/mapp/is41_code_win.c diff --git a/omc/plat/xapp/src/mapp/is41_coding.c b/plat/xapp/src/mapp/is41_coding.c similarity index 100% rename from omc/plat/xapp/src/mapp/is41_coding.c rename to plat/xapp/src/mapp/is41_coding.c diff --git a/omc/plat/xapp/src/mapp/is41_debug.c b/plat/xapp/src/mapp/is41_debug.c similarity index 100% rename from omc/plat/xapp/src/mapp/is41_debug.c rename to plat/xapp/src/mapp/is41_debug.c diff --git a/omc/plat/xapp/src/mapp/is41_init.c b/plat/xapp/src/mapp/is41_init.c similarity index 100% rename from omc/plat/xapp/src/mapp/is41_init.c rename to plat/xapp/src/mapp/is41_init.c diff --git a/omc/plat/xapp/src/mapp/map_LCSCode.c b/plat/xapp/src/mapp/map_LCSCode.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_LCSCode.c rename to plat/xapp/src/mapp/map_LCSCode.c diff --git a/omc/plat/xapp/src/mapp/map_LCSCode.h b/plat/xapp/src/mapp/map_LCSCode.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_LCSCode.h rename to plat/xapp/src/mapp/map_LCSCode.h diff --git a/omc/plat/xapp/src/mapp/map_acn.h b/plat/xapp/src/mapp/map_acn.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_acn.h rename to plat/xapp/src/mapp/map_acn.h diff --git a/omc/plat/xapp/src/mapp/map_code.h b/plat/xapp/src/mapp/map_code.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_code.h rename to plat/xapp/src/mapp/map_code.h diff --git a/omc/plat/xapp/src/mapp/map_code_auc.c b/plat/xapp/src/mapp/map_code_auc.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_code_auc.c rename to plat/xapp/src/mapp/map_code_auc.c diff --git a/omc/plat/xapp/src/mapp/map_code_ch.c b/plat/xapp/src/mapp/map_code_ch.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_code_ch.c rename to plat/xapp/src/mapp/map_code_ch.c diff --git a/omc/plat/xapp/src/mapp/map_code_dlgpdu.c b/plat/xapp/src/mapp/map_code_dlgpdu.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_code_dlgpdu.c rename to plat/xapp/src/mapp/map_code_dlgpdu.c diff --git a/omc/plat/xapp/src/mapp/map_code_ms.c b/plat/xapp/src/mapp/map_code_ms.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_code_ms.c rename to plat/xapp/src/mapp/map_code_ms.c diff --git a/omc/plat/xapp/src/mapp/map_code_om.c b/plat/xapp/src/mapp/map_code_om.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_code_om.c rename to plat/xapp/src/mapp/map_code_om.c diff --git a/omc/plat/xapp/src/mapp/map_code_sms.c b/plat/xapp/src/mapp/map_code_sms.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_code_sms.c rename to plat/xapp/src/mapp/map_code_sms.c diff --git a/omc/plat/xapp/src/mapp/map_code_ss.c b/plat/xapp/src/mapp/map_code_ss.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_code_ss.c rename to plat/xapp/src/mapp/map_code_ss.c diff --git a/omc/plat/xapp/src/mapp/map_coding.c b/plat/xapp/src/mapp/map_coding.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_coding.c rename to plat/xapp/src/mapp/map_coding.c diff --git a/omc/plat/xapp/src/mapp/map_coding.h b/plat/xapp/src/mapp/map_coding.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_coding.h rename to plat/xapp/src/mapp/map_coding.h diff --git a/omc/plat/xapp/src/mapp/map_const.h b/plat/xapp/src/mapp/map_const.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_const.h rename to plat/xapp/src/mapp/map_const.h diff --git a/omc/plat/xapp/src/mapp/map_dlgpdu.h b/plat/xapp/src/mapp/map_dlgpdu.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_dlgpdu.h rename to plat/xapp/src/mapp/map_dlgpdu.h diff --git a/omc/plat/xapp/src/mapp/map_includes.h b/plat/xapp/src/mapp/map_includes.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_includes.h rename to plat/xapp/src/mapp/map_includes.h diff --git a/omc/plat/xapp/src/mapp/map_opr_func.h b/plat/xapp/src/mapp/map_opr_func.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_opr_func.h rename to plat/xapp/src/mapp/map_opr_func.h diff --git a/omc/plat/xapp/src/mapp/map_public.c b/plat/xapp/src/mapp/map_public.c similarity index 100% rename from omc/plat/xapp/src/mapp/map_public.c rename to plat/xapp/src/mapp/map_public.c diff --git a/omc/plat/xapp/src/mapp/map_public.h b/plat/xapp/src/mapp/map_public.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_public.h rename to plat/xapp/src/mapp/map_public.h diff --git a/omc/plat/xapp/src/mapp/map_struct.h b/plat/xapp/src/mapp/map_struct.h similarity index 100% rename from omc/plat/xapp/src/mapp/map_struct.h rename to plat/xapp/src/mapp/map_struct.h diff --git a/omc/plat/xapp/src/mapp/win_struct.h b/plat/xapp/src/mapp/win_struct.h similarity index 100% rename from omc/plat/xapp/src/mapp/win_struct.h rename to plat/xapp/src/mapp/win_struct.h diff --git a/omc/plat/xapp/src/xap_cdmacdr.c b/plat/xapp/src/xap_cdmacdr.c similarity index 100% rename from omc/plat/xapp/src/xap_cdmacdr.c rename to plat/xapp/src/xap_cdmacdr.c diff --git a/omc/plat/xapp/src/include.bak/xap_cdmacdr.h b/plat/xapp/src/xap_cdmacdr.h similarity index 100% rename from omc/plat/xapp/src/include.bak/xap_cdmacdr.h rename to plat/xapp/src/xap_cdmacdr.h diff --git a/omc/plat/xapp/src/xap_interface.c b/plat/xapp/src/xap_interface.c similarity index 100% rename from omc/plat/xapp/src/xap_interface.c rename to plat/xapp/src/xap_interface.c diff --git a/omc/plat/xapp/src/include.bak/xap_interfunc.h b/plat/xapp/src/xap_interfunc.h similarity index 100% rename from omc/plat/xapp/src/include.bak/xap_interfunc.h rename to plat/xapp/src/xap_interfunc.h diff --git a/omc/plat/xapp/src/xap_monitor.c b/plat/xapp/src/xap_monitor.c similarity index 100% rename from omc/plat/xapp/src/xap_monitor.c rename to plat/xapp/src/xap_monitor.c diff --git a/omc/plat/xapp/src/include.bak/xap_monitor.h b/plat/xapp/src/xap_monitor.h similarity index 100% rename from omc/plat/xapp/src/include.bak/xap_monitor.h rename to plat/xapp/src/xap_monitor.h diff --git a/omc/plat/xapp/src/xap_provider.c b/plat/xapp/src/xap_provider.c similarity index 100% rename from omc/plat/xapp/src/xap_provider.c rename to plat/xapp/src/xap_provider.c diff --git a/omc/plat/xapp/src/xap_provider.h b/plat/xapp/src/xap_provider.h similarity index 100% rename from omc/plat/xapp/src/xap_provider.h rename to plat/xapp/src/xap_provider.h diff --git a/omc/plat/xapp/ut/xapp_test/Makefile b/plat/xapp/ut/xapp_test/Makefile similarity index 100% rename from omc/plat/xapp/ut/xapp_test/Makefile rename to plat/xapp/ut/xapp_test/Makefile diff --git a/omc/plat/xapp/ut/xapp_test/conf/.sccp.conf.swo b/plat/xapp/ut/xapp_test/conf/.sccp.conf.swo similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/.sccp.conf.swo rename to plat/xapp/ut/xapp_test/conf/.sccp.conf.swo diff --git a/omc/plat/xapp/ut/xapp_test/conf/HlrSysPara b/plat/xapp/ut/xapp_test/conf/HlrSysPara similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/HlrSysPara rename to plat/xapp/ut/xapp_test/conf/HlrSysPara diff --git a/omc/plat/xapp/ut/xapp_test/conf/cap_acn.conf b/plat/xapp/ut/xapp_test/conf/cap_acn.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/cap_acn.conf rename to plat/xapp/ut/xapp_test/conf/cap_acn.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/cap_operation.conf b/plat/xapp/ut/xapp_test/conf/cap_operation.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/cap_operation.conf rename to plat/xapp/ut/xapp_test/conf/cap_operation.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/cc_table.conf b/plat/xapp/ut/xapp_test/conf/cc_table.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/cc_table.conf rename to plat/xapp/ut/xapp_test/conf/cc_table.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/conf.rar b/plat/xapp/ut/xapp_test/conf/conf.rar similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/conf.rar rename to plat/xapp/ut/xapp_test/conf/conf.rar diff --git a/omc/plat/xapp/ut/xapp_test/conf/conv_prefix.conf b/plat/xapp/ut/xapp_test/conf/conv_prefix.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/conv_prefix.conf rename to plat/xapp/ut/xapp_test/conf/conv_prefix.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/hae_sys.conf b/plat/xapp/ut/xapp_test/conf/hae_sys.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/hae_sys.conf rename to plat/xapp/ut/xapp_test/conf/hae_sys.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/help_page b/plat/xapp/ut/xapp_test/conf/help_page similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/help_page rename to plat/xapp/ut/xapp_test/conf/help_page diff --git a/omc/plat/xapp/ut/xapp_test/conf/hlr_parambit.conf b/plat/xapp/ut/xapp_test/conf/hlr_parambit.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/hlr_parambit.conf rename to plat/xapp/ut/xapp_test/conf/hlr_parambit.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/iptrans.conf b/plat/xapp/ut/xapp_test/conf/iptrans.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/iptrans.conf rename to plat/xapp/ut/xapp_test/conf/iptrans.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/map_acn.conf b/plat/xapp/ut/xapp_test/conf/map_acn.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/map_acn.conf rename to plat/xapp/ut/xapp_test/conf/map_acn.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/map_operation.conf b/plat/xapp/ut/xapp_test/conf/map_operation.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/map_operation.conf rename to plat/xapp/ut/xapp_test/conf/map_operation.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/menu_page b/plat/xapp/ut/xapp_test/conf/menu_page similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/menu_page rename to plat/xapp/ut/xapp_test/conf/menu_page diff --git a/omc/plat/xapp/ut/xapp_test/conf/mtp3.conf b/plat/xapp/ut/xapp_test/conf/mtp3.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/mtp3.conf rename to plat/xapp/ut/xapp_test/conf/mtp3.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/ppsConf.txt b/plat/xapp/ut/xapp_test/conf/ppsConf.txt similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/ppsConf.txt rename to plat/xapp/ut/xapp_test/conf/ppsConf.txt diff --git a/omc/plat/xapp/ut/xapp_test/conf/profile b/plat/xapp/ut/xapp_test/conf/profile similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/profile rename to plat/xapp/ut/xapp_test/conf/profile diff --git a/omc/plat/xapp/ut/xapp_test/conf/sccp.conf b/plat/xapp/ut/xapp_test/conf/sccp.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/sccp.conf rename to plat/xapp/ut/xapp_test/conf/sccp.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/smsc_csta.conf b/plat/xapp/ut/xapp_test/conf/smsc_csta.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/smsc_csta.conf rename to plat/xapp/ut/xapp_test/conf/smsc_csta.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/smsc_parambit.conf b/plat/xapp/ut/xapp_test/conf/smsc_parambit.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/smsc_parambit.conf rename to plat/xapp/ut/xapp_test/conf/smsc_parambit.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/smsc_sys.conf b/plat/xapp/ut/xapp_test/conf/smsc_sys.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/smsc_sys.conf rename to plat/xapp/ut/xapp_test/conf/smsc_sys.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/system.ini b/plat/xapp/ut/xapp_test/conf/system.ini similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/system.ini rename to plat/xapp/ut/xapp_test/conf/system.ini diff --git a/omc/plat/xapp/ut/xapp_test/conf/system.ini.100k b/plat/xapp/ut/xapp_test/conf/system.ini.100k similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/system.ini.100k rename to plat/xapp/ut/xapp_test/conf/system.ini.100k diff --git a/omc/plat/xapp/ut/xapp_test/conf/system.ini.30K b/plat/xapp/ut/xapp_test/conf/system.ini.30K similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/system.ini.30K rename to plat/xapp/ut/xapp_test/conf/system.ini.30K diff --git a/omc/plat/xapp/ut/xapp_test/conf/system.inimscvlrhlr b/plat/xapp/ut/xapp_test/conf/system.inimscvlrhlr similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/system.inimscvlrhlr rename to plat/xapp/ut/xapp_test/conf/system.inimscvlrhlr diff --git a/omc/plat/xapp/ut/xapp_test/conf/wxc2_sys.conf b/plat/xapp/ut/xapp_test/conf/wxc2_sys.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/wxc2_sys.conf rename to plat/xapp/ut/xapp_test/conf/wxc2_sys.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/wxc2exit.txt b/plat/xapp/ut/xapp_test/conf/wxc2exit.txt similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/wxc2exit.txt rename to plat/xapp/ut/xapp_test/conf/wxc2exit.txt diff --git a/omc/plat/xapp/ut/xapp_test/conf/xap_sysparam.conf b/plat/xapp/ut/xapp_test/conf/xap_sysparam.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/xap_sysparam.conf rename to plat/xapp/ut/xapp_test/conf/xap_sysparam.conf diff --git a/omc/plat/xapp/ut/xapp_test/conf/xapp_test.conf b/plat/xapp/ut/xapp_test/conf/xapp_test.conf similarity index 100% rename from omc/plat/xapp/ut/xapp_test/conf/xapp_test.conf rename to plat/xapp/ut/xapp_test/conf/xapp_test.conf diff --git a/omc/plat/xapp/ut/xapp_test/xapp_coding_test.c b/plat/xapp/ut/xapp_test/xapp_coding_test.c similarity index 100% rename from omc/plat/xapp/ut/xapp_test/xapp_coding_test.c rename to plat/xapp/ut/xapp_test/xapp_coding_test.c diff --git a/omc/plat/xapp/ut/xapp_test/xapp_coding_test.h b/plat/xapp/ut/xapp_test/xapp_coding_test.h similarity index 100% rename from omc/plat/xapp/ut/xapp_test/xapp_coding_test.h rename to plat/xapp/ut/xapp_test/xapp_coding_test.h diff --git a/omc/plat/xapp/ut/xapp_test/xapp_main.c b/plat/xapp/ut/xapp_test/xapp_main.c similarity index 100% rename from omc/plat/xapp/ut/xapp_test/xapp_main.c rename to plat/xapp/ut/xapp_test/xapp_main.c diff --git a/omc/plat/xapp/ut/xapp_test/xapp_main.h b/plat/xapp/ut/xapp_test/xapp_main.h similarity index 100% rename from omc/plat/xapp/ut/xapp_test/xapp_main.h rename to plat/xapp/ut/xapp_test/xapp_main.h diff --git a/omc/plat/xapp/ut/xapp_test/xapp_op_test.c b/plat/xapp/ut/xapp_test/xapp_op_test.c similarity index 100% rename from omc/plat/xapp/ut/xapp_test/xapp_op_test.c rename to plat/xapp/ut/xapp_test/xapp_op_test.c diff --git a/omc/plat/xapp/ut/xapp_test/xapp_op_test.h b/plat/xapp/ut/xapp_test/xapp_op_test.h similarity index 100% rename from omc/plat/xapp/ut/xapp_test/xapp_op_test.h rename to plat/xapp/ut/xapp_test/xapp_op_test.h diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000..3db2989 --- /dev/null +++ b/src/README.md @@ -0,0 +1,24 @@ +ALTER TABLE `OBJ_503`.`paramConf` +MODIFY COLUMN `desc_1` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' AFTER `name_2`, +MODIFY COLUMN `desc_2` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' AFTER `desc_1`, +MODIFY COLUMN `initValue` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' AFTER `valueType`, +MODIFY COLUMN `minValue` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' AFTER `initValue`, +MODIFY COLUMN `maxValue` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' AFTER `minValue`, +MODIFY COLUMN `setTemplate_1` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL AFTER `maxValue`, +MODIFY COLUMN `setTemplate_2` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL AFTER `setTemplate_1`; + +ALTER TABLE `OBJ_223`.`paramConf` +MODIFY COLUMN `valueType` smallint NOT NULL DEFAULT 0 AFTER `operType`; + +ALTER TABLE `OBJ_390`.`paramConf` +MODIFY COLUMN `note_1` varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' AFTER `setTemplate_2`, +MODIFY COLUMN `note_2` varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' AFTER `note_1`; + +ALTER TABLE `OBJ_390`.`paramConf` +MODIFY COLUMN `note_1` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `setTemplate_2`, +MODIFY COLUMN `note_2` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `note_1`; + + +ALTER TABLE `OBJ_390`.`paramConf` +MODIFY COLUMN `note_1` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL AFTER `setTemplate_2`, +MODIFY COLUMN `note_2` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL AFTER `note_1`; diff --git a/src/accountMgr/c_program/cdrCollector/Makefile b/src/accountMgr/c_program/cdrCollector/Makefile new file mode 100644 index 0000000..3fb0f99 --- /dev/null +++ b/src/accountMgr/c_program/cdrCollector/Makefile @@ -0,0 +1,90 @@ +#/bin/sh + +# Makefile for CDR Module. + +CC = gcc +CFLAGS=-g -Wall -I/usr/local/mysql/include +CFLAGS.ES=-g -Wall -I/usr/include/mariadb + +COMPILE.c=$(CC) $(CFLAGS) +COMPILE.c.ES=$(CC) $(CFLAGS.ES) + +LINK.c=$(CC) $(CFLAGS) +LINK.c.ES=$(CC) $(CFLAGS.ES) + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../omcLib/c_program/ftp -lftp \ +-L../../../../wxc2plat/snmp -lsnmp \ +-L../../../../wxc2plat/debug -ldebug \ +-L../../../../wxc2plat/iptrans -liptrans \ +-L../../../../wxc2plat/public -lpublic \ +-L/usr/local/mysql/lib -lmariadbclient -lz + +LINKFLAG.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../omcLib/c_program/ftp -lftp \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lz + +PROGS=cdrCollector +CDR_OBJ = cdr.o cdrdb.o +CDR_OBJ.ES = cdr.o.ES cdrdb.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files(*.o, *.a)" + @echo "make linux72 -- Generate target files for Redhat Linux 7.2" + @echo "make linuxES -- Generate target files for Redhat ES 4.0" + +linux72: $(CDR_OBJ) cdrmain.o + @cd ../../../omcLib/c_program/ftp; make linux72; cd .. + @cd ../../../accountMgr/c_program/cdrCollector; + @echo Linking $(PROGS) + @$(LINK.c) -o $(PROGS) cdrmain.o $(CDR_OBJ) $(LINKFLAG) -lm + ar r libcdr.a $(CDR_OBJ) + rm -rf *.o + rm -rf *bak + rm -rf *~ + cp -f $(PROGS) ../../../bin + cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(CDR_OBJ.ES) cdrmain.o.ES + @cd ../../../omcLib/c_program/ftp; make linuxES; cd .. + @cd ../../../accountMgr/c_program/cdrCollector; + @echo Linking $(PROGS) + @$(LINK.c.ES) -o $(PROGS) cdrmain.o $(CDR_OBJ) $(LINKFLAG.ES) -lm + ar r libcdr.a $(CDR_OBJ) + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +cdrmain.o: cdrmain.c + $(COMPILE.c) -c cdrmain.c + +cdr.o: cdr.c cdr.h + $(COMPILE.c) -c cdr.c + +cdrmain.o.ES: cdrmain.c + $(COMPILE.c.ES) -c cdrmain.c + +cdr.o.ES: cdr.c cdr.h + $(COMPILE.c.ES) -c cdr.c + +cdrdb.o.ES: cdrdb.c + $(COMPILE.c.ES) -c cdrdb.c + +clean: + rm -f *.o *.a $(PROGS) + @cd ../../../omcLib/c_program/ftp; rm -f *.o *.a; cd .. + @cd ../../../accountMgr/c_program/cdrCollector;rm -f *.o *.a; cd .. + diff --git a/src/accountMgr/c_program/cdrCollector/cdr.c b/src/accountMgr/c_program/cdrCollector/cdr.c new file mode 100644 index 0000000..f99481c --- /dev/null +++ b/src/accountMgr/c_program/cdrCollector/cdr.c @@ -0,0 +1,2494 @@ +#include "cdr.h" + +extern void cdrdb_init(); +extern void cdrdb_timer(); +extern void cdr_clock_init(int tc_sec); + +char globalstr[8192]; +char sqlstr[8192]; +char nrtrdesqlstr[8192]; +char mtsmssqlstr[8192]; +cdr_src cdr_src_set[MAX_SRC_NUM]; +int cdr_src_num=0; +cdr_sys cdr_sys_set[MAX_SYS_NUM]; +int cdr_sys_num=0; + +msg snmp_msg_set[MAX_SNMP_MSG_NUM]; +int snmp_msg_num=0; + +sql_comm_buf sql_comm_buffer; + +static int sys_index; +static cdr_sys *psys=NULL; +static unsigned long prev_time=0; +static unsigned long curr_time=0; +static unsigned long time_slot=0; + +static int cdr_sync_data_id=-1; +//dual mode +int omcSysNo=-1; +int getOmcSysNo(int* sysNo); +int getOmcStatus(int sysNo); + +//heartbeat +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,6}; +int PROC_HEARTBEAT_OIDLEN=11; +unsigned long heartbeat_timeout=0; +int sendHeartbeat(); + +//smlog content parse +int smlog_decode_flag=0; +void getConfFromDB(); + +//for NRTRDE +int nrtrde_flag=0; +char local_mcc[8]; +char local_mnc[8]; +char mcc[8]; +char mnc[8]; +int isRoamCDR=0; +int initNRConf(void); + +//for wsms +int wsms_enable_flag; +void getVlrCdr(cdr_sys* psys,int serial,BYTE * pmsg,WORD msglen,int tagcode); +int wsms_check_sub(char* imsi,char* msisdn); +int initWSMSConf(void); +int formatSingleQuotation(char *inbuf,int inlen,char* outbuf); + +//for mt sms charge +int mt_sms_charge_flag=0; +#define MT_SMS_CHARGE_TABLE "mt_sms_cdr" + +void cdr_log(const char *fmt, ...); +void cdr_logmsg(BYTE* msgbuf,int len); +void load_cdr_info(); +void load_sys_info(); +void get_info(cdr_sys *psys); +void cdr_receive(); +int get_msg(cdr_sys *psys); +void check_pointer(cdr_sys *psys,snmp_pdu *pdu); +int parse_info(snmp_pdu *pdu,DWORD *head,DWORD *tail); +void get_cdr(cdr_sys *psys); +void set_cdr_tail(cdr_sys *psys); +void reset_cdr_pointer(cdr_sys *psys); +void cdr_process(cdr_sys *psys,snmp_pdu *pdu); +void load_cdr_def(cdr_src *psrc); +void create_record_table(cdr_src *psrc,MYSQL *pCdrConn); +void send_sql_comm(char *sqlcomm); +void cdr_parse(cdr_sys *psys,int tagcode,ASN_BUF *asnbuf,int fieldIndex,char* fieldstr); + +BYTE str2oid(char *str, DWORD * array, BYTE max); +char *bcd2str(BYTE* buf,int len); +int smsDecodeAll(int code_type,char* strIn,char* strOut,int length); +char* digits2str(BYTE* buf,int len); + +void test() +{ + cdr_sys sys; + snmp_pdu pdu; + int i,pos; + + pdu.error_status=0; + pdu.var_num=1; + pdu.var[0].vartype=4; + pdu.var[0].msglen=0; + pos=0; + + pdu.var[0].msg[pos++]=0x02; + pdu.var[0].msg[pos++]=0x04; + pdu.var[0].msg[pos++]=0x00; + pdu.var[0].msg[pos++]=0x00; + pdu.var[0].msg[pos++]=0x00; + pdu.var[0].msg[pos++]=0x01; + + pdu.var[0].msg[pos++]=0xA0; + pdu.var[0].msg[pos++]=0x60; + pdu.var[0].msg[pos++]=0x80; + pdu.var[0].msg[pos++]=0x01; + pdu.var[0].msg[pos++]=0x12; + pdu.var[0].msg[pos++]=0x81; + pdu.var[0].msg[pos++]=0x06; + pdu.var[0].msg[pos++]=0x91; + pdu.var[0].msg[pos++]=0x76; + pdu.var[0].msg[pos++]=0x76; + pdu.var[0].msg[pos++]=0x47; + pdu.var[0].msg[pos++]=0x64; + pdu.var[0].msg[pos++]=0x54; + pdu.var[0].msg[pos++]=0x82; + pdu.var[0].msg[pos++]=0x06; + pdu.var[0].msg[pos++]=0x91; + pdu.var[0].msg[pos++]=0x76; + pdu.var[0].msg[pos++]=0x76; + pdu.var[0].msg[pos++]=0x77; + pdu.var[0].msg[pos++]=0x33; + pdu.var[0].msg[pos++]=0x86; + pdu.var[0].msg[pos++]=0x83; + pdu.var[0].msg[pos++]=0x09; + pdu.var[0].msg[pos++]=0x12; + pdu.var[0].msg[pos++]=0x04; + pdu.var[0].msg[pos++]=0x26; + pdu.var[0].msg[pos++]=0x16; + pdu.var[0].msg[pos++]=0x39; + pdu.var[0].msg[pos++]=0x43; + pdu.var[0].msg[pos++]=0x2D; + pdu.var[0].msg[pos++]=0x13; + pdu.var[0].msg[pos++]=0x00; + pdu.var[0].msg[pos++]=0x84; + pdu.var[0].msg[pos++]=0x01; + pdu.var[0].msg[pos++]=0x00; + pdu.var[0].msg[pos++]=0x85; + pdu.var[0].msg[pos++]=0x22; + pdu.var[0].msg[pos++]=0x4F; + pdu.var[0].msg[pos++]=0x34; + pdu.var[0].msg[pos++]=0x28; + pdu.var[0].msg[pos++]=0xFD; + pdu.var[0].msg[pos++]=0x66; + pdu.var[0].msg[pos++]=0xD1; + pdu.var[0].msg[pos++]=0xDF; + pdu.var[0].msg[pos++]=0xEB; + pdu.var[0].msg[pos++]=0x37; + pdu.var[0].msg[pos++]=0x3B; + pdu.var[0].msg[pos++]=0x8C; + pdu.var[0].msg[pos++]=0x4E; + pdu.var[0].msg[pos++]=0x83; + pdu.var[0].msg[pos++]=0xCC; + pdu.var[0].msg[pos++]=0xEF; + pdu.var[0].msg[pos++]=0x75; + pdu.var[0].msg[pos++]=0x1A; + pdu.var[0].msg[pos++]=0xB4; + pdu.var[0].msg[pos++]=0x0E; + pdu.var[0].msg[pos++]=0xD7; + pdu.var[0].msg[pos++]=0x41; + pdu.var[0].msg[pos++]=0xE6; + pdu.var[0].msg[pos++]=0xFB; + pdu.var[0].msg[pos++]=0x18; + pdu.var[0].msg[pos++]=0x64; + pdu.var[0].msg[pos++]=0x7E; + pdu.var[0].msg[pos++]=0xAF; + pdu.var[0].msg[pos++]=0xD3; + pdu.var[0].msg[pos++]=0xA0; + pdu.var[0].msg[pos++]=0x74; + pdu.var[0].msg[pos++]=0x18; + pdu.var[0].msg[pos++]=0x54; + pdu.var[0].msg[pos++]=0x76; + pdu.var[0].msg[pos++]=0x01; + pdu.var[0].msg[pos++]=0x86; + pdu.var[0].msg[pos++]=0x02; + pdu.var[0].msg[pos++]=0x38; + pdu.var[0].msg[pos++]=0x40; + pdu.var[0].msg[pos++]=0x87; + pdu.var[0].msg[pos++]=0x01; + pdu.var[0].msg[pos++]=0x01; + pdu.var[0].msg[pos++]=0x88; + pdu.var[0].msg[pos++]=0x04; + pdu.var[0].msg[pos++]=0x00; + pdu.var[0].msg[pos++]=0x9D; + pdu.var[0].msg[pos++]=0x82; + pdu.var[0].msg[pos++]=0x21; + pdu.var[0].msg[pos++]=0x89; + pdu.var[0].msg[pos++]=0x09; + pdu.var[0].msg[pos++]=0x12; + pdu.var[0].msg[pos++]=0x04; + pdu.var[0].msg[pos++]=0x26; + pdu.var[0].msg[pos++]=0x16; + pdu.var[0].msg[pos++]=0x39; + pdu.var[0].msg[pos++]=0x37; + pdu.var[0].msg[pos++]=0x2D; + pdu.var[0].msg[pos++]=0x13; + pdu.var[0].msg[pos++]=0x00; + pdu.var[0].msg[pos++]=0x8A; + pdu.var[0].msg[pos++]=0x01; + pdu.var[0].msg[pos++]=0x00; + + pdu.var[0].msglen=pos; + + sys.cdrSrcNo=7; + sys.sysTypeNo=351; + sys.sysNo=0; + sys.subSysNo=0; + + + for(i=0;i1) + { + cdr_log("[ERR][cdr_init]:Fail to get the omcSysNo\n"); + exit(-1); + } + + cdrdb_init(); + cdr_sync_data_id=sync_data_register("CDR_SYNC"); + + //test(); +} + + +void cdr_timer() +{ + int index; + int omcStatus; + static unsigned long update_sys_timeout=0; + + curr_time=time(NULL); + if(curr_time < prev_time) + { + cdr_log("[ERR][cdr_timer]: The system time may be changed! curr_time=%d, prev_time=%d", curr_time, prev_time); + prev_time=curr_time; + + cdr_clock_init(0); + return; + } + time_slot=curr_time-prev_time; + if(time_slot > 30) + { + /* Fixed for Norfolk EMS CDR lost issue by simon + * Store second number when time to be changed + * --begin + */ + cdr_log("[ERR][cdr_timer]: The previous timer consume too much time or the system time my be changed! prev_time=%d, time_slot=%d", prev_time, time_slot); + /* --end + * + */ + cdr_clock_init(time_slot); + } + + if(time(NULL) - heartbeat_timeout > 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + + cdrdb_timer(); + + send_sql_comm(NULL); + + + omcStatus=getOmcStatus(omcSysNo); + + if(omcStatus == OMC_MASTER || omcStatus == OMC_SINGLE) + { + update_sys_timeout+=time_slot; + if(update_sys_timeout > 60) + { + update_sys_timeout=0; + load_sys_info(); + } + + for(index=0;indextimeout > 0) + psys->timeout-=time_slot; + + if(psys->timeout > 0) + continue; + switch(psys->state) + { + case STATE_IDLE: + psys->state=STATE_INFO_GET; + break; + case STATE_INFO_GET: + psys->state=STATE_INFO_RESPONSE; + psys->retry=0; + get_info(psys); + break; + case STATE_INFO_RESPONSE: + if((index=get_msg(psys)) != -1) + { + snmp_msg_set[index].use=0; + snmp_msg_num--; + check_pointer(psys,&snmp_msg_set[index].pdu); + } + else + { + if(psys->retry++ > MAX_RETRY) + { + cdr_log("[ERR][cdr_receive]:GET_INFO_RESPONSE timeout, request id=%ld, %d-%d-%d",psys->requestId,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + psys->state=STATE_IDLE; + psys->timeout=MAX_IDLE_TIMEOUT; + } + } + break; + case STATE_CDR_GET: + psys->state=STATE_CDR_RESPONSE; + psys->retry=0; + get_cdr(psys); + break; + case STATE_CDR_RESPONSE: + if((index=get_msg(psys)) != -1) + { + //get a cdr response + cdr_process(psys,&snmp_msg_set[index].pdu); + + snmp_msg_set[index].use=0; + snmp_msg_num--; + + if(psys->error >= 256) + { + psys->error=0; + psys->state=STATE_RESET_SET; + psys->retry=0; + break; + } + + if(psys->isVarTooBig) + { + psys->isVarTooBig=0; + psys->tail=psys->tmptail; + psys->prepareSetTail=0; + } + + if(psys->prepareSetTail) + { + psys->prepareSetTail=0; + psys->state=STATE_TAIL_SET; + psys->retry=0; + } + else + { + psys->state=STATE_CDR_GET; + } + + } + else + { + if(psys->retry++ > MAX_RETRY) + { + cdr_log("[ERR][cdr_receive]:GET_CDR_RESPONSE timeout, request id=%ld, %d-%d-%d",psys->requestId,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + psys->state=STATE_IDLE; + psys->timeout=MAX_IDLE_TIMEOUT; + } + } + break; + case STATE_TAIL_SET: + psys->state=STATE_TAIL_RESPONSE; + psys->retry=0; + set_cdr_tail(psys); + //set tail + break; + case STATE_TAIL_RESPONSE: + if((index=get_msg(psys)) != -1) + { + snmp_msg_set[index].use=0; + snmp_msg_num--; + psys->state=STATE_IDLE; + psys->timeout=INSTANT_TIMEOUT; + } + else + { + if(psys->retry++ > MAX_RETRY) + { + cdr_log("[ERR][cdr_receive]:STATE_TAIL_RESPONSE timeout, request id=%ld, %d-%d-%d",psys->requestId,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + psys->state=STATE_IDLE; + psys->timeout=MAX_IDLE_TIMEOUT; + } + } + break; + case STATE_RESET_SET: + psys->state=STATE_RESET_RESPONSE; + psys->retry=0; + reset_cdr_pointer(psys); + break; + case STATE_RESET_RESPONSE: + if((index=get_msg(psys)) != -1) + { + snmp_msg_set[index].use=0; + snmp_msg_num--; + psys->state=STATE_IDLE; + psys->timeout=INSTANT_TIMEOUT; + } + else + { + if(psys->retry++ > MAX_RETRY) + { + cdr_log("[ERR][cdr_receive]:STATE_RESET_RESPONSE timeout, request id=%ld, %d-%d-%d",psys->requestId,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + psys->state=STATE_IDLE; + psys->timeout=MAX_IDLE_TIMEOUT; + } + } + break; + } + } + } + + prev_time=curr_time; +} + +void set_cdr_tail(cdr_sys *psys) +{ + snmp_pdu request_msg; + cdr_src *psrc; + + psrc=&cdr_src_set[psys->cdrSrcNo]; + request_msg.pdu_type=PDU_SET; + + memcpy(request_msg.var[0].oid,psrc->tailOid,4*psrc->tailOidLen); + request_msg.var[0].oidlen=psrc->tailOidLen; + + sprintf(request_msg.community,"public"); + request_msg.var_num=1; + request_msg.request_id=0; + + request_msg.var[0].vartype=2; //Integer + request_msg.var[0].msglen=4; + request_msg.var[0].msg[0]=psys->tail >> 24; + request_msg.var[0].msg[1]=(psys->tail >> 16) & 0xFF; + request_msg.var[0].msg[2]=(psys->tail >> 8) & 0xFF; + request_msg.var[0].msg[3]=psys->tail & 0xFF; + + psys->requestId=snmp_send(&request_msg,&psys->addr); +//printf("send msg1 %ld\n",psys->requestId); +#if CDR_DEBUG + cdr_log("Set tail requst, request id=%ld, %d-%d-%d",psys->requestId,psys->sysTypeNo,psys->sysNo,psys->subSysNo); +#endif + if(psys->requestId == 0) + { + cdr_log("[ERR][set_cdr_tail]:Send snmp request to set cdr tail pointer fail, %d-%d-%d",psys->sysTypeNo,psys->sysNo,psys->subSysNo); + } +} + +void reset_cdr_pointer(cdr_sys *psys) +{ + snmp_pdu request_msg; + cdr_src *psrc; + + psrc=&cdr_src_set[psys->cdrSrcNo]; + request_msg.pdu_type=PDU_SET; + + memcpy(request_msg.var[0].oid,psrc->headOid,4*psrc->headOidLen); + request_msg.var[0].oidlen=psrc->headOidLen; + + memcpy(request_msg.var[1].oid,psrc->tailOid,4*psrc->tailOidLen); + request_msg.var[1].oidlen=psrc->tailOidLen; + + sprintf(request_msg.community,"public"); + request_msg.var_num=2; + request_msg.request_id=0; + + request_msg.var[0].vartype=2; //Integer + request_msg.var[0].msglen=4; + request_msg.var[0].msg[0]=0; + request_msg.var[0].msg[1]=0; + request_msg.var[0].msg[2]=0; + request_msg.var[0].msg[3]=0; + + request_msg.var[1].vartype=2; //Integer + request_msg.var[1].msglen=4; + request_msg.var[1].msg[0]=0; + request_msg.var[1].msg[1]=0; + request_msg.var[1].msg[2]=0; + request_msg.var[1].msg[3]=0; + + psys->requestId=snmp_send(&request_msg,&psys->addr); +//printf("send msg2 %ld\n",psys->requestId); +#if CDR_DEBUG + cdr_log("Reset pointer requst, request id=%ld, %d-%d-%d",psys->requestId,psys->sysTypeNo,psys->sysNo,psys->subSysNo); +#endif + if(psys->requestId == 0) + { + cdr_log("[ERR][reset_cdr_pointer]:Send snmp request to reset cdr pointer fail, %d-%d-%d",psys->sysTypeNo,psys->sysNo,psys->subSysNo); + } +} + +void get_info(cdr_sys *psys) +{ + snmp_pdu request_msg; + cdr_src *psrc; + + psrc=&cdr_src_set[psys->cdrSrcNo]; + request_msg.pdu_type=PDU_GET; + //fill the get head var + memcpy(request_msg.var[0].oid,psrc->headOid,4*psrc->headOidLen); + request_msg.var[0].oidlen=psrc->headOidLen; + + //fill the get tail var + memcpy(request_msg.var[1].oid,psrc->tailOid,4*psrc->tailOidLen); + request_msg.var[1].oidlen=psrc->tailOidLen; + + sprintf(request_msg.community,"public"); + request_msg.var_num=2; + request_msg.request_id=0; + + psys->requestId=snmp_send(&request_msg,&psys->addr); +//printf("send msg3 %ld\n",psys->requestId); + if(psys->requestId == 0) + { + cdr_log("[ERR][get_info]:Send snmp request to get info fail, %d-%d-%d",psys->sysTypeNo,psys->sysNo,psys->subSysNo); + } +#if CDR_DEBUG + cdr_log("send info requst, request id=%ld",psys->requestId); +#endif +} + +void get_cdr(cdr_sys *psys) +{ + snmp_pdu request_msg; + cdr_src *psrc; + DWORD chasePtr; + int var_num=0; + + psrc=&cdr_src_set[psys->cdrSrcNo]; + request_msg.pdu_type=PDU_GET; + request_msg.request_id=0; + sprintf(request_msg.community,"public"); + + if(psys->head < psys->tail) + chasePtr=MAX_CDR_PTR; + else + chasePtr=psys->head; + + psys->tmptail=psys->tail; + do + { + if(var_num >= psys->maxVarNum) + break; + memcpy(request_msg.var[var_num].oid,psrc->dataOid,4*psrc->dataOidLen); + request_msg.var[var_num].oid[psrc->dataOidLen]=psys->tail; + request_msg.var[var_num].oidlen=psrc->dataOidLen+1; +#if CDR_DEBUG + cdr_log("Encode var to get cdr %ld[%08X], %d-%d-%d",psys->tail,psys->tail,psys->sysTypeNo,psys->sysNo,psys->subSysNo); +#endif + psys->tail++; + if(psys->tail > MAX_CDR_PTR) + psys->tail=0; + var_num++; + }while(psys->tail < chasePtr); + + request_msg.var_num=var_num; + psys->requestId=snmp_send(&request_msg,&psys->addr); +//printf("send msg4 %ld\n",psys->requestId); +#if CDR_DEBUG + cdr_log("send data request, request id=%ld",psys->requestId); +#endif + if(psys->requestId == 0) + { + cdr_log("[ERR][get_cdr]:Send snmp request to get cdr fail, %d-%d-%d",psys->sysTypeNo,psys->sysNo,psys->subSysNo); + } + + if(psys->tail == chasePtr) + { + psys->prepareSetTail=1; + //cdr_log("[INFO][get_cdr]:Finish to get cdr, start to set tail, %d-%d-%d",psys->sysTypeNo,psys->sysNo,psys->subSysNo); + return; + } +} + +void load_cdr_def(cdr_src *psrc) +{ + MYSQL_RES *res_set; + MYSQL_ROW row; + MYSQL *pCdrConn; + int tagvalue; + cdr_def *pdef; + char tagstr[256]; + char tmpstr[128]; + int i,pos; + + pCdrConn=mysql_conn(HOST_NAME,CDRDB_NAME); + if(pCdrConn == NULL) + { + cdr_log("[ERR][load_cdr_def]:mysql_conn CDR_DB\n"); + exit(-1); + } + + sprintf(sqlstr,"SHOW FIELDS FROM %s.%s LIKE 'tag%%'",CDRDB_NAME,psrc->defineTable); + res_set=mysql_getres(pCdrConn,sqlstr); + if(res_set == NULL) + { + cdr_log("[ERR %d][load_cdr_def]:%s\n",mysql_errno(pCdrConn),sqlstr); + exit(-1); + } + + pdef=&psrc->define; + while((row = mysql_fetch_row(res_set))) + { + tagvalue=atoi((char*)(row[0]+strlen("tag"))); + if(tagvalue >= MAX_TAG_VALUE) + { + cdr_log("[ERR][load_cdr_def]:The tag value define in %s is out of range[%d >= %d]",psrc->defineTable,tagvalue,MAX_TAG_VALUE); + exit(-1); + } + pdef->tags[tagvalue]=1; + } + mysql_free_result(res_set); + +// memset(tagstr,0,strlen(tagstr)); + memset(tagstr,0,256); + for(i=0;itags[i]) + { + sprintf(tmpstr,",tag%d",i); + strcat(tagstr,tmpstr); + } + } + + sprintf(sqlstr,"SELECT fieldName,type,optional,width%s FROM %s.%s",tagstr,CDRDB_NAME,psrc->defineTable); + res_set=mysql_getres(pCdrConn,sqlstr); + if(res_set == NULL) + { + cdr_log("[ERR %d][load_cdr_def]:%s\n",mysql_errno(pCdrConn),sqlstr); + exit(-1); + } + + pdef->fieldCount=0; + memset(pdef->allFieldList,0,strlen(pdef->allFieldList)); + strcat(pdef->allFieldList,"key_sys_id,instance,srcCode"); + while((row = mysql_fetch_row(res_set))) + { + sprintf(pdef->fields[pdef->fieldCount].fieldName,"%s",row[0]); + sprintf(tmpstr,",%s",row[0]); + strcat(pdef->allFieldList,tmpstr); + pdef->fields[pdef->fieldCount].type=atoi(row[1]); + pdef->fields[pdef->fieldCount].optional=atoi(row[2]); + pdef->fields[pdef->fieldCount].width=atoi(row[3]); + pos=4; + for(i=0;itags[i]) + { + if(strlen(row[pos]) > 0) + { + pdef->fields[pdef->fieldCount].tagFlag[i]=1; + sprintf(pdef->fields[pdef->fieldCount].tags[i],"%s",row[pos]); + } + else + { + pdef->fields[pdef->fieldCount].tagFlag[i]=0; + } + //cdr_log("%s,tags[%d]=%s,flag=%d",row[0],i,row[pos],pdef->fields[pdef->fieldCount].tagFlag[i]); + pos++; + } + } + + pdef->fieldCount++; + if(pdef->fieldCount >= MAX_FLD_NUM) + { + cdr_log("[ERR][load_cdr_def]:The field count define in %s is out of range [%d >= %d]",psrc->defineTable,pdef->fieldCount,MAX_FLD_NUM); + exit(-1); + } + } + mysql_free_result(res_set); + + sprintf(sqlstr,"SELECT fieldName FROM %s.%s WHERE fileOrder>0 ORDER BY fileOrder",CDRDB_NAME,psrc->defineTable); + res_set=mysql_getres(pCdrConn,sqlstr); + if(res_set == NULL) + { + cdr_log("[ERR %d][load_cdr_def]:%s\n",mysql_errno(pCdrConn),sqlstr); + exit(-1); + } + + memset(pdef->outFieldList,0,strlen(pdef->outFieldList)); + while((row = mysql_fetch_row(res_set))) + { + sprintf(tmpstr,",%s",row[0]); + strcat(pdef->outFieldList,tmpstr); + } + mysql_free_result(res_set); + + create_record_table(psrc,pCdrConn); + + mysql_close(pCdrConn); +} + +void create_record_table(cdr_src *psrc,MYSQL *pCdrConn) +{ + char createsql[8192]; + char createfieldlist[8192]; + char tmpstr[256]; + cdr_def *pdef; + int hour; + int index; + + pdef=&psrc->define; + //memset(createfieldlist,0,strlen(createfieldlist)); + memset(createfieldlist,0,8192); + memset(tmpstr,0,256); + sprintf(tmpstr,"key_sys_id tinyint(2) DEFAULT '0' NOT NULL,instance int(4) DEFAULT '0' NOT NULL,"); + strcat(createfieldlist,tmpstr); + for(index=0;indexfieldCount;index++) + { + sprintf(tmpstr,"%s ",pdef->fields[index].fieldName); + strcat(createfieldlist,tmpstr); + switch(pdef->fields[index].type) + { + //string + case 0: + case 2: + case 4: + case 24: + case 26: + case 40: + case 41: + case 7: + if((pdef->fields[index].width) < 255) + sprintf(tmpstr,"VARCHAR(%d)",pdef->fields[index].width); + else + sprintf(tmpstr,"TEXT"); + strcat(createfieldlist,tmpstr); + break; + //integer + case 1: + //unsigned integer + case 25: + case 6: + case 8: + sprintf(tmpstr,"int(%d)",pdef->fields[index].width); + strcat(createfieldlist,tmpstr); + break; + case 5: + strcat(createfieldlist,"VARCHAR(20)"); + break; + //timestamp + case 3: + strcat(createfieldlist,"DATETIME DEFAULT '0000-00-00 00:00:00'"); + break; + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 22: + case 23: + strcat(createfieldlist,"TEXT"); + break; + case 21: + strcat(createfieldlist,"VARCHAR(3)"); + break; + } + if(!pdef->fields[index].optional) + strcat(createfieldlist, " NOT NULL"); + strcat(createfieldlist,","); + } + strcat(createfieldlist,"srcCode TEXT,PRIMARY KEY (key_sys_id, instance, releaseTime));"); + + + for(hour=0;hour<24;hour++) + { + //memset(createsql,0,strlen(createsql)); + memset(createsql,0,8192); + sprintf(tmpstr,"CREATE TABLE IF NOT EXISTS %s.%s_%02d (",CDRDB_NAME,psrc->recordTable,hour); + strcat(createsql,tmpstr); + strcat(createsql,createfieldlist); + if(mysql_getnores(pCdrConn,createsql) != 0) + { + cdr_log("[ERR][create_record_table]:Fail to create table '%s.%s_%02d'\n%s",CDRDB_NAME,psrc->recordTable,hour,createsql); + exit(-1); + } + } + +} + +void load_cdr_info() +{ + MYSQL_RES *res_set; + MYSQL_ROW row; + MYSQL *pCdrConn; + cdr_src *psrc=NULL; + + pCdrConn=mysql_conn(HOST_NAME,CDRDB_NAME); + if(pCdrConn == NULL) + { + cdr_log("[ERR][load_cdr_info]:mysql_conn CDR_DB\n"); + exit(-1); + } + + sprintf(sqlstr,"SELECT oid,bufSize,headOid,tailOid,port,recordTable,defineTable,csvPath,backupMax,version,sysTypeNo FROM %s.cdrSource where isEnable > 0 group by defineTable",CDRDB_NAME); + res_set=mysql_getres(pCdrConn,sqlstr); + if(res_set == NULL) + { + cdr_log("[ERR %d][load_cdr_info]:%s\n",mysql_errno(pCdrConn),sqlstr); + exit(-1); + } + + cdr_src_num=0; + cdr_sys_num=0; + memset(cdr_src_set,0,sizeof(cdr_src_set)); + memset(cdr_sys_set,0,sizeof(cdr_sys_set)); + memset(snmp_msg_set,0,sizeof(snmp_msg_set)); + memset(&sql_comm_buffer,0,sizeof(sql_comm_buffer)); + while((row = mysql_fetch_row(res_set))) + { + psrc=&cdr_src_set[cdr_src_num]; + sprintf(psrc->dataPotOid,"%s",row[0]); + psrc->bufferSize=atoi(row[1]); + sprintf(psrc->headPotOid,"%s",row[2]); + sprintf(psrc->tailPotOid,"%s",row[3]); + sprintf(psrc->recordTable,"%s",row[5]); + + psrc->headOidLen=str2oid(row[2],psrc->headOid,20); + psrc->tailOidLen=str2oid(row[3],psrc->tailOid,20); + psrc->dataOidLen=str2oid(row[0],psrc->dataOid,20); + + sprintf(psrc->defineTable,"%s",row[6]); + sprintf(psrc->csvPath,"%s",row[7]); + psrc->version=atoi(row[9]); + psrc->port=atoi(row[4]); + psrc->sysTypeNo=atoi(row[10]); + + load_cdr_def(psrc); + + cdr_log("[INFO][load_cdr_info]:CDR SOURCE[%d], sysTypeNo=%d, dataOid[%d]=%s, headOid[%d]=%s, tailOid[%d]=%s, recordTable=%s, defineTable=%s, csvPath=%s, version=%d", + cdr_src_num,psrc->sysTypeNo,psrc->dataOidLen,psrc->dataPotOid,psrc->headOidLen,psrc->headPotOid,psrc->tailOidLen,psrc->tailPotOid,psrc->recordTable,psrc->defineTable,psrc->csvPath,psrc->version); + cdr_src_num++; + if(cdr_src_num >= MAX_SRC_NUM) + { + cdr_log("[ERR][load_cdr_info]:There are too mang CDR SOURCE"); + break; + } + } + + mysql_free_result(res_set); + mysql_close(pCdrConn); +} + +void load_sys_info() +{ + MYSQL_RES *res_set; + MYSQL_ROW row; + MYSQL *pCdrConn; + int sysTypeNo,sysNo,subSysNo; + int i; + + pCdrConn=mysql_conn(HOST_NAME,CDRDB_NAME); + if(pCdrConn == NULL) + { + cdr_log("[ERR][load_sys_info]:mysql_conn CDR_DB\n"); + exit(-1); + } + + sprintf(sqlstr,"SELECT sysTypeNo,sysNo,subSysNo,ip FROM OMC_PUB.sysInfo"); + res_set=mysql_getres(pCdrConn,sqlstr); + if(res_set == NULL) + { + cdr_log("[ERR %d][load_sys_info]:%s\n",mysql_errno(pCdrConn),sqlstr); + exit(-1); + } + + while((row = mysql_fetch_row(res_set))) + { + sysTypeNo=atoi(row[0]); + sysNo=atoi(row[1]); + subSysNo=atoi(row[2]); + + for(i=0;i= MAX_SYS_NUM) + { + cdr_log("[ERR][load_sys_info]: There are too many system"); + break; + } + for(i=0;i= MAX_SNMP_MSG_NUM) + return; + memset(&cdrmsg,0,sizeof(snmp_pdu)); + if(snmp_receive(&cdrmsg,&addr) == 0) + return; + if(cdrmsg.pdu_type != PDU_RSP) + continue; + + while(index < MAX_SNMP_MSG_NUM) + { + if(snmp_msg_set[index].use == 0) + break; + index++; + } + + if(index == MAX_SNMP_MSG_NUM) + { + cdr_log("[WARN][cdr_receive]:The receive buffer is full"); + return; + } + memset(&snmp_msg_set[index].pdu,0,sizeof(snmp_pdu)); + memcpy(&snmp_msg_set[index].pdu,&cdrmsg,sizeof(snmp_pdu)); +//printf("receive msg request id=%ld\n",snmp_msg_set[index].pdu.request_id); + snmp_msg_set[index].use=1; + snmp_msg_set[index].timeout=MAX_MSG_TIMEOUT; + snmp_msg_num++; + + int i; + char stroid[64]; + char strtmp[24]; + sprintf(stroid," "); + for(i=0;isysTypeNo,psys->sysNo,psys->subSysNo); + psys->state=STATE_IDLE; + psys->timeout=MAX_IDLE_TIMEOUT; + return; + } + psrc=&cdr_src_set[psys->cdrSrcNo]; + //check the head and tail pointer + //cdr_log("[INFO][check_pointer]:Get head=%ld[%08X], tail=%ld[%08X], current, head=%ld[%08X], tail=%ld[%08X], %d-%d-%d",getHead,getHead,getTail,getTail,psys->head,psys->head,psys->tail,psys->tail,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + + if(getHead == getTail) + { + psys->head=getHead; + psys->tail=getTail; + psys->state=STATE_IDLE; + psys->timeout=MAX_IDLE_TIMEOUT; + return; + } + else if(getHead > getTail) + { + psys->head=getHead; + if(getHead - getTail > psrc->bufferSize) + psys->tail=getHead - psrc->bufferSize; + else + psys->tail=getTail; + psys->state=STATE_CDR_GET; + psys->retry=0; + psys->timeout=INSTANT_TIMEOUT; + //cdr_log("[INFO][check_pointer]:Get the info first, start to chase to get CDR, head=%ld[%08X], tail=%ld[%08X], %d-%d-%d",psys->head,psys->head,psys->tail,psys->tail,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + return; + } + else + { + if(getHead >= psrc->bufferSize) + { + psys->tail=getHead - psrc->bufferSize; + psys->head=getHead; + //cdr_log("[INFO][check_pointer]:Get the info first, the head pointer get the max value already, head=%ld[%08X], tail=%ld[%08X], %d-%d-%d",psys->head,psys->head,psys->tail,psys->tail,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + } + else + { + //psys->tail=MAX_CDR_PTR -(psrc->bufferSize - getHead); + //psys->head=getHead; + psys->head=getHead; + psys->tail=0; + if(psys->head == psys->tail) + { + psys->prepareSetTail=0; + psys->state=STATE_TAIL_SET; + psys->retry=0; + cdr_log("[INFO][check_pointer]:No more cdr, set the tail, head=%ld[%08X], tail=%ld[%08X], %d-%d-%d",psys->head,psys->head,psys->tail,psys->tail,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + return; + } + cdr_log("[INFO][check_pointer]:Get the info first, the head pointer get the max value already and some cdr may miss, head=%ld[%08X], tail=%ld[%08X], %d-%d-%d",psys->head,psys->head,psys->tail,psys->tail,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + } + psys->state=STATE_CDR_GET; + psys->retry=0; + psys->timeout=INSTANT_TIMEOUT; + return; + } + + psys->state=STATE_IDLE; + psys->timeout=MAX_IDLE_TIMEOUT; +} + +int parse_info(snmp_pdu *pdu,DWORD *head,DWORD *tail) +{ + if(pdu->var_num != 2) + return 0; + + //parse head + *head=decode_integer(pdu->var[0].msg,pdu->var[0].msglen); + *tail=decode_integer(pdu->var[1].msg,pdu->var[1].msglen); + + return 1; +} + +int get_msg(cdr_sys *psys) +{ + int index; + int i; + int use_count=0; + char tmpstr[64]; + + for(index=0;index= snmp_msg_num) + { + if(psys->retry >= MAX_RETRY) + { + cdr_log("[Err][get_msg]:Get msg fail,request_id=%ld,retry=%d\n",psys->requestId,psys->retry); + cdr_log("Current msg set\n"); + globalstr[0]=0; + for(i=0;irequestId) + { +#if CDR_DEBUG + cdr_log("Get msg,%d,request_id=%ld,curr num=%d",index,psys->requestId,snmp_msg_num-1); +#endif +// cdr_log("Get msg[%d],request_id=%ld,curr num=%d,timeout=%d",index,psys->requestId,snmp_msg_num-1,snmp_msg_set[index].timeout); + return index; + } + use_count++; + } + } + + if(psys->retry >= MAX_RETRY) + { + cdr_log("[Err][get_msg]:Get msg fail,request_id=%ld,retry=%d\n",psys->requestId,psys->retry); + cdr_log("Current msg set\n"); + globalstr[0]=0; + for(i=0;ierror_status != 0) + { + if(pdu->error_status == 1) + { + cdr_log("[WARN][cdr_process]:The var num is too big, curr num=%d, change var num=%d, %d-%d-%d",psys->maxVarNum,psys->maxVarNum-1,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + psys->isVarTooBig=1; + psys->maxVarNum--; + return; + } + else + { + cdr_log("[ERR][cdr_process]:Receive error snmp response, error_status=%d, %d-%d-%d",pdu->error_status,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + return; + } + } + + psrc=&cdr_src_set[psys->cdrSrcNo]; + pdef=&psrc->define; + ltime=time(NULL); + t=localtime(<ime); +#if CDR_DEBUG + cdr_log("pdu var num=%d ", pdu->var_num); +#endif + for(index=0;indexvar_num;index++) + { + isRoamCDR=0; + memset(mcc,0,sizeof(mcc)); + memset(mnc,0,sizeof(mnc)); + + if(pdu->var[index].vartype != NosuchInstance && pdu->var[index].msglen != 0) + { + if(AsnDecode(pdu->var[index].msg,pdu->var[index].msglen,1,&errpos,&asnbuf) < 0 && errpos < 6) + { + cdr_log("[ERR][cdr_process]:Fail to process snmp msg1, %d-%d-%d",psys->sysTypeNo,psys->sysNo,psys->subSysNo); + cdr_logmsg(pdu->var[index].msg,pdu->var[index].msglen); + return; + } +#if CDR_DEBUG + cdr_log("pdu[%d] var length=%d\n", index, pdu->var[index].msglen); +#endif + //get serial + pos=get_int_v2("2",(int*)&serial,&asnbuf)+2; + serial=serial & MAX_CDR_PTR; +#if CDR_DEBUG + cdr_log("serial=%ld\n", serial); +#endif + //get tag + if(gettagcode(pdu->var[index].msg+pos,(unsigned int*)&tagcode,&temp) < 1) + { + cdr_log("[ERR][cdr_process]:Get tagcode fail, %d-%d-%d",psys->sysTypeNo,psys->sysNo,psys->subSysNo); + return; + } + memset(&asnbuf,0,sizeof(ASN_BUF)); + if(AsnDecode(pdu->var[index].msg+pos,pdu->var[index].msglen-pos,1,&errpos,&asnbuf) < 0 && errpos < 6) + { + cdr_log("[ERR][cdr_process]:Fail to process snmp msg2, %d-%d-%d",psys->sysTypeNo,psys->sysNo,psys->subSysNo); + cdr_logmsg(pdu->var[index].msg+pos,pdu->var[index].msglen-pos); + return; + } + + if(tagcode >= MAX_TAG_VALUE || pdef->tags[tagcode] == 0) + { + cdr_log("[ERR][cdr_process]:Invalid tagcode=%d, %d-%d-%d",tagcode,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + cdr_logmsg(pdu->var[index].msg+pos,pdu->var[index].msglen-pos); + return; + } + + + //If this cdr is VLR cdr + if(psys->sysTypeNo == 325 && wsms_enable_flag) + getVlrCdr(psys,serial,pdu->var[index].msg+pos,pdu->var[index].msglen-pos,tagcode); + + sqlstr[0]=0; + //sprintf(tmpstr,"REPLACE INTO %s.%s_%02d(%s) VALUES(",CDRDB_NAME,psrc->recordTable,t->tm_hour,pdef->allFieldList); + sprintf(tmpstr,"VALUES("); + strcat(sqlstr,tmpstr); + sprintf(tmpstr,"'%d','%ld','%s'",psys->sysNo,serial,bcd2str(pdu->var[index].msg+pos,pdu->var[index].msglen-pos)); + strcat(sqlstr,tmpstr); +#if CDR_DEBUG + cdr_log("sqlstr1=%s ", sqlstr); +#endif + if(psys->sysTypeNo == 320) + { + if(nrtrde_flag) + { + memset(nrtrdesqlstr,0,sizeof(nrtrdesqlstr)); + sprintf(tmpstr,"REPLACE INTO %s.cdrFromMSCSend(%s,mcc,mnc) VALUES(",CDRDB_NAME,pdef->allFieldList); + strcat(nrtrdesqlstr,tmpstr); + sprintf(tmpstr,"'%d','%ld','%s'",psys->sysNo,serial,bcd2str(pdu->var[index].msg+pos,pdu->var[index].msglen-pos)); + strcat(nrtrdesqlstr,tmpstr); + } + if(mt_sms_charge_flag) + { + memset(mtsmssqlstr,0,sizeof(mtsmssqlstr)); + sprintf(tmpstr,"REPLACE INTO OMC_PUB.%s(%s) VALUES(",MT_SMS_CHARGE_TABLE,pdef->allFieldList); + strcat(mtsmssqlstr,tmpstr); + sprintf(tmpstr,"'%d','%ld','%s'",psys->sysNo,serial,bcd2str(pdu->var[index].msg+pos,pdu->var[index].msglen-pos)); + strcat(mtsmssqlstr,tmpstr); + } + } + + for(i=0;ifieldCount;i++) + { + // cdr_log("tagcode=%d\n", tagcode); + if(pdef->fields[i].tagFlag[tagcode]) + { + // cdr_log("tag=%s ", pdef->fields[i].tagFlag[tagcode]); + memset(tempbyte,0,sizeof(tempbyte)); + len=get_tlv(pdef->fields[i].tags[tagcode],tempbyte,&asnbuf); + // cdr_log("len=%d\n", len); + if(len == -1) + { + sprintf(tmpstr,",NULL"); + } + else + { + cdr_parse(psys,tagcode,&asnbuf,i,fieldstr); + sprintf(tmpstr,"%s",fieldstr); +#if CDR_DEBUG + cdr_log("fieldstr=%s ", fieldstr); +#endif + if(!strcmp(pdef->fields[i].fieldName,"releaseTime")) + sprintf(tmptime,"%s",fieldstr); +#if CDR_DEBUG + cdr_log("fieldname=%s,tag=%s,len=%d,%d-%d-%d",pdef->fields[i].fieldName,pdef->fields[i].tags[tagcode],len,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + cdr_logmsg(tempbyte,len); +#endif + } + } + else + { + sprintf(tmpstr,",NULL"); + } + strcat(sqlstr,tmpstr); + if(psys->sysTypeNo==320 && mt_sms_charge_flag) + { + strcat(mtsmssqlstr,tmpstr); + } + if(psys->sysTypeNo==320 && nrtrde_flag) + { + strcat(nrtrdesqlstr,tmpstr); + } + } + strcat(sqlstr,");"); +#if CDR_DEBUG + cdr_log("sqlstr2=%s ", sqlstr); + cdr_log("[tmptime]%s",tmptime); +#endif + if (strlen(tmptime) != 0) + { + pstr=strstr(tmptime," "); + cdr_log("[pstr]%s",pstr); + tmp=&pstr[1]; + pstr=strtok(tmp,":"); + cdr_log("[time]%s",pstr); + } + if (pstr == NULL) + //if(strlen(pstr)==0) + sprintf(tmpstr,"REPLACE INTO %s.%s_%02d(%s) ",CDRDB_NAME,psrc->recordTable,t->tm_hour,pdef->allFieldList); + else + sprintf(tmpstr,"REPLACE INTO %s.%s_%s(%s) ",CDRDB_NAME,psrc->recordTable,pstr,pdef->allFieldList); + strcat(tmpstr,sqlstr); + sprintf(sqlstr,"%s",tmpstr); +#if CDR_DEBUG + cdr_log("[SQL]%s",sqlstr); +#endif + if(psys->sysTypeNo==320 && nrtrde_flag && isRoamCDR) + { + sprintf(tmpstr,",'%s','%s');",mcc,mnc); + strcat(nrtrdesqlstr,tmpstr); + send_sql_comm(nrtrdesqlstr); + } + if(psys->sysTypeNo==320 && mt_sms_charge_flag) + { + strcat(mtsmssqlstr,");"); + send_sql_comm(mtsmssqlstr); + } + // removed by simon, at 2023-11-14 + //printf("%s\n",sqlstr); + + send_sql_comm(sqlstr); + + psys->processNum++; + if(psys->processNum >= MAX_PROCESS_CDR_NUM) + { + cdr_log("[INFO][cdr_process]:Set the tail to %ld to save, %d-%d-%d",psys->tail,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + psys->processNum=0; + psys->prepareSetTail=1; + } +#if CDR_DEBUG + cdr_log("Get cdr, serial=%d[%08X], %d-%d-%d",serial,serial,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + cdr_logmsg(pdu->var[index].msg,pdu->var[index].msglen); + cdr_log("Insert cdr,%s",sqlstr); +#endif + + } + else + { + psys->error++; + cdr_log("[WARN][cdr_process]:No such instance or zero var, %ld -> %ld, %d-%d-%d",psys->tail,psys->head,psys->sysTypeNo,psys->sysNo,psys->subSysNo); + } + + + } + +#if CDR_DEBUG + cdr_log("[INFO][cdr_process]:process cdr, var num=%d",pdu->var_num); +#endif +} + +void cdr_parse(cdr_sys *psys,int tagcode,ASN_BUF *asnbuf,int fieldIndex,char* fieldstr) +{ + cdr_def *pdef; + cdr_src *psrc; + int len; + char tmpstr[1024]; + BYTE tempbyte[1024]; + int tempint,tmpint1,tmpint2; + int index; + char tag_seq[24]; + char tag_seq1[24]; + + //for smlog + int smlog_smdcs_decode_type=0; //1-7bit, 2-8bit, 3-unicode + int smlog_smdcs_value; + + psrc=&cdr_src_set[psys->cdrSrcNo]; + pdef=&cdr_src_set[psys->cdrSrcNo].define; + memset(fieldstr,0,256); + memset(tempbyte,0,256); +#if CDR_DEBUG + cdr_log("field %d type = %d\n", fieldIndex,pdef->fields[fieldIndex].type); +#endif + switch(pdef->fields[fieldIndex].type) + { + //string + case 0: + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],(u_char*)tmpstr,asnbuf)) > 0) + { + tmpstr[len]='\0'; + sprintf(fieldstr,",'%s'",tmpstr); + } + else + sprintf(fieldstr,",NULL"); + break; + //integer + case 1: + if((get_int_v2(pdef->fields[fieldIndex].tags[tagcode],&tempint,asnbuf)) >= 0) + sprintf(fieldstr,",%d",tempint); + else + sprintf(fieldstr,",NULL"); + break; + //BCD + case 2: + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'%s'",bcd2str(tempbyte,len)); + else + sprintf(fieldstr, ",NULL"); + break; + //timestamp + case 3: + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'%02x-%02x-%02x %02x:%02x:%02x'",tempbyte[0],tempbyte[1],tempbyte[2],tempbyte[3],tempbyte[4],tempbyte[5]); + else + sprintf(fieldstr,",NULL"); + break; + //MSISDN + case 4: + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + { + //opps need cc + if(psrc->sysTypeNo == 375) + sprintf(fieldstr,",'%s'",digits2str(tempbyte,len * 2)); + else + sprintf(fieldstr,",'%s'",digits2str(tempbyte + 1,(len - 1) * 2)); + } + else + sprintf(fieldstr,",NULL"); + break; + //trunkgroup + case 5: + sprintf(tag_seq,"%s.0",pdef->fields[fieldIndex].tags[tagcode]); //integer + if((tempint = get_int(tag_seq,asnbuf)) >= 0) + sprintf(fieldstr,",%d",tempint); + else + { + sprintf(tag_seq,"%s.1",pdef->fields[fieldIndex].tags[tagcode]); + if((len = get_tlv(tag_seq,(u_char*)tmpstr,asnbuf)) > 0) + { + tmpstr[len] = '\0'; + sprintf(fieldstr,",'%s'",tmpstr); + } + else + sprintf(fieldstr,",NULL"); + } + break; + //BasicServiceCode + case 6: + sprintf(tag_seq,"%s.2",pdef->fields[fieldIndex].tags[tagcode]); //integer + if((len = get_tlv(tag_seq,tempbyte,asnbuf)) < 0) + { + sprintf(tag_seq,"%s.3",pdef->fields[fieldIndex].tags[tagcode]); + len = get_tlv(tag_seq,tempbyte,asnbuf); + } + if(len > 0) + sprintf(fieldstr,",%d",tempbyte[0]); + else + sprintf(fieldstr,",NULL"); + break; + //recordingEntity + case 7: + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'%s'",bcd2str(tempbyte + 1, len - 1)); + else + sprintf(fieldstr,",NULL"); + break; + //Diagnostics + case 8: + for(index=0;index<5;index++) + { + sprintf(tag_seq,"%s.%d",pdef->fields[fieldIndex].tags[tagcode],index); //integer + if((tempint = get_int(tag_seq,asnbuf)) >= 0) + { + sprintf(fieldstr,",%d",tempint); + break; + } + if(index == 4) + sprintf(fieldstr,",NULL"); + } + break; + //LocationAreaAndCell + case 9: + sprintf(tag_seq,"%s.0",pdef->fields[fieldIndex].tags[tagcode]); + sprintf(tag_seq1,"%s.1",pdef->fields[fieldIndex].tags[tagcode]); + if(get_int_v2(tag_seq,&tmpint1,asnbuf) >= 0 && get_int_v2(tag_seq1,&tmpint2,asnbuf) >= 0) + sprintf(fieldstr,",'%05d %05d'",tmpint1,tmpint2); + else + sprintf(fieldstr, ",NULL"); + break; + //SEQUENCE OF LocationChange + case 10: + //SEQUENCE OF ChangeOfService + case 11: + //SEQUENCE OF SuppServiceUsed + case 12: + //AOCParameters + case 13: + //SEQUENCE OF AOCParmChange + case 14: + break; + //ChangeOfClassmark + case 15: + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'[%02x][%02x][%02x]'",tempbyte[0],tempbyte[1],tempbyte[2]); + else + sprintf(fieldstr,",NULL"); + break; + //ChangeOfRadioChannel + case 16: + //AdditionalChgInfo + case 17: + //ManagementExtensions + case 18: + //SEQUENCE OF HSCSDParmsChange + case 19: + //SEQUENCE OF ChannelCoding + case 20: + //LevelOfCAMELService(bit string) + case 21: + //SEQUENCE OF CAMELInformation + case 22: + break; + //SmRslf + case 23: + for(index=0;index<5;index++) + { + sprintf(tag_seq,"%s.%d",pdef->fields[fieldIndex].tags[tagcode],index); + if((get_int_v2(tag_seq,&tempint,asnbuf)) >= 0) + { + sprintf(fieldstr,",'%02d %02d'",index+7,tempint); + break; + } + if(index == 4) + sprintf(fieldstr,",NULL"); + } + break; + //imei + case 24: + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'%s'",digits2str(tempbyte,len * 2)); + else + sprintf(fieldstr,",NULL"); + break; + //unsigned integer + case 25: + len=get_int_v2(pdef->fields[fieldIndex].tags[tagcode],&tempint,asnbuf); + if(len > 0) + { + switch(len) + { + case 1: + sprintf(fieldstr,",%u",0x000000ff & tempint); + break; + case 2: + sprintf(fieldstr,",%u",0x0000ffff & tempint); + break; + case 3: + sprintf(fieldstr,",%u",0x00ffffff & tempint); + break; + case 4: + sprintf(fieldstr,",%u",tempint); + break; + } + } + else if(len == 0) + sprintf(fieldstr,",0"); + else + sprintf(fieldstr,",NULL"); + break; + + //decode smcontent + case 26: + if(smlog_decode_flag) + { + char formatstring[256]; + char mes[256]; + //Get the smdcs tlv + + memset(formatstring,0,256); + memset(mes,0,256); + + if((len = get_tlv("0.4",tempbyte,asnbuf)) != 1) + { + cdr_log("[ERR]:smdcs != 1 byte"); + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'%s'",bcd2str(tempbyte,len)); + else + sprintf(fieldstr, ",NULL"); + break; + } + + smlog_smdcs_value=tempbyte[0]; + + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + { + //Get the decode type,1-7bit, 2-8bit, 3-unicode + smlog_smdcs_decode_type=((smlog_smdcs_value & 0x0C)>>2)+1; + //printf("decode type=%d\n",smlog_smdcs_decode_type); + if(smlog_smdcs_decode_type==1 || smlog_smdcs_decode_type==2) + { + //printf("BCD ---> 7bit or 8bit\n"); + memset(tmpstr,0,256); + if(smsDecodeAll(smlog_smdcs_decode_type,(char*)tempbyte,tmpstr,len)>0) + { + int mpos=0,pos=0; + memset(mes,0,256); + for(pos=0;pos<256;pos++) + { + if(isprint(tmpstr[pos])) + { + mes[mpos]=tmpstr[pos]; + mpos++; + } + } + + formatSingleQuotation(mes,strlen(mes),formatstring); + sprintf(fieldstr,",'%s'",formatstring); + } + else + sprintf(fieldstr,",'decode error'"); + } + else if(smlog_smdcs_decode_type == 3) + { + //printf("unicode to unicode\n"); + sprintf(mes,"%s",bcd2str(tempbyte,len)); + formatSingleQuotation(mes,strlen(mes),formatstring); + sprintf(fieldstr,",'%s'",formatstring); + } + else + { + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'%s'",bcd2str(tempbyte,len)); + else + sprintf(fieldstr, ",NULL"); + } + } + else + sprintf(fieldstr,",NULL"); + } + else + { + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'%s'",bcd2str(tempbyte,len)); + else + sprintf(fieldstr, ",NULL"); + } + break; + //IMSI + case 40: + if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0) + { + sprintf(fieldstr,",'%s'",digits2str(tempbyte,len * 2)); + if(psys->sysTypeNo == 320 && nrtrde_flag) + { + sprintf(tmpstr,"%s",digits2str(tempbyte,len * 2)); + //compare the local_mcc and local_mnc with mcc mnc + for(index=0;index<3;index++) + { + mcc[index]=tmpstr[index]; + } + mcc[3]='\0'; + + for(index=3;index<5;index++) + { + mnc[index-3]=tmpstr[index]; + } + mnc[2]='\0'; + if(strcmp(mcc,local_mcc) != 0 || strcmp(mnc,local_mnc) != 0) + { + isRoamCDR=1; + } + } + } + else + { + sprintf(fieldstr,",NULL"); + } + break; + //RoutingNumber + case 41: + sprintf(tag_seq,"%s.1",pdef->fields[fieldIndex].tags[tagcode]); //RoamingNumber + if((len = get_tlv(tag_seq,tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'RM:%s'",digits2str(tempbyte + 1, (len - 1) * 2)); + else + { + sprintf(tag_seq,"%s.2",pdef->fields[fieldIndex].tags[tagcode]); //ForwardToNumber + if((len = get_tlv(tag_seq,tempbyte,asnbuf)) > 0) + sprintf(fieldstr,",'FW:%s'",digits2str(tempbyte + 1, (len - 1) * 2)); + else + sprintf(fieldstr,",NULL"); + } + break; + + } +} + +void send_sql_comm(char *sqlcomm) +{ + MYSQL *pCdrConn; + static unsigned long do_time=0; + int index; + int doit=0; + + static struct timeval tv1, tv2; + struct timezone tz; + long elapse; + int pre_num; + + do_time+=time_slot; + + if(sqlcomm == NULL) + { + if(do_time > 5 && sql_comm_buffer.commNum > 0) + { + do_time=0; + doit=1; + } + } + else + { + sprintf(sql_comm_buffer.sqlstr[sql_comm_buffer.commNum],"%s",sqlcomm); + sql_comm_buffer.commNum++; + + if(sql_comm_buffer.commNum == MAX_SQL_COMM_NUM) + { + doit=1; + } + } + + if(doit) + { + do_time=0; + gettimeofday(&tv1,&tz); + pre_num=sql_comm_buffer.commNum; + + pCdrConn=mysql_conn(HOST_NAME,CDRDB_NAME); + if(pCdrConn == NULL) + { + cdr_log("[ERR][send_sql_comm]:mysql_conn CDR_DB\n"); + return; + } + + for(index=0;indextm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + for (i = 0; i < len; i++) + sprintf(buf + 3 * i, "%02X ", msgbuf[i]); + + strcat(buf, "\n"); + fputs(buf,fp); + fflush(fp); + fclose(fp); + } +} + +void cdr_log(const char *fmt, ...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/cdrlog_%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + +BYTE str2oid(char *str, DWORD * array, BYTE max) +{ + BYTE sub = 0; + short len, i; + char *pvar; + len = strlen(str); + pvar = str; + for (i = 0; i < len && sub < max; i++) { + if (str[i] == '.') { + str[i] = '\0'; + if (strlen(pvar) == 0) + continue; + array[sub++] = atoi(pvar); + pvar = str + i + 1; + } + } + if (strlen(pvar) == 0) + return sub; + array[sub++] = atoi(pvar); + return sub; +} + +char *bcd2str(BYTE* buf,int len) +{ + int i; + static char str[1024] = "\0"; + for (i = 0; i < len; i++) + sprintf(str + 2 * i, "%02X", buf[i]); + return str; +} + +/* Decode the content of the SMLOG CDR */ +int smsDecodeAll(int code_type,char* strIn,char* strOut,int length) +{ + int i,n,j; + int len; + unsigned char mid1,mid2,cur; + unsigned char strHex[512]; + if(code_type>1 && code_type<4) + { + memcpy(strOut,strIn,length); + return length; + } + else if(code_type>=4) + { + return 0; + } + + n=0;j=0; + len=length; + if(len>140) + len=140; + memcpy(strHex,strIn,len); + + for(i=0;i<=len;i++) + { + if(i>0) + { + mid1=strHex[i]; + mid2=strHex[i-1]; + cur=((mid1<>(8-n)); + } + else + { + mid1=strHex[i]&0x7f; + cur=mid1; + } + strOut[j++]=cur; + n=(n+1)%8; + if(n==0) + i--; + } + + for(i=0;j> 4); + strcat(dig, temp); + } + + if ((pchr = strchr(dig, 'F')) != NULL) + pchr[0] = '\0'; + if ((pchr = strchr(dig, 'E')) != NULL) + pchr[0] = '\0'; + + return dig; +} + +// Extra function +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"cdrCollector"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + cdr_log("[ERR][sendHeart]:Send heartbeat fail"); + return 0; + } + return 1; +} + +int getOmcStatus(int sysNo) +{ + MYSQL_RES *res; + MYSQL_ROW row; + char sqlstr[256]; + int status; + char binCode[256]; + MYSQL *pubConn; + + pubConn=mysql_conn(HOST_NAME,"OMC_PUB"); + if(pubConn == NULL) + { + cdr_log("[ERR][load_cdr_info]:mysql_conn OMC_PUB\n"); + exit(-1); + } + + sprintf(sqlstr,"SELECT detailStat FROM OMC_PUB.sysStat WHERE sysTypeNo=0 and sysNo=%d ",sysNo); + + res=mysql_getres(pubConn,sqlstr); + if(res == NULL) + { + mysql_close(pubConn); + cdr_log("[ERR %d][getOmcStatus]:%s\n",mysql_errno(pubConn),sqlstr); + return -1; + } + + if((row = mysql_fetch_row(res)) != NULL) + { + sprintf(binCode,"%s",row[0]); + //printf("52-%c,53-%c\n",binCode[52],binCode[53]); + status=(binCode[52]-0x30)*16+(binCode[53]-0x30); + } + else + { + mysql_free_result(res); + mysql_close(pubConn); + cdr_log("[ERR %d][getOmcStatus]:Find no row, %s\n",mysql_errno(pubConn),sqlstr); + return -1; + } + mysql_free_result(res); + mysql_close(pubConn); + return status; +} + +int getOmcSysNo(int* sysNo) +{ + char fileName[512]; + unsigned char buf[4096]; + unsigned char param[32][512]; + char paramName[128]; + char paramValue[384]; + char* temp; + FILE* fp; + int fi; + int i; + //int j; + int paramCount; + int byteCount; + + paramCount=0; + byteCount=0; + memset(buf,0,4096); + memset(param,0,32*512); + sprintf(fileName,"./conf/omcd.conf"); + fp=fopen(fileName,"r"); + if(fp) + { + fi=fileno(fp); + if(read(fi,buf,4096)) + { + for(i=0;i<4096;i++) + { + if(buf[i] == 0x0A) + { + //printf("\n"); + if(byteCount<512 && param[paramCount][0] != 0x00 && param[paramCount][0] != 0x23) + paramCount++; + else + memset(param[paramCount],0,512); + byteCount=0; + } + else + { + param[paramCount][byteCount]=buf[i]; + byteCount++; + } + + //printf("%02x ",buf[i]); + } + + for(i=0;icdrSrcNo]; + pdef=&cdr_src_set[psys->cdrSrcNo].define; + + if(AsnDecode(pmsg,msglen,1,&errpos,&asn_buf) < 0 && errpos < msglen) + { + cdr_log("[ERR][getVlrCdr]:Wrong encoding of CDR Message.ip=%lX(%s-%d)\n",psys->addr.remote_ip,psrc->recordTable,psys->sysNo); + return; + } + + for(i=0;ifieldCount;i++) + { + if(strlen(pdef->fields[i].tags[tagcode]) == 0) + continue; + + switch(pdef->fields[i].type) + { + case 2: + //recordExtensions + if(strcmp(pdef->fields[i].fieldName,"recordExtensions") == 0) + { + if((len = get_tlv(pdef->fields[i].tags[tagcode],tempbyte,&asn_buf)) > 0) + recordExtensions=atoi(bcd2str(tempbyte,len)); + else + recordExtensions=-1; + } + //servedMSISDN + case 4: + if(strcmp(pdef->fields[i].fieldName,"servedMSISDN") == 0) + { + if((len = get_tlv(pdef->fields[i].tags[tagcode],tempbyte,&asn_buf)) > 0) + sprintf(msisdn,"%s",digits2str(tempbyte + 1, (len - 1) * 2)); + else + return; + } + break; + //diagnostics + case 8: + if(strcmp(pdef->fields[i].fieldName,"diagnostics") == 0) + { + for(j=0;j<5;j++) + { + sprintf(tag_seq,"%s.%d",pdef->fields[i].tags[tagcode],j); //integer + if((tempint = get_int(tag_seq,&asn_buf)) >= 0) + { + diagnostics=tempint; + break; + } + if(j == 4) + ; + } + } + break; + //servedIMSI + case 40: + if((len = get_tlv(pdef->fields[i].tags[tagcode],tempbyte,&asn_buf)) > 0) + sprintf(imsi,"%s", digits2str(tempbyte, len * 2)); + else + return; + break; + } + } + if(recordExtensions !=-1 && strcmp(msisdn,"\0") != 0 && strcmp(imsi,"\0") != 0) + { + if(recordExtensions == 1) + wsms_check_sub(imsi,msisdn); + } +} + +int wsms_check_sub(char* imsi,char* msisdn) +{ + MYSQL_RES *res; + MYSQL_ROW row; + char sqlstr[128]; + int count=0; + MYSQL *pubConn; + + //Init the OMC_PUB DB connection + pubConn=mysql_conn("localhost","OMC_PUB"); + if(pubConn == NULL) + { + cdr_log("[ERR][wsms_check_sub]:mysql_conn OMC_PUB\n"); + exit(-1); + } + + sprintf(sqlstr,"SELECT imsi,logTime FROM OMC_PUB.wsmsRoamer WHERE imsi='%s'",imsi); + + res=mysql_getres(pubConn,sqlstr); + if(res == NULL) + { + cdr_log("[ERR %d][wsms_check_sub]:%s\n",mysql_errno(pubConn),sqlstr); + mysql_close(pubConn); + return 1; + } + + count=0; + while((row = mysql_fetch_row(res)) != NULL) + { + count++; + } + mysql_free_result(res); + + //if the sub not exist,insert record into table ,return 0 + if(count==0) + { + sprintf(sqlstr,"REPLACE INTO OMC_PUB.wsmsRoamer (imsi,msisdn,flag,logTime)VALUES(%s,%s,0,FROM_UNIXTIME(%ld))", + imsi,msisdn,time(NULL)); + if (mysql_getnores(pubConn, sqlstr) != 0) + { + cdr_log("[ERR %d][wsms_check_sub]:%s\n",mysql_errno(pubConn),sqlstr); + mysql_close(pubConn); + return 1; + } + mysql_close(pubConn); + return 0; + } + //if the sub exist return 1 + else if(count>=1) + { + mysql_close(pubConn); + return 1; + } + mysql_close(pubConn); + return 1; +} + +void getConfFromDB() +{ + MYSQL_RES *res; + MYSQL_ROW row; + MYSQL *pubConn; + + //Init the OMC_PUB DB connection + pubConn=mysql_conn("localhost","OMC_PUB"); + if(pubConn == NULL) + { + cdr_log("[ERR][getConfFromDB]:mysql_conn OMC_PUB\n"); + exit(-1); + } + + //Get the parameter SMLOG_CONTENT_DECODE_FLAG in the OMC.omcPubVarConf + sprintf(sqlstr,"SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='SMLOG_CONTENT_DECODE_FLAG'"); + res=mysql_getres(pubConn,sqlstr); + if(res == NULL) + { + cdr_log("[ERR %d][getConfFromDB]:%s\n",mysql_errno(pubConn),sqlstr); + return; + } + + if((row = mysql_fetch_row(res)) != NULL) + { + if(strlen(row[0]) == 0) + smlog_decode_flag=0; + else if(strcmp(row[0],"Yes") == 0) + smlog_decode_flag=1; + else + smlog_decode_flag=0; + } + mysql_free_result(res); + + //Get the parameter mt_sms_charge_flag in the OMC.omcPubVarConf + sprintf(sqlstr,"SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='MTSMSCharge'"); + res=mysql_getres(pubConn,sqlstr); + if(res == NULL) + { + cdr_log("[ERR %d][cdr_init]:%s\n",mysql_errno(pubConn),sqlstr); + return; + } + if((row = mysql_fetch_row(res)) != NULL) + { + if(strlen(row[0]) == 0) + mt_sms_charge_flag=0; + else if(atol(row[0]) > 0) + mt_sms_charge_flag=1; + else + mt_sms_charge_flag=0; + } + mysql_free_result(res); + mysql_close(pubConn); +} + +int formatSingleQuotation(char *inbuf,int inlen,char* outbuf) +{ + int i; + int pos=0; + + for(i=0;i +#include "../../../../plat/public/src/include/asn1.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" + +#ifndef _T_DWORD +#define _T_DWORD +typedef unsigned int DWORD; +#endif + +/* Added for show version by Simon + * --Begin + */ +#define CDRCOLLECTOR_VERSION "1.2311.15" +/* --End + * + */ + +#define CDR_DEBUG 0 + +#define MAX_CDR_PTR 0x7FFFFFFF +#define CDR_PORT 4968 +#define MAX_TAG_VALUE 32 +#define MAX_FLD_NUM 128 +#define MAX_PROCESS_CDR_NUM 256 +#define MAX_SNMP_MSG_NUM 64 +#define MAX_BIND_VAR_NUM 16 +#define MAX_SRC_NUM 32 +#define MAX_SYS_NUM 128 +#define MAX_SQL_COMM_NUM 256 +#define MAX_RETRY 300 +#define MAX_MSG_TIMEOUT 20 +#define MAX_IDLE_TIMEOUT 5 +#define INSTANT_TIMEOUT -1 +#define HOST_NAME "localhost" +#define CDRDB_NAME "CDR_DB" +#define CSV_PATH "/usr/local/cdr" +#define CDR_LOG_PATH "../log" +#define CDR_LOG_FILE "cdrlog" + + +#define OMC_SINGLE 7 +#define OMC_MASTER 5 + +#define STATE_IDLE 0 +#define STATE_INFO_GET 1 +#define STATE_INFO_RESPONSE 2 +#define STATE_CDR_GET 3 +#define STATE_CDR_RESPONSE 4 +#define STATE_TAIL_SET 5 +#define STATE_TAIL_RESPONSE 6 +#define STATE_RESET_SET 7 +#define STATE_RESET_RESPONSE 8 + +void cdr_timer(); +void cdr_init(); + +typedef struct field_def +{ + char fieldName[64]; + char type; + char optional; + int width; + char tags[MAX_TAG_VALUE][24]; + char tagFlag[MAX_TAG_VALUE]; +}field_def; + +typedef struct cdr_def +{ + char tags[MAX_TAG_VALUE]; + char allFieldList[8192]; + char outFieldList[8192]; + int fieldCount; + field_def fields[MAX_FLD_NUM]; +}cdr_def; + +typedef struct cdr_src +{ + char dataPotOid[128]; + char headPotOid[128]; + char tailPotOid[128]; + DWORD dataOid[32]; + DWORD headOid[32]; + DWORD tailOid[32]; + BYTE dataOidLen; + BYTE headOidLen; + BYTE tailOidLen; + int bufferSize; + int sysTypeNo; + int port; + char recordTable[64]; + char defineTable[64]; + char csvPath[128]; + int version; + + cdr_def define; +}cdr_src; + +typedef struct cdr_sys +{ + int cdrSrcNo; + int sysTypeNo; + int sysNo; + int subSysNo; + + char ip[24]; + snmp_addr addr; + DWORD requestId; + int timeout; + int retry; + + DWORD head; + DWORD tail; + DWORD tmptail; + int prepareSetTail; + int isVarTooBig; + int maxVarNum; + int state; + int processNum; + int error; + +}cdr_sys; + +typedef struct msg +{ + snmp_pdu pdu; + unsigned char use; + int timeout; +}msg; + +typedef struct sql_comm_buf +{ + char sqlstr[MAX_SQL_COMM_NUM][8192]; + int commNum; +}sql_comm_buf; + +#endif diff --git a/src/accountMgr/c_program/cdrCollector/cdrdb.c b/src/accountMgr/c_program/cdrCollector/cdrdb.c new file mode 100644 index 0000000..e145efb --- /dev/null +++ b/src/accountMgr/c_program/cdrCollector/cdrdb.c @@ -0,0 +1,1534 @@ +#include "cdr.h" +#include "../../../omcLib/c_program/ftp/ftp.h" +#include +#include + +extern cdr_sys cdr_sys_set[MAX_SYS_NUM]; +extern int cdr_sys_num; +extern cdr_src cdr_src_set[MAX_SRC_NUM]; +extern int cdr_src_num; + +extern void cdr_log(const char *fmt, ...); + +#define CDR_ALARM_FLAG 0 + + +#define MNG_STATE_IDLE 0 +#define MNG_STATE_PREPARE 1 +#define MNG_STATE_GENERATE_CSV 2 +#define MNG_STATE_CHECK_CSV 3 +#define MNG_STATE_GET_SYS 4 + +static char mng_sqlstr[8192]; + +#define MNG_CLEAR_STATE_IDLE 0 +#define MNG_CLEAR_STATE_PREPARE 1 +#define MNG_CLEAR_STATE_GET_TABLE 2 +#define MNG_CLEAR_STATE_CLEAR_TABLE 3 + +typedef struct _cdr_file_mng +{ + int time_instance; + int cur_generate_timeout; + int generate_timeout; //4 -> 60 minutes generate a file + //2 -> 30 minutes generate a file + //1 -> 15 minutes generate a file + char sending_dir[128]; + // Zed baicells requirement by simon -- + char dailycdr_sending_dir[128]; + // ---end + int backup_flag; + // Zed baicells requirement by simon -- + int dailycdr_backup_flag; + // ---end + int state; + unsigned long prepare_time; + unsigned long start_time; + int cdr_src_index; + + /* Fixed for Norfolk EMS CDR lost issue by simon + * Store second number when time to be changed + * --begin + */ + int tc_sec; + /* --end + * + */ + + char last_create_file[256]; +}_cdr_file_mng; + +_cdr_file_mng cdr_file_mng; + +typedef struct _table_mng +{ + int state; + int table_count; + int cur_table_index; + char table_name[512][32]; + unsigned long prepare_time; + unsigned long start_time; +}_table_mng; + +_table_mng table_mng; + +#define MAX_SMS_NOTE_SYS 32 +typedef struct _sms_note_sys +{ + int sysTypeNo; + char sysTypeName[32]; + int need_alarm; + int need_sms; + int msisdn_count; + char msisdn[4][32]; +}_sms_note_sys; + +#define ONE_DAY_SECONDS (24*60*60) +#define ONE_HOUR_SECONDS (60*60) +#define ONE_QUARTER_SECONDS (15*60) +#define ONE_MIN_SECONDS 60 +#define HALF_MIN_SECONDS 30 +#define TEN_SECONDS 10 +#define TWO_SECONDS 2 + +static unsigned long day_countdown; +static unsigned long hour_countdown; +static unsigned long quarter_countdown; +static unsigned long minute_countdown; +static unsigned long half_minute_countdown; +static unsigned long tensec_countdown; +static unsigned long twosec_countdown; +static unsigned long prev_time; +static unsigned long next_time; +unsigned long current_time=0; + +void cdrdb_init(); +void cdrdb_timer(); +extern void insertSeriousAlarmLog(int compCode,int alarmCode); +int check_csv_file(char *fileName); +void read_sms_conf(); +int insert_sm(int index,char *fileName); + +_sms_note_sys sms_note_sys[MAX_SMS_NOTE_SYS]; +int sms_note_sys_count=0; + +void cdr_clock_init(); +unsigned long cdr_clock_timer(); +void get_parameter(); +void create_csv(cdr_src *psrc); +void create_csv_tc(cdr_src *psrc); +void create_dat_for_wxc1(cdr_src *psrc); +int get_time_condition(char *time_condition,char *time_field,char *time_table); +int get_time_condition_tc(char *time_condition,char *time_field,char *time_table); +void get_tables(); +void clear_table(char *table_name); + +void read_sms_conf() +{ + char sqlstr[256]; + MYSQL_RES *res; + MYSQL_ROW row; + MYSQL *dbConn; + char *pstr; + + cdr_log("[INFO][read_sms_conf]: Read the SMS conf"); + dbConn=mysql_conn("localhost","OMC_PUB"); + if(dbConn == NULL) + cdr_log("[ERR][read_sms_conf]:mysql_conn OMC_PUB\n"); + + //获得公共参数cdr_store_server的值 + sprintf(sqlstr,"select sysTypeNo,sysTypeName,need_alarm,need_sms,sms_receiver FROM OMC_PUB.cdrNotifyConf;"); + + res=mysql_getres(dbConn,sqlstr); + if(res == NULL) + { + cdr_log("[ERR %d][read_sms_conf]:%s\n",mysql_errno(dbConn),sqlstr); + mysql_close(dbConn); + return; + } + + memset(sms_note_sys,0,sizeof(sms_note_sys)); + //判断是否需要备份 + sms_note_sys_count=0; + while((row = mysql_fetch_row(res)) != NULL) + { + sms_note_sys[sms_note_sys_count].sysTypeNo=atoi(row[0]); + sprintf(sms_note_sys[sms_note_sys_count].sysTypeName,"%s",row[1]); + sms_note_sys[sms_note_sys_count].need_alarm=atoi(row[2]); + sms_note_sys[sms_note_sys_count].need_sms=atoi(row[3]); + + sms_note_sys[sms_note_sys_count].msisdn_count=0; + + if(sms_note_sys[sms_note_sys_count].need_sms) + { + pstr=strtok(row[4],","); + sprintf(sms_note_sys[sms_note_sys_count].msisdn[sms_note_sys[sms_note_sys_count].msisdn_count],"%s",pstr); + sms_note_sys[sms_note_sys_count].msisdn_count++; + while((pstr=strtok(NULL,","))) + { + sprintf(sms_note_sys[sms_note_sys_count].msisdn[sms_note_sys[sms_note_sys_count].msisdn_count],"%s",pstr); + sms_note_sys[sms_note_sys_count].msisdn_count++; + } + } + sms_note_sys_count++; + } + + mysql_free_result(res); + mysql_close(dbConn); +} + +int insert_sm(int index,char *fileName) +{ + char sqlstr[512]; + MYSQL *dbConn; + char content[256]; + int i; + + dbConn=mysql_conn("localhost","OMC_PUB"); + if(dbConn == NULL) + { + cdr_log("[ERR][insert_sm]:mysql_conn OMC_PUB\n"); + return 0; + } + + for(i=0;i 5*60) + { + cdr_file_mng.cdr_src_index=0; + cdr_file_mng.state=MNG_STATE_GENERATE_CSV; + cdr_log("[INFO][cdrdb_timer]:start to create csv file\n"); + } + break; + + case MNG_STATE_GENERATE_CSV: + //TC Modified + //printf("cdr_file_mng.cdr_src_index=%d,sysTypeNo=%d,version=%d\n",cdr_file_mng.cdr_src_index,cdr_src_set[cdr_file_mng.cdr_src_index].sysTypeNo,cdr_src_set[cdr_file_mng.cdr_src_index].version); + if(cdr_src_set[cdr_file_mng.cdr_src_index].version == 1 && cdr_src_set[cdr_file_mng.cdr_src_index].sysTypeNo == 320){ + create_dat_for_wxc1(&cdr_src_set[cdr_file_mng.cdr_src_index]); + //printf("sysTypeNo=%d\n",cdr_src_set[cdr_file_mng.cdr_src_index].sysTypeNo); + } + /* Fixed for Norfolk EMS CDR lost issue by simon + * --Begin + */ + else + { + create_csv(&cdr_src_set[cdr_file_mng.cdr_src_index]); + if (cdr_file_mng.tc_sec >= ((1*60*60) - (5*60)) ) + { + create_csv_tc(&cdr_src_set[cdr_file_mng.cdr_src_index]); + } + // for Zeb baicell daily CDR --- + if (cdr_src_set[cdr_file_mng.cdr_src_index].version == 3 && cdr_src_set[cdr_file_mng.cdr_src_index].sysTypeNo == 320) + { + create_dailycdr_csv(&cdr_src_set[cdr_file_mng.cdr_src_index]); + } + // ---end + } + /* --End + * + */ + + cdr_file_mng.state = MNG_STATE_CHECK_CSV; + break; + + case MNG_STATE_CHECK_CSV: +#if CDR_ALARM_FLAG == 1 + check_csv_file(cdr_file_mng.last_create_file); +#endif + cdr_file_mng.state=MNG_STATE_GET_SYS; + break; + + case MNG_STATE_GET_SYS: + cdr_file_mng.cdr_src_index++; + if(cdr_file_mng.cdr_src_index == cdr_src_num) + { + /* Fixed for Norfolk EMS CDR lost issue by simon + * --Begin + */ + cdr_file_mng.tc_sec = 0; + /* --End + * + */ + cdr_file_mng.state=MNG_STATE_IDLE; + } + else + { + cdr_file_mng.state=MNG_STATE_GENERATE_CSV; + } + break; + default: + cdr_file_mng.state=MNG_STATE_IDLE; + break; + } + + + + switch(table_mng.state) + { + case MNG_CLEAR_STATE_IDLE: + break; + + case MNG_CLEAR_STATE_PREPARE: + table_mng.start_time+=time_past; + if(table_mng.start_time - table_mng.prepare_time > 300) + { + table_mng.state=MNG_CLEAR_STATE_GET_TABLE; + cdr_log("[INFO][cdrdb_timer]:start to clear table\n"); + } + break; + + case MNG_CLEAR_STATE_GET_TABLE: + get_tables(); + table_mng.state=MNG_CLEAR_STATE_CLEAR_TABLE; + break; + + case MNG_CLEAR_STATE_CLEAR_TABLE: + if(table_mng.cur_table_index == table_mng.table_count) + { + table_mng.state=MNG_CLEAR_STATE_IDLE; + break; + } + clear_table(table_mng.table_name[table_mng.cur_table_index]); + table_mng.cur_table_index++; + break; + + default: + table_mng.state=MNG_CLEAR_STATE_IDLE; + break; + } + +} + +void cdr_clock_init(int tc_sec) +{ + time_t l_time; + struct tm *t; + int hour,minute,second; + + l_time=time(NULL); + t=localtime(&l_time); + hour=t->tm_hour; + minute=t->tm_min; + second=t->tm_sec; + + day_countdown=hour*ONE_HOUR_SECONDS + minute*ONE_MIN_SECONDS + second; + hour_countdown=minute*ONE_MIN_SECONDS + second; + quarter_countdown=(minute*ONE_MIN_SECONDS + second)%ONE_QUARTER_SECONDS; + minute_countdown=second; + half_minute_countdown=second%HALF_MIN_SECONDS; + tensec_countdown=second%TEN_SECONDS; + twosec_countdown=second%TWO_SECONDS; + current_time=prev_time=next_time=l_time; + + cdr_file_mng.time_instance=hour*4 + minute/15; + cdr_file_mng.cur_generate_timeout=minute/15; + cdr_file_mng.cur_generate_timeout%=cdr_file_mng.generate_timeout; + /* Fixed for Norfolk EMS CDR lost issue by simon + * --Begin + */ + cdr_file_mng.tc_sec = tc_sec; + /* --End + * + */ + cdr_log("[INFO][cdr_clock_init]:time_instance=%d",cdr_file_mng.time_instance); + cdr_log("[INFO][cdr_clock_init]:cur_generate_timeout=%d",cdr_file_mng.cur_generate_timeout); + cdr_log("[INFO][cdr_clock_init]:generate_timeout=%d",cdr_file_mng.generate_timeout); + cdr_log("[INFO][cdr_clock_init]:tc_sec=%d",cdr_file_mng.tc_sec); +} + +unsigned long cdr_clock_timer() +{ + struct tm *t; + unsigned long time_past,ret_past; + next_time=time(NULL); + current_time=next_time; + t=localtime((time_t*)&next_time); + + if(prev_time > next_time) + { + int hour,minute,second; + time_t l_time; + cdr_log("[WARN][cdr_clock_timer]:system time has been changed"); + l_time=prev_time=next_time=time(NULL); + + t=localtime(&l_time); + hour=t->tm_hour; + minute=t->tm_min; + second=t->tm_sec; + + day_countdown=hour*ONE_HOUR_SECONDS + minute*ONE_MIN_SECONDS + second; + hour_countdown=minute*ONE_MIN_SECONDS + second; + quarter_countdown=(minute*ONE_MIN_SECONDS + second)%ONE_QUARTER_SECONDS; + minute_countdown=second; + half_minute_countdown=second%HALF_MIN_SECONDS; + tensec_countdown=second%TEN_SECONDS; + twosec_countdown=second%TWO_SECONDS; + } + time_past=next_time-prev_time; + if(time_past < 0) + time_past=0; + ret_past=time_past; + + day_countdown+=time_past; + hour_countdown+=time_past; + quarter_countdown+=time_past; + minute_countdown+=time_past; + half_minute_countdown+=time_past; + tensec_countdown+=time_past; + twosec_countdown+=time_past; + + if(day_countdown >= ONE_DAY_SECONDS) + { + time_past=day_countdown % ONE_DAY_SECONDS; + day_countdown=time_past; + //call the day clock function here + } + + if(hour_countdown >= ONE_HOUR_SECONDS) + { + time_past=hour_countdown % ONE_HOUR_SECONDS; + hour_countdown=time_past; + //call the hour clock function here + table_mng.state=MNG_CLEAR_STATE_PREPARE; + table_mng.prepare_time=time(NULL); + table_mng.start_time=table_mng.prepare_time; + cdr_log("[INFO][cdr_clock_timer]:prepare to clear table\n"); + } + + if(quarter_countdown >= ONE_QUARTER_SECONDS) + { + time_past=quarter_countdown % ONE_QUARTER_SECONDS; + quarter_countdown=time_past; + //call the quarter clock function here + cdr_file_mng.time_instance++; + cdr_file_mng.time_instance%=96; + cdr_file_mng.cur_generate_timeout++; + if(cdr_file_mng.cur_generate_timeout == cdr_file_mng.generate_timeout) + { + cdr_file_mng.cur_generate_timeout=0; + cdr_file_mng.state=MNG_STATE_PREPARE; + cdr_file_mng.prepare_time=time(NULL); + cdr_file_mng.start_time=cdr_file_mng.prepare_time; + cdr_log("[INFO][cdr_clock_timer]:prepare to create csv file\n"); + } + } + + if(minute_countdown >= ONE_MIN_SECONDS) + { + time_past=minute_countdown % ONE_MIN_SECONDS; + minute_countdown=time_past; + //call the minute clock function here + + } + + if(half_minute_countdown >= HALF_MIN_SECONDS) + { + time_past=half_minute_countdown % HALF_MIN_SECONDS; + half_minute_countdown=time_past; + //call the half-minute clock function here + } + + if(tensec_countdown >= TEN_SECONDS) + { + time_past=tensec_countdown % TEN_SECONDS; + tensec_countdown=time_past; + //call the ten-seconds clock function here + } + + if(twosec_countdown >= TWO_SECONDS) + { + time_past=twosec_countdown % TWO_SECONDS; + twosec_countdown=time_past; + //call the two-seconds clock function here + } + + prev_time=next_time; + return ret_past; +} + +int get_time_condition(char *time_condition,char *time_field,char *time_table) +{ + int start_sec; + int end_sec; + int start_instance; + int end_instance; + char end_time_str[64]; + char start_time_str[64]; + + struct tm *end_t,*start_t; + unsigned long start_time; + + end_t=localtime((time_t*)¤t_time); + /* Fixed for Norfolk EMS CDR lost issue by simon + * --Begin + */ + int end_year = end_t->tm_year+1900; + int end_mon = end_t->tm_mon + 1; + int end_day = end_t->tm_mday; + int local_time_hour = end_t->tm_hour; + /* --End + * + */ + + end_instance=cdr_file_mng.time_instance; + end_sec=end_instance * 15; + cdr_log("[DEBUG][get_time_condition]:end_instance=%02d,end_sec=%02d",end_instance,end_sec); + /* Fixed for Norfolk EMS CDR lost issue by simon + * --Begin + */ + int state_time_end_hour = end_sec/60; + int state_time_start_hour = 0; + + cdr_log("[DEBUG][get_time_condition]:state_time_end_hour=%02d,local_time_hour=%02d",state_time_end_hour,local_time_hour); + if ( state_time_end_hour != local_time_hour) + { + cdr_log("[ERROR][get_time_condition]:error for cdr table target! state_time_start_hour=%02d, local_time_hour=%02d", state_time_end_hour, local_time_hour); + state_time_end_hour = local_time_hour ; + } + sprintf(end_time_str,"%04d-%02d-%02d %02d:%02d:00",end_year,end_mon,end_day,state_time_end_hour,end_sec%60); + /* --End + * + */ + + start_instance=cdr_file_mng.time_instance - cdr_file_mng.generate_timeout; + start_sec=start_instance * 15; + cdr_log("[DEBUG][get_time_condition]:cdr_file_mng.generate_timeout=%d,start_sec=%d",cdr_file_mng.generate_timeout,start_sec); + if(start_instance < 0) + { + start_instance+=96; + start_sec=start_instance * 15; + start_time=current_time - 12*60*60; + /* Fixed for Norfolk EMS CDR lost issue by simon + * --Begin + */ + struct tm start_tb; + start_t=localtime_r((time_t*)&start_time, &start_tb); + state_time_start_hour = start_sec/60; + cdr_log("[DEBUG][get_time_condition]:state_time_start_hour=%02d,local_time_hour=%02d",state_time_start_hour, local_time_hour); + if ( ((state_time_start_hour + 1) % 24) != local_time_hour) + { + cdr_log("[ERROR][get_time_condition]:error for cdr table target!state_time_start_hour=%02d, local_time_hour=%02d", state_time_start_hour, local_time_hour); + state_time_start_hour = (local_time_hour == 0) ? 23 : (local_time_hour - 1); + } + sprintf(start_time_str,"%04d-%02d-%02d %02d:%02d:00",start_t->tm_year+1900,start_t->tm_mon + 1,start_t->tm_mday,state_time_start_hour,start_sec%60); + //when create csv file per hour, keep the old filename + if(cdr_file_mng.generate_timeout == 4) + sprintf(time_table,"%04d_%02d_%02d_%02d",start_t->tm_year+1900,start_t->tm_mon + 1,start_t->tm_mday,state_time_start_hour); + else + sprintf(time_table,"%04d_%02d_%02d_%02d_%02d",start_t->tm_year+1900,start_t->tm_mon + 1,start_t->tm_mday,state_time_start_hour,start_sec%60); + cdr_log("[DEBUG][get_time_condition]:time_table=%s.",time_table); + /* --End + * + */ + } + else + { + /* Fixed for Norfolk EMS CDR lost issue by simon + * --Begin + */ + state_time_start_hour = start_sec/60; + cdr_log("[DEBUG][get_time_condition]:state_time_start_hour=%02d,local_time_hour=%02d",state_time_start_hour,local_time_hour); + if ( ((state_time_start_hour + 1) % 24) != local_time_hour) + { + cdr_log("[ERROR][get_time_condition]:error for cdr table target!state_time_start_hour=%02d, local_time_hour=%02d", state_time_start_hour, local_time_hour); + state_time_start_hour = (local_time_hour == 0) ? 23 : (local_time_hour - 1); + } + sprintf(start_time_str,"%04d-%02d-%02d %02d:%02d:00",end_t->tm_year+1900,end_t->tm_mon + 1,end_t->tm_mday,state_time_start_hour,start_sec%60); + //when create csv file per hour, keep the old filename + if(cdr_file_mng.generate_timeout == 4) + sprintf(time_table,"%04d_%02d_%02d_%02d",end_year,end_mon,end_day,state_time_start_hour); + else + sprintf(time_table,"%04d_%02d_%02d_%02d_%02d",end_year,end_mon,end_day,state_time_start_hour,start_sec%60); + cdr_log("[DEBUG][get_time_condition]:time_table=%s",time_table); + /* --End + * + */ + } + + sprintf(time_condition,"%s >= '%s' and %s < '%s'",time_field,start_time_str,time_field,end_time_str); + cdr_log("[DEBUG][get_time_condition]:time_condition=%s",time_condition); + return state_time_start_hour; +} + +/* Fixed for Norfolk EMS CDR lost issue by simon + * --Begin + */ +int get_time_condition_tc(char *time_condition,char *time_field,char *time_table) +{ + int start_sec; + int end_sec; + int start_instance; + int end_instance; + char end_time_str[64]; + char start_time_str[64]; + + struct tm *end_t,*start_t; + struct tm time_tm; + unsigned long start_time; + + unsigned long pre_time = current_time - cdr_file_mng.tc_sec + (60 *60); + + end_t=localtime_r((time_t*)&pre_time, &time_tm); + + int tc_instance = cdr_file_mng.time_instance - (((cdr_file_mng.tc_sec + 5 * 60) / (60*60)) * 4); + + end_instance = tc_instance; + end_sec=end_instance * 15; + int end_year = end_t->tm_year+1900; + int end_mon = end_t->tm_mon + 1; + int end_day = end_t->tm_mday; + int end_hour = end_t->tm_hour; + + int state_time_end_hour = end_sec/60; + int state_time_start_hour = 0; + + cdr_log("[DEBUG][get_time_condition_tc]:pre_time=%d, tc_sec=%d, tc_instance=%d,end_hour=%2d", pre_time, cdr_file_mng.tc_sec, tc_instance, end_hour); + + cdr_log("[DEBUG][get_time_condition_tc]:end_instance=%02d,end_sec=%02d, state_time_end_hour=%02d",end_instance,end_sec, state_time_end_hour); + if (state_time_end_hour < 0) + { + state_time_end_hour += 24; + } + sprintf(end_time_str,"%04d-%02d-%02d %02d:%02d:00",end_year,end_mon,end_day,state_time_end_hour,end_sec%60); + + start_instance=tc_instance - cdr_file_mng.generate_timeout; + start_sec=start_instance * 15; + cdr_log("[DEBUG][get_time_condition_tc]:cdr_file_mng.generate_timeout=%d,start_sec=%d",cdr_file_mng.generate_timeout,start_sec); + if(start_instance < 0) + { + start_instance+=96; + start_sec=start_instance * 15; + start_time=pre_time - 12*60*60; + struct tm start_tb; + start_t=localtime_r((time_t*)&start_time, &start_tb); + state_time_start_hour = start_sec/60; + cdr_log("[DEBUG][get_time_condition_tc]:state_time_start_hour=%02d",state_time_start_hour); + if ( ((state_time_start_hour + 1) % 24) != state_time_end_hour) + { + cdr_log("[ERROR][get_time_condition_tc]:error for cdr table target!state_time_start_hour=%02d, state_time_end_hour=%02d", state_time_start_hour, state_time_end_hour); + state_time_start_hour = (state_time_end_hour == 0) ? 23 : (state_time_end_hour - 1); + } + + sprintf(start_time_str,"%04d-%02d-%02d %02d:%02d:00",start_t->tm_year+1900,start_t->tm_mon + 1,start_t->tm_mday,state_time_start_hour,start_sec%60); + //when create csv file per hour, keep the old filename + if(cdr_file_mng.generate_timeout == 4) + sprintf(time_table,"%04d_%02d_%02d_%02d",start_t->tm_year+1900,start_t->tm_mon + 1,start_t->tm_mday,state_time_start_hour); + else + sprintf(time_table,"%04d_%02d_%02d_%02d_%02d",start_t->tm_year+1900,start_t->tm_mon + 1,start_t->tm_mday,state_time_start_hour,start_sec%60); + cdr_log("[DEBUG][get_time_condition_tc]:time_table=%s.",time_table); + } + else + { + state_time_start_hour = start_sec/60; + cdr_log("[DEBUG][get_time_condition_tc]:state_time_start_hour=%02d",state_time_start_hour); + if ( ((state_time_start_hour + 1) % 24) != state_time_end_hour) + { + cdr_log("[ERROR][get_time_condition_tc]:error for cdr table target!state_time_start_hour=%02d, state_time_end_hour=%02d", state_time_start_hour, state_time_end_hour); + state_time_start_hour = (state_time_end_hour == 0) ? 23 : (state_time_end_hour - 1); + } + sprintf(start_time_str,"%04d-%02d-%02d %02d:%02d:00",end_t->tm_year+1900,end_t->tm_mon + 1,end_t->tm_mday,state_time_start_hour,start_sec%60); + //when create csv file per hour, keep the old filename + if(cdr_file_mng.generate_timeout == 4) + sprintf(time_table,"%04d_%02d_%02d_%02d",end_year,end_mon,end_day,state_time_start_hour); + else + sprintf(time_table,"%04d_%02d_%02d_%02d_%02d",end_year,end_mon,end_day,state_time_start_hour,start_sec%60); + cdr_log("[DEBUG][get_time_condition_tc]:time_table=%s",time_table); + } + + + sprintf(time_condition,"%s >= '%s' and %s < '%s'",time_field,start_time_str,time_field,end_time_str); + cdr_log("[DEBUG][get_time_condition_tc]:time_condition=%s",time_condition); + return state_time_start_hour; +} + +void create_csv_tc(cdr_src *psrc) +{ + MYSQL *pubConn; + char fullfilename[128]; + char tablename[64]; + char time_table[64]; + char time_cond[128]; + char cmdstr[256]; + struct tm *t; + int hour; + int create_success=0; + + t=localtime((time_t*)¤t_time); + hour=get_time_condition_tc(time_cond,"releaseTime",time_table); + sprintf(fullfilename,"%s/%s_%s.csv",psrc->csvPath,psrc->recordTable,time_table); + sprintf(tablename,"CDR_DB.%s_%02d",psrc->recordTable,hour); + cdr_log("[INFO][create_csv_tc]:prepare to create %s from %s at %02d:%02d:%02d\n",fullfilename,tablename,t->tm_hour,t->tm_min,t->tm_sec); + + pubConn=mysql_conn("localhost","CDR_DB"); + if(pubConn == NULL) + { + cdr_log("[ERR %d][create_csv_tc]:Can not connect to CDR_DB\n",mysql_errno(pubConn)); + return; + } + sprintf(mng_sqlstr,"select key_sys_id,instance%s,srcCode into outfile '%s' from %s where %s",psrc->define.outFieldList,fullfilename,tablename,time_cond); + if(mysql_getnores(pubConn,mng_sqlstr) != 0) + { + cdr_log("[ERR %d][create_csv_tc]:Create %s fail,SQL=%s\n",mysql_errno(pubConn),fullfilename,mng_sqlstr); + create_success=0; + } + else + { + cdr_log("[SQL][create_csv_tc]:%s\n",mng_sqlstr); + cdr_log("[INFO][create_csv_tc]:create csv file %s successfully,%s\n",fullfilename,mng_sqlstr); + sprintf(cmdstr,"chmod 644 %s",fullfilename); + system(cmdstr); + create_success=1; + } + sprintf(cdr_file_mng.last_create_file,"%s",fullfilename); + + if(cdr_file_mng.backup_flag && create_success) + { + if(chdir(cdr_file_mng.sending_dir) == -1) + { + sprintf(cmdstr,"mkdir -p -m755 %s",cdr_file_mng.sending_dir); + cdr_log("[INFO][create_csv_tc]:%s\n", cmdstr); + system(cmdstr); + if(chdir(cdr_file_mng.sending_dir) == -1) + return; + } + sprintf(cmdstr,"cp -f %s %s/",fullfilename,cdr_file_mng.sending_dir); + system(cmdstr); + } + mysql_close(pubConn); +} +/* --End + * + */ + +void create_csv(cdr_src *psrc) +{ + MYSQL *pubConn; + char fullfilename[128]; + char tablename[64]; + char time_table[64]; + char time_cond[128]; + char cmdstr[256]; + struct tm *t; + int hour; + int create_success=0; + + t=localtime((time_t*)¤t_time); + hour=get_time_condition(time_cond,"releaseTime",time_table); + sprintf(fullfilename,"%s/%s_%s.csv",psrc->csvPath,psrc->recordTable,time_table); + sprintf(tablename,"CDR_DB.%s_%02d",psrc->recordTable,hour); + cdr_log("[INFO][create_csv]:prepare to create %s from %s at %02d:%02d:%02d\n",fullfilename,tablename,t->tm_hour,t->tm_min,t->tm_sec); + + pubConn=mysql_conn("localhost","CDR_DB"); + if(pubConn == NULL) + { + cdr_log("[ERR %d][create_csv]:Can not connect to CDR_DB\n",mysql_errno(pubConn)); + return; + } + sprintf(mng_sqlstr,"select key_sys_id,instance%s,srcCode into outfile '%s' from %s where %s",psrc->define.outFieldList,fullfilename,tablename,time_cond); + if(mysql_getnores(pubConn,mng_sqlstr) != 0) + { + cdr_log("[ERR %d][create_csv]:Create %s fail,SQL=%s\n",mysql_errno(pubConn),fullfilename,mng_sqlstr); + create_success=0; + } + else + { + cdr_log("[SQL]:%s\n",mng_sqlstr); + cdr_log("[INFO][create_csv]:create csv file %s successfully,%s\n",fullfilename,mng_sqlstr); + sprintf(cmdstr,"chmod 644 %s",fullfilename); + system(cmdstr); + create_success=1; + } + sprintf(cdr_file_mng.last_create_file,"%s",fullfilename); + + if(cdr_file_mng.backup_flag && create_success) + { + if(chdir(cdr_file_mng.sending_dir) == -1) + { + sprintf(cmdstr,"mkdir -p -m755 %s",cdr_file_mng.sending_dir); + cdr_log("[INFO][create_csv]:%s\n", cmdstr); + system(cmdstr); + if(chdir(cdr_file_mng.sending_dir) == -1) + return; + } + sprintf(cmdstr,"cp -f %s %s/",fullfilename,cdr_file_mng.sending_dir); + system(cmdstr); + } + mysql_close(pubConn); +} + +void create_dat_for_wxc1(cdr_src *psrc) +{ + MYSQL *pubConn; + MYSQL_RES *res; + MYSQL_ROW row; + char fullfilename[128]; + char tablename[64]; + char time_table[64]; + char time_cond[128]; + char str[512]; + struct tm *t; + int hour; + FILE *handle; + int res_num,i,wcount; + int p_width[27]={8,18,23,23,23,23,23,11,11,16,7,7,22,23,23,23,15,9,7,23,7,7,7,23,23,11,9}; + int y=0,m=0,d=0; + char *pchr; + + t=localtime((time_t*)¤t_time); + hour=get_time_condition(time_cond,"releaseTime",time_table); + sprintf(fullfilename,"%s/%s_%s.csv",psrc->csvPath,psrc->recordTable,time_table); + sprintf(tablename,"CDR_DB.%s_%02d",psrc->recordTable,hour); + cdr_log("[INFO][create_dat_for_wxc1]:prepare to create %s version-1 from %s at %02d:%02d:%02d\n",fullfilename,tablename,t->tm_hour,t->tm_min,t->tm_sec); + + pubConn=mysql_conn("localhost","CDR_DB"); + if(pubConn == NULL) + { + cdr_log("[ERR %d][create_dat_for_wxc1]:Can not connect to CDR_DB\n",mysql_errno(pubConn)); + return; + } + //TC modified + sprintf(mng_sqlstr,"select %s from %s where %s",psrc->define.outFieldList+1,tablename,time_cond); + res=mysql_getres(pubConn,mng_sqlstr); + if(res == NULL) + { + cdr_log("[ERR %d][create_dat_for_wxc1]:%s\n",mysql_errno(pubConn),mng_sqlstr); + mysql_close(pubConn); + return; + } + + handle=fopen(fullfilename,"w"); + if(handle == NULL) + { + cdr_log("[ERR][create_dat_for_wxc1]:create %s version-1 fail\n",fullfilename); + mysql_close(pubConn); + return; + } + res_num=mysql_num_rows(res); + fprintf(handle,"FILE NAME:%s NO. OF RECORDS:%-10d\n",fullfilename,res_num); + + fprintf(handle,"START daily: %02d/%02d/%d START TIME: %02d:%02d:%02d\n\n",t->tm_mon+1,t->tm_mday,t->tm_year+1900,t->tm_hour,t->tm_min,t->tm_sec); + fprintf(handle,"Type Imsi Msisdn Msrn Calling # Called # RE In.TkGp Ou.TkGp Location BS SS Mob. ClassMark Seizure Time Answer Time Release Time Duration TCos SSA SS Parm. SSR CR RCU SM Delivery Time SC Address SM Rslt MsgRf \n\n"); + + while((row=mysql_fetch_row(res)) != NULL) + { + //not sms + if(atoi(row[0]) != 6 && atoi(row[0]) != 7) + { + ////Duration=0 skip + if(row[16]==NULL || atoi(row[16])==0) + continue; + } + for(i=0;i<27;i++) + { + if(row[i]==NULL) + { + if(i == 7 || i == 8) + { + ;//In.TkGp,Ou.TkGpr skip + } + else + { + fprintf(handle,"%-*s",p_width[i],"--"); + continue; + } + } + switch(i) + { + case 0: // Type + case 10:// basicService + case 11:// supplServicesUsed + case 18:// SSA + case 20:// SSR + case 26:// MsgRf + sprintf(str,"%03d",atoi(row[i])); + break; + case 7:// In.TkGp + case 8:// Ou.TkGp + //sms + if(atoi(row[0]) == 6 || atoi(row[0]) == 7) + sprintf(str,"--"); + else + sprintf(str,"00 00 00"); + break; + case 13:// seizureTime + case 14:// answerTime + case 15:// releaseTime + case 23:// SmDeliveryTime + // 2001-06-07 11:12:22-> + // 06/07/2001 11:12:22 + + if(i==15) + { + if(atoi(row[0]) == 6 || atoi(row[0]) == 7) + { + fprintf(handle,"%-*s",p_width[i],"--"); + continue; + } + } + + pchr=row[i]; + y=atoi(pchr); + pchr=strchr(pchr,'-'); + if(pchr==NULL) + { + sprintf(str,"%02d/%02d/%02d %s",m,d,y,pchr); + break; + } + pchr++; + m=atoi(pchr); + pchr=strchr(pchr,'-'); + pchr++; + if(pchr==NULL) + { + sprintf(str,"%02d/%02d/%02d %s",m,d,y,pchr); + break; + } + d=atoi(pchr); + pchr=strchr(pchr,' '); + sprintf(str,"%02d/%02d/%02d %s",m,d,y,pchr); + break; + case 16://callDuration + { + int d,h,m,s,total; + total =atoi(row[i]); + d=total/86400; + h=(total%86400)/3600; + m=(total%3600)/60; + s=total%60; + sprintf(str,"%02d:%02d:%02d:%02d",d,h,m,s); + break; + } + //case 9: // location_mscNumber + //case 10:// location_mscNumber_2 + case 17:// TCos + sprintf(str,"%05d",atoi(row[i])); + break; + case 21:// CR + sprintf(str,"%04d",atoi(row[i])); + break; + case 12:// Mob. ClassMark + sprintf(str,"1f %s",row[i]); + break; + default: + sprintf(str,"%s",row[i]); + break; + } + fprintf(handle,"%-*s",p_width[i],str); + } + fprintf(handle,"\n"); + wcount++; + } + fseek(handle,0,SEEK_SET); + fprintf(handle,"FILE NAME: %s NO. OF RECORDS:%-10d\n",fullfilename,wcount); + mysql_free_result(res); + fclose(handle); + mysql_close(pubConn); + + sprintf(cdr_file_mng.last_create_file,"%s",fullfilename); + + sprintf(str,"chmod 644 %s",fullfilename); + system(str); + if(cdr_file_mng.backup_flag) + { + if(chdir(cdr_file_mng.sending_dir) == -1) + { + sprintf(str,"mkdir -p -m755 %s",cdr_file_mng.sending_dir); + cdr_log("[INFO][create_dat_for_wxc1]:%s\n",str); + system(str); + if(chdir(cdr_file_mng.sending_dir) == -1) + return; + } + sprintf(str,"cp -f %s %s/",fullfilename,cdr_file_mng.sending_dir); + system(str); + } +} + +void get_tables() +{ + MYSQL *pubConn; + MYSQL_RES *res; + MYSQL_ROW row; + int index; + + pubConn=mysql_conn("localhost","CDR_DB"); + if(pubConn == NULL) + { + cdr_log("[ERR %d][get_tables]:Can not connect to CDR_DB",mysql_errno(pubConn)); + return; + } + + sprintf(mng_sqlstr,"show tables like 'cdrFrom%%\\___';"); + res=mysql_getres(pubConn,mng_sqlstr); + if(res == NULL) + { + cdr_log("[ERR %d][get_tables]:%s\n",mysql_errno(pubConn),mng_sqlstr); + mysql_close(pubConn); + return; + } + + table_mng.table_count=0; + table_mng.cur_table_index=0; + index=0; + while((row=mysql_fetch_row(res))) + { + sprintf(table_mng.table_name[index],"%s",row[0]); + index++; + } + table_mng.table_count=index; + mysql_free_result(res); + mysql_close(pubConn); + cdr_log("[INFO][get_tables]:Get clear table count=%d\n",table_mng.table_count); +} + +void clear_table(char *table_name) +{ + MYSQL *pubConn; + + cdr_log("[INFO][clear_table]:Clear table %s\n",table_name); + pubConn=mysql_conn("localhost","CDR_DB"); + if(pubConn == NULL) + { + cdr_log("[ERR %d][clear_table]:Can not connect to CDR_DB",mysql_errno(pubConn)); + return; + } + sprintf(mng_sqlstr,"delete from CDR_DB.%s WHERE TO_DAYS(releaseTime)tm_year + 1900; + int end_mon = end_t->tm_mon + 1; + int end_day = end_t->tm_mday; + int local_time_hour = end_t->tm_hour; + + + end_instance = cdr_file_mng.time_instance; + end_sec = end_instance * 15; + cdr_log("[DEBUG][get_time_condition]:end_instance=%02d,end_sec=%02d", end_instance, end_sec); + + int state_time_end_hour = end_sec / 60; + int state_time_start_hour = 0; + + cdr_log("[DEBUG][get_time_condition]:state_time_end_hour=%02d,local_time_hour=%02d", state_time_end_hour, local_time_hour); + if (state_time_end_hour != local_time_hour) + { + cdr_log("[ERROR][get_time_condition]:error for cdr table target! state_time_start_hour=%02d, local_time_hour=%02d", state_time_end_hour, local_time_hour); + state_time_end_hour = local_time_hour; + } + sprintf(end_time_str, "%04d-%02d-%02d 00:00:00", end_year, end_mon, end_day); + + start_instance = cdr_file_mng.time_instance - cdr_file_mng.generate_timeout; + start_sec = start_instance * 15; + cdr_log("[DEBUG][get_time_condition]:cdr_file_mng.generate_timeout=%d,start_sec=%d", cdr_file_mng.generate_timeout, start_sec); + if (start_instance < 0) + { + start_instance += 96; + start_sec = start_instance * 15; + start_time = current_time - 12 * 60 * 60; + + struct tm start_tb; + start_t = localtime_r((time_t *)&start_time, &start_tb); + state_time_start_hour = start_sec / 60; + cdr_log("[DEBUG][get_time_condition]:state_time_start_hour=%02d,local_time_hour=%02d", state_time_start_hour, local_time_hour); + if (((state_time_start_hour + 1) % 24) != local_time_hour) + { + cdr_log("[ERROR][get_time_condition]:error for cdr table target!state_time_start_hour=%02d, local_time_hour=%02d", state_time_start_hour, local_time_hour); + state_time_start_hour = (local_time_hour == 0) ? 23 : (local_time_hour - 1); + } + sprintf(start_time_str, "%04d-%02d-%02d 00:00:00", start_t->tm_year + 1900, start_t->tm_mon + 1, start_t->tm_mday); + sprintf(time_table, "%04d_%02d_%02d", start_t->tm_year + 1900, start_t->tm_mon + 1, start_t->tm_mday); + } + else + { + state_time_start_hour = start_sec / 60; + cdr_log("[DEBUG][get_time_condition]:state_time_start_hour=%02d,local_time_hour=%02d", state_time_start_hour, local_time_hour); + if (((state_time_start_hour + 1) % 24) != local_time_hour) + { + cdr_log("[ERROR][get_time_condition]:error for cdr table target!state_time_start_hour=%02d, local_time_hour=%02d", state_time_start_hour, local_time_hour); + state_time_start_hour = (local_time_hour == 0) ? 23 : (local_time_hour - 1); + } + sprintf(start_time_str, "%04d-%02d-%02d 00:00:00", end_t->tm_year + 1900, end_t->tm_mon + 1, end_t->tm_mday); + sprintf(time_table, "%04d_%02d_%02d", end_year, end_mon, end_day); + + } + + sprintf(time_condition, "%s >= '%s' and %s < '%s'", time_field, start_time_str, time_field, end_time_str); + cdr_log("[DEBUG][get_time_condition]:time_condition=%s", time_condition); + return state_time_start_hour; +} + +void copy_to_dailycdr_table(cdr_src *psrc) +{ + MYSQL *pubConn; + char tablename[64]; + char time_table[64]; + char time_cond[128]; + char cmdstr[256]; + struct tm *t; + int hour; + int create_success=0; + char dailytable[64]; + + t=localtime((time_t*)¤t_time); + hour=get_time_condition(time_cond,"releaseTime",time_table); + strcpy(dailytable, psrc->recordTable); + sprintf(tablename,"CDR_DB.%s_%02d",psrc->recordTable,hour); + cdr_log("[INFO][copy_to_dailycdr_table]:prepare to copy from %s to %s at %02d:%02d:%02d\n", tablename, dailytable, t->tm_hour, t->tm_min, t->tm_sec); + + pubConn=mysql_conn("localhost","CDR_DB"); + if(pubConn == NULL) + { + cdr_log("[ERR %d][copy_to_dailycdr_table]:Can not connect to CDR_DB\n", mysql_errno(pubConn)); + return; + } + sprintf(mng_sqlstr, "INSERT INTO %s SELECT * FROM %s where %s", dailytable, tablename, time_cond); + if(mysql_getnores(pubConn,mng_sqlstr) != 0) + { + cdr_log("[ERR %d][copy_to_dailycdr_table]:SQL=%s\n", mysql_errno(pubConn), mng_sqlstr); + create_success=0; + } + else + { + cdr_log("[SQL]:%s\n",mng_sqlstr); + cdr_log("[INFO][copy_to_dailycdr_table]:copy table %s successfully,%s\n", dailytable, mng_sqlstr); + create_success=1; + } + + mysql_close(pubConn); +} + +void create_dailycdr_csv(cdr_src *psrc) +{ + MYSQL *pubConn; + char voice_filename[128]; + char sms_filename[128]; + char tablename[64]; + char time_table[64]; + char time_cond[128]; + char cmdstr[256]; + struct tm *t; + int hour; + int voice_create_success=0; + int sms_create_success=0; + char calltype_condition[128]; + + t=localtime((time_t*)¤t_time); + hour = get_dailycdr_time_condition(time_cond, "releaseTime", time_table); + + copy_to_dailycdr_table(psrc); + + // the last hour of one day + if (hour == 23) + { + char dailycdr_csv_path[128]; + // judge directory cdrdaily + struct stat st = {0}; + + sprintf(dailycdr_csv_path, "%sdaily", psrc->csvPath); + // if the dir not exist + if (stat(dailycdr_csv_path, &st) == -1) + { + // not found dir + if (mkdir(dailycdr_csv_path, 0770) != 0) + { + cdr_log("[ERROR][create_dailycdr_csv]:failed to make directory %s\n", dailycdr_csv_path); + return; + } + // 获取用户和组的ID + struct passwd *pwd = getpwnam("mysql"); + struct group *grp = getgrnam("mysql"); + if (pwd == NULL || grp == NULL) + { + cdr_log("[ERROR][create_dailycdr_csv]:failed to get uid or gid\n"); + return; + } + + // 修改目录的所有者和属组 + if (chown(dailycdr_csv_path, pwd->pw_uid, grp->gr_gid) != 0) + { + cdr_log("[ERROR][create_dailycdr_csv]:failed to chown directory %s\n", dailycdr_csv_path); + return; + } + } + + sprintf(voice_filename, "%s/%s_voice_%s.csv", dailycdr_csv_path, psrc->recordTable, time_table); + sprintf(sms_filename, "%s/%s_sms_%s.csv", dailycdr_csv_path, psrc->recordTable, time_table); + sprintf(tablename, "CDR_DB.%s", psrc->recordTable); + cdr_log("[INFO][create_dailycdr_csv]:prepare to create %s from %s at %02d:%02d:%02d\n", voice_filename, tablename, t->tm_hour, t->tm_min, t->tm_sec); + + pubConn=mysql_conn("localhost","CDR_DB"); + if(pubConn == NULL) + { + cdr_log("[ERR %d][create_dailycdr_csv]:Can not connect to CDR_DB\n", mysql_errno(pubConn)); + return; + } + + // export msc voice cdr file + strcpy(calltype_condition, "(recordType!=6 and recordType!=7)"); + sprintf(mng_sqlstr, "select key_sys_id,instance%s,srcCode into outfile '%s' from %s where %s and %s", + psrc->define.outFieldList, voice_filename, tablename, time_cond, calltype_condition); + if(mysql_getnores(pubConn,mng_sqlstr) != 0) + { + cdr_log("[ERR %d][create_dailycdr_csv]:Create %s fail,SQL=%s\n", mysql_errno(pubConn), voice_filename, mng_sqlstr); + voice_create_success = 0; + } + else + { + cdr_log("[SQL]:%s\n",mng_sqlstr); + cdr_log("[INFO][create_dailycdr_csv]:create csv file %s successfully,%s\n", voice_filename, mng_sqlstr); + sprintf(cmdstr, "chmod 644 %s", voice_filename); + system(cmdstr); + voice_create_success = 1; + } + + if (cdr_file_mng.dailycdr_backup_flag && voice_create_success) + { + if (chdir(cdr_file_mng.dailycdr_sending_dir) == -1) + { + sprintf(cmdstr, "mkdir -p -m755 %s", cdr_file_mng.dailycdr_sending_dir); + cdr_log("[INFO][create_dailycdr_csv]:%s\n", cmdstr); + system(cmdstr); + if (chdir(cdr_file_mng.dailycdr_sending_dir) == -1) + return; + } + sprintf(cmdstr, "cp -f %s %s/", voice_filename, cdr_file_mng.dailycdr_sending_dir); + system(cmdstr); + } + + // export msc sms cdr file + strcpy(calltype_condition, "(recordType=6 or recordType=7)"); + sprintf(mng_sqlstr, "select key_sys_id,instance%s,srcCode into outfile '%s' from %s where %s and %s", + psrc->define.outFieldList, sms_filename, tablename, time_cond, calltype_condition); + if (mysql_getnores(pubConn, mng_sqlstr) != 0) + { + cdr_log("[ERR %d][create_dailycdr_csv]:Create %s fail,SQL=%s\n", mysql_errno(pubConn), sms_filename, mng_sqlstr); + sms_create_success = 0; + } + else + { + cdr_log("[SQL]:%s\n", mng_sqlstr); + cdr_log("[INFO][create_dailycdr_csv]:create csv file %s successfully,%s\n", sms_filename, mng_sqlstr); + sprintf(cmdstr, "chmod 644 %s", sms_filename); + system(cmdstr); + sms_create_success = 1; + } + + if (cdr_file_mng.dailycdr_backup_flag && sms_create_success) + { + if(chdir(cdr_file_mng.dailycdr_sending_dir) == -1) + { + sprintf(cmdstr, "mkdir -p -m755 %s", cdr_file_mng.dailycdr_sending_dir); + cdr_log("[INFO][create_dailycdr_csv]:%s\n", cmdstr); + system(cmdstr); + if (chdir(cdr_file_mng.dailycdr_sending_dir) == -1) + return; + } + sprintf(cmdstr, "cp -f %s %s/", sms_filename, cdr_file_mng.dailycdr_sending_dir); + system(cmdstr); + } + + if (voice_create_success && sms_create_success) + { + clear_table(psrc->recordTable); + } + + mysql_close(pubConn); + } +} + +// ---end \ No newline at end of file diff --git a/src/accountMgr/c_program/cdrCollector/cdrmain.c b/src/accountMgr/c_program/cdrCollector/cdrmain.c new file mode 100644 index 0000000..8cd292f --- /dev/null +++ b/src/accountMgr/c_program/cdrCollector/cdrmain.c @@ -0,0 +1,132 @@ +/************************************************* +File name: cdr.c +Author: +Version: 9:00:00 +Date: 2002-5-7 +Description:cdrCollector模块的主文件,初始化snmp和iptrans模块,调用cdr.c里的函数 + 定义定时器函数,设置定时 + + 调用外部模块的函数 + void snmp_init(WORD nport); + void iptrans_init(); + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include "cdr.h" + +static struct itimerval itimer, old_itimer; +static void On_Timer(); +static void SetTimer(); + +/************************************************* +Function: // main +Description: // 初始化snmp和iptrans模块,开始调用定时器函数 +Calls: // iptrans_init; snmp_init; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int main(int argc, char *argv[]) +{ + pid_t pid; + + /* Added to show version by Simon + * --Begin + */ + if (argc == 2 && strstr(argv[1], "-v")) { + fprintf(stdout, "%s version: %s \n", argv[0], CDRCOLLECTOR_VERSION); + exit(0); + } + /* --End + * + */ + + debug_init(); + + fprintf(stderr, "\n Calling iptrans_init()"); + iptrans_init(); + + fprintf(stderr, "\n Calling snmp_init()"); + snmp_init(CDR_PORT); + + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + //umask(0); + } + cdr_init(); + //cdr_start(); + SetTimer(); + while (1) { + //cdr_loop(); + usleep(50); + } + return 1; +} + +/************************************************* +Function: // On_Timer +Description: // 定时器函数 +Calls: // cdr_timer +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void On_Timer() +{ + //debug_rt(); + //snmp_timer(); + cdr_timer(); +} + +/************************************************* +Function: // SetTimer +Description: // 设置定时器函数 +Calls: // On_Timer +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void SetTimer() +{ + struct sigaction act; + act.sa_handler = On_Timer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exitLog("cdrCollector:SetTimer, sigaction function error"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 10 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 10 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exitLog("cdrCollector:SetTimer, setitimer function error"); + exit(1); + } +} diff --git a/src/accountMgr/c_program/cdrCollector/test.txt b/src/accountMgr/c_program/cdrCollector/test.txt new file mode 100644 index 0000000..e04acd5 --- /dev/null +++ b/src/accountMgr/c_program/cdrCollector/test.txt @@ -0,0 +1,29 @@ +CREATE TABLE IF NOT EXISTS CDR_DB.cdrFromPPS_18 ( + key_sys_id tinyint(2) DEFAULT '0' NOT NULL, + instance int(4) DEFAULT '0' NOT NULL, + recordType int(2), + callType int(2), + servedIMSI varchar(20), + servedMSISDN varchar(20), + callingNumber varchar(20), + calledNumber varchar(20), + recordingEntity varchar(20), + mscIncomingTKGP varchar(20), + mscOutgoingTKGP varchar(20), + locationAreaCode int(4), + cellId varchar(4), + seizureTime datetime, + answerTime datetime, + releaseTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, + callDuration int(4), + causeForTerm int(4), + callReference int(4), + charge int(4), + balance int(4), + gprs_sgsn_ip varchar(16), + gprs_ggsn_ip varchar(16), + gprs_dest_ip varchar(16), + gprs_volume int(10), + srcCode text, + PRIMARY KEY (key_sys_id, instance, releaseTime) +); diff --git a/src/accountMgr/c_program/ftpsend/Makefile b/src/accountMgr/c_program/ftpsend/Makefile new file mode 100644 index 0000000..0662c06 --- /dev/null +++ b/src/accountMgr/c_program/ftpsend/Makefile @@ -0,0 +1,77 @@ +#/bin/sh + +CC = gcc +CFLAGS=-g -Wall -I/usr/local/mysql/include +CFLAGS.ES=-g -Wall -I/usr/include/mariadb + +COMPILE.c=$(CC) $(CFLAGS) +COMPILE.c.ES=$(CC) $(CFLAGS.ES) + +LINK.c=$(CC) $(CFLAGS) +LINK.c.ES=$(CC) $(CFLAGS.ES) + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../omcLib/c_program/ftp -lftp \ +-L/usr/local/mysql/lib -lmariadbclient -lz + + +LINKFLAG.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../omcLib/c_program/ftp -lftp \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lz \ + +PROGS=ftpSend +FTPSEND_OBJ = ftpsend.o +FTPSEND_OBJ.ES = ftpsend.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(FTPSEND_OBJ) + @cd ../../../omcLib/c_program/ftp; make linux72; cd .. + @cd ../../../accountMgr/c_program/ftpsend; + @echo Linking $(PROGS) + @$(LINK.c) -o $(PROGS) $(FTPSEND_OBJ) $(LINKFLAG) -lm + ar r libftpsend.a $(FTPSEND_OBJ) + # rm -rf *.o + # rm -rf *bak + # rm -rf *~ + # cp -f $(PROGS) ../../../bin + # cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(FTPSEND_OBJ.ES) + @cd ../../../omcLib/c_program/ftp; make linuxES; cd .. + @cd ../../../accountMgr/c_program/ftpsend; + @echo Linking $(PROGS) + @$(LINK.c.ES) -o $(PROGS) $(FTPSEND_OBJ) $(LINKFLAG.ES) -lm + ar r libftpsend.a $(FTPSEND_OBJ) + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +ftpsend.o:ftpsend.c + $(COMPILE.c) -c ftpsend.c + +ftpsend.o.ES:ftpsend.c + $(COMPILE.c.ES) -c ftpsend.c + +clean: + rm -f *.o *.a $(PROGS) + @cd ../../../omcLib/c_program/ftp; rm -f *.o *.a; cd .. + @cd ../../../accountMgr/c_program/ftpsend; rm -f *.o *.a; cd .. + + diff --git a/src/accountMgr/c_program/ftpsend/ftpsend.c b/src/accountMgr/c_program/ftpsend/ftpsend.c new file mode 100644 index 0000000..817a20d --- /dev/null +++ b/src/accountMgr/c_program/ftpsend/ftpsend.c @@ -0,0 +1,1062 @@ +/****************************************************************/ +/*Title: ftpsend.c */ +/*Descr: */ +/*Author: */ +/*Create: */ +/*Version: 1.0 */ +/*Modify: */ +/****************************************************************/ +#define FTP_LOG_PATH "/usr/local/omc/log" +#define FTP_LOG_FILE "ftpsend" + +#include +#include +#include +#include +#include +#include +#ifndef _LINUX_ES + #include "mysql.h" +#else + #include "/usr/include/mysql/mysql.h" +#endif + +#include "../../../omcLib/c_program/ftp/ftp.h" +#include "ftpsend.h" + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,8}; +int PROC_HEARTBEAT_OIDLEN=11; +int sendHeartbeat(); + +static MYSQL *omcPub_conn; +/*********** variables for send cdr file to the mss ****************/ +static MYSQL *cdrdb_conn; +static char serverinfo[128],*username,*pwd,*serverip,*remotepath; +static char localpath[128],sent_dir[128]; +/*********** variables for send csta file to the mss *****************/ +static MYSQL *cstadb_conn; +static char csta_serverinfo[128],*csta_username,*csta_pwd,*csta_serverip,*csta_remotepath; +static char csta_localpath[128],csta_sent_dir[128]; +/*********** variables for send normal file **************************/ +int csta_send_flag=0; +int cdr_send_flag=0; + +FileTransfer file_transfers[MAX_FILE_TRANSFER_NUM]; +int g_file_transfer_count; + +void fileTransUpdate(void); +void printfFileObject(FileTransfer* ft); +void send_normal_file(void); + + +//static int ftp_port = 21; +static struct itimerval itimer, old_itimer; +FILE *ftplog_fp; + + +static void On_Timer(); +static void SetTimer(); +static void send_init(); +static void ftpsend_timer(); +static void send_file(); +static void send_cstafile(); +static void send_log(const char *fmt, ...); +static void sendlog_init(); +static void sendlog_timer(); + + + + + +int main(int argc, char *argv[]){ + pid_t pid; + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } + + debug_init(1); + iptrans_init(); + snmp_init(4957); + //heartbeat_init(0); + + sendlog_init(); + send_init(); + SetTimer(); + while (1) { + sleep(1); + } + return 1; +} + +/************************************************* +Function: // send_init +Description: // 初始化一些公共参数,如远程服务器IP地址,登陆用户名和密码 +Calls: // +Called By: // main +Table Accessed: // OMC_DB.omcPubVarConf; CDR_DB.cdrPubVarConf; +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void send_init() +{ + char sqlstr[256],*pchr; + int len; + MYSQL_RES *res; + MYSQL_ROW row; + + //初始化OMC_PUB数据库连接 + printf("init ftpsend......\n"); + + omcPub_conn=mysql_conn("localhost","OMC_PUB"); + if(omcPub_conn == NULL) + send_log("[ERR][send_init]:mysql_conn OMC_PUB"); + + //update the information of file transfer object + fileTransUpdate(); + + cdrdb_conn=mysql_conn("localhost","CDR_DB"); + if(cdrdb_conn == NULL) + send_log("[ERR][send_init]:mysql_conn CDR_DB"); + + //********************************************** + //获得CDR_DB.cdrPubVarConf表中sending_directory的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM CDR_DB.cdrPubVarConf WHERE pubVarName='sending_directory'"); + + res=mysql_getres(cdrdb_conn,sqlstr); + if(res == NULL) + { + send_log("[ERR %d][send_init]:%s",mysql_errno(cdrdb_conn),sqlstr); + return; + } + + if((row = mysql_fetch_row(res)) != NULL) { + strcpy(localpath,row[0]); + } + + mysql_free_result(res); + + len = strlen(localpath); + if (localpath[len-1] != '/'&&len<127){ + localpath[len]='/'; + localpath[len+1]='\0'; + } + + //获得CDR_DB.cdrPubVarConf表中sent_directory的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM CDR_DB.cdrPubVarConf WHERE pubVarName='sent_directory'"); + + res=mysql_getres(cdrdb_conn,sqlstr); + if(res == NULL) + { + send_log("[ERR %d][send_init]:%s",mysql_errno(cdrdb_conn),sqlstr); + return; + } + + if((row = mysql_fetch_row(res)) != NULL) { + strcpy(sent_dir,row[0]); + } + + mysql_free_result(res); + + len = strlen(sent_dir); + if (sent_dir[len-1] != '/'&&len<127){ + sent_dir[len]='/'; + sent_dir[len+1]='\0'; + } + + + //********************************************** + //获取OMC_PUB.omcPubVarConf表中cdr_store_server的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='cdr_store_server'"); + + res=mysql_getres(omcPub_conn,sqlstr); + if(res == NULL) + { + send_log("[ERR %d][send_init]:%s",mysql_errno(omcPub_conn),sqlstr); + return; + } + + if((row = mysql_fetch_row(res)) != NULL) { + strcpy(serverinfo,row[0]); + } + + mysql_free_result(res); + + //user:password@ip>location + + len = strlen(serverinfo); + + if(len>5) + { + if (serverinfo[len-1] != '/'&&len<127){ + serverinfo[len]='/'; + serverinfo[len+1]='\0'; + } + + //ftp登陆用户名 + username = serverinfo; + if((pchr = strstr(serverinfo, ":"))==NULL){ + send_log("[ERROR]cdr_store_server param error!\n"); + return; + } + *(pchr++) = '\0'; + + //ftp登陆密码 + pwd = pchr; + if((pchr = strstr(pwd, "@"))==NULL){ + send_log("[ERROR]cdr_store_server param error!\n"); + return; + } + *(pchr++) = '\0'; + + //ftp服务器IP地址 + serverip = pchr;//get password + if((pchr = strstr(serverip, ">"))==NULL){ + send_log("[ERROR]cdr_store_server param error!\n"); + return; + } + *(pchr++) = '\0'; + + //将要发送到远程服务器的目录 + remotepath = pchr; + cdr_send_flag=1; + } + else + { + cdr_send_flag=0; + } + //printf("%s--%s--%s--%s--%s\n",username,pwd,serverip,remotepath,localpath); + //********************************************** + + + //Get the parameter of sending csta to the mss + cstadb_conn=mysql_conn("localhost","CSTA_DB"); + if(cstadb_conn == NULL) + send_log("[ERR][send_init]:mysql_conn CSTA_DB"); + + //********************************************** + //获得CSTA_DB.cstaPubVarConf表中sending_directory的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM CSTA_DB.cstaPubVarConf WHERE pubVarName='sending_directory'"); + + res=mysql_getres(cstadb_conn,sqlstr); + if(res == NULL) + { + send_log("[ERR %d][send_init]:%s",mysql_errno(cstadb_conn),sqlstr); + return; + } + + if((row = mysql_fetch_row(res)) != NULL) { + strcpy(csta_localpath,row[0]); + } + + mysql_free_result(res); + + len = strlen(csta_localpath); + + if (csta_localpath[len-1] != '/'&&len<127){ + csta_localpath[len]='/'; + csta_localpath[len+1]='\0'; + } + + //printf("hi %s\n",csta_localpath); + + //获得CSTA_DB.cstaPubVarConf表中sent_directory的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM CSTA_DB.cstaPubVarConf WHERE pubVarName='sent_directory'"); + + res=mysql_getres(cstadb_conn,sqlstr); + if(res == NULL) + { + send_log("[ERR %d][send_init]:%s",mysql_errno(cstadb_conn),sqlstr); + return; + } + + if((row = mysql_fetch_row(res)) != NULL) { + strcpy(csta_sent_dir,row[0]); + } + + mysql_free_result(res); + + len = strlen(csta_sent_dir); + if (csta_sent_dir[len-1] != '/'&&len<127){ + csta_sent_dir[len]='/'; + csta_sent_dir[len+1]='\0'; + } + + //printf("\nhi %s\n",csta_sent_dir); + + //********************************************** + //获取OMC_PUB.omcPubVarConf表中csta_store_server的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='csta_store_server'"); + + res=mysql_getres(omcPub_conn,sqlstr); + if(res == NULL) + { + send_log("[ERR %d][send_init]:%s",mysql_errno(omcPub_conn),sqlstr); + return; + } + + if((row = mysql_fetch_row(res)) != NULL) { + strcpy(csta_serverinfo,row[0]); + } + + mysql_free_result(res); + + //user:password@ip>location + + len = strlen(csta_serverinfo); + if(len>5) + { + if (csta_serverinfo[len-1] != '/'&&len<127){ + csta_serverinfo[len]='/'; + csta_serverinfo[len+1]='\0'; + } + + //printf("\nhi %s\n",csta_serverinfo); + + //ftp登陆用户名 + csta_username = csta_serverinfo; + if((pchr = strstr(csta_serverinfo, ":"))==NULL){ + send_log("[ERROR]csta_store_server param error!\n"); + return; + } + *(pchr++) = '\0'; + + //ftp登陆密码 + csta_pwd = pchr; + if((pchr = strstr(csta_pwd, "@"))==NULL){ + send_log("[ERROR]csta_store_server param error!\n"); + return; + } + *(pchr++) = '\0'; + + //ftp服务器IP地址 + csta_serverip = pchr;//get password + if((pchr = strstr(csta_serverip, ">"))==NULL){ + send_log("[ERROR]csta_store_server param error!\n"); + return; + } + *(pchr++) = '\0'; + + //将要发送到远程服务器的目录 + csta_remotepath = pchr; + csta_send_flag=1; + } + else + { + csta_send_flag=0; + } + //printf("csta %s--%s--%s--%s--%s\n",csta_username,csta_pwd,csta_serverip,csta_remotepath,csta_localpath); + + //printf("OK\n"); + + return; +} + +/************************************************* +Function: // fileTransUpdate +Description: // 更新fileTansfer对象信息 +Calls: // +Called By: // ftpsend_timer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // 该函数每分钟调用一次 +*************************************************/ +void fileTransUpdate() +{ + MYSQL_RES *res; + MYSQL_ROW row; + char sqlstr[256]; + int file_object_count; + int len; + + //Update the file transfer object from the OMC_PUB.fileTransConf + sprintf(sqlstr,"SELECT srcDir,dstDir,dstIP,filter,logName,logPass FROM OMC_PUB.fileTransConf where type=0"); + + res=mysql_getres(omcPub_conn,sqlstr); + if(res == NULL) + { + send_log("[ERR %d][fileTransUpdate]:%s",mysql_errno(omcPub_conn),sqlstr); + return; + } + + //Update the HPMN servers information + file_object_count=0; + while((row = mysql_fetch_row(res)) != NULL) + { + //Get the srcDir + sprintf(file_transfers[file_object_count].srcDir,"%s",row[0]); + //Get the dstDir + sprintf(file_transfers[file_object_count].dstDir,"%s",row[1]); + //Get the dstIP + sprintf(file_transfers[file_object_count].dstIP,"%s",row[2]); + //Get the filter + sprintf(file_transfers[file_object_count].filter,"%s",row[3]); + //Get the loginName + sprintf(file_transfers[file_object_count].logName,"%s",row[4]); + //Get the loginPass + sprintf(file_transfers[file_object_count].logPass,"%s",row[5]); + + + len = strlen(file_transfers[file_object_count].srcDir); + if(file_transfers[file_object_count].srcDir[len-1] != '/'&&len<127) + { + file_transfers[file_object_count].srcDir[len]='/'; + file_transfers[file_object_count].srcDir[len+1]='\0'; + } + + len = strlen(file_transfers[file_object_count].dstDir); + if (file_transfers[file_object_count].dstDir[len-1] != '/'&&len<127) + { + file_transfers[file_object_count].dstDir[len]='/'; + file_transfers[file_object_count].dstDir[len+1]='\0'; + } + //printfFileObject(&file_transfers[file_object_count]); + if(file_object_count == (MAX_FILE_TRANSFER_NUM-1)) + break; + file_object_count++; + + } + //Update the server count + g_file_transfer_count=file_object_count; + //printf("g_file_transfer_count=%d\n",g_file_transfer_count); + //Free the database resource + mysql_free_result(res); +} + +/************************************************* +Function: // printfFileObject +Description: // Print the information of the specific file transfer object +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // ft:the file transfer object to print +Output: // +Return: // +Others: // This funtion is for test +*************************************************/ +void printfFileObject(FileTransfer* ft) +{ + printf("=======================================\n"); + printf("srcDir=%s\n",ft->srcDir); + printf("dstDir=%s\n",ft->dstDir); + printf("dstIP=%s\n",ft->dstIP); + printf("filter=%s\n",ft->filter); + printf("logName=%s\n",ft->logName); + printf("logPass=%s\n",ft->logPass); + printf("=======================================\n"); +} + + + +/************************************************* +Function: // send_normal_file +Description: // Send the normal files to the remote server +Calls: // +Called By: // ftpsend_timer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ + +void send_normal_file() +{ + int nRet,connected=0; + char fullpath[512],cmdstr[1024]; + char fileName[512],filter[32]; + struct dirent* pDirEnt; + struct stat ftype; + DIR* dir; + int i; + + long fileSize; + int checkFlag; + struct stat fileStat; + + for(i=0;id_name)<3) + continue; + + sprintf(fileName,"%s",pDirEnt->d_name); + if(strcmp("*",file_transfers[i].filter) != 0) + { + sprintf(filter,".%s",file_transfers[i].filter); + if(strstr(fileName,filter) == NULL) + continue; + } + + strcpy(fullpath,file_transfers[i].srcDir); + strcat(fullpath,pDirEnt->d_name); + if(lstat(fullpath,&ftype)<0) + continue; + if(S_ISREG(ftype.st_mode)) + { + + if(connected==0) + { + //connect the ftp server + if((nRet=ftp_open(file_transfers[i].dstIP)==1)) + { + send_log("[ERROR]Ftp server(%s) open failed",file_transfers[i].dstIP); + break; + } + //login the ftp server + if((nRet=ftp_login(file_transfers[i].logName,file_transfers[i].logPass)==1)) + { + send_log("[ERROR]Ftp server login(%s,%s) failed",file_transfers[i].logName,file_transfers[i].logPass); + break; + } + //change the destination directory + if((nRet = ftp_cwd(file_transfers[i].dstDir)==1)) + { + send_log("[ERROR]Ftp CWD(%s) failed",file_transfers[i].dstDir); + break; + } + connected=1; + } + + send_log("sending file...%s\n",fullpath); + checkFlag=0; + do + { + stat(fullpath,&fileStat); + if(checkFlag && fileSize==fileStat.st_size) + { + + //put the file to send + if((nRet = ftp_putfile(file_transfers[i].srcDir,pDirEnt->d_name)==1)){ + send_log("[ERROR]Upload failed"); + //printf("send file=%s failed\n",fullpath); + break; + } + //printf("send file=%s successful\n",fullpath); + send_log("Send the file=%s successful",fullpath); + sprintf(cmdstr,"rm -rf %s",fullpath); + system(cmdstr); + if(connected!=0){ + send_log("quit"); + ftp_quit(); + } + return; + break; + } + if(fileSize != fileStat.st_size) + sleep(2); + + fileSize=fileStat.st_size; + checkFlag=1; + }while(stat(fullpath,&fileStat)==0); + + } + else + { + continue; + } + } + + closedir(dir); + if(connected!=0) + { + send_log("quit"); + ftp_quit(); + } + + } +} + +/************************************************* +Function: // sendHeartbeat +Description: // Send process heartbeat to beatProc +Calls: // snmp_send +Called By: // on_Timer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK; 0:Fail +Others: // +*************************************************/ +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"ftpSend"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + send_log("Send heartbeat fail"); + return 0; + } + return 1; +} + +unsigned long heartbeat_timeout=0; +void On_Timer() +{ + + + if(time(NULL) - heartbeat_timeout > 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + sendlog_timer(); + ftpsend_timer(); +} + +void SetTimer() +{ + struct sigaction act; + act.sa_handler = On_Timer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exitLog("ftpsend:SetTimer, sigaction function error"); + exit(1); + } + + + + itimer.it_interval.tv_sec = 1; + itimer.it_interval.tv_usec = 0; + itimer.it_value.tv_sec = 1; + itimer.it_value.tv_usec = 0; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exitLog("ftpsend:SetTimer, setitimer function error"); + exit(1); + } +} + + +/************************************************* +Function: // ftpsend_timer +Description: // 文件发送定时器 +Calls: // send_file +Called By: // On_Timer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // 该函数每分钟调用一次 +*************************************************/ +void ftpsend_timer() +{ + static int m_state = 0; + static int update_time=INFO_UPDATE_TIME; + + //close the ftp function + return; + + if(m_state==0){ + m_state=1; + if(csta_send_flag==1) + send_cstafile(); + if(cdr_send_flag==1) + send_file(); + + send_normal_file(); + m_state=0; + } + if(update_time--<0) + { + update_time=INFO_UPDATE_TIME; + fileTransUpdate(); + } + +} + + +void send_file() +{ + int nRet,connected=0; + struct tm *t; + long l_time; + + //check file exist + struct dirent* pDirEnt; + struct stat ftype; + DIR* dir; + char fullpath[512],cmdstr[1024]; + //int i=0; + l_time = time(NULL); + t = localtime(&l_time); + + //打开本地源目录 + dir = opendir(localpath); + //printf("The localpath is %s\n",localpath); + if(dir==NULL){ + send_log("[ERROR]sending directory(%s) not exist!",localpath); + return; + } + + while((pDirEnt = readdir(dir))!=NULL){ + strcpy(fullpath,localpath); + strcat(fullpath,pDirEnt->d_name); + if(lstat(fullpath,&ftype)<0) + continue; + if(S_ISREG(ftype.st_mode)){ + //printf("%d-dir-%s\n",i++,pDirEnt->d_name); + if(connected==0){ + send_log("Start sending files(%02d:%02d:%02d)\n",t->tm_hour, t->tm_min, t->tm_sec); + send_log("Connect ftp server:%s,sending files from %s to %s\n",serverip,localpath,remotepath); + if(serverip==0||username==0||pwd==0||remotepath==0||localpath==0){ + send_log("[ERROR]cdr_store_server param error!\n"); + break; + } + //连接ftp远程服务器 + send_log("login %s",serverip); + if((nRet=ftp_open(serverip)==1)){ + send_log("[ERROR]Ftp server open failed"); + break; + } + //登陆ftp远程服务器 + if((nRet=ftp_login(username,pwd)==1)){ + send_log("[ERROR]Ftp server login failed"); + break; + } + //改变远程服务器工作目录 + if((nRet = ftp_cwd(remotepath)==1)){ + send_log("[ERROR]Ftp CWD failed"); + break; + } + connected=1; + } + send_log("sending file...%s\n",fullpath); + //传送文件 + + if((nRet = ftp_putfile(localpath,pDirEnt->d_name)==1)){ + send_log("[ERROR]Upload failed"); + break; + } + + + //move files + l_time = time(NULL); + t = localtime(&l_time); + send_log("[OK]Upload successful!(%02d:%02d:%02d)\n",t->tm_hour, t->tm_min, t->tm_sec); + if (chdir(sent_dir) == -1) { + sprintf(cmdstr, "mkdir -p -m755 %s", sent_dir); + system(cmdstr); + if (chdir(sent_dir) == -1) + { + if(connected!=0){ + send_log("quit"); + ftp_quit(); + } + closedir(dir); + return; + } + } + //把传送完的文件复制到sent_dir目录下 + sprintf(cmdstr, "mv %s %s -f",fullpath,sent_dir); + system(cmdstr); + if(connected!=0){ + send_log("quit"); + ftp_quit(); + } + closedir(dir); + return; + + }else{ + continue; + } + } + + closedir(dir); + if(connected!=0){ + send_log("quit"); + ftp_quit(); + } + return; +} + + +void send_cstafile() +{ + int nRet,connected=0; + struct tm *t; + long l_time; + + //check file exist + struct dirent* pDirEnt; + struct stat ftype; + DIR* dir; + char fullpath[512],cmdstr[1024]; + + l_time = time(NULL); + t = localtime(&l_time); + //打开本地源目录 + dir = opendir(csta_localpath); + //printf("The localpath is %s\n",localpath); + if(dir==NULL){ + send_log("[ERROR]csta sending directory(%s) not exist!",csta_localpath); + return; + } + + while((pDirEnt = readdir(dir))!=NULL){ + strcpy(fullpath,csta_localpath); + strcat(fullpath,pDirEnt->d_name); + if(lstat(fullpath,&ftype)<0) + continue; + + if(S_ISREG(ftype.st_mode)){ + //printf("%d-dir-%s\n",i++,pDirEnt->d_name); + if(connected==0){ + + send_log("Start sending files(%02d:%02d:%02d)\n",t->tm_hour, t->tm_min, t->tm_sec); + send_log("Connect ftp server:%s,sending files from %s to %s\n",csta_serverip,csta_localpath,csta_remotepath); + if(csta_serverip==0||csta_username==0||csta_pwd==0||csta_remotepath==0||csta_localpath==0){ + send_log("[ERROR]csta_store_server param error!\n"); + break; + } + //连接ftp远程服务器 + send_log("login %s",csta_serverip); + if((nRet=ftp_open(csta_serverip)==1)){ + send_log("[ERROR]Ftp server open failed"); + break; + } + + //登陆ftp远程服务器 + if((nRet=ftp_login(csta_username,csta_pwd)==1)){ + send_log("[ERROR]Ftp server login failed"); + break; + } + + //改变远程服务器工作目录 + if((nRet = ftp_cwd(csta_remotepath)==1)){ + send_log("[ERROR]Ftp CWD failed"); + break; + } + + connected=1; + } + send_log("sending file...%s\n",fullpath); + //传送文件 + + if((nRet = ftp_putfile(csta_localpath,pDirEnt->d_name)==1)){ + send_log("[ERROR]Upload failed"); + break; + } + + { + l_time = time(NULL); + t = localtime(&l_time); + send_log("[OK]Upload successful!(%02d:%02d:%02d)\n",t->tm_hour, t->tm_min, t->tm_sec); + if (chdir(csta_sent_dir) == -1) { + sprintf(cmdstr, "mkdir -p -m755 %s", csta_sent_dir); + system(cmdstr); + //printf("I am feake baba %s\n",cmdstr); + if (chdir(csta_sent_dir) == -1) + { + send_log("connected=%d,csta_sent_dir",connected); + if(connected!=0){ + send_log("quit"); + ftp_quit(); + } + closedir(dir); + return; + } + } + //把传送完的文件复制到sent_dir目录下 + sprintf(cmdstr, "mv %s %s -f",fullpath,csta_sent_dir); + system(cmdstr); + send_log("connected=%d,system",connected); + if(connected!=0){ + send_log("quit"); + ftp_quit(); + } + closedir(dir); + return; + } + }else{ + continue; + } + } + closedir(dir); + if(connected!=0){ + send_log("quit"); + ftp_quit(); + } + return; + +} + +/************************************************* +Function: // sendlog_init +Description: // 创建日志文件,并且打开文件指针 +Calls: // +Called By: // main +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void sendlog_init() +{ + + char log_file[64], cmdstr[64]; + long l_time; + struct tm *t; + + l_time = time(NULL); + t = localtime(&l_time); + + //创建log文件夹 + if (access(FTP_LOG_PATH, F_OK) != 0) + { + sprintf(cmdstr, "mkdir -p -m755 %s", FTP_LOG_PATH); + printf("%s\n", cmdstr); + system(cmdstr); + } + + //创建日志文件 + sprintf(log_file, "%s/%s_%d_%d.log", FTP_LOG_PATH, FTP_LOG_FILE, + t->tm_mon + 1, t->tm_mday); + ftplog_fp = fopen(log_file, "a"); + send_log("FTPSEND start up.%s", ctime(&l_time)); +} + +/************************************************* +Function: // sendlog_timer +Description: // 日志文件定时器,每天产生一个日志文件 +Calls: // +Called By: // On_Timer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // 此函数每分钟调用一次 +*************************************************/ +void sendlog_timer() +{ + + char log_file[64]; + long l_time; + static int ch = 0; +// static short m_state; + struct tm *t; + +// if (m_state++ < 6) +// return; +// m_state = 0; + + l_time = time(NULL); + t = localtime(&l_time); + + if (t->tm_hour == 0 && ch == 0) + { + if (ftplog_fp != NULL) + fclose(ftplog_fp); + sprintf(log_file, "%s/%s_%d_%d.log", FTP_LOG_PATH, FTP_LOG_FILE, + t->tm_mon + 1, t->tm_mday); + if ((ftplog_fp = fopen(log_file, "a")) != NULL) { + ch = 1; + send_log("%s\n", log_file); + } +// else{ +// printf("cann't open file %s\n",log_file); +// perror("cann't open file"); +// } + } + else if (t->tm_hour > 0) + ch = 0; +} + + +void send_log(const char *fmt, ...) +{ + char buf[2048]; + + va_list ap; + + if (ftplog_fp == NULL) + + return; + + va_start(ap, fmt); + + vsprintf(buf, fmt, ap); + + fputs(buf, ftplog_fp); + fputs("\n", ftplog_fp); +// if(fputs(buf, ftplog_fp)>0){ +// printf("write OK\n"); +// }else{ +// perror("write error\n"); +// } + + fflush(ftplog_fp); +// if(fflush(ftplog_fp)==0){ +// printf("flush OK\n"); +// }else{ +// perror("flush error\n"); +// } + + va_end(ap); +} + diff --git a/src/accountMgr/c_program/ftpsend/ftpsend.h b/src/accountMgr/c_program/ftpsend/ftpsend.h new file mode 100644 index 0000000..738f202 --- /dev/null +++ b/src/accountMgr/c_program/ftpsend/ftpsend.h @@ -0,0 +1,32 @@ +#ifndef ftpsend_H_ +#define ftpsend_H_ + +#include + +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/snmp/src/include/snmp.h" + + +#define MAX_FILE_TRANSFER_NUM 32 +#define WAIT_TIME 60 +#define INFO_UPDATE_TIME 60 + + +/* The information of the file transfer object */ +typedef struct FileTransfer +{ + char srcDir[128]; + char dstDir[128]; + char dstIP[16]; + char filter[16]; + char logName[32]; + char logPass[32]; + int curFileIndex; + int waitTime; +}FileTransfer; + + + + +#endif diff --git a/src/accountMgr/c_program/ftpsend/run b/src/accountMgr/c_program/ftpsend/run new file mode 100644 index 0000000..e7f834c --- /dev/null +++ b/src/accountMgr/c_program/ftpsend/run @@ -0,0 +1,8 @@ +#!/bin/bash + +make clean +sleep 1 +make linuxES +sleep 1 +./ftpSend + diff --git a/src/accountMgr/c_program/nrtrde/Makefile b/src/accountMgr/c_program/nrtrde/Makefile new file mode 100644 index 0000000..71c333a --- /dev/null +++ b/src/accountMgr/c_program/nrtrde/Makefile @@ -0,0 +1,54 @@ +#/bin/bash + +CC=gcc +CFLAGS=-g -Wall -I/usr/include/mariadb +PROGS=nrtrde + + +LINK.c=$(CC) $(CFLAGS) + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lz \ + +NRTRDE_OBJ=nrtrde.o decodeASN.o encodeASN.o conv_prefix.o seq_num_mng.o + +default: linuxES + +all: + @echo "make clean -- Delete the target files" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linuxES: $(NRTRDE_OBJ) + @$(LINK.c) -o $(PROGS) $(NRTRDE_OBJ) $(LINKFLAG) -lm + ar r libnrtrde.a nrtrde.o decodeASN.o encodeASN.o conv_prefix.o seq_num_mng.o + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +nrtrde.o: nrtrde.c + $(LINK.c) -c nrtrde.c + +decodeASN.o: decodeASN.c + $(LINK.c) -c decodeASN.c + +encodeASN.o: encodeASN.c + ${LINK.c} -c encodeASN.c + +conv_prefix.o: conv_prefix.c + ${LINK.c} -c conv_prefix.c + +seq_num_mng.o: seq_num_mng.c + ${LINK.c} -c seq_num_mng.c + +clean: + rm -rf *.o *.a $(PROGS) diff --git a/omc/config/NR.conf b/src/accountMgr/c_program/nrtrde/conf/NR.conf similarity index 100% rename from omc/config/NR.conf rename to src/accountMgr/c_program/nrtrde/conf/NR.conf diff --git a/src/accountMgr/c_program/nrtrde/conv_prefix.c b/src/accountMgr/c_program/nrtrde/conv_prefix.c new file mode 100644 index 0000000..2dab5aa --- /dev/null +++ b/src/accountMgr/c_program/nrtrde/conv_prefix.c @@ -0,0 +1,148 @@ +#include +#include +#include +#include + +#include "conv_prefix.h" + +_conv_prefix conv_prefix; + +/*------------------------------------------------------------------*/ + +int readConvPrefixConf() +{ + char filename[]="./conf/conv_prefix.conf"; + FILE *fpConf = NULL; + int i; + + fpConf = fopen(filename,"r"); + if(fpConf == NULL) return 0; + fread(&conv_prefix,sizeof(_conv_prefix),1,fpConf); + fclose(fpConf); + + for(i=0;i=0 && + (strcmp(conv_prefix.group_conv_prefix[loop].endNumber,msisdn_unk))>=0) + return loop; + } + } + return -1; +} + +int msisdnUnkToInt(char *msisdn_unk, char *msisdn_int) +/* return value: + -1 = error length; + 0 = cannn't find appropriate prefix; + 1 = conv. succeed +*/ +{ + int retval = 0, index = -1; + int loop,len=0,max_len=0,old_len; + int delete_len,add_len; + + strcpy(msisdn_int,msisdn_unk); + index = xappSearchGroupTable(msisdn_unk); + if(index>=0) + { + char tmpStart[17],tmpEnd[17]; + + strcpy(tmpStart,msisdn_unk); + tmpStart[conv_prefix.group_conv_prefix[index].repStartDigit] = 0; + + strcpy(tmpEnd,&msisdn_unk[conv_prefix.group_conv_prefix[index].repEndDigit]); + + sprintf(msisdn_int,"%s%s%s", + tmpStart, + conv_prefix.group_conv_prefix[index].repDigitWith, + tmpEnd); + + return 1; + } + for(loop=0;loop0) + { + if(len>max_len) + if(strncasecmp(msisdn_unk, + conv_prefix.conv_prefix[loop].prefix, + len)==0) + { + max_len = len; + index = loop; + }//cmp + }//len>0 + }//used + } + + if(index>=0 && index24) len = 24; + old_len = len; + + + if(conv_prefix.conv_prefix[index].valid_length>0) + { + if(len != conv_prefix.conv_prefix[index].valid_length) + { + strcpy(msisdn_int,msisdn_unk); + return -1; + } + } + delete_len = conv_prefix.conv_prefix[index].delete_length; + if(delete_len>len) + { + strcpy(msisdn_int,msisdn_unk); + return -1; + } + + add_len = conv_prefix.conv_prefix[index].add_length; + if(add_len != strlen(conv_prefix.conv_prefix[index].add_digits)) + { + strcpy(msisdn_int,msisdn_unk); + return -1; + } + strcpy(msisdn_int, + conv_prefix.conv_prefix[index].add_digits); + strcat(msisdn_int, + &msisdn_unk[delete_len]); + msisdn_int[add_len+old_len-delete_len] = 0; + retval = 1; + } + return retval; +} + diff --git a/omc/plat/xapp/src/include.bak/conv_prefix.h b/src/accountMgr/c_program/nrtrde/conv_prefix.h similarity index 65% rename from omc/plat/xapp/src/include.bak/conv_prefix.h rename to src/accountMgr/c_program/nrtrde/conv_prefix.h index e7fcd0a..17da681 100644 --- a/omc/plat/xapp/src/include.bak/conv_prefix.h +++ b/src/accountMgr/c_program/nrtrde/conv_prefix.h @@ -28,10 +28,23 @@ typedef struct cli_prefix char delete_length; u_char out_property; char add_length; - char add_digits[MAX_PREFIX_LEN]; + char add_digits[MAX_PREFIX_LEN-1]; + u_char used_flag; u_char valid_length; }_cli_prefix; +typedef struct xapp_group_prefix +{ + char startNumber[MAX_PREFIX_LEN+1]; + char endNumber[MAX_PREFIX_LEN+1]; + u_char repStartDigit; + u_char repEndDigit; + char repDigitWith[MAX_PREFIX_LEN+1]; + u_char status; /* 0=unlock, 1=lock */ + u_char used_flag; + char cReserved[MAX_PREFIX_LEN-1]; +}_xapp_group_prefix; + typedef struct conv_prefix { _conv_prefix_record conv_prefix[MAX_CONV_PREFIX]; @@ -39,17 +52,10 @@ typedef struct conv_prefix char conv_name[MAX_CONV_PREFIX][MAX_NAME_LEN]; char cli_name[MAX_CLI_PREFIX][MAX_NAME_LEN]; char plat_name[MAX_PLAT_NAME_INSTANCE][MAX_PLAT_NAME_LEN]; + _xapp_group_prefix group_conv_prefix[MAX_CONV_PREFIX]; }_conv_prefix; -int snmpSetConvPrefix(u_char oidlen,DWORD *oid,u_char *pdata,u_short datalen); -int snmpGetConvPrefix(u_char oidlen,DWORD *oid,u_char *pdata,u_char *vartype); -int snmpSetCliPrefix(u_char oidlen,DWORD *oid,u_char *pdata,u_short datalen); -int snmpGetCliPrefix(u_char oidlen,DWORD *oid,u_char *pdata,u_char *vartype); -int snmpSetPlatName(u_char oidlen,DWORD *oid,u_char *pdata,u_short datalen); -int snmpGetPlatName(u_char oidlen,DWORD *oid,u_char *pdata,u_char *vartype); int msisdnUnkToInt(char *msisdn_unk, char *msisdn_int); -int cliUptoCalled(char *caller, char *called); -int saveConvPrefix(); /* return value: -1 = error length; diff --git a/src/accountMgr/c_program/nrtrde/createCDRs b/src/accountMgr/c_program/nrtrde/createCDRs new file mode 100644 index 0000000..f8fd84e --- /dev/null +++ b/src/accountMgr/c_program/nrtrde/createCDRs @@ -0,0 +1,7206 @@ +#!/bin/bash + +msc2_host=`/usr/bin/mysql -prootaa <<_EOF_ +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','03','0','3000','0','','26209000000','4444400000','10000','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2000','0','','2000','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','03','0','3001','0','','26209000001','4444400001','10001','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2001','0','','2001','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','03','0','3002','0','','26209000002','4444400002','10002','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2002','0','','2002','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','03','0','3003','0','','26209000003','4444400003','10003','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2003','0','','2003','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3004','0','','26209000004','4444400004','10004','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2004','0','','2004','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3005','0','','26209000005','4444400005','10005','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2005','0','','2005','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3006','0','','26209000006','4444400006','10006','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2006','0','','2006','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3007','0','','26209000007','4444400007','10007','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2007','0','','2007','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3008','0','','26209000008','4444400008','10008','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2008','0','','2008','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3009','0','','26209000009','4444400009','10009','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2009','0','','2009','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3010','0','','262090000010','44444000010','10010','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2010','0','','2010','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3011','0','','262090000011','44444000011','10011','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2011','0','','2011','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3012','0','','262090000012','44444000012','10012','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2012','0','','2012','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3013','0','','262090000013','44444000013','10013','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2013','0','','2013','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3014','0','','262090000014','44444000014','10014','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2014','0','','2014','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3015','0','','262090000015','44444000015','10015','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2015','0','','2015','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3016','0','','262090000016','44444000016','10016','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2016','0','','2016','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3017','0','','262090000017','44444000017','10017','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2017','0','','2017','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3018','0','','262090000018','44444000018','10018','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2018','0','','2018','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3019','0','','262090000019','44444000019','10019','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2019','0','','2019','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3020','0','','262090000020','44444000020','10020','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2020','0','','2020','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3021','0','','262090000021','44444000021','10021','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2021','0','','2021','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3022','0','','262090000022','44444000022','10022','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2022','0','','2022','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3023','0','','262090000023','44444000023','10023','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2023','0','','2023','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3024','0','','262090000024','44444000024','10024','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2024','0','','2024','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3025','0','','262090000025','44444000025','10025','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2025','0','','2025','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3026','0','','262090000026','44444000026','10026','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2026','0','','2026','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3027','0','','262090000027','44444000027','10027','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2027','0','','2027','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3028','0','','262090000028','44444000028','10028','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2028','0','','2028','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3029','0','','262090000029','44444000029','10029','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2029','0','','2029','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3030','0','','262090000030','44444000030','10030','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2030','0','','2030','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3031','0','','262090000031','44444000031','10031','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2031','0','','2031','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3032','0','','262090000032','44444000032','10032','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2032','0','','2032','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3033','0','','262090000033','44444000033','10033','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2033','0','','2033','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3034','0','','262090000034','44444000034','10034','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2034','0','','2034','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3035','0','','262090000035','44444000035','10035','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2035','0','','2035','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3036','0','','262090000036','44444000036','10036','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2036','0','','2036','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3037','0','','262090000037','44444000037','10037','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2037','0','','2037','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3038','0','','262090000038','44444000038','10038','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2038','0','','2038','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3039','0','','262090000039','44444000039','10039','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2039','0','','2039','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3040','0','','262090000040','44444000040','10040','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2040','0','','2040','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3041','0','','262090000041','44444000041','10041','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2041','0','','2041','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3042','0','','262090000042','44444000042','10042','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2042','0','','2042','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3043','0','','262090000043','44444000043','10043','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2043','0','','2043','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3044','0','','262090000044','44444000044','10044','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2044','0','','2044','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3045','0','','262090000045','44444000045','10045','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2045','0','','2045','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3046','0','','262090000046','44444000046','10046','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2046','0','','2046','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3047','0','','262090000047','44444000047','10047','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2047','0','','2047','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3048','0','','262090000048','44444000048','10048','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2048','0','','2048','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3049','0','','262090000049','44444000049','10049','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2049','0','','2049','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3050','0','','262090000050','44444000050','10050','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2050','0','','2050','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3051','0','','262090000051','44444000051','10051','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2051','0','','2051','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3052','0','','262090000052','44444000052','10052','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2052','0','','2052','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3053','0','','262090000053','44444000053','10053','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2053','0','','2053','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3054','0','','262090000054','44444000054','10054','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2054','0','','2054','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3055','0','','262090000055','44444000055','10055','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2055','0','','2055','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3056','0','','262090000056','44444000056','10056','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2056','0','','2056','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3057','0','','262090000057','44444000057','10057','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2057','0','','2057','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3058','0','','262090000058','44444000058','10058','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2058','0','','2058','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3059','0','','262090000059','44444000059','10059','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2059','0','','2059','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3060','0','','262090000060','44444000060','10060','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2060','0','','2060','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3061','0','','262090000061','44444000061','10061','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2061','0','','2061','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3062','0','','262090000062','44444000062','10062','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2062','0','','2062','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3063','0','','262090000063','44444000063','10063','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2063','0','','2063','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3064','0','','262090000064','44444000064','10064','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2064','0','','2064','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3065','0','','262090000065','44444000065','10065','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2065','0','','2065','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3066','0','','262090000066','44444000066','10066','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2066','0','','2066','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3067','0','','262090000067','44444000067','10067','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2067','0','','2067','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3068','0','','262090000068','44444000068','10068','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2068','0','','2068','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3069','0','','262090000069','44444000069','10069','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2069','0','','2069','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3070','0','','262090000070','44444000070','10070','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2070','0','','2070','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3071','0','','262090000071','44444000071','10071','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2071','0','','2071','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3072','0','','262090000072','44444000072','10072','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2072','0','','2072','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3073','0','','262090000073','44444000073','10073','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2073','0','','2073','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3074','0','','262090000074','44444000074','10074','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2074','0','','2074','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3075','0','','262090000075','44444000075','10075','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2075','0','','2075','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3076','0','','262090000076','44444000076','10076','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2076','0','','2076','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3077','0','','262090000077','44444000077','10077','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2077','0','','2077','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3078','0','','262090000078','44444000078','10078','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2078','0','','2078','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3079','0','','262090000079','44444000079','10079','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2079','0','','2079','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3080','0','','262090000080','44444000080','10080','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2080','0','','2080','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3081','0','','262090000081','44444000081','10081','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2081','0','','2081','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3082','0','','262090000082','44444000082','10082','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2082','0','','2082','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3083','0','','262090000083','44444000083','10083','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2083','0','','2083','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3084','0','','262090000084','44444000084','10084','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2084','0','','2084','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3085','0','','262090000085','44444000085','10085','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2085','0','','2085','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3086','0','','262090000086','44444000086','10086','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2086','0','','2086','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3087','0','','262090000087','44444000087','10087','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2087','0','','2087','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3088','0','','262090000088','44444000088','10088','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2088','0','','2088','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3089','0','','262090000089','44444000089','10089','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2089','0','','2089','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3090','0','','262090000090','44444000090','10090','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2090','0','','2090','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3091','0','','262090000091','44444000091','10091','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2091','0','','2091','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3092','0','','262090000092','44444000092','10092','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2092','0','','2092','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3093','0','','262090000093','44444000093','10093','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2093','0','','2093','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3094','0','','262090000094','44444000094','10094','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2094','0','','2094','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3095','0','','262090000095','44444000095','10095','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2095','0','','2095','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3096','0','','262090000096','44444000096','10096','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2096','0','','2096','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3097','0','','262090000097','44444000097','10097','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2097','0','','2097','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3098','0','','262090000098','44444000098','10098','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2098','0','','2098','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3099','0','','262090000099','44444000099','10099','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2099','0','','2099','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3100','0','','2620900000100','444440000100','10100','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2100','0','','2100','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3101','0','','2620900000101','444440000101','10101','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2101','0','','2101','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3102','0','','2620900000102','444440000102','10102','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2102','0','','2102','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3103','0','','2620900000103','444440000103','10103','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2103','0','','2103','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3104','0','','2620900000104','444440000104','10104','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2104','0','','2104','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3105','0','','2620900000105','444440000105','10105','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2105','0','','2105','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3106','0','','2620900000106','444440000106','10106','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2106','0','','2106','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3107','0','','2620900000107','444440000107','10107','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2107','0','','2107','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3108','0','','2620900000108','444440000108','10108','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2108','0','','2108','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3109','0','','2620900000109','444440000109','10109','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2109','0','','2109','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3110','0','','2620900000110','444440000110','10110','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2110','0','','2110','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3111','0','','2620900000111','444440000111','10111','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2111','0','','2111','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3112','0','','2620900000112','444440000112','10112','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2112','0','','2112','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3113','0','','2620900000113','444440000113','10113','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2113','0','','2113','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3114','0','','2620900000114','444440000114','10114','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2114','0','','2114','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3115','0','','2620900000115','444440000115','10115','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2115','0','','2115','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3116','0','','2620900000116','444440000116','10116','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2116','0','','2116','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3117','0','','2620900000117','444440000117','10117','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2117','0','','2117','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3118','0','','2620900000118','444440000118','10118','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2118','0','','2118','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3119','0','','2620900000119','444440000119','10119','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2119','0','','2119','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3120','0','','2620900000120','444440000120','10120','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2120','0','','2120','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3121','0','','2620900000121','444440000121','10121','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2121','0','','2121','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3122','0','','2620900000122','444440000122','10122','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2122','0','','2122','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3123','0','','2620900000123','444440000123','10123','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2123','0','','2123','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3124','0','','2620900000124','444440000124','10124','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2124','0','','2124','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3125','0','','2620900000125','444440000125','10125','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2125','0','','2125','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3126','0','','2620900000126','444440000126','10126','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2126','0','','2126','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3127','0','','2620900000127','444440000127','10127','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2127','0','','2127','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3128','0','','2620900000128','444440000128','10128','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2128','0','','2128','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3129','0','','2620900000129','444440000129','10129','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2129','0','','2129','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3130','0','','2620900000130','444440000130','10130','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2130','0','','2130','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3131','0','','2620900000131','444440000131','10131','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2131','0','','2131','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3132','0','','2620900000132','444440000132','10132','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2132','0','','2132','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3133','0','','2620900000133','444440000133','10133','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2133','0','','2133','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3134','0','','2620900000134','444440000134','10134','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2134','0','','2134','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3135','0','','2620900000135','444440000135','10135','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2135','0','','2135','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3136','0','','2620900000136','444440000136','10136','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2136','0','','2136','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3137','0','','2620900000137','444440000137','10137','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2137','0','','2137','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3138','0','','2620900000138','444440000138','10138','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2138','0','','2138','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3139','0','','2620900000139','444440000139','10139','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2139','0','','2139','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3140','0','','2620900000140','444440000140','10140','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2140','0','','2140','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3141','0','','2620900000141','444440000141','10141','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2141','0','','2141','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3142','0','','2620900000142','444440000142','10142','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2142','0','','2142','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3143','0','','2620900000143','444440000143','10143','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2143','0','','2143','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3144','0','','2620900000144','444440000144','10144','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2144','0','','2144','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3145','0','','2620900000145','444440000145','10145','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2145','0','','2145','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3146','0','','2620900000146','444440000146','10146','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2146','0','','2146','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3147','0','','2620900000147','444440000147','10147','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2147','0','','2147','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3148','0','','2620900000148','444440000148','10148','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2148','0','','2148','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3149','0','','2620900000149','444440000149','10149','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2149','0','','2149','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3150','0','','2620900000150','444440000150','10150','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2150','0','','2150','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3151','0','','2620900000151','444440000151','10151','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2151','0','','2151','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3152','0','','2620900000152','444440000152','10152','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2152','0','','2152','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3153','0','','2620900000153','444440000153','10153','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2153','0','','2153','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3154','0','','2620900000154','444440000154','10154','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2154','0','','2154','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3155','0','','2620900000155','444440000155','10155','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2155','0','','2155','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3156','0','','2620900000156','444440000156','10156','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2156','0','','2156','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3157','0','','2620900000157','444440000157','10157','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2157','0','','2157','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3158','0','','2620900000158','444440000158','10158','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2158','0','','2158','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3159','0','','2620900000159','444440000159','10159','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2159','0','','2159','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3160','0','','2620900000160','444440000160','10160','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2160','0','','2160','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3161','0','','2620900000161','444440000161','10161','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2161','0','','2161','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3162','0','','2620900000162','444440000162','10162','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2162','0','','2162','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3163','0','','2620900000163','444440000163','10163','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2163','0','','2163','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3164','0','','2620900000164','444440000164','10164','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2164','0','','2164','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3165','0','','2620900000165','444440000165','10165','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2165','0','','2165','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3166','0','','2620900000166','444440000166','10166','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2166','0','','2166','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3167','0','','2620900000167','444440000167','10167','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2167','0','','2167','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3168','0','','2620900000168','444440000168','10168','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2168','0','','2168','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3169','0','','2620900000169','444440000169','10169','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2169','0','','2169','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3170','0','','2620900000170','444440000170','10170','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2170','0','','2170','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3171','0','','2620900000171','444440000171','10171','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2171','0','','2171','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3172','0','','2620900000172','444440000172','10172','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2172','0','','2172','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3173','0','','2620900000173','444440000173','10173','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2173','0','','2173','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3174','0','','2620900000174','444440000174','10174','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2174','0','','2174','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3175','0','','2620900000175','444440000175','10175','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2175','0','','2175','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3176','0','','2620900000176','444440000176','10176','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2176','0','','2176','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3177','0','','2620900000177','444440000177','10177','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2177','0','','2177','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3178','0','','2620900000178','444440000178','10178','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2178','0','','2178','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3179','0','','2620900000179','444440000179','10179','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2179','0','','2179','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3180','0','','2620900000180','444440000180','10180','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2180','0','','2180','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3181','0','','2620900000181','444440000181','10181','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2181','0','','2181','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3182','0','','2620900000182','444440000182','10182','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2182','0','','2182','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3183','0','','2620900000183','444440000183','10183','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2183','0','','2183','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3184','0','','2620900000184','444440000184','10184','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2184','0','','2184','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3185','0','','2620900000185','444440000185','10185','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2185','0','','2185','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3186','0','','2620900000186','444440000186','10186','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2186','0','','2186','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3187','0','','2620900000187','444440000187','10187','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2187','0','','2187','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3188','0','','2620900000188','444440000188','10188','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2188','0','','2188','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3189','0','','2620900000189','444440000189','10189','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2189','0','','2189','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3190','0','','2620900000190','444440000190','10190','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2190','0','','2190','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3191','0','','2620900000191','444440000191','10191','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2191','0','','2191','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3192','0','','2620900000192','444440000192','10192','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2192','0','','2192','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3193','0','','2620900000193','444440000193','10193','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2193','0','','2193','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3194','0','','2620900000194','444440000194','10194','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2194','0','','2194','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3195','0','','2620900000195','444440000195','10195','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2195','0','','2195','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3196','0','','2620900000196','444440000196','10196','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2196','0','','2196','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3197','0','','2620900000197','444440000197','10197','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2197','0','','2197','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3198','0','','2620900000198','444440000198','10198','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2198','0','','2198','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3199','0','','2620900000199','444440000199','10199','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2199','0','','2199','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3200','0','','2620900000200','444440000200','10200','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2200','0','','2200','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3201','0','','2620900000201','444440000201','10201','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2201','0','','2201','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3202','0','','2620900000202','444440000202','10202','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2202','0','','2202','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3203','0','','2620900000203','444440000203','10203','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2203','0','','2203','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3204','0','','2620900000204','444440000204','10204','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2204','0','','2204','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3205','0','','2620900000205','444440000205','10205','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2205','0','','2205','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3206','0','','2620900000206','444440000206','10206','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2206','0','','2206','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3207','0','','2620900000207','444440000207','10207','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2207','0','','2207','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3208','0','','2620900000208','444440000208','10208','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2208','0','','2208','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3209','0','','2620900000209','444440000209','10209','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2209','0','','2209','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3210','0','','2620900000210','444440000210','10210','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2210','0','','2210','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3211','0','','2620900000211','444440000211','10211','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2211','0','','2211','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3212','0','','2620900000212','444440000212','10212','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2212','0','','2212','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3213','0','','2620900000213','444440000213','10213','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2213','0','','2213','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3214','0','','2620900000214','444440000214','10214','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2214','0','','2214','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3215','0','','2620900000215','444440000215','10215','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2215','0','','2215','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3216','0','','2620900000216','444440000216','10216','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2216','0','','2216','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3217','0','','2620900000217','444440000217','10217','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2217','0','','2217','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3218','0','','2620900000218','444440000218','10218','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2218','0','','2218','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3219','0','','2620900000219','444440000219','10219','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2219','0','','2219','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3220','0','','2620900000220','444440000220','10220','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2220','0','','2220','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3221','0','','2620900000221','444440000221','10221','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2221','0','','2221','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3222','0','','2620900000222','444440000222','10222','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2222','0','','2222','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3223','0','','2620900000223','444440000223','10223','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2223','0','','2223','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3224','0','','2620900000224','444440000224','10224','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2224','0','','2224','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3225','0','','2620900000225','444440000225','10225','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2225','0','','2225','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3226','0','','2620900000226','444440000226','10226','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2226','0','','2226','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3227','0','','2620900000227','444440000227','10227','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2227','0','','2227','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3228','0','','2620900000228','444440000228','10228','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2228','0','','2228','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3229','0','','2620900000229','444440000229','10229','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2229','0','','2229','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3230','0','','2620900000230','444440000230','10230','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2230','0','','2230','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3231','0','','2620900000231','444440000231','10231','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2231','0','','2231','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3232','0','','2620900000232','444440000232','10232','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2232','0','','2232','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3233','0','','2620900000233','444440000233','10233','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2233','0','','2233','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3234','0','','2620900000234','444440000234','10234','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2234','0','','2234','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3235','0','','2620900000235','444440000235','10235','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2235','0','','2235','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3236','0','','2620900000236','444440000236','10236','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2236','0','','2236','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3237','0','','2620900000237','444440000237','10237','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2237','0','','2237','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3238','0','','2620900000238','444440000238','10238','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2238','0','','2238','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3239','0','','2620900000239','444440000239','10239','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2239','0','','2239','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3240','0','','2620900000240','444440000240','10240','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2240','0','','2240','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3241','0','','2620900000241','444440000241','10241','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2241','0','','2241','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3242','0','','2620900000242','444440000242','10242','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2242','0','','2242','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3243','0','','2620900000243','444440000243','10243','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2243','0','','2243','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3244','0','','2620900000244','444440000244','10244','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2244','0','','2244','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3245','0','','2620900000245','444440000245','10245','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2245','0','','2245','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3246','0','','2620900000246','444440000246','10246','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2246','0','','2246','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3247','0','','2620900000247','444440000247','10247','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2247','0','','2247','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3248','0','','2620900000248','444440000248','10248','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2248','0','','2248','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3249','0','','2620900000249','444440000249','10249','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2249','0','','2249','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3250','0','','2620900000250','444440000250','10250','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2250','0','','2250','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3251','0','','2620900000251','444440000251','10251','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2251','0','','2251','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3252','0','','2620900000252','444440000252','10252','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2252','0','','2252','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3253','0','','2620900000253','444440000253','10253','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2253','0','','2253','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3254','0','','2620900000254','444440000254','10254','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2254','0','','2254','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3255','0','','2620900000255','444440000255','10255','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2255','0','','2255','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3256','0','','2620900000256','444440000256','10256','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2256','0','','2256','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3257','0','','2620900000257','444440000257','10257','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2257','0','','2257','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3258','0','','2620900000258','444440000258','10258','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2258','0','','2258','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3259','0','','2620900000259','444440000259','10259','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2259','0','','2259','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3260','0','','2620900000260','444440000260','10260','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2260','0','','2260','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3261','0','','2620900000261','444440000261','10261','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2261','0','','2261','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3262','0','','2620900000262','444440000262','10262','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2262','0','','2262','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3263','0','','2620900000263','444440000263','10263','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2263','0','','2263','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3264','0','','2620900000264','444440000264','10264','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2264','0','','2264','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3265','0','','2620900000265','444440000265','10265','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2265','0','','2265','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3266','0','','2620900000266','444440000266','10266','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2266','0','','2266','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3267','0','','2620900000267','444440000267','10267','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2267','0','','2267','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3268','0','','2620900000268','444440000268','10268','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2268','0','','2268','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3269','0','','2620900000269','444440000269','10269','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2269','0','','2269','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3270','0','','2620900000270','444440000270','10270','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2270','0','','2270','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3271','0','','2620900000271','444440000271','10271','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2271','0','','2271','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3272','0','','2620900000272','444440000272','10272','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2272','0','','2272','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3273','0','','2620900000273','444440000273','10273','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2273','0','','2273','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3274','0','','2620900000274','444440000274','10274','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2274','0','','2274','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3275','0','','2620900000275','444440000275','10275','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2275','0','','2275','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3276','0','','2620900000276','444440000276','10276','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2276','0','','2276','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3277','0','','2620900000277','444440000277','10277','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2277','0','','2277','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3278','0','','2620900000278','444440000278','10278','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2278','0','','2278','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3279','0','','2620900000279','444440000279','10279','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2279','0','','2279','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3280','0','','2620900000280','444440000280','10280','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2280','0','','2280','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3281','0','','2620900000281','444440000281','10281','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2281','0','','2281','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3282','0','','2620900000282','444440000282','10282','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2282','0','','2282','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3283','0','','2620900000283','444440000283','10283','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2283','0','','2283','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3284','0','','2620900000284','444440000284','10284','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2284','0','','2284','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3285','0','','2620900000285','444440000285','10285','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2285','0','','2285','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3286','0','','2620900000286','444440000286','10286','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2286','0','','2286','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3287','0','','2620900000287','444440000287','10287','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2287','0','','2287','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3288','0','','2620900000288','444440000288','10288','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2288','0','','2288','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3289','0','','2620900000289','444440000289','10289','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2289','0','','2289','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3290','0','','2620900000290','444440000290','10290','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2290','0','','2290','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3291','0','','2620900000291','444440000291','10291','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2291','0','','2291','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3292','0','','2620900000292','444440000292','10292','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2292','0','','2292','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3293','0','','2620900000293','444440000293','10293','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2293','0','','2293','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3294','0','','2620900000294','444440000294','10294','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2294','0','','2294','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3295','0','','2620900000295','444440000295','10295','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2295','0','','2295','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3296','0','','2620900000296','444440000296','10296','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2296','0','','2296','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3297','0','','2620900000297','444440000297','10297','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2297','0','','2297','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3298','0','','2620900000298','444440000298','10298','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2298','0','','2298','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3299','0','','2620900000299','444440000299','10299','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2299','0','','2299','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3300','0','','2620900000300','444440000300','10300','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2300','0','','2300','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3301','0','','2620900000301','444440000301','10301','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2301','0','','2301','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3302','0','','2620900000302','444440000302','10302','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2302','0','','2302','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3303','0','','2620900000303','444440000303','10303','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2303','0','','2303','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3304','0','','2620900000304','444440000304','10304','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2304','0','','2304','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3305','0','','2620900000305','444440000305','10305','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2305','0','','2305','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3306','0','','2620900000306','444440000306','10306','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2306','0','','2306','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3307','0','','2620900000307','444440000307','10307','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2307','0','','2307','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3308','0','','2620900000308','444440000308','10308','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2308','0','','2308','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3309','0','','2620900000309','444440000309','10309','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2309','0','','2309','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3310','0','','2620900000310','444440000310','10310','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2310','0','','2310','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3311','0','','2620900000311','444440000311','10311','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2311','0','','2311','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3312','0','','2620900000312','444440000312','10312','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2312','0','','2312','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3313','0','','2620900000313','444440000313','10313','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2313','0','','2313','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3314','0','','2620900000314','444440000314','10314','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2314','0','','2314','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3315','0','','2620900000315','444440000315','10315','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2315','0','','2315','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3316','0','','2620900000316','444440000316','10316','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2316','0','','2316','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3317','0','','2620900000317','444440000317','10317','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2317','0','','2317','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3318','0','','2620900000318','444440000318','10318','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2318','0','','2318','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3319','0','','2620900000319','444440000319','10319','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2319','0','','2319','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3320','0','','2620900000320','444440000320','10320','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2320','0','','2320','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3321','0','','2620900000321','444440000321','10321','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2321','0','','2321','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3322','0','','2620900000322','444440000322','10322','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2322','0','','2322','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3323','0','','2620900000323','444440000323','10323','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2323','0','','2323','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3324','0','','2620900000324','444440000324','10324','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2324','0','','2324','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3325','0','','2620900000325','444440000325','10325','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2325','0','','2325','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3326','0','','2620900000326','444440000326','10326','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2326','0','','2326','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3327','0','','2620900000327','444440000327','10327','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2327','0','','2327','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3328','0','','2620900000328','444440000328','10328','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2328','0','','2328','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3329','0','','2620900000329','444440000329','10329','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2329','0','','2329','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3330','0','','2620900000330','444440000330','10330','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2330','0','','2330','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3331','0','','2620900000331','444440000331','10331','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2331','0','','2331','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3332','0','','2620900000332','444440000332','10332','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2332','0','','2332','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3333','0','','2620900000333','444440000333','10333','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2333','0','','2333','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3334','0','','2620900000334','444440000334','10334','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2334','0','','2334','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3335','0','','2620900000335','444440000335','10335','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2335','0','','2335','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3336','0','','2620900000336','444440000336','10336','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2336','0','','2336','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3337','0','','2620900000337','444440000337','10337','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2337','0','','2337','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3338','0','','2620900000338','444440000338','10338','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2338','0','','2338','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3339','0','','2620900000339','444440000339','10339','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2339','0','','2339','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3340','0','','2620900000340','444440000340','10340','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2340','0','','2340','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3341','0','','2620900000341','444440000341','10341','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2341','0','','2341','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3342','0','','2620900000342','444440000342','10342','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2342','0','','2342','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3343','0','','2620900000343','444440000343','10343','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2343','0','','2343','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3344','0','','2620900000344','444440000344','10344','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2344','0','','2344','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3345','0','','2620900000345','444440000345','10345','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2345','0','','2345','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3346','0','','2620900000346','444440000346','10346','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2346','0','','2346','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3347','0','','2620900000347','444440000347','10347','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2347','0','','2347','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3348','0','','2620900000348','444440000348','10348','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2348','0','','2348','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3349','0','','2620900000349','444440000349','10349','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2349','0','','2349','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3350','0','','2620900000350','444440000350','10350','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2350','0','','2350','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3351','0','','2620900000351','444440000351','10351','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2351','0','','2351','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3352','0','','2620900000352','444440000352','10352','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2352','0','','2352','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3353','0','','2620900000353','444440000353','10353','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2353','0','','2353','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3354','0','','2620900000354','444440000354','10354','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2354','0','','2354','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3355','0','','2620900000355','444440000355','10355','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2355','0','','2355','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3356','0','','2620900000356','444440000356','10356','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2356','0','','2356','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3357','0','','2620900000357','444440000357','10357','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2357','0','','2357','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3358','0','','2620900000358','444440000358','10358','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2358','0','','2358','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3359','0','','2620900000359','444440000359','10359','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2359','0','','2359','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3360','0','','2620900000360','444440000360','10360','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2360','0','','2360','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3361','0','','2620900000361','444440000361','10361','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2361','0','','2361','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3362','0','','2620900000362','444440000362','10362','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2362','0','','2362','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3363','0','','2620900000363','444440000363','10363','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2363','0','','2363','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3364','0','','2620900000364','444440000364','10364','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2364','0','','2364','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3365','0','','2620900000365','444440000365','10365','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2365','0','','2365','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3366','0','','2620900000366','444440000366','10366','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2366','0','','2366','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3367','0','','2620900000367','444440000367','10367','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2367','0','','2367','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3368','0','','2620900000368','444440000368','10368','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2368','0','','2368','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3369','0','','2620900000369','444440000369','10369','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2369','0','','2369','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3370','0','','2620900000370','444440000370','10370','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2370','0','','2370','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3371','0','','2620900000371','444440000371','10371','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2371','0','','2371','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3372','0','','2620900000372','444440000372','10372','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2372','0','','2372','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3373','0','','2620900000373','444440000373','10373','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2373','0','','2373','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3374','0','','2620900000374','444440000374','10374','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2374','0','','2374','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3375','0','','2620900000375','444440000375','10375','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2375','0','','2375','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3376','0','','2620900000376','444440000376','10376','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2376','0','','2376','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3377','0','','2620900000377','444440000377','10377','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2377','0','','2377','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3378','0','','2620900000378','444440000378','10378','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2378','0','','2378','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3379','0','','2620900000379','444440000379','10379','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2379','0','','2379','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3380','0','','2620900000380','444440000380','10380','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2380','0','','2380','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3381','0','','2620900000381','444440000381','10381','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2381','0','','2381','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3382','0','','2620900000382','444440000382','10382','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2382','0','','2382','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3383','0','','2620900000383','444440000383','10383','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2383','0','','2383','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3384','0','','2620900000384','444440000384','10384','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2384','0','','2384','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3385','0','','2620900000385','444440000385','10385','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2385','0','','2385','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3386','0','','2620900000386','444440000386','10386','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2386','0','','2386','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3387','0','','2620900000387','444440000387','10387','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2387','0','','2387','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3388','0','','2620900000388','444440000388','10388','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2388','0','','2388','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3389','0','','2620900000389','444440000389','10389','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2389','0','','2389','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3390','0','','2620900000390','444440000390','10390','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2390','0','','2390','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3391','0','','2620900000391','444440000391','10391','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2391','0','','2391','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3392','0','','2620900000392','444440000392','10392','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2392','0','','2392','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3393','0','','2620900000393','444440000393','10393','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2393','0','','2393','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3394','0','','2620900000394','444440000394','10394','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2394','0','','2394','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3395','0','','2620900000395','444440000395','10395','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2395','0','','2395','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3396','0','','2620900000396','444440000396','10396','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2396','0','','2396','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3397','0','','2620900000397','444440000397','10397','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2397','0','','2397','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3398','0','','2620900000398','444440000398','10398','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2398','0','','2398','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3399','0','','2620900000399','444440000399','10399','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2399','0','','2399','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3400','0','','2620900000400','444440000400','10400','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2400','0','','2400','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3401','0','','2620900000401','444440000401','10401','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2401','0','','2401','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3402','0','','2620900000402','444440000402','10402','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2402','0','','2402','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3403','0','','2620900000403','444440000403','10403','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2403','0','','2403','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3404','0','','2620900000404','444440000404','10404','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2404','0','','2404','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3405','0','','2620900000405','444440000405','10405','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2405','0','','2405','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3406','0','','2620900000406','444440000406','10406','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2406','0','','2406','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3407','0','','2620900000407','444440000407','10407','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2407','0','','2407','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3408','0','','2620900000408','444440000408','10408','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2408','0','','2408','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3409','0','','2620900000409','444440000409','10409','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2409','0','','2409','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3410','0','','2620900000410','444440000410','10410','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2410','0','','2410','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3411','0','','2620900000411','444440000411','10411','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2411','0','','2411','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3412','0','','2620900000412','444440000412','10412','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2412','0','','2412','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3413','0','','2620900000413','444440000413','10413','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2413','0','','2413','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3414','0','','2620900000414','444440000414','10414','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2414','0','','2414','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3415','0','','2620900000415','444440000415','10415','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2415','0','','2415','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3416','0','','2620900000416','444440000416','10416','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2416','0','','2416','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3417','0','','2620900000417','444440000417','10417','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2417','0','','2417','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3418','0','','2620900000418','444440000418','10418','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2418','0','','2418','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3419','0','','2620900000419','444440000419','10419','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2419','0','','2419','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3420','0','','2620900000420','444440000420','10420','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2420','0','','2420','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3421','0','','2620900000421','444440000421','10421','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2421','0','','2421','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3422','0','','2620900000422','444440000422','10422','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2422','0','','2422','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3423','0','','2620900000423','444440000423','10423','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2423','0','','2423','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3424','0','','2620900000424','444440000424','10424','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2424','0','','2424','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3425','0','','2620900000425','444440000425','10425','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2425','0','','2425','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3426','0','','2620900000426','444440000426','10426','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2426','0','','2426','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3427','0','','2620900000427','444440000427','10427','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2427','0','','2427','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3428','0','','2620900000428','444440000428','10428','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2428','0','','2428','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3429','0','','2620900000429','444440000429','10429','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2429','0','','2429','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3430','0','','2620900000430','444440000430','10430','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2430','0','','2430','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3431','0','','2620900000431','444440000431','10431','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2431','0','','2431','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3432','0','','2620900000432','444440000432','10432','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2432','0','','2432','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3433','0','','2620900000433','444440000433','10433','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2433','0','','2433','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3434','0','','2620900000434','444440000434','10434','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2434','0','','2434','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3435','0','','2620900000435','444440000435','10435','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2435','0','','2435','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3436','0','','2620900000436','444440000436','10436','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2436','0','','2436','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3437','0','','2620900000437','444440000437','10437','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2437','0','','2437','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3438','0','','2620900000438','444440000438','10438','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2438','0','','2438','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3439','0','','2620900000439','444440000439','10439','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2439','0','','2439','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3440','0','','2620900000440','444440000440','10440','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2440','0','','2440','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3441','0','','2620900000441','444440000441','10441','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2441','0','','2441','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3442','0','','2620900000442','444440000442','10442','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2442','0','','2442','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3443','0','','2620900000443','444440000443','10443','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2443','0','','2443','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3444','0','','2620900000444','444440000444','10444','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2444','0','','2444','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3445','0','','2620900000445','444440000445','10445','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2445','0','','2445','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3446','0','','2620900000446','444440000446','10446','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2446','0','','2446','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3447','0','','2620900000447','444440000447','10447','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2447','0','','2447','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3448','0','','2620900000448','444440000448','10448','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2448','0','','2448','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3449','0','','2620900000449','444440000449','10449','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2449','0','','2449','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3450','0','','2620900000450','444440000450','10450','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2450','0','','2450','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3451','0','','2620900000451','444440000451','10451','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2451','0','','2451','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3452','0','','2620900000452','444440000452','10452','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2452','0','','2452','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3453','0','','2620900000453','444440000453','10453','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2453','0','','2453','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3454','0','','2620900000454','444440000454','10454','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2454','0','','2454','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3455','0','','2620900000455','444440000455','10455','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2455','0','','2455','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3456','0','','2620900000456','444440000456','10456','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2456','0','','2456','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3457','0','','2620900000457','444440000457','10457','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2457','0','','2457','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3458','0','','2620900000458','444440000458','10458','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2458','0','','2458','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3459','0','','2620900000459','444440000459','10459','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2459','0','','2459','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3460','0','','2620900000460','444440000460','10460','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2460','0','','2460','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3461','0','','2620900000461','444440000461','10461','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2461','0','','2461','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3462','0','','2620900000462','444440000462','10462','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2462','0','','2462','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3463','0','','2620900000463','444440000463','10463','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2463','0','','2463','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3464','0','','2620900000464','444440000464','10464','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2464','0','','2464','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3465','0','','2620900000465','444440000465','10465','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2465','0','','2465','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3466','0','','2620900000466','444440000466','10466','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2466','0','','2466','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3467','0','','2620900000467','444440000467','10467','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2467','0','','2467','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3468','0','','2620900000468','444440000468','10468','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2468','0','','2468','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3469','0','','2620900000469','444440000469','10469','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2469','0','','2469','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3470','0','','2620900000470','444440000470','10470','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2470','0','','2470','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3471','0','','2620900000471','444440000471','10471','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2471','0','','2471','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3472','0','','2620900000472','444440000472','10472','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2472','0','','2472','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3473','0','','2620900000473','444440000473','10473','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2473','0','','2473','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3474','0','','2620900000474','444440000474','10474','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2474','0','','2474','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3475','0','','2620900000475','444440000475','10475','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2475','0','','2475','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3476','0','','2620900000476','444440000476','10476','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2476','0','','2476','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3477','0','','2620900000477','444440000477','10477','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2477','0','','2477','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3478','0','','2620900000478','444440000478','10478','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2478','0','','2478','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3479','0','','2620900000479','444440000479','10479','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2479','0','','2479','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3480','0','','2620900000480','444440000480','10480','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2480','0','','2480','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3481','0','','2620900000481','444440000481','10481','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2481','0','','2481','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3482','0','','2620900000482','444440000482','10482','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2482','0','','2482','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3483','0','','2620900000483','444440000483','10483','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2483','0','','2483','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3484','0','','2620900000484','444440000484','10484','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2484','0','','2484','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3485','0','','2620900000485','444440000485','10485','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2485','0','','2485','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3486','0','','2620900000486','444440000486','10486','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2486','0','','2486','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3487','0','','2620900000487','444440000487','10487','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2487','0','','2487','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3488','0','','2620900000488','444440000488','10488','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2488','0','','2488','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3489','0','','2620900000489','444440000489','10489','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2489','0','','2489','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3490','0','','2620900000490','444440000490','10490','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2490','0','','2490','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3491','0','','2620900000491','444440000491','10491','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2491','0','','2491','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3492','0','','2620900000492','444440000492','10492','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2492','0','','2492','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3493','0','','2620900000493','444440000493','10493','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2493','0','','2493','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3494','0','','2620900000494','444440000494','10494','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2494','0','','2494','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3495','0','','2620900000495','444440000495','10495','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2495','0','','2495','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3496','0','','2620900000496','444440000496','10496','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2496','0','','2496','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3497','0','','2620900000497','444440000497','10497','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2497','0','','2497','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3498','0','','2620900000498','444440000498','10498','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2498','0','','2498','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3499','0','','2620900000499','444440000499','10499','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2499','0','','2499','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3500','0','','2620900000500','444440000500','10500','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2500','0','','2500','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3501','0','','2620900000501','444440000501','10501','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2501','0','','2501','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3502','0','','2620900000502','444440000502','10502','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2502','0','','2502','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3503','0','','2620900000503','444440000503','10503','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2503','0','','2503','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3504','0','','2620900000504','444440000504','10504','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2504','0','','2504','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3505','0','','2620900000505','444440000505','10505','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2505','0','','2505','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3506','0','','2620900000506','444440000506','10506','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2506','0','','2506','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3507','0','','2620900000507','444440000507','10507','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2507','0','','2507','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3508','0','','2620900000508','444440000508','10508','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2508','0','','2508','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3509','0','','2620900000509','444440000509','10509','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2509','0','','2509','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3510','0','','2620900000510','444440000510','10510','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2510','0','','2510','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3511','0','','2620900000511','444440000511','10511','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2511','0','','2511','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3512','0','','2620900000512','444440000512','10512','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2512','0','','2512','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3513','0','','2620900000513','444440000513','10513','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2513','0','','2513','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3514','0','','2620900000514','444440000514','10514','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2514','0','','2514','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3515','0','','2620900000515','444440000515','10515','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2515','0','','2515','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3516','0','','2620900000516','444440000516','10516','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2516','0','','2516','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3517','0','','2620900000517','444440000517','10517','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2517','0','','2517','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3518','0','','2620900000518','444440000518','10518','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2518','0','','2518','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3519','0','','2620900000519','444440000519','10519','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2519','0','','2519','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3520','0','','2620900000520','444440000520','10520','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2520','0','','2520','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3521','0','','2620900000521','444440000521','10521','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2521','0','','2521','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3522','0','','2620900000522','444440000522','10522','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2522','0','','2522','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3523','0','','2620900000523','444440000523','10523','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2523','0','','2523','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3524','0','','2620900000524','444440000524','10524','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2524','0','','2524','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3525','0','','2620900000525','444440000525','10525','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2525','0','','2525','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3526','0','','2620900000526','444440000526','10526','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2526','0','','2526','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3527','0','','2620900000527','444440000527','10527','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2527','0','','2527','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3528','0','','2620900000528','444440000528','10528','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2528','0','','2528','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3529','0','','2620900000529','444440000529','10529','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2529','0','','2529','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3530','0','','2620900000530','444440000530','10530','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2530','0','','2530','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3531','0','','2620900000531','444440000531','10531','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2531','0','','2531','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3532','0','','2620900000532','444440000532','10532','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2532','0','','2532','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3533','0','','2620900000533','444440000533','10533','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2533','0','','2533','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3534','0','','2620900000534','444440000534','10534','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2534','0','','2534','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3535','0','','2620900000535','444440000535','10535','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2535','0','','2535','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3536','0','','2620900000536','444440000536','10536','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2536','0','','2536','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3537','0','','2620900000537','444440000537','10537','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2537','0','','2537','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3538','0','','2620900000538','444440000538','10538','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2538','0','','2538','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3539','0','','2620900000539','444440000539','10539','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2539','0','','2539','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3540','0','','2620900000540','444440000540','10540','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2540','0','','2540','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3541','0','','2620900000541','444440000541','10541','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2541','0','','2541','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3542','0','','2620900000542','444440000542','10542','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2542','0','','2542','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3543','0','','2620900000543','444440000543','10543','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2543','0','','2543','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3544','0','','2620900000544','444440000544','10544','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2544','0','','2544','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3545','0','','2620900000545','444440000545','10545','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2545','0','','2545','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3546','0','','2620900000546','444440000546','10546','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2546','0','','2546','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3547','0','','2620900000547','444440000547','10547','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2547','0','','2547','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3548','0','','2620900000548','444440000548','10548','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2548','0','','2548','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3549','0','','2620900000549','444440000549','10549','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2549','0','','2549','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3550','0','','2620900000550','444440000550','10550','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2550','0','','2550','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3551','0','','2620900000551','444440000551','10551','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2551','0','','2551','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3552','0','','2620900000552','444440000552','10552','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2552','0','','2552','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3553','0','','2620900000553','444440000553','10553','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2553','0','','2553','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3554','0','','2620900000554','444440000554','10554','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2554','0','','2554','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3555','0','','2620900000555','444440000555','10555','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2555','0','','2555','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3556','0','','2620900000556','444440000556','10556','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2556','0','','2556','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3557','0','','2620900000557','444440000557','10557','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2557','0','','2557','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3558','0','','2620900000558','444440000558','10558','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2558','0','','2558','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3559','0','','2620900000559','444440000559','10559','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2559','0','','2559','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3560','0','','2620900000560','444440000560','10560','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2560','0','','2560','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3561','0','','2620900000561','444440000561','10561','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2561','0','','2561','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3562','0','','2620900000562','444440000562','10562','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2562','0','','2562','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3563','0','','2620900000563','444440000563','10563','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2563','0','','2563','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3564','0','','2620900000564','444440000564','10564','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2564','0','','2564','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3565','0','','2620900000565','444440000565','10565','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2565','0','','2565','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3566','0','','2620900000566','444440000566','10566','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2566','0','','2566','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3567','0','','2620900000567','444440000567','10567','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2567','0','','2567','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3568','0','','2620900000568','444440000568','10568','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2568','0','','2568','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3569','0','','2620900000569','444440000569','10569','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2569','0','','2569','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3570','0','','2620900000570','444440000570','10570','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2570','0','','2570','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3571','0','','2620900000571','444440000571','10571','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2571','0','','2571','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3572','0','','2620900000572','444440000572','10572','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2572','0','','2572','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3573','0','','2620900000573','444440000573','10573','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2573','0','','2573','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3574','0','','2620900000574','444440000574','10574','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2574','0','','2574','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3575','0','','2620900000575','444440000575','10575','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2575','0','','2575','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3576','0','','2620900000576','444440000576','10576','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2576','0','','2576','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3577','0','','2620900000577','444440000577','10577','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2577','0','','2577','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3578','0','','2620900000578','444440000578','10578','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2578','0','','2578','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3579','0','','2620900000579','444440000579','10579','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2579','0','','2579','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3580','0','','2620900000580','444440000580','10580','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2580','0','','2580','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3581','0','','2620900000581','444440000581','10581','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2581','0','','2581','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3582','0','','2620900000582','444440000582','10582','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2582','0','','2582','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3583','0','','2620900000583','444440000583','10583','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2583','0','','2583','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3584','0','','2620900000584','444440000584','10584','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2584','0','','2584','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3585','0','','2620900000585','444440000585','10585','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2585','0','','2585','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3586','0','','2620900000586','444440000586','10586','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2586','0','','2586','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3587','0','','2620900000587','444440000587','10587','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2587','0','','2587','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3588','0','','2620900000588','444440000588','10588','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2588','0','','2588','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3589','0','','2620900000589','444440000589','10589','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2589','0','','2589','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3590','0','','2620900000590','444440000590','10590','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2590','0','','2590','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3591','0','','2620900000591','444440000591','10591','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2591','0','','2591','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3592','0','','2620900000592','444440000592','10592','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2592','0','','2592','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3593','0','','2620900000593','444440000593','10593','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2593','0','','2593','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3594','0','','2620900000594','444440000594','10594','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2594','0','','2594','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3595','0','','2620900000595','444440000595','10595','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2595','0','','2595','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3596','0','','2620900000596','444440000596','10596','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2596','0','','2596','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3597','0','','2620900000597','444440000597','10597','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2597','0','','2597','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3598','0','','2620900000598','444440000598','10598','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2598','0','','2598','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3599','0','','2620900000599','444440000599','10599','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2599','0','','2599','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3600','0','','2620900000600','444440000600','10600','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2600','0','','2600','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3601','0','','2620900000601','444440000601','10601','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2601','0','','2601','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3602','0','','2620900000602','444440000602','10602','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2602','0','','2602','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3603','0','','2620900000603','444440000603','10603','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2603','0','','2603','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3604','0','','2620900000604','444440000604','10604','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2604','0','','2604','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3605','0','','2620900000605','444440000605','10605','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2605','0','','2605','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3606','0','','2620900000606','444440000606','10606','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2606','0','','2606','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3607','0','','2620900000607','444440000607','10607','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2607','0','','2607','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3608','0','','2620900000608','444440000608','10608','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2608','0','','2608','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3609','0','','2620900000609','444440000609','10609','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2609','0','','2609','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3610','0','','2620900000610','444440000610','10610','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2610','0','','2610','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3611','0','','2620900000611','444440000611','10611','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2611','0','','2611','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3612','0','','2620900000612','444440000612','10612','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2612','0','','2612','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3613','0','','2620900000613','444440000613','10613','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2613','0','','2613','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3614','0','','2620900000614','444440000614','10614','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2614','0','','2614','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3615','0','','2620900000615','444440000615','10615','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2615','0','','2615','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3616','0','','2620900000616','444440000616','10616','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2616','0','','2616','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3617','0','','2620900000617','444440000617','10617','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2617','0','','2617','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3618','0','','2620900000618','444440000618','10618','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2618','0','','2618','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3619','0','','2620900000619','444440000619','10619','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2619','0','','2619','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3620','0','','2620900000620','444440000620','10620','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2620','0','','2620','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3621','0','','2620900000621','444440000621','10621','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2621','0','','2621','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3622','0','','2620900000622','444440000622','10622','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2622','0','','2622','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3623','0','','2620900000623','444440000623','10623','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2623','0','','2623','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3624','0','','2620900000624','444440000624','10624','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2624','0','','2624','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3625','0','','2620900000625','444440000625','10625','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2625','0','','2625','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3626','0','','2620900000626','444440000626','10626','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2626','0','','2626','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3627','0','','2620900000627','444440000627','10627','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2627','0','','2627','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3628','0','','2620900000628','444440000628','10628','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2628','0','','2628','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3629','0','','2620900000629','444440000629','10629','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2629','0','','2629','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3630','0','','2620900000630','444440000630','10630','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2630','0','','2630','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3631','0','','2620900000631','444440000631','10631','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2631','0','','2631','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3632','0','','2620900000632','444440000632','10632','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2632','0','','2632','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3633','0','','2620900000633','444440000633','10633','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2633','0','','2633','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3634','0','','2620900000634','444440000634','10634','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2634','0','','2634','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3635','0','','2620900000635','444440000635','10635','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2635','0','','2635','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3636','0','','2620900000636','444440000636','10636','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2636','0','','2636','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3637','0','','2620900000637','444440000637','10637','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2637','0','','2637','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3638','0','','2620900000638','444440000638','10638','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2638','0','','2638','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3639','0','','2620900000639','444440000639','10639','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2639','0','','2639','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3640','0','','2620900000640','444440000640','10640','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2640','0','','2640','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3641','0','','2620900000641','444440000641','10641','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2641','0','','2641','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3642','0','','2620900000642','444440000642','10642','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2642','0','','2642','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3643','0','','2620900000643','444440000643','10643','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2643','0','','2643','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3644','0','','2620900000644','444440000644','10644','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2644','0','','2644','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3645','0','','2620900000645','444440000645','10645','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2645','0','','2645','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3646','0','','2620900000646','444440000646','10646','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2646','0','','2646','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3647','0','','2620900000647','444440000647','10647','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2647','0','','2647','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3648','0','','2620900000648','444440000648','10648','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2648','0','','2648','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3649','0','','2620900000649','444440000649','10649','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2649','0','','2649','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3650','0','','2620900000650','444440000650','10650','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2650','0','','2650','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3651','0','','2620900000651','444440000651','10651','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2651','0','','2651','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3652','0','','2620900000652','444440000652','10652','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2652','0','','2652','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3653','0','','2620900000653','444440000653','10653','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2653','0','','2653','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3654','0','','2620900000654','444440000654','10654','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2654','0','','2654','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3655','0','','2620900000655','444440000655','10655','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2655','0','','2655','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3656','0','','2620900000656','444440000656','10656','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2656','0','','2656','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3657','0','','2620900000657','444440000657','10657','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2657','0','','2657','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3658','0','','2620900000658','444440000658','10658','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2658','0','','2658','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3659','0','','2620900000659','444440000659','10659','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2659','0','','2659','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3660','0','','2620900000660','444440000660','10660','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2660','0','','2660','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3661','0','','2620900000661','444440000661','10661','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2661','0','','2661','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3662','0','','2620900000662','444440000662','10662','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2662','0','','2662','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3663','0','','2620900000663','444440000663','10663','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2663','0','','2663','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3664','0','','2620900000664','444440000664','10664','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2664','0','','2664','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3665','0','','2620900000665','444440000665','10665','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2665','0','','2665','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3666','0','','2620900000666','444440000666','10666','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2666','0','','2666','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3667','0','','2620900000667','444440000667','10667','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2667','0','','2667','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3668','0','','2620900000668','444440000668','10668','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2668','0','','2668','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3669','0','','2620900000669','444440000669','10669','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2669','0','','2669','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3670','0','','2620900000670','444440000670','10670','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2670','0','','2670','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3671','0','','2620900000671','444440000671','10671','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2671','0','','2671','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3672','0','','2620900000672','444440000672','10672','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2672','0','','2672','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3673','0','','2620900000673','444440000673','10673','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2673','0','','2673','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3674','0','','2620900000674','444440000674','10674','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2674','0','','2674','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3675','0','','2620900000675','444440000675','10675','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2675','0','','2675','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3676','0','','2620900000676','444440000676','10676','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2676','0','','2676','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3677','0','','2620900000677','444440000677','10677','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2677','0','','2677','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3678','0','','2620900000678','444440000678','10678','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2678','0','','2678','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3679','0','','2620900000679','444440000679','10679','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2679','0','','2679','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3680','0','','2620900000680','444440000680','10680','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2680','0','','2680','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3681','0','','2620900000681','444440000681','10681','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2681','0','','2681','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3682','0','','2620900000682','444440000682','10682','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2682','0','','2682','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3683','0','','2620900000683','444440000683','10683','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2683','0','','2683','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3684','0','','2620900000684','444440000684','10684','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2684','0','','2684','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3685','0','','2620900000685','444440000685','10685','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2685','0','','2685','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3686','0','','2620900000686','444440000686','10686','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2686','0','','2686','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3687','0','','2620900000687','444440000687','10687','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2687','0','','2687','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3688','0','','2620900000688','444440000688','10688','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2688','0','','2688','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3689','0','','2620900000689','444440000689','10689','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2689','0','','2689','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3690','0','','2620900000690','444440000690','10690','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2690','0','','2690','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3691','0','','2620900000691','444440000691','10691','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2691','0','','2691','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3692','0','','2620900000692','444440000692','10692','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2692','0','','2692','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3693','0','','2620900000693','444440000693','10693','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2693','0','','2693','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3694','0','','2620900000694','444440000694','10694','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2694','0','','2694','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3695','0','','2620900000695','444440000695','10695','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2695','0','','2695','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3696','0','','2620900000696','444440000696','10696','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2696','0','','2696','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3697','0','','2620900000697','444440000697','10697','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2697','0','','2697','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3698','0','','2620900000698','444440000698','10698','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2698','0','','2698','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3699','0','','2620900000699','444440000699','10699','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2699','0','','2699','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3700','0','','2620900000700','444440000700','10700','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2700','0','','2700','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3701','0','','2620900000701','444440000701','10701','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2701','0','','2701','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3702','0','','2620900000702','444440000702','10702','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2702','0','','2702','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3703','0','','2620900000703','444440000703','10703','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2703','0','','2703','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3704','0','','2620900000704','444440000704','10704','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2704','0','','2704','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3705','0','','2620900000705','444440000705','10705','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2705','0','','2705','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3706','0','','2620900000706','444440000706','10706','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2706','0','','2706','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3707','0','','2620900000707','444440000707','10707','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2707','0','','2707','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3708','0','','2620900000708','444440000708','10708','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2708','0','','2708','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3709','0','','2620900000709','444440000709','10709','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2709','0','','2709','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3710','0','','2620900000710','444440000710','10710','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2710','0','','2710','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3711','0','','2620900000711','444440000711','10711','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2711','0','','2711','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3712','0','','2620900000712','444440000712','10712','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2712','0','','2712','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3713','0','','2620900000713','444440000713','10713','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2713','0','','2713','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3714','0','','2620900000714','444440000714','10714','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2714','0','','2714','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3715','0','','2620900000715','444440000715','10715','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2715','0','','2715','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3716','0','','2620900000716','444440000716','10716','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2716','0','','2716','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3717','0','','2620900000717','444440000717','10717','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2717','0','','2717','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3718','0','','2620900000718','444440000718','10718','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2718','0','','2718','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3719','0','','2620900000719','444440000719','10719','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2719','0','','2719','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3720','0','','2620900000720','444440000720','10720','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2720','0','','2720','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3721','0','','2620900000721','444440000721','10721','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2721','0','','2721','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3722','0','','2620900000722','444440000722','10722','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2722','0','','2722','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3723','0','','2620900000723','444440000723','10723','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2723','0','','2723','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3724','0','','2620900000724','444440000724','10724','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2724','0','','2724','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3725','0','','2620900000725','444440000725','10725','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2725','0','','2725','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3726','0','','2620900000726','444440000726','10726','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2726','0','','2726','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3727','0','','2620900000727','444440000727','10727','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2727','0','','2727','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3728','0','','2620900000728','444440000728','10728','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2728','0','','2728','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3729','0','','2620900000729','444440000729','10729','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2729','0','','2729','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3730','0','','2620900000730','444440000730','10730','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2730','0','','2730','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3731','0','','2620900000731','444440000731','10731','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2731','0','','2731','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3732','0','','2620900000732','444440000732','10732','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2732','0','','2732','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3733','0','','2620900000733','444440000733','10733','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2733','0','','2733','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3734','0','','2620900000734','444440000734','10734','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2734','0','','2734','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3735','0','','2620900000735','444440000735','10735','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2735','0','','2735','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3736','0','','2620900000736','444440000736','10736','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2736','0','','2736','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3737','0','','2620900000737','444440000737','10737','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2737','0','','2737','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3738','0','','2620900000738','444440000738','10738','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2738','0','','2738','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3739','0','','2620900000739','444440000739','10739','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2739','0','','2739','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3740','0','','2620900000740','444440000740','10740','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2740','0','','2740','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3741','0','','2620900000741','444440000741','10741','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2741','0','','2741','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3742','0','','2620900000742','444440000742','10742','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2742','0','','2742','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3743','0','','2620900000743','444440000743','10743','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2743','0','','2743','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3744','0','','2620900000744','444440000744','10744','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2744','0','','2744','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3745','0','','2620900000745','444440000745','10745','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2745','0','','2745','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3746','0','','2620900000746','444440000746','10746','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2746','0','','2746','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3747','0','','2620900000747','444440000747','10747','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2747','0','','2747','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3748','0','','2620900000748','444440000748','10748','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2748','0','','2748','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3749','0','','2620900000749','444440000749','10749','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2749','0','','2749','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3750','0','','2620900000750','444440000750','10750','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2750','0','','2750','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3751','0','','2620900000751','444440000751','10751','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2751','0','','2751','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3752','0','','2620900000752','444440000752','10752','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2752','0','','2752','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3753','0','','2620900000753','444440000753','10753','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2753','0','','2753','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3754','0','','2620900000754','444440000754','10754','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2754','0','','2754','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3755','0','','2620900000755','444440000755','10755','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2755','0','','2755','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3756','0','','2620900000756','444440000756','10756','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2756','0','','2756','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3757','0','','2620900000757','444440000757','10757','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2757','0','','2757','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3758','0','','2620900000758','444440000758','10758','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2758','0','','2758','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3759','0','','2620900000759','444440000759','10759','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2759','0','','2759','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3760','0','','2620900000760','444440000760','10760','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2760','0','','2760','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3761','0','','2620900000761','444440000761','10761','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2761','0','','2761','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3762','0','','2620900000762','444440000762','10762','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2762','0','','2762','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3763','0','','2620900000763','444440000763','10763','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2763','0','','2763','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3764','0','','2620900000764','444440000764','10764','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2764','0','','2764','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3765','0','','2620900000765','444440000765','10765','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2765','0','','2765','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3766','0','','2620900000766','444440000766','10766','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2766','0','','2766','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3767','0','','2620900000767','444440000767','10767','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2767','0','','2767','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3768','0','','2620900000768','444440000768','10768','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2768','0','','2768','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3769','0','','2620900000769','444440000769','10769','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2769','0','','2769','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3770','0','','2620900000770','444440000770','10770','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2770','0','','2770','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3771','0','','2620900000771','444440000771','10771','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2771','0','','2771','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3772','0','','2620900000772','444440000772','10772','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2772','0','','2772','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3773','0','','2620900000773','444440000773','10773','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2773','0','','2773','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3774','0','','2620900000774','444440000774','10774','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2774','0','','2774','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3775','0','','2620900000775','444440000775','10775','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2775','0','','2775','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3776','0','','2620900000776','444440000776','10776','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2776','0','','2776','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3777','0','','2620900000777','444440000777','10777','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2777','0','','2777','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3778','0','','2620900000778','444440000778','10778','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2778','0','','2778','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3779','0','','2620900000779','444440000779','10779','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2779','0','','2779','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3780','0','','2620900000780','444440000780','10780','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2780','0','','2780','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3781','0','','2620900000781','444440000781','10781','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2781','0','','2781','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3782','0','','2620900000782','444440000782','10782','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2782','0','','2782','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3783','0','','2620900000783','444440000783','10783','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2783','0','','2783','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3784','0','','2620900000784','444440000784','10784','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2784','0','','2784','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3785','0','','2620900000785','444440000785','10785','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2785','0','','2785','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3786','0','','2620900000786','444440000786','10786','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2786','0','','2786','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3787','0','','2620900000787','444440000787','10787','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2787','0','','2787','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3788','0','','2620900000788','444440000788','10788','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2788','0','','2788','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3789','0','','2620900000789','444440000789','10789','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2789','0','','2789','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3790','0','','2620900000790','444440000790','10790','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2790','0','','2790','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3791','0','','2620900000791','444440000791','10791','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2791','0','','2791','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3792','0','','2620900000792','444440000792','10792','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2792','0','','2792','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3793','0','','2620900000793','444440000793','10793','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2793','0','','2793','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3794','0','','2620900000794','444440000794','10794','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2794','0','','2794','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3795','0','','2620900000795','444440000795','10795','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2795','0','','2795','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3796','0','','2620900000796','444440000796','10796','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2796','0','','2796','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3797','0','','2620900000797','444440000797','10797','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2797','0','','2797','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3798','0','','2620900000798','444440000798','10798','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2798','0','','2798','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3799','0','','2620900000799','444440000799','10799','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2799','0','','2799','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3800','0','','2620900000800','444440000800','10800','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2800','0','','2800','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3801','0','','2620900000801','444440000801','10801','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2801','0','','2801','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3802','0','','2620900000802','444440000802','10802','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2802','0','','2802','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3803','0','','2620900000803','444440000803','10803','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2803','0','','2803','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3804','0','','2620900000804','444440000804','10804','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2804','0','','2804','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3805','0','','2620900000805','444440000805','10805','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2805','0','','2805','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3806','0','','2620900000806','444440000806','10806','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2806','0','','2806','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3807','0','','2620900000807','444440000807','10807','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2807','0','','2807','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3808','0','','2620900000808','444440000808','10808','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2808','0','','2808','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3809','0','','2620900000809','444440000809','10809','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2809','0','','2809','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3810','0','','2620900000810','444440000810','10810','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2810','0','','2810','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3811','0','','2620900000811','444440000811','10811','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2811','0','','2811','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3812','0','','2620900000812','444440000812','10812','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2812','0','','2812','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3813','0','','2620900000813','444440000813','10813','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2813','0','','2813','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3814','0','','2620900000814','444440000814','10814','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2814','0','','2814','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3815','0','','2620900000815','444440000815','10815','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2815','0','','2815','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3816','0','','2620900000816','444440000816','10816','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2816','0','','2816','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3817','0','','2620900000817','444440000817','10817','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2817','0','','2817','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3818','0','','2620900000818','444440000818','10818','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2818','0','','2818','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3819','0','','2620900000819','444440000819','10819','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2819','0','','2819','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3820','0','','2620900000820','444440000820','10820','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2820','0','','2820','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3821','0','','2620900000821','444440000821','10821','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2821','0','','2821','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3822','0','','2620900000822','444440000822','10822','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2822','0','','2822','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3823','0','','2620900000823','444440000823','10823','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2823','0','','2823','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3824','0','','2620900000824','444440000824','10824','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2824','0','','2824','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3825','0','','2620900000825','444440000825','10825','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2825','0','','2825','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3826','0','','2620900000826','444440000826','10826','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2826','0','','2826','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3827','0','','2620900000827','444440000827','10827','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2827','0','','2827','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3828','0','','2620900000828','444440000828','10828','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2828','0','','2828','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3829','0','','2620900000829','444440000829','10829','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2829','0','','2829','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3830','0','','2620900000830','444440000830','10830','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2830','0','','2830','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3831','0','','2620900000831','444440000831','10831','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2831','0','','2831','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3832','0','','2620900000832','444440000832','10832','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2832','0','','2832','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3833','0','','2620900000833','444440000833','10833','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2833','0','','2833','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3834','0','','2620900000834','444440000834','10834','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2834','0','','2834','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3835','0','','2620900000835','444440000835','10835','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2835','0','','2835','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3836','0','','2620900000836','444440000836','10836','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2836','0','','2836','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3837','0','','2620900000837','444440000837','10837','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2837','0','','2837','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3838','0','','2620900000838','444440000838','10838','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2838','0','','2838','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3839','0','','2620900000839','444440000839','10839','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2839','0','','2839','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3840','0','','2620900000840','444440000840','10840','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2840','0','','2840','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3841','0','','2620900000841','444440000841','10841','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2841','0','','2841','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3842','0','','2620900000842','444440000842','10842','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2842','0','','2842','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3843','0','','2620900000843','444440000843','10843','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2843','0','','2843','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3844','0','','2620900000844','444440000844','10844','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2844','0','','2844','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3845','0','','2620900000845','444440000845','10845','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2845','0','','2845','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3846','0','','2620900000846','444440000846','10846','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2846','0','','2846','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3847','0','','2620900000847','444440000847','10847','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2847','0','','2847','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3848','0','','2620900000848','444440000848','10848','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2848','0','','2848','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3849','0','','2620900000849','444440000849','10849','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2849','0','','2849','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3850','0','','2620900000850','444440000850','10850','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2850','0','','2850','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3851','0','','2620900000851','444440000851','10851','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2851','0','','2851','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3852','0','','2620900000852','444440000852','10852','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2852','0','','2852','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3853','0','','2620900000853','444440000853','10853','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2853','0','','2853','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3854','0','','2620900000854','444440000854','10854','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2854','0','','2854','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3855','0','','2620900000855','444440000855','10855','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2855','0','','2855','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3856','0','','2620900000856','444440000856','10856','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2856','0','','2856','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3857','0','','2620900000857','444440000857','10857','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2857','0','','2857','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3858','0','','2620900000858','444440000858','10858','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2858','0','','2858','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3859','0','','2620900000859','444440000859','10859','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2859','0','','2859','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3860','0','','2620900000860','444440000860','10860','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2860','0','','2860','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3861','0','','2620900000861','444440000861','10861','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2861','0','','2861','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3862','0','','2620900000862','444440000862','10862','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2862','0','','2862','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3863','0','','2620900000863','444440000863','10863','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2863','0','','2863','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3864','0','','2620900000864','444440000864','10864','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2864','0','','2864','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3865','0','','2620900000865','444440000865','10865','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2865','0','','2865','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3866','0','','2620900000866','444440000866','10866','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2866','0','','2866','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3867','0','','2620900000867','444440000867','10867','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2867','0','','2867','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3868','0','','2620900000868','444440000868','10868','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2868','0','','2868','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3869','0','','2620900000869','444440000869','10869','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2869','0','','2869','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3870','0','','2620900000870','444440000870','10870','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2870','0','','2870','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3871','0','','2620900000871','444440000871','10871','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2871','0','','2871','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3872','0','','2620900000872','444440000872','10872','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2872','0','','2872','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3873','0','','2620900000873','444440000873','10873','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2873','0','','2873','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3874','0','','2620900000874','444440000874','10874','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2874','0','','2874','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3875','0','','2620900000875','444440000875','10875','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2875','0','','2875','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3876','0','','2620900000876','444440000876','10876','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2876','0','','2876','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3877','0','','2620900000877','444440000877','10877','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2877','0','','2877','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3878','0','','2620900000878','444440000878','10878','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2878','0','','2878','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3879','0','','2620900000879','444440000879','10879','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2879','0','','2879','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3880','0','','2620900000880','444440000880','10880','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2880','0','','2880','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3881','0','','2620900000881','444440000881','10881','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2881','0','','2881','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3882','0','','2620900000882','444440000882','10882','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2882','0','','2882','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3883','0','','2620900000883','444440000883','10883','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2883','0','','2883','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3884','0','','2620900000884','444440000884','10884','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2884','0','','2884','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3885','0','','2620900000885','444440000885','10885','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2885','0','','2885','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3886','0','','2620900000886','444440000886','10886','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2886','0','','2886','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3887','0','','2620900000887','444440000887','10887','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2887','0','','2887','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3888','0','','2620900000888','444440000888','10888','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2888','0','','2888','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3889','0','','2620900000889','444440000889','10889','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2889','0','','2889','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3890','0','','2620900000890','444440000890','10890','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2890','0','','2890','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3891','0','','2620900000891','444440000891','10891','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2891','0','','2891','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3892','0','','2620900000892','444440000892','10892','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2892','0','','2892','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3893','0','','2620900000893','444440000893','10893','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2893','0','','2893','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3894','0','','2620900000894','444440000894','10894','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2894','0','','2894','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3895','0','','2620900000895','444440000895','10895','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2895','0','','2895','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3896','0','','2620900000896','444440000896','10896','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2896','0','','2896','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3897','0','','2620900000897','444440000897','10897','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2897','0','','2897','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3898','0','','2620900000898','444440000898','10898','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2898','0','','2898','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3899','0','','2620900000899','444440000899','10899','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2899','0','','2899','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3900','0','','2620900000900','444440000900','10900','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2900','0','','2900','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3901','0','','2620900000901','444440000901','10901','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2901','0','','2901','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3902','0','','2620900000902','444440000902','10902','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2902','0','','2902','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3903','0','','2620900000903','444440000903','10903','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2903','0','','2903','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3904','0','','2620900000904','444440000904','10904','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2904','0','','2904','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3905','0','','2620900000905','444440000905','10905','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2905','0','','2905','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3906','0','','2620900000906','444440000906','10906','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2906','0','','2906','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3907','0','','2620900000907','444440000907','10907','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2907','0','','2907','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3908','0','','2620900000908','444440000908','10908','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2908','0','','2908','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3909','0','','2620900000909','444440000909','10909','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2909','0','','2909','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3910','0','','2620900000910','444440000910','10910','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2910','0','','2910','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3911','0','','2620900000911','444440000911','10911','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2911','0','','2911','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3912','0','','2620900000912','444440000912','10912','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2912','0','','2912','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3913','0','','2620900000913','444440000913','10913','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2913','0','','2913','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3914','0','','2620900000914','444440000914','10914','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2914','0','','2914','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3915','0','','2620900000915','444440000915','10915','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2915','0','','2915','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3916','0','','2620900000916','444440000916','10916','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2916','0','','2916','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3917','0','','2620900000917','444440000917','10917','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2917','0','','2917','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3918','0','','2620900000918','444440000918','10918','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2918','0','','2918','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3919','0','','2620900000919','444440000919','10919','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2919','0','','2919','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3920','0','','2620900000920','444440000920','10920','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2920','0','','2920','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3921','0','','2620900000921','444440000921','10921','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2921','0','','2921','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3922','0','','2620900000922','444440000922','10922','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2922','0','','2922','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3923','0','','2620900000923','444440000923','10923','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2923','0','','2923','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3924','0','','2620900000924','444440000924','10924','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2924','0','','2924','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3925','0','','2620900000925','444440000925','10925','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2925','0','','2925','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3926','0','','2620900000926','444440000926','10926','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2926','0','','2926','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3927','0','','2620900000927','444440000927','10927','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2927','0','','2927','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3928','0','','2620900000928','444440000928','10928','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2928','0','','2928','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3929','0','','2620900000929','444440000929','10929','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2929','0','','2929','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3930','0','','2620900000930','444440000930','10930','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2930','0','','2930','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3931','0','','2620900000931','444440000931','10931','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2931','0','','2931','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3932','0','','2620900000932','444440000932','10932','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2932','0','','2932','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3933','0','','2620900000933','444440000933','10933','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2933','0','','2933','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3934','0','','2620900000934','444440000934','10934','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2934','0','','2934','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3935','0','','2620900000935','444440000935','10935','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2935','0','','2935','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3936','0','','2620900000936','444440000936','10936','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2936','0','','2936','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3937','0','','2620900000937','444440000937','10937','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2937','0','','2937','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3938','0','','2620900000938','444440000938','10938','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2938','0','','2938','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3939','0','','2620900000939','444440000939','10939','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2939','0','','2939','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3940','0','','2620900000940','444440000940','10940','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2940','0','','2940','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3941','0','','2620900000941','444440000941','10941','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2941','0','','2941','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3942','0','','2620900000942','444440000942','10942','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2942','0','','2942','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3943','0','','2620900000943','444440000943','10943','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2943','0','','2943','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3944','0','','2620900000944','444440000944','10944','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2944','0','','2944','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3945','0','','2620900000945','444440000945','10945','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2945','0','','2945','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3946','0','','2620900000946','444440000946','10946','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2946','0','','2946','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3947','0','','2620900000947','444440000947','10947','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2947','0','','2947','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3948','0','','2620900000948','444440000948','10948','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2948','0','','2948','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3949','0','','2620900000949','444440000949','10949','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2949','0','','2949','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3950','0','','2620900000950','444440000950','10950','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2950','0','','2950','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3951','0','','2620900000951','444440000951','10951','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2951','0','','2951','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3952','0','','2620900000952','444440000952','10952','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2952','0','','2952','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3953','0','','2620900000953','444440000953','10953','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2953','0','','2953','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3954','0','','2620900000954','444440000954','10954','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2954','0','','2954','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3955','0','','2620900000955','444440000955','10955','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2955','0','','2955','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3956','0','','2620900000956','444440000956','10956','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2956','0','','2956','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3957','0','','2620900000957','444440000957','10957','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2957','0','','2957','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3958','0','','2620900000958','444440000958','10958','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2958','0','','2958','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3959','0','','2620900000959','444440000959','10959','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2959','0','','2959','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3960','0','','2620900000960','444440000960','10960','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2960','0','','2960','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3961','0','','2620900000961','444440000961','10961','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2961','0','','2961','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3962','0','','2620900000962','444440000962','10962','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2962','0','','2962','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3963','0','','2620900000963','444440000963','10963','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2963','0','','2963','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3964','0','','2620900000964','444440000964','10964','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2964','0','','2964','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3965','0','','2620900000965','444440000965','10965','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2965','0','','2965','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3966','0','','2620900000966','444440000966','10966','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2966','0','','2966','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3967','0','','2620900000967','444440000967','10967','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2967','0','','2967','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3968','0','','2620900000968','444440000968','10968','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2968','0','','2968','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3969','0','','2620900000969','444440000969','10969','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2969','0','','2969','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3970','0','','2620900000970','444440000970','10970','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2970','0','','2970','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3971','0','','2620900000971','444440000971','10971','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2971','0','','2971','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3972','0','','2620900000972','444440000972','10972','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2972','0','','2972','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3973','0','','2620900000973','444440000973','10973','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2973','0','','2973','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3974','0','','2620900000974','444440000974','10974','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2974','0','','2974','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3975','0','','2620900000975','444440000975','10975','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2975','0','','2975','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3976','0','','2620900000976','444440000976','10976','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2976','0','','2976','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3977','0','','2620900000977','444440000977','10977','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2977','0','','2977','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3978','0','','2620900000978','444440000978','10978','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2978','0','','2978','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3979','0','','2620900000979','444440000979','10979','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2979','0','','2979','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3980','0','','2620900000980','444440000980','10980','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2980','0','','2980','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3981','0','','2620900000981','444440000981','10981','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2981','0','','2981','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3982','0','','2620900000982','444440000982','10982','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2982','0','','2982','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3983','0','','2620900000983','444440000983','10983','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2983','0','','2983','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3984','0','','2620900000984','444440000984','10984','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2984','0','','2984','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3985','0','','2620900000985','444440000985','10985','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2985','0','','2985','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3986','0','','2620900000986','444440000986','10986','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2986','0','','2986','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3987','0','','2620900000987','444440000987','10987','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2987','0','','2987','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3988','0','','2620900000988','444440000988','10988','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2988','0','','2988','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3989','0','','2620900000989','444440000989','10989','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2989','0','','2989','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3990','0','','2620900000990','444440000990','10990','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2990','0','','2990','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3991','0','','2620900000991','444440000991','10991','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2991','0','','2991','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3992','0','','2620900000992','444440000992','10992','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2992','0','','2992','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3993','0','','2620900000993','444440000993','10993','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2993','0','','2993','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3994','0','','2620900000994','444440000994','10994','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2994','0','','2994','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3995','0','','2620900000995','444440000995','10995','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2995','0','','2995','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3996','0','','2620900000996','444440000996','10996','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2996','0','','2996','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3997','0','','2620900000997','444440000997','10997','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2997','0','','2997','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3998','0','','2620900000998','444440000998','10998','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2998','0','','2998','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','3999','0','','2620900000999','444440000999','10999','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2999','0','','2999','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4000','0','','26209000001000','4444400001000','11000','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3000','0','','3000','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4001','0','','26209000001001','4444400001001','11001','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3001','0','','3001','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4002','0','','26209000001002','4444400001002','11002','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3002','0','','3002','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4003','0','','26209000001003','4444400001003','11003','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3003','0','','3003','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4004','0','','26209000001004','4444400001004','11004','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3004','0','','3004','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4005','0','','26209000001005','4444400001005','11005','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3005','0','','3005','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4006','0','','26209000001006','4444400001006','11006','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3006','0','','3006','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4007','0','','26209000001007','4444400001007','11007','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3007','0','','3007','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4008','0','','26209000001008','4444400001008','11008','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3008','0','','3008','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4009','0','','26209000001009','4444400001009','11009','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3009','0','','3009','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4010','0','','26209000001010','4444400001010','11010','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3010','0','','3010','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4011','0','','26209000001011','4444400001011','11011','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3011','0','','3011','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4012','0','','26209000001012','4444400001012','11012','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3012','0','','3012','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4013','0','','26209000001013','4444400001013','11013','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3013','0','','3013','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4014','0','','26209000001014','4444400001014','11014','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3014','0','','3014','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4015','0','','26209000001015','4444400001015','11015','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3015','0','','3015','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4016','0','','26209000001016','4444400001016','11016','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3016','0','','3016','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4017','0','','26209000001017','4444400001017','11017','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3017','0','','3017','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4018','0','','26209000001018','4444400001018','11018','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3018','0','','3018','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4019','0','','26209000001019','4444400001019','11019','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3019','0','','3019','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4020','0','','26209000001020','4444400001020','11020','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3020','0','','3020','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4021','0','','26209000001021','4444400001021','11021','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3021','0','','3021','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4022','0','','26209000001022','4444400001022','11022','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3022','0','','3022','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4023','0','','26209000001023','4444400001023','11023','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3023','0','','3023','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4024','0','','26209000001024','4444400001024','11024','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3024','0','','3024','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4025','0','','26209000001025','4444400001025','11025','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3025','0','','3025','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4026','0','','26209000001026','4444400001026','11026','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3026','0','','3026','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4027','0','','26209000001027','4444400001027','11027','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3027','0','','3027','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4028','0','','26209000001028','4444400001028','11028','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3028','0','','3028','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4029','0','','26209000001029','4444400001029','11029','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3029','0','','3029','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4030','0','','26209000001030','4444400001030','11030','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3030','0','','3030','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4031','0','','26209000001031','4444400001031','11031','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3031','0','','3031','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4032','0','','26209000001032','4444400001032','11032','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3032','0','','3032','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4033','0','','26209000001033','4444400001033','11033','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3033','0','','3033','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4034','0','','26209000001034','4444400001034','11034','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3034','0','','3034','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4035','0','','26209000001035','4444400001035','11035','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3035','0','','3035','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4036','0','','26209000001036','4444400001036','11036','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3036','0','','3036','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4037','0','','26209000001037','4444400001037','11037','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3037','0','','3037','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4038','0','','26209000001038','4444400001038','11038','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3038','0','','3038','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4039','0','','26209000001039','4444400001039','11039','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3039','0','','3039','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4040','0','','26209000001040','4444400001040','11040','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3040','0','','3040','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4041','0','','26209000001041','4444400001041','11041','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3041','0','','3041','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4042','0','','26209000001042','4444400001042','11042','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3042','0','','3042','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4043','0','','26209000001043','4444400001043','11043','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3043','0','','3043','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4044','0','','26209000001044','4444400001044','11044','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3044','0','','3044','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4045','0','','26209000001045','4444400001045','11045','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3045','0','','3045','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4046','0','','26209000001046','4444400001046','11046','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3046','0','','3046','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4047','0','','26209000001047','4444400001047','11047','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3047','0','','3047','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4048','0','','26209000001048','4444400001048','11048','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3048','0','','3048','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4049','0','','26209000001049','4444400001049','11049','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3049','0','','3049','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4050','0','','26209000001050','4444400001050','11050','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3050','0','','3050','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4051','0','','26209000001051','4444400001051','11051','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3051','0','','3051','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4052','0','','26209000001052','4444400001052','11052','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3052','0','','3052','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4053','0','','26209000001053','4444400001053','11053','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3053','0','','3053','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4054','0','','26209000001054','4444400001054','11054','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3054','0','','3054','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4055','0','','26209000001055','4444400001055','11055','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3055','0','','3055','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4056','0','','26209000001056','4444400001056','11056','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3056','0','','3056','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4057','0','','26209000001057','4444400001057','11057','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3057','0','','3057','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4058','0','','26209000001058','4444400001058','11058','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3058','0','','3058','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4059','0','','26209000001059','4444400001059','11059','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3059','0','','3059','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4060','0','','26209000001060','4444400001060','11060','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3060','0','','3060','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4061','0','','26209000001061','4444400001061','11061','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3061','0','','3061','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4062','0','','26209000001062','4444400001062','11062','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3062','0','','3062','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4063','0','','26209000001063','4444400001063','11063','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3063','0','','3063','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4064','0','','26209000001064','4444400001064','11064','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3064','0','','3064','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4065','0','','26209000001065','4444400001065','11065','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3065','0','','3065','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4066','0','','26209000001066','4444400001066','11066','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3066','0','','3066','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4067','0','','26209000001067','4444400001067','11067','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3067','0','','3067','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4068','0','','26209000001068','4444400001068','11068','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3068','0','','3068','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4069','0','','26209000001069','4444400001069','11069','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3069','0','','3069','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4070','0','','26209000001070','4444400001070','11070','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3070','0','','3070','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4071','0','','26209000001071','4444400001071','11071','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3071','0','','3071','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4072','0','','26209000001072','4444400001072','11072','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3072','0','','3072','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4073','0','','26209000001073','4444400001073','11073','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3073','0','','3073','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4074','0','','26209000001074','4444400001074','11074','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3074','0','','3074','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4075','0','','26209000001075','4444400001075','11075','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3075','0','','3075','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4076','0','','26209000001076','4444400001076','11076','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3076','0','','3076','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4077','0','','26209000001077','4444400001077','11077','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3077','0','','3077','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4078','0','','26209000001078','4444400001078','11078','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3078','0','','3078','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4079','0','','26209000001079','4444400001079','11079','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3079','0','','3079','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4080','0','','26209000001080','4444400001080','11080','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3080','0','','3080','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4081','0','','26209000001081','4444400001081','11081','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3081','0','','3081','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4082','0','','26209000001082','4444400001082','11082','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3082','0','','3082','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4083','0','','26209000001083','4444400001083','11083','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3083','0','','3083','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4084','0','','26209000001084','4444400001084','11084','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3084','0','','3084','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4085','0','','26209000001085','4444400001085','11085','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3085','0','','3085','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4086','0','','26209000001086','4444400001086','11086','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3086','0','','3086','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4087','0','','26209000001087','4444400001087','11087','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3087','0','','3087','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4088','0','','26209000001088','4444400001088','11088','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3088','0','','3088','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4089','0','','26209000001089','4444400001089','11089','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3089','0','','3089','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4090','0','','26209000001090','4444400001090','11090','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3090','0','','3090','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4091','0','','26209000001091','4444400001091','11091','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3091','0','','3091','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4092','0','','26209000001092','4444400001092','11092','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3092','0','','3092','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4093','0','','26209000001093','4444400001093','11093','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3093','0','','3093','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4094','0','','26209000001094','4444400001094','11094','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3094','0','','3094','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4095','0','','26209000001095','4444400001095','11095','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3095','0','','3095','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4096','0','','26209000001096','4444400001096','11096','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3096','0','','3096','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4097','0','','26209000001097','4444400001097','11097','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3097','0','','3097','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4098','0','','26209000001098','4444400001098','11098','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3098','0','','3098','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4099','0','','26209000001099','4444400001099','11099','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3099','0','','3099','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4100','0','','26209000001100','4444400001100','11100','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3100','0','','3100','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4101','0','','26209000001101','4444400001101','11101','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3101','0','','3101','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4102','0','','26209000001102','4444400001102','11102','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3102','0','','3102','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4103','0','','26209000001103','4444400001103','11103','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3103','0','','3103','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4104','0','','26209000001104','4444400001104','11104','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3104','0','','3104','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4105','0','','26209000001105','4444400001105','11105','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3105','0','','3105','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4106','0','','26209000001106','4444400001106','11106','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3106','0','','3106','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4107','0','','26209000001107','4444400001107','11107','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3107','0','','3107','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4108','0','','26209000001108','4444400001108','11108','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3108','0','','3108','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4109','0','','26209000001109','4444400001109','11109','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3109','0','','3109','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4110','0','','26209000001110','4444400001110','11110','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3110','0','','3110','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4111','0','','26209000001111','4444400001111','11111','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3111','0','','3111','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4112','0','','26209000001112','4444400001112','11112','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3112','0','','3112','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4113','0','','26209000001113','4444400001113','11113','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3113','0','','3113','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4114','0','','26209000001114','4444400001114','11114','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3114','0','','3114','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4115','0','','26209000001115','4444400001115','11115','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3115','0','','3115','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4116','0','','26209000001116','4444400001116','11116','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3116','0','','3116','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4117','0','','26209000001117','4444400001117','11117','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3117','0','','3117','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4118','0','','26209000001118','4444400001118','11118','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3118','0','','3118','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4119','0','','26209000001119','4444400001119','11119','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3119','0','','3119','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4120','0','','26209000001120','4444400001120','11120','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3120','0','','3120','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4121','0','','26209000001121','4444400001121','11121','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3121','0','','3121','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4122','0','','26209000001122','4444400001122','11122','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3122','0','','3122','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4123','0','','26209000001123','4444400001123','11123','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3123','0','','3123','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4124','0','','26209000001124','4444400001124','11124','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3124','0','','3124','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4125','0','','26209000001125','4444400001125','11125','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3125','0','','3125','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4126','0','','26209000001126','4444400001126','11126','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3126','0','','3126','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4127','0','','26209000001127','4444400001127','11127','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3127','0','','3127','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4128','0','','26209000001128','4444400001128','11128','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3128','0','','3128','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4129','0','','26209000001129','4444400001129','11129','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3129','0','','3129','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4130','0','','26209000001130','4444400001130','11130','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3130','0','','3130','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4131','0','','26209000001131','4444400001131','11131','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3131','0','','3131','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4132','0','','26209000001132','4444400001132','11132','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3132','0','','3132','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4133','0','','26209000001133','4444400001133','11133','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3133','0','','3133','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4134','0','','26209000001134','4444400001134','11134','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3134','0','','3134','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4135','0','','26209000001135','4444400001135','11135','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3135','0','','3135','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4136','0','','26209000001136','4444400001136','11136','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3136','0','','3136','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4137','0','','26209000001137','4444400001137','11137','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3137','0','','3137','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4138','0','','26209000001138','4444400001138','11138','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3138','0','','3138','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4139','0','','26209000001139','4444400001139','11139','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3139','0','','3139','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4140','0','','26209000001140','4444400001140','11140','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3140','0','','3140','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4141','0','','26209000001141','4444400001141','11141','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3141','0','','3141','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4142','0','','26209000001142','4444400001142','11142','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3142','0','','3142','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4143','0','','26209000001143','4444400001143','11143','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3143','0','','3143','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4144','0','','26209000001144','4444400001144','11144','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3144','0','','3144','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4145','0','','26209000001145','4444400001145','11145','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3145','0','','3145','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4146','0','','26209000001146','4444400001146','11146','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3146','0','','3146','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4147','0','','26209000001147','4444400001147','11147','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3147','0','','3147','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4148','0','','26209000001148','4444400001148','11148','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3148','0','','3148','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4149','0','','26209000001149','4444400001149','11149','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3149','0','','3149','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4150','0','','26209000001150','4444400001150','11150','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3150','0','','3150','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4151','0','','26209000001151','4444400001151','11151','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3151','0','','3151','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4152','0','','26209000001152','4444400001152','11152','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3152','0','','3152','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4153','0','','26209000001153','4444400001153','11153','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3153','0','','3153','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4154','0','','26209000001154','4444400001154','11154','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3154','0','','3154','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4155','0','','26209000001155','4444400001155','11155','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3155','0','','3155','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4156','0','','26209000001156','4444400001156','11156','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3156','0','','3156','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4157','0','','26209000001157','4444400001157','11157','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3157','0','','3157','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4158','0','','26209000001158','4444400001158','11158','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3158','0','','3158','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4159','0','','26209000001159','4444400001159','11159','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3159','0','','3159','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4160','0','','26209000001160','4444400001160','11160','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3160','0','','3160','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4161','0','','26209000001161','4444400001161','11161','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3161','0','','3161','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4162','0','','26209000001162','4444400001162','11162','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3162','0','','3162','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4163','0','','26209000001163','4444400001163','11163','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3163','0','','3163','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4164','0','','26209000001164','4444400001164','11164','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3164','0','','3164','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4165','0','','26209000001165','4444400001165','11165','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3165','0','','3165','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4166','0','','26209000001166','4444400001166','11166','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3166','0','','3166','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4167','0','','26209000001167','4444400001167','11167','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3167','0','','3167','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4168','0','','26209000001168','4444400001168','11168','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3168','0','','3168','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4169','0','','26209000001169','4444400001169','11169','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3169','0','','3169','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4170','0','','26209000001170','4444400001170','11170','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3170','0','','3170','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4171','0','','26209000001171','4444400001171','11171','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3171','0','','3171','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4172','0','','26209000001172','4444400001172','11172','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3172','0','','3172','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4173','0','','26209000001173','4444400001173','11173','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3173','0','','3173','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4174','0','','26209000001174','4444400001174','11174','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3174','0','','3174','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4175','0','','26209000001175','4444400001175','11175','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3175','0','','3175','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4176','0','','26209000001176','4444400001176','11176','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3176','0','','3176','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4177','0','','26209000001177','4444400001177','11177','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3177','0','','3177','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4178','0','','26209000001178','4444400001178','11178','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3178','0','','3178','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4179','0','','26209000001179','4444400001179','11179','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3179','0','','3179','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4180','0','','26209000001180','4444400001180','11180','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3180','0','','3180','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4181','0','','26209000001181','4444400001181','11181','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3181','0','','3181','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4182','0','','26209000001182','4444400001182','11182','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3182','0','','3182','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4183','0','','26209000001183','4444400001183','11183','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3183','0','','3183','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4184','0','','26209000001184','4444400001184','11184','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3184','0','','3184','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4185','0','','26209000001185','4444400001185','11185','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3185','0','','3185','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4186','0','','26209000001186','4444400001186','11186','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3186','0','','3186','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4187','0','','26209000001187','4444400001187','11187','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3187','0','','3187','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4188','0','','26209000001188','4444400001188','11188','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3188','0','','3188','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4189','0','','26209000001189','4444400001189','11189','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3189','0','','3189','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4190','0','','26209000001190','4444400001190','11190','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3190','0','','3190','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4191','0','','26209000001191','4444400001191','11191','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3191','0','','3191','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4192','0','','26209000001192','4444400001192','11192','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3192','0','','3192','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4193','0','','26209000001193','4444400001193','11193','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3193','0','','3193','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4194','0','','26209000001194','4444400001194','11194','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3194','0','','3194','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4195','0','','26209000001195','4444400001195','11195','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3195','0','','3195','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4196','0','','26209000001196','4444400001196','11196','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3196','0','','3196','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4197','0','','26209000001197','4444400001197','11197','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3197','0','','3197','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4198','0','','26209000001198','4444400001198','11198','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3198','0','','3198','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4199','0','','26209000001199','4444400001199','11199','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3199','0','','3199','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4200','0','','26209000001200','4444400001200','11200','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3200','0','','3200','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4201','0','','26209000001201','4444400001201','11201','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3201','0','','3201','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4202','0','','26209000001202','4444400001202','11202','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3202','0','','3202','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4203','0','','26209000001203','4444400001203','11203','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3203','0','','3203','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4204','0','','26209000001204','4444400001204','11204','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3204','0','','3204','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4205','0','','26209000001205','4444400001205','11205','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3205','0','','3205','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4206','0','','26209000001206','4444400001206','11206','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3206','0','','3206','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4207','0','','26209000001207','4444400001207','11207','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3207','0','','3207','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4208','0','','26209000001208','4444400001208','11208','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3208','0','','3208','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4209','0','','26209000001209','4444400001209','11209','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3209','0','','3209','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4210','0','','26209000001210','4444400001210','11210','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3210','0','','3210','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4211','0','','26209000001211','4444400001211','11211','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3211','0','','3211','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4212','0','','26209000001212','4444400001212','11212','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3212','0','','3212','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4213','0','','26209000001213','4444400001213','11213','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3213','0','','3213','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4214','0','','26209000001214','4444400001214','11214','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3214','0','','3214','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4215','0','','26209000001215','4444400001215','11215','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3215','0','','3215','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4216','0','','26209000001216','4444400001216','11216','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3216','0','','3216','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4217','0','','26209000001217','4444400001217','11217','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3217','0','','3217','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4218','0','','26209000001218','4444400001218','11218','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3218','0','','3218','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4219','0','','26209000001219','4444400001219','11219','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3219','0','','3219','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4220','0','','26209000001220','4444400001220','11220','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3220','0','','3220','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4221','0','','26209000001221','4444400001221','11221','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3221','0','','3221','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4222','0','','26209000001222','4444400001222','11222','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3222','0','','3222','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4223','0','','26209000001223','4444400001223','11223','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3223','0','','3223','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4224','0','','26209000001224','4444400001224','11224','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3224','0','','3224','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4225','0','','26209000001225','4444400001225','11225','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3225','0','','3225','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4226','0','','26209000001226','4444400001226','11226','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3226','0','','3226','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4227','0','','26209000001227','4444400001227','11227','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3227','0','','3227','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4228','0','','26209000001228','4444400001228','11228','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3228','0','','3228','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4229','0','','26209000001229','4444400001229','11229','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3229','0','','3229','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4230','0','','26209000001230','4444400001230','11230','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3230','0','','3230','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4231','0','','26209000001231','4444400001231','11231','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3231','0','','3231','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4232','0','','26209000001232','4444400001232','11232','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3232','0','','3232','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4233','0','','26209000001233','4444400001233','11233','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3233','0','','3233','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4234','0','','26209000001234','4444400001234','11234','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3234','0','','3234','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4235','0','','26209000001235','4444400001235','11235','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3235','0','','3235','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4236','0','','26209000001236','4444400001236','11236','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3236','0','','3236','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4237','0','','26209000001237','4444400001237','11237','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3237','0','','3237','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4238','0','','26209000001238','4444400001238','11238','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3238','0','','3238','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4239','0','','26209000001239','4444400001239','11239','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3239','0','','3239','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4240','0','','26209000001240','4444400001240','11240','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3240','0','','3240','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4241','0','','26209000001241','4444400001241','11241','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3241','0','','3241','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4242','0','','26209000001242','4444400001242','11242','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3242','0','','3242','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4243','0','','26209000001243','4444400001243','11243','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3243','0','','3243','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4244','0','','26209000001244','4444400001244','11244','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3244','0','','3244','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4245','0','','26209000001245','4444400001245','11245','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3245','0','','3245','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4246','0','','26209000001246','4444400001246','11246','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3246','0','','3246','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4247','0','','26209000001247','4444400001247','11247','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3247','0','','3247','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4248','0','','26209000001248','4444400001248','11248','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3248','0','','3248','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4249','0','','26209000001249','4444400001249','11249','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3249','0','','3249','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4250','0','','26209000001250','4444400001250','11250','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3250','0','','3250','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4251','0','','26209000001251','4444400001251','11251','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3251','0','','3251','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4252','0','','26209000001252','4444400001252','11252','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3252','0','','3252','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4253','0','','26209000001253','4444400001253','11253','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3253','0','','3253','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4254','0','','26209000001254','4444400001254','11254','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3254','0','','3254','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4255','0','','26209000001255','4444400001255','11255','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3255','0','','3255','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4256','0','','26209000001256','4444400001256','11256','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3256','0','','3256','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4257','0','','26209000001257','4444400001257','11257','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3257','0','','3257','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4258','0','','26209000001258','4444400001258','11258','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3258','0','','3258','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4259','0','','26209000001259','4444400001259','11259','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3259','0','','3259','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4260','0','','26209000001260','4444400001260','11260','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3260','0','','3260','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4261','0','','26209000001261','4444400001261','11261','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3261','0','','3261','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4262','0','','26209000001262','4444400001262','11262','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3262','0','','3262','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4263','0','','26209000001263','4444400001263','11263','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3263','0','','3263','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4264','0','','26209000001264','4444400001264','11264','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3264','0','','3264','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4265','0','','26209000001265','4444400001265','11265','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3265','0','','3265','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4266','0','','26209000001266','4444400001266','11266','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3266','0','','3266','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4267','0','','26209000001267','4444400001267','11267','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3267','0','','3267','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4268','0','','26209000001268','4444400001268','11268','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3268','0','','3268','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4269','0','','26209000001269','4444400001269','11269','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3269','0','','3269','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4270','0','','26209000001270','4444400001270','11270','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3270','0','','3270','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4271','0','','26209000001271','4444400001271','11271','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3271','0','','3271','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4272','0','','26209000001272','4444400001272','11272','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3272','0','','3272','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4273','0','','26209000001273','4444400001273','11273','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3273','0','','3273','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4274','0','','26209000001274','4444400001274','11274','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3274','0','','3274','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4275','0','','26209000001275','4444400001275','11275','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3275','0','','3275','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4276','0','','26209000001276','4444400001276','11276','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3276','0','','3276','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4277','0','','26209000001277','4444400001277','11277','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3277','0','','3277','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4278','0','','26209000001278','4444400001278','11278','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3278','0','','3278','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4279','0','','26209000001279','4444400001279','11279','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3279','0','','3279','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4280','0','','26209000001280','4444400001280','11280','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3280','0','','3280','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4281','0','','26209000001281','4444400001281','11281','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3281','0','','3281','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4282','0','','26209000001282','4444400001282','11282','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3282','0','','3282','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4283','0','','26209000001283','4444400001283','11283','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3283','0','','3283','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4284','0','','26209000001284','4444400001284','11284','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3284','0','','3284','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4285','0','','26209000001285','4444400001285','11285','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3285','0','','3285','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4286','0','','26209000001286','4444400001286','11286','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3286','0','','3286','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4287','0','','26209000001287','4444400001287','11287','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3287','0','','3287','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4288','0','','26209000001288','4444400001288','11288','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3288','0','','3288','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4289','0','','26209000001289','4444400001289','11289','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3289','0','','3289','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4290','0','','26209000001290','4444400001290','11290','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3290','0','','3290','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4291','0','','26209000001291','4444400001291','11291','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3291','0','','3291','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4292','0','','26209000001292','4444400001292','11292','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3292','0','','3292','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4293','0','','26209000001293','4444400001293','11293','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3293','0','','3293','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4294','0','','26209000001294','4444400001294','11294','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3294','0','','3294','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4295','0','','26209000001295','4444400001295','11295','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3295','0','','3295','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4296','0','','26209000001296','4444400001296','11296','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3296','0','','3296','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4297','0','','26209000001297','4444400001297','11297','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3297','0','','3297','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4298','0','','26209000001298','4444400001298','11298','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3298','0','','3298','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4299','0','','26209000001299','4444400001299','11299','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3299','0','','3299','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4300','0','','26209000001300','4444400001300','11300','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3300','0','','3300','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4301','0','','26209000001301','4444400001301','11301','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3301','0','','3301','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4302','0','','26209000001302','4444400001302','11302','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3302','0','','3302','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4303','0','','26209000001303','4444400001303','11303','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3303','0','','3303','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4304','0','','26209000001304','4444400001304','11304','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3304','0','','3304','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4305','0','','26209000001305','4444400001305','11305','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3305','0','','3305','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4306','0','','26209000001306','4444400001306','11306','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3306','0','','3306','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4307','0','','26209000001307','4444400001307','11307','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3307','0','','3307','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4308','0','','26209000001308','4444400001308','11308','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3308','0','','3308','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4309','0','','26209000001309','4444400001309','11309','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3309','0','','3309','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4310','0','','26209000001310','4444400001310','11310','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3310','0','','3310','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4311','0','','26209000001311','4444400001311','11311','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3311','0','','3311','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4312','0','','26209000001312','4444400001312','11312','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3312','0','','3312','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4313','0','','26209000001313','4444400001313','11313','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3313','0','','3313','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4314','0','','26209000001314','4444400001314','11314','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3314','0','','3314','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4315','0','','26209000001315','4444400001315','11315','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3315','0','','3315','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4316','0','','26209000001316','4444400001316','11316','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3316','0','','3316','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4317','0','','26209000001317','4444400001317','11317','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3317','0','','3317','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4318','0','','26209000001318','4444400001318','11318','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3318','0','','3318','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4319','0','','26209000001319','4444400001319','11319','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3319','0','','3319','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4320','0','','26209000001320','4444400001320','11320','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3320','0','','3320','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4321','0','','26209000001321','4444400001321','11321','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3321','0','','3321','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4322','0','','26209000001322','4444400001322','11322','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3322','0','','3322','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4323','0','','26209000001323','4444400001323','11323','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3323','0','','3323','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4324','0','','26209000001324','4444400001324','11324','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3324','0','','3324','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4325','0','','26209000001325','4444400001325','11325','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3325','0','','3325','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4326','0','','26209000001326','4444400001326','11326','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3326','0','','3326','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4327','0','','26209000001327','4444400001327','11327','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3327','0','','3327','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4328','0','','26209000001328','4444400001328','11328','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3328','0','','3328','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4329','0','','26209000001329','4444400001329','11329','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3329','0','','3329','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4330','0','','26209000001330','4444400001330','11330','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3330','0','','3330','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4331','0','','26209000001331','4444400001331','11331','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3331','0','','3331','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4332','0','','26209000001332','4444400001332','11332','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3332','0','','3332','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4333','0','','26209000001333','4444400001333','11333','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3333','0','','3333','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4334','0','','26209000001334','4444400001334','11334','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3334','0','','3334','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4335','0','','26209000001335','4444400001335','11335','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3335','0','','3335','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4336','0','','26209000001336','4444400001336','11336','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3336','0','','3336','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4337','0','','26209000001337','4444400001337','11337','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3337','0','','3337','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4338','0','','26209000001338','4444400001338','11338','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3338','0','','3338','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4339','0','','26209000001339','4444400001339','11339','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3339','0','','3339','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4340','0','','26209000001340','4444400001340','11340','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3340','0','','3340','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4341','0','','26209000001341','4444400001341','11341','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3341','0','','3341','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4342','0','','26209000001342','4444400001342','11342','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3342','0','','3342','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4343','0','','26209000001343','4444400001343','11343','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3343','0','','3343','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4344','0','','26209000001344','4444400001344','11344','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3344','0','','3344','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4345','0','','26209000001345','4444400001345','11345','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3345','0','','3345','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4346','0','','26209000001346','4444400001346','11346','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3346','0','','3346','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4347','0','','26209000001347','4444400001347','11347','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3347','0','','3347','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4348','0','','26209000001348','4444400001348','11348','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3348','0','','3348','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4349','0','','26209000001349','4444400001349','11349','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3349','0','','3349','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4350','0','','26209000001350','4444400001350','11350','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3350','0','','3350','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4351','0','','26209000001351','4444400001351','11351','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3351','0','','3351','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4352','0','','26209000001352','4444400001352','11352','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3352','0','','3352','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4353','0','','26209000001353','4444400001353','11353','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3353','0','','3353','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4354','0','','26209000001354','4444400001354','11354','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3354','0','','3354','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4355','0','','26209000001355','4444400001355','11355','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3355','0','','3355','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4356','0','','26209000001356','4444400001356','11356','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3356','0','','3356','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4357','0','','26209000001357','4444400001357','11357','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3357','0','','3357','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4358','0','','26209000001358','4444400001358','11358','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3358','0','','3358','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4359','0','','26209000001359','4444400001359','11359','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3359','0','','3359','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4360','0','','26209000001360','4444400001360','11360','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3360','0','','3360','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4361','0','','26209000001361','4444400001361','11361','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3361','0','','3361','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4362','0','','26209000001362','4444400001362','11362','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3362','0','','3362','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4363','0','','26209000001363','4444400001363','11363','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3363','0','','3363','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4364','0','','26209000001364','4444400001364','11364','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3364','0','','3364','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4365','0','','26209000001365','4444400001365','11365','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3365','0','','3365','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4366','0','','26209000001366','4444400001366','11366','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3366','0','','3366','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4367','0','','26209000001367','4444400001367','11367','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3367','0','','3367','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4368','0','','26209000001368','4444400001368','11368','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3368','0','','3368','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4369','0','','26209000001369','4444400001369','11369','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3369','0','','3369','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4370','0','','26209000001370','4444400001370','11370','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3370','0','','3370','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4371','0','','26209000001371','4444400001371','11371','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3371','0','','3371','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4372','0','','26209000001372','4444400001372','11372','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3372','0','','3372','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4373','0','','26209000001373','4444400001373','11373','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3373','0','','3373','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4374','0','','26209000001374','4444400001374','11374','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3374','0','','3374','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4375','0','','26209000001375','4444400001375','11375','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3375','0','','3375','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4376','0','','26209000001376','4444400001376','11376','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3376','0','','3376','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4377','0','','26209000001377','4444400001377','11377','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3377','0','','3377','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4378','0','','26209000001378','4444400001378','11378','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3378','0','','3378','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4379','0','','26209000001379','4444400001379','11379','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3379','0','','3379','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4380','0','','26209000001380','4444400001380','11380','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3380','0','','3380','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4381','0','','26209000001381','4444400001381','11381','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3381','0','','3381','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4382','0','','26209000001382','4444400001382','11382','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3382','0','','3382','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4383','0','','26209000001383','4444400001383','11383','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3383','0','','3383','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4384','0','','26209000001384','4444400001384','11384','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3384','0','','3384','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4385','0','','26209000001385','4444400001385','11385','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3385','0','','3385','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4386','0','','26209000001386','4444400001386','11386','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3386','0','','3386','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4387','0','','26209000001387','4444400001387','11387','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3387','0','','3387','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4388','0','','26209000001388','4444400001388','11388','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3388','0','','3388','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4389','0','','26209000001389','4444400001389','11389','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3389','0','','3389','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4390','0','','26209000001390','4444400001390','11390','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3390','0','','3390','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4391','0','','26209000001391','4444400001391','11391','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3391','0','','3391','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4392','0','','26209000001392','4444400001392','11392','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3392','0','','3392','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4393','0','','26209000001393','4444400001393','11393','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3393','0','','3393','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4394','0','','26209000001394','4444400001394','11394','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3394','0','','3394','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4395','0','','26209000001395','4444400001395','11395','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3395','0','','3395','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4396','0','','26209000001396','4444400001396','11396','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3396','0','','3396','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4397','0','','26209000001397','4444400001397','11397','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3397','0','','3397','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4398','0','','26209000001398','4444400001398','11398','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3398','0','','3398','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4399','0','','26209000001399','4444400001399','11399','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3399','0','','3399','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4400','0','','26209000001400','4444400001400','11400','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3400','0','','3400','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4401','0','','26209000001401','4444400001401','11401','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3401','0','','3401','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4402','0','','26209000001402','4444400001402','11402','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3402','0','','3402','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4403','0','','26209000001403','4444400001403','11403','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3403','0','','3403','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4404','0','','26209000001404','4444400001404','11404','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3404','0','','3404','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4405','0','','26209000001405','4444400001405','11405','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3405','0','','3405','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4406','0','','26209000001406','4444400001406','11406','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3406','0','','3406','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4407','0','','26209000001407','4444400001407','11407','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3407','0','','3407','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4408','0','','26209000001408','4444400001408','11408','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3408','0','','3408','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4409','0','','26209000001409','4444400001409','11409','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3409','0','','3409','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4410','0','','26209000001410','4444400001410','11410','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3410','0','','3410','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4411','0','','26209000001411','4444400001411','11411','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3411','0','','3411','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4412','0','','26209000001412','4444400001412','11412','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3412','0','','3412','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4413','0','','26209000001413','4444400001413','11413','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3413','0','','3413','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4414','0','','26209000001414','4444400001414','11414','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3414','0','','3414','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4415','0','','26209000001415','4444400001415','11415','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3415','0','','3415','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4416','0','','26209000001416','4444400001416','11416','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3416','0','','3416','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4417','0','','26209000001417','4444400001417','11417','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3417','0','','3417','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4418','0','','26209000001418','4444400001418','11418','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3418','0','','3418','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4419','0','','26209000001419','4444400001419','11419','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3419','0','','3419','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4420','0','','26209000001420','4444400001420','11420','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3420','0','','3420','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4421','0','','26209000001421','4444400001421','11421','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3421','0','','3421','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4422','0','','26209000001422','4444400001422','11422','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3422','0','','3422','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4423','0','','26209000001423','4444400001423','11423','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3423','0','','3423','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4424','0','','26209000001424','4444400001424','11424','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3424','0','','3424','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4425','0','','26209000001425','4444400001425','11425','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3425','0','','3425','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4426','0','','26209000001426','4444400001426','11426','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3426','0','','3426','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4427','0','','26209000001427','4444400001427','11427','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3427','0','','3427','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4428','0','','26209000001428','4444400001428','11428','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3428','0','','3428','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4429','0','','26209000001429','4444400001429','11429','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3429','0','','3429','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4430','0','','26209000001430','4444400001430','11430','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3430','0','','3430','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4431','0','','26209000001431','4444400001431','11431','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3431','0','','3431','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4432','0','','26209000001432','4444400001432','11432','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3432','0','','3432','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4433','0','','26209000001433','4444400001433','11433','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3433','0','','3433','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4434','0','','26209000001434','4444400001434','11434','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3434','0','','3434','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4435','0','','26209000001435','4444400001435','11435','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3435','0','','3435','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4436','0','','26209000001436','4444400001436','11436','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3436','0','','3436','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4437','0','','26209000001437','4444400001437','11437','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3437','0','','3437','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4438','0','','26209000001438','4444400001438','11438','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3438','0','','3438','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4439','0','','26209000001439','4444400001439','11439','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3439','0','','3439','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4440','0','','26209000001440','4444400001440','11440','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3440','0','','3440','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4441','0','','26209000001441','4444400001441','11441','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3441','0','','3441','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4442','0','','26209000001442','4444400001442','11442','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3442','0','','3442','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4443','0','','26209000001443','4444400001443','11443','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3443','0','','3443','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4444','0','','26209000001444','4444400001444','11444','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3444','0','','3444','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4445','0','','26209000001445','4444400001445','11445','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3445','0','','3445','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4446','0','','26209000001446','4444400001446','11446','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3446','0','','3446','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4447','0','','26209000001447','4444400001447','11447','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3447','0','','3447','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4448','0','','26209000001448','4444400001448','11448','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3448','0','','3448','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4449','0','','26209000001449','4444400001449','11449','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3449','0','','3449','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4450','0','','26209000001450','4444400001450','11450','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3450','0','','3450','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4451','0','','26209000001451','4444400001451','11451','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3451','0','','3451','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4452','0','','26209000001452','4444400001452','11452','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3452','0','','3452','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4453','0','','26209000001453','4444400001453','11453','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3453','0','','3453','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4454','0','','26209000001454','4444400001454','11454','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3454','0','','3454','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4455','0','','26209000001455','4444400001455','11455','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3455','0','','3455','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4456','0','','26209000001456','4444400001456','11456','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3456','0','','3456','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4457','0','','26209000001457','4444400001457','11457','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3457','0','','3457','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4458','0','','26209000001458','4444400001458','11458','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3458','0','','3458','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4459','0','','26209000001459','4444400001459','11459','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3459','0','','3459','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4460','0','','26209000001460','4444400001460','11460','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3460','0','','3460','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4461','0','','26209000001461','4444400001461','11461','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3461','0','','3461','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4462','0','','26209000001462','4444400001462','11462','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3462','0','','3462','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4463','0','','26209000001463','4444400001463','11463','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3463','0','','3463','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4464','0','','26209000001464','4444400001464','11464','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3464','0','','3464','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4465','0','','26209000001465','4444400001465','11465','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3465','0','','3465','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4466','0','','26209000001466','4444400001466','11466','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3466','0','','3466','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4467','0','','26209000001467','4444400001467','11467','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3467','0','','3467','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4468','0','','26209000001468','4444400001468','11468','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3468','0','','3468','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4469','0','','26209000001469','4444400001469','11469','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3469','0','','3469','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4470','0','','26209000001470','4444400001470','11470','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3470','0','','3470','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4471','0','','26209000001471','4444400001471','11471','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3471','0','','3471','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4472','0','','26209000001472','4444400001472','11472','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3472','0','','3472','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4473','0','','26209000001473','4444400001473','11473','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3473','0','','3473','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4474','0','','26209000001474','4444400001474','11474','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3474','0','','3474','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4475','0','','26209000001475','4444400001475','11475','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3475','0','','3475','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4476','0','','26209000001476','4444400001476','11476','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3476','0','','3476','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4477','0','','26209000001477','4444400001477','11477','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3477','0','','3477','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4478','0','','26209000001478','4444400001478','11478','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3478','0','','3478','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4479','0','','26209000001479','4444400001479','11479','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3479','0','','3479','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4480','0','','26209000001480','4444400001480','11480','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3480','0','','3480','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4481','0','','26209000001481','4444400001481','11481','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3481','0','','3481','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4482','0','','26209000001482','4444400001482','11482','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3482','0','','3482','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4483','0','','26209000001483','4444400001483','11483','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3483','0','','3483','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4484','0','','26209000001484','4444400001484','11484','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3484','0','','3484','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4485','0','','26209000001485','4444400001485','11485','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3485','0','','3485','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4486','0','','26209000001486','4444400001486','11486','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3486','0','','3486','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4487','0','','26209000001487','4444400001487','11487','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3487','0','','3487','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4488','0','','26209000001488','4444400001488','11488','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3488','0','','3488','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4489','0','','26209000001489','4444400001489','11489','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3489','0','','3489','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4490','0','','26209000001490','4444400001490','11490','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3490','0','','3490','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4491','0','','26209000001491','4444400001491','11491','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3491','0','','3491','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4492','0','','26209000001492','4444400001492','11492','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3492','0','','3492','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4493','0','','26209000001493','4444400001493','11493','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3493','0','','3493','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4494','0','','26209000001494','4444400001494','11494','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3494','0','','3494','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4495','0','','26209000001495','4444400001495','11495','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3495','0','','3495','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4496','0','','26209000001496','4444400001496','11496','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3496','0','','3496','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4497','0','','26209000001497','4444400001497','11497','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3497','0','','3497','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4498','0','','26209000001498','4444400001498','11498','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3498','0','','3498','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4499','0','','26209000001499','4444400001499','11499','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3499','0','','3499','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4500','0','','26209000001500','4444400001500','11500','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3500','0','','3500','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4501','0','','26209000001501','4444400001501','11501','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3501','0','','3501','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4502','0','','26209000001502','4444400001502','11502','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3502','0','','3502','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4503','0','','26209000001503','4444400001503','11503','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3503','0','','3503','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4504','0','','26209000001504','4444400001504','11504','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3504','0','','3504','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4505','0','','26209000001505','4444400001505','11505','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3505','0','','3505','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4506','0','','26209000001506','4444400001506','11506','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3506','0','','3506','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4507','0','','26209000001507','4444400001507','11507','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3507','0','','3507','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4508','0','','26209000001508','4444400001508','11508','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3508','0','','3508','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4509','0','','26209000001509','4444400001509','11509','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3509','0','','3509','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4510','0','','26209000001510','4444400001510','11510','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3510','0','','3510','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4511','0','','26209000001511','4444400001511','11511','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3511','0','','3511','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4512','0','','26209000001512','4444400001512','11512','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3512','0','','3512','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4513','0','','26209000001513','4444400001513','11513','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3513','0','','3513','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4514','0','','26209000001514','4444400001514','11514','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3514','0','','3514','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4515','0','','26209000001515','4444400001515','11515','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3515','0','','3515','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4516','0','','26209000001516','4444400001516','11516','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3516','0','','3516','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4517','0','','26209000001517','4444400001517','11517','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3517','0','','3517','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4518','0','','26209000001518','4444400001518','11518','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3518','0','','3518','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4519','0','','26209000001519','4444400001519','11519','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3519','0','','3519','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4520','0','','26209000001520','4444400001520','11520','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3520','0','','3520','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4521','0','','26209000001521','4444400001521','11521','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3521','0','','3521','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4522','0','','26209000001522','4444400001522','11522','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3522','0','','3522','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4523','0','','26209000001523','4444400001523','11523','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3523','0','','3523','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4524','0','','26209000001524','4444400001524','11524','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3524','0','','3524','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4525','0','','26209000001525','4444400001525','11525','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3525','0','','3525','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4526','0','','26209000001526','4444400001526','11526','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3526','0','','3526','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4527','0','','26209000001527','4444400001527','11527','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3527','0','','3527','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4528','0','','26209000001528','4444400001528','11528','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3528','0','','3528','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4529','0','','26209000001529','4444400001529','11529','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3529','0','','3529','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4530','0','','26209000001530','4444400001530','11530','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3530','0','','3530','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4531','0','','26209000001531','4444400001531','11531','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3531','0','','3531','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4532','0','','26209000001532','4444400001532','11532','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3532','0','','3532','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4533','0','','26209000001533','4444400001533','11533','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3533','0','','3533','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4534','0','','26209000001534','4444400001534','11534','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3534','0','','3534','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4535','0','','26209000001535','4444400001535','11535','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3535','0','','3535','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4536','0','','26209000001536','4444400001536','11536','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3536','0','','3536','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4537','0','','26209000001537','4444400001537','11537','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3537','0','','3537','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4538','0','','26209000001538','4444400001538','11538','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3538','0','','3538','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4539','0','','26209000001539','4444400001539','11539','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3539','0','','3539','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4540','0','','26209000001540','4444400001540','11540','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3540','0','','3540','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4541','0','','26209000001541','4444400001541','11541','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3541','0','','3541','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4542','0','','26209000001542','4444400001542','11542','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3542','0','','3542','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4543','0','','26209000001543','4444400001543','11543','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3543','0','','3543','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4544','0','','26209000001544','4444400001544','11544','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3544','0','','3544','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4545','0','','26209000001545','4444400001545','11545','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3545','0','','3545','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4546','0','','26209000001546','4444400001546','11546','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3546','0','','3546','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4547','0','','26209000001547','4444400001547','11547','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3547','0','','3547','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4548','0','','26209000001548','4444400001548','11548','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3548','0','','3548','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4549','0','','26209000001549','4444400001549','11549','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3549','0','','3549','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4550','0','','26209000001550','4444400001550','11550','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3550','0','','3550','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4551','0','','26209000001551','4444400001551','11551','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3551','0','','3551','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4552','0','','26209000001552','4444400001552','11552','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3552','0','','3552','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4553','0','','26209000001553','4444400001553','11553','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3553','0','','3553','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4554','0','','26209000001554','4444400001554','11554','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3554','0','','3554','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4555','0','','26209000001555','4444400001555','11555','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3555','0','','3555','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4556','0','','26209000001556','4444400001556','11556','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3556','0','','3556','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4557','0','','26209000001557','4444400001557','11557','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3557','0','','3557','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4558','0','','26209000001558','4444400001558','11558','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3558','0','','3558','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4559','0','','26209000001559','4444400001559','11559','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3559','0','','3559','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4560','0','','26209000001560','4444400001560','11560','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3560','0','','3560','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4561','0','','26209000001561','4444400001561','11561','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3561','0','','3561','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4562','0','','26209000001562','4444400001562','11562','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3562','0','','3562','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4563','0','','26209000001563','4444400001563','11563','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3563','0','','3563','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4564','0','','26209000001564','4444400001564','11564','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3564','0','','3564','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4565','0','','26209000001565','4444400001565','11565','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3565','0','','3565','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4566','0','','26209000001566','4444400001566','11566','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3566','0','','3566','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4567','0','','26209000001567','4444400001567','11567','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3567','0','','3567','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4568','0','','26209000001568','4444400001568','11568','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3568','0','','3568','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4569','0','','26209000001569','4444400001569','11569','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3569','0','','3569','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4570','0','','26209000001570','4444400001570','11570','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3570','0','','3570','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4571','0','','26209000001571','4444400001571','11571','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3571','0','','3571','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4572','0','','26209000001572','4444400001572','11572','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3572','0','','3572','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4573','0','','26209000001573','4444400001573','11573','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3573','0','','3573','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4574','0','','26209000001574','4444400001574','11574','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3574','0','','3574','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4575','0','','26209000001575','4444400001575','11575','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3575','0','','3575','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4576','0','','26209000001576','4444400001576','11576','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3576','0','','3576','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4577','0','','26209000001577','4444400001577','11577','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3577','0','','3577','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4578','0','','26209000001578','4444400001578','11578','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3578','0','','3578','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4579','0','','26209000001579','4444400001579','11579','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3579','0','','3579','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4580','0','','26209000001580','4444400001580','11580','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3580','0','','3580','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4581','0','','26209000001581','4444400001581','11581','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3581','0','','3581','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4582','0','','26209000001582','4444400001582','11582','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3582','0','','3582','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4583','0','','26209000001583','4444400001583','11583','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3583','0','','3583','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4584','0','','26209000001584','4444400001584','11584','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3584','0','','3584','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4585','0','','26209000001585','4444400001585','11585','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3585','0','','3585','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4586','0','','26209000001586','4444400001586','11586','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3586','0','','3586','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4587','0','','26209000001587','4444400001587','11587','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3587','0','','3587','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4588','0','','26209000001588','4444400001588','11588','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3588','0','','3588','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4589','0','','26209000001589','4444400001589','11589','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3589','0','','3589','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4590','0','','26209000001590','4444400001590','11590','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3590','0','','3590','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4591','0','','26209000001591','4444400001591','11591','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3591','0','','3591','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4592','0','','26209000001592','4444400001592','11592','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3592','0','','3592','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4593','0','','26209000001593','4444400001593','11593','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3593','0','','3593','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4594','0','','26209000001594','4444400001594','11594','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3594','0','','3594','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4595','0','','26209000001595','4444400001595','11595','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3595','0','','3595','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4596','0','','26209000001596','4444400001596','11596','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3596','0','','3596','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4597','0','','26209000001597','4444400001597','11597','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3597','0','','3597','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4598','0','','26209000001598','4444400001598','11598','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3598','0','','3598','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4599','0','','26209000001599','4444400001599','11599','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3599','0','','3599','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4600','0','','26209000001600','4444400001600','11600','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3600','0','','3600','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4601','0','','26209000001601','4444400001601','11601','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3601','0','','3601','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4602','0','','26209000001602','4444400001602','11602','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3602','0','','3602','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4603','0','','26209000001603','4444400001603','11603','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3603','0','','3603','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4604','0','','26209000001604','4444400001604','11604','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3604','0','','3604','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4605','0','','26209000001605','4444400001605','11605','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3605','0','','3605','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4606','0','','26209000001606','4444400001606','11606','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3606','0','','3606','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4607','0','','26209000001607','4444400001607','11607','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3607','0','','3607','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4608','0','','26209000001608','4444400001608','11608','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3608','0','','3608','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4609','0','','26209000001609','4444400001609','11609','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3609','0','','3609','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4610','0','','26209000001610','4444400001610','11610','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3610','0','','3610','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4611','0','','26209000001611','4444400001611','11611','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3611','0','','3611','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4612','0','','26209000001612','4444400001612','11612','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3612','0','','3612','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4613','0','','26209000001613','4444400001613','11613','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3613','0','','3613','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4614','0','','26209000001614','4444400001614','11614','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3614','0','','3614','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4615','0','','26209000001615','4444400001615','11615','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3615','0','','3615','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4616','0','','26209000001616','4444400001616','11616','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3616','0','','3616','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4617','0','','26209000001617','4444400001617','11617','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3617','0','','3617','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4618','0','','26209000001618','4444400001618','11618','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3618','0','','3618','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4619','0','','26209000001619','4444400001619','11619','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3619','0','','3619','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4620','0','','26209000001620','4444400001620','11620','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3620','0','','3620','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4621','0','','26209000001621','4444400001621','11621','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3621','0','','3621','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4622','0','','26209000001622','4444400001622','11622','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3622','0','','3622','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4623','0','','26209000001623','4444400001623','11623','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3623','0','','3623','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4624','0','','26209000001624','4444400001624','11624','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3624','0','','3624','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4625','0','','26209000001625','4444400001625','11625','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3625','0','','3625','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4626','0','','26209000001626','4444400001626','11626','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3626','0','','3626','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4627','0','','26209000001627','4444400001627','11627','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3627','0','','3627','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4628','0','','26209000001628','4444400001628','11628','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3628','0','','3628','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4629','0','','26209000001629','4444400001629','11629','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3629','0','','3629','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4630','0','','26209000001630','4444400001630','11630','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3630','0','','3630','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4631','0','','26209000001631','4444400001631','11631','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3631','0','','3631','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4632','0','','26209000001632','4444400001632','11632','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3632','0','','3632','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4633','0','','26209000001633','4444400001633','11633','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3633','0','','3633','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4634','0','','26209000001634','4444400001634','11634','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3634','0','','3634','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4635','0','','26209000001635','4444400001635','11635','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3635','0','','3635','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4636','0','','26209000001636','4444400001636','11636','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3636','0','','3636','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4637','0','','26209000001637','4444400001637','11637','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3637','0','','3637','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4638','0','','26209000001638','4444400001638','11638','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3638','0','','3638','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4639','0','','26209000001639','4444400001639','11639','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3639','0','','3639','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4640','0','','26209000001640','4444400001640','11640','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3640','0','','3640','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4641','0','','26209000001641','4444400001641','11641','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3641','0','','3641','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4642','0','','26209000001642','4444400001642','11642','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3642','0','','3642','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4643','0','','26209000001643','4444400001643','11643','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3643','0','','3643','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4644','0','','26209000001644','4444400001644','11644','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3644','0','','3644','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4645','0','','26209000001645','4444400001645','11645','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3645','0','','3645','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4646','0','','26209000001646','4444400001646','11646','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3646','0','','3646','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4647','0','','26209000001647','4444400001647','11647','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3647','0','','3647','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4648','0','','26209000001648','4444400001648','11648','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3648','0','','3648','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4649','0','','26209000001649','4444400001649','11649','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3649','0','','3649','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4650','0','','26209000001650','4444400001650','11650','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3650','0','','3650','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4651','0','','26209000001651','4444400001651','11651','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3651','0','','3651','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4652','0','','26209000001652','4444400001652','11652','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3652','0','','3652','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4653','0','','26209000001653','4444400001653','11653','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3653','0','','3653','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4654','0','','26209000001654','4444400001654','11654','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3654','0','','3654','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4655','0','','26209000001655','4444400001655','11655','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3655','0','','3655','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4656','0','','26209000001656','4444400001656','11656','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3656','0','','3656','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4657','0','','26209000001657','4444400001657','11657','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3657','0','','3657','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4658','0','','26209000001658','4444400001658','11658','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3658','0','','3658','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4659','0','','26209000001659','4444400001659','11659','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3659','0','','3659','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4660','0','','26209000001660','4444400001660','11660','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3660','0','','3660','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4661','0','','26209000001661','4444400001661','11661','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3661','0','','3661','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4662','0','','26209000001662','4444400001662','11662','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3662','0','','3662','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4663','0','','26209000001663','4444400001663','11663','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3663','0','','3663','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4664','0','','26209000001664','4444400001664','11664','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3664','0','','3664','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4665','0','','26209000001665','4444400001665','11665','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3665','0','','3665','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4666','0','','26209000001666','4444400001666','11666','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3666','0','','3666','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4667','0','','26209000001667','4444400001667','11667','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3667','0','','3667','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4668','0','','26209000001668','4444400001668','11668','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3668','0','','3668','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4669','0','','26209000001669','4444400001669','11669','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3669','0','','3669','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4670','0','','26209000001670','4444400001670','11670','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3670','0','','3670','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4671','0','','26209000001671','4444400001671','11671','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3671','0','','3671','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4672','0','','26209000001672','4444400001672','11672','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3672','0','','3672','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4673','0','','26209000001673','4444400001673','11673','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3673','0','','3673','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4674','0','','26209000001674','4444400001674','11674','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3674','0','','3674','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4675','0','','26209000001675','4444400001675','11675','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3675','0','','3675','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4676','0','','26209000001676','4444400001676','11676','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3676','0','','3676','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4677','0','','26209000001677','4444400001677','11677','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3677','0','','3677','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4678','0','','26209000001678','4444400001678','11678','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3678','0','','3678','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4679','0','','26209000001679','4444400001679','11679','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3679','0','','3679','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4680','0','','26209000001680','4444400001680','11680','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3680','0','','3680','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4681','0','','26209000001681','4444400001681','11681','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3681','0','','3681','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4682','0','','26209000001682','4444400001682','11682','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3682','0','','3682','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4683','0','','26209000001683','4444400001683','11683','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3683','0','','3683','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4684','0','','26209000001684','4444400001684','11684','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3684','0','','3684','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4685','0','','26209000001685','4444400001685','11685','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3685','0','','3685','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4686','0','','26209000001686','4444400001686','11686','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3686','0','','3686','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4687','0','','26209000001687','4444400001687','11687','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3687','0','','3687','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4688','0','','26209000001688','4444400001688','11688','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3688','0','','3688','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4689','0','','26209000001689','4444400001689','11689','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3689','0','','3689','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4690','0','','26209000001690','4444400001690','11690','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3690','0','','3690','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4691','0','','26209000001691','4444400001691','11691','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3691','0','','3691','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4692','0','','26209000001692','4444400001692','11692','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3692','0','','3692','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4693','0','','26209000001693','4444400001693','11693','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3693','0','','3693','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4694','0','','26209000001694','4444400001694','11694','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3694','0','','3694','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4695','0','','26209000001695','4444400001695','11695','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3695','0','','3695','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4696','0','','26209000001696','4444400001696','11696','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3696','0','','3696','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4697','0','','26209000001697','4444400001697','11697','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3697','0','','3697','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4698','0','','26209000001698','4444400001698','11698','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3698','0','','3698','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4699','0','','26209000001699','4444400001699','11699','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3699','0','','3699','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4700','0','','26209000001700','4444400001700','11700','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3700','0','','3700','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4701','0','','26209000001701','4444400001701','11701','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3701','0','','3701','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4702','0','','26209000001702','4444400001702','11702','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3702','0','','3702','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4703','0','','26209000001703','4444400001703','11703','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3703','0','','3703','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4704','0','','26209000001704','4444400001704','11704','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3704','0','','3704','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4705','0','','26209000001705','4444400001705','11705','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3705','0','','3705','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4706','0','','26209000001706','4444400001706','11706','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3706','0','','3706','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4707','0','','26209000001707','4444400001707','11707','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3707','0','','3707','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4708','0','','26209000001708','4444400001708','11708','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3708','0','','3708','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4709','0','','26209000001709','4444400001709','11709','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3709','0','','3709','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4710','0','','26209000001710','4444400001710','11710','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3710','0','','3710','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4711','0','','26209000001711','4444400001711','11711','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3711','0','','3711','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4712','0','','26209000001712','4444400001712','11712','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3712','0','','3712','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4713','0','','26209000001713','4444400001713','11713','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3713','0','','3713','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4714','0','','26209000001714','4444400001714','11714','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3714','0','','3714','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4715','0','','26209000001715','4444400001715','11715','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3715','0','','3715','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4716','0','','26209000001716','4444400001716','11716','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3716','0','','3716','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4717','0','','26209000001717','4444400001717','11717','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3717','0','','3717','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4718','0','','26209000001718','4444400001718','11718','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3718','0','','3718','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4719','0','','26209000001719','4444400001719','11719','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3719','0','','3719','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4720','0','','26209000001720','4444400001720','11720','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3720','0','','3720','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4721','0','','26209000001721','4444400001721','11721','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3721','0','','3721','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4722','0','','26209000001722','4444400001722','11722','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3722','0','','3722','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4723','0','','26209000001723','4444400001723','11723','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3723','0','','3723','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4724','0','','26209000001724','4444400001724','11724','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3724','0','','3724','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4725','0','','26209000001725','4444400001725','11725','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3725','0','','3725','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4726','0','','26209000001726','4444400001726','11726','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3726','0','','3726','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4727','0','','26209000001727','4444400001727','11727','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3727','0','','3727','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4728','0','','26209000001728','4444400001728','11728','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3728','0','','3728','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4729','0','','26209000001729','4444400001729','11729','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3729','0','','3729','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4730','0','','26209000001730','4444400001730','11730','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3730','0','','3730','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4731','0','','26209000001731','4444400001731','11731','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3731','0','','3731','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4732','0','','26209000001732','4444400001732','11732','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3732','0','','3732','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4733','0','','26209000001733','4444400001733','11733','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3733','0','','3733','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4734','0','','26209000001734','4444400001734','11734','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3734','0','','3734','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4735','0','','26209000001735','4444400001735','11735','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3735','0','','3735','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4736','0','','26209000001736','4444400001736','11736','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3736','0','','3736','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4737','0','','26209000001737','4444400001737','11737','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3737','0','','3737','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4738','0','','26209000001738','4444400001738','11738','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3738','0','','3738','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4739','0','','26209000001739','4444400001739','11739','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3739','0','','3739','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4740','0','','26209000001740','4444400001740','11740','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3740','0','','3740','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4741','0','','26209000001741','4444400001741','11741','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3741','0','','3741','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4742','0','','26209000001742','4444400001742','11742','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3742','0','','3742','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4743','0','','26209000001743','4444400001743','11743','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3743','0','','3743','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4744','0','','26209000001744','4444400001744','11744','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3744','0','','3744','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4745','0','','26209000001745','4444400001745','11745','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3745','0','','3745','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4746','0','','26209000001746','4444400001746','11746','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3746','0','','3746','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4747','0','','26209000001747','4444400001747','11747','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3747','0','','3747','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4748','0','','26209000001748','4444400001748','11748','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3748','0','','3748','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4749','0','','26209000001749','4444400001749','11749','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3749','0','','3749','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4750','0','','26209000001750','4444400001750','11750','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3750','0','','3750','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4751','0','','26209000001751','4444400001751','11751','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3751','0','','3751','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4752','0','','26209000001752','4444400001752','11752','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3752','0','','3752','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4753','0','','26209000001753','4444400001753','11753','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3753','0','','3753','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4754','0','','26209000001754','4444400001754','11754','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3754','0','','3754','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4755','0','','26209000001755','4444400001755','11755','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3755','0','','3755','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4756','0','','26209000001756','4444400001756','11756','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3756','0','','3756','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4757','0','','26209000001757','4444400001757','11757','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3757','0','','3757','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4758','0','','26209000001758','4444400001758','11758','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3758','0','','3758','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4759','0','','26209000001759','4444400001759','11759','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3759','0','','3759','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4760','0','','26209000001760','4444400001760','11760','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3760','0','','3760','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4761','0','','26209000001761','4444400001761','11761','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3761','0','','3761','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4762','0','','26209000001762','4444400001762','11762','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3762','0','','3762','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4763','0','','26209000001763','4444400001763','11763','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3763','0','','3763','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4764','0','','26209000001764','4444400001764','11764','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3764','0','','3764','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4765','0','','26209000001765','4444400001765','11765','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3765','0','','3765','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4766','0','','26209000001766','4444400001766','11766','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3766','0','','3766','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4767','0','','26209000001767','4444400001767','11767','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3767','0','','3767','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4768','0','','26209000001768','4444400001768','11768','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3768','0','','3768','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4769','0','','26209000001769','4444400001769','11769','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3769','0','','3769','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4770','0','','26209000001770','4444400001770','11770','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3770','0','','3770','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4771','0','','26209000001771','4444400001771','11771','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3771','0','','3771','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4772','0','','26209000001772','4444400001772','11772','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3772','0','','3772','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4773','0','','26209000001773','4444400001773','11773','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3773','0','','3773','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4774','0','','26209000001774','4444400001774','11774','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3774','0','','3774','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4775','0','','26209000001775','4444400001775','11775','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3775','0','','3775','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4776','0','','26209000001776','4444400001776','11776','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3776','0','','3776','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4777','0','','26209000001777','4444400001777','11777','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3777','0','','3777','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4778','0','','26209000001778','4444400001778','11778','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3778','0','','3778','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4779','0','','26209000001779','4444400001779','11779','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3779','0','','3779','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4780','0','','26209000001780','4444400001780','11780','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3780','0','','3780','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4781','0','','26209000001781','4444400001781','11781','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3781','0','','3781','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4782','0','','26209000001782','4444400001782','11782','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3782','0','','3782','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4783','0','','26209000001783','4444400001783','11783','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3783','0','','3783','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4784','0','','26209000001784','4444400001784','11784','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3784','0','','3784','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4785','0','','26209000001785','4444400001785','11785','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3785','0','','3785','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4786','0','','26209000001786','4444400001786','11786','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3786','0','','3786','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4787','0','','26209000001787','4444400001787','11787','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3787','0','','3787','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4788','0','','26209000001788','4444400001788','11788','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3788','0','','3788','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4789','0','','26209000001789','4444400001789','11789','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3789','0','','3789','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4790','0','','26209000001790','4444400001790','11790','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3790','0','','3790','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4791','0','','26209000001791','4444400001791','11791','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3791','0','','3791','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4792','0','','26209000001792','4444400001792','11792','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3792','0','','3792','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4793','0','','26209000001793','4444400001793','11793','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3793','0','','3793','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4794','0','','26209000001794','4444400001794','11794','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3794','0','','3794','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4795','0','','26209000001795','4444400001795','11795','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3795','0','','3795','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4796','0','','26209000001796','4444400001796','11796','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3796','0','','3796','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4797','0','','26209000001797','4444400001797','11797','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3797','0','','3797','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4798','0','','26209000001798','4444400001798','11798','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3798','0','','3798','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4799','0','','26209000001799','4444400001799','11799','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3799','0','','3799','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4800','0','','26209000001800','4444400001800','11800','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3800','0','','3800','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4801','0','','26209000001801','4444400001801','11801','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3801','0','','3801','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4802','0','','26209000001802','4444400001802','11802','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3802','0','','3802','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4803','0','','26209000001803','4444400001803','11803','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3803','0','','3803','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4804','0','','26209000001804','4444400001804','11804','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3804','0','','3804','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4805','0','','26209000001805','4444400001805','11805','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3805','0','','3805','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4806','0','','26209000001806','4444400001806','11806','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3806','0','','3806','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4807','0','','26209000001807','4444400001807','11807','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3807','0','','3807','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4808','0','','26209000001808','4444400001808','11808','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3808','0','','3808','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4809','0','','26209000001809','4444400001809','11809','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3809','0','','3809','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4810','0','','26209000001810','4444400001810','11810','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3810','0','','3810','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4811','0','','26209000001811','4444400001811','11811','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3811','0','','3811','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4812','0','','26209000001812','4444400001812','11812','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3812','0','','3812','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4813','0','','26209000001813','4444400001813','11813','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3813','0','','3813','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4814','0','','26209000001814','4444400001814','11814','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3814','0','','3814','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4815','0','','26209000001815','4444400001815','11815','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3815','0','','3815','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4816','0','','26209000001816','4444400001816','11816','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3816','0','','3816','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4817','0','','26209000001817','4444400001817','11817','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3817','0','','3817','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4818','0','','26209000001818','4444400001818','11818','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3818','0','','3818','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4819','0','','26209000001819','4444400001819','11819','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3819','0','','3819','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4820','0','','26209000001820','4444400001820','11820','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3820','0','','3820','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4821','0','','26209000001821','4444400001821','11821','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3821','0','','3821','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4822','0','','26209000001822','4444400001822','11822','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3822','0','','3822','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4823','0','','26209000001823','4444400001823','11823','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3823','0','','3823','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4824','0','','26209000001824','4444400001824','11824','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3824','0','','3824','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4825','0','','26209000001825','4444400001825','11825','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3825','0','','3825','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4826','0','','26209000001826','4444400001826','11826','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3826','0','','3826','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4827','0','','26209000001827','4444400001827','11827','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3827','0','','3827','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4828','0','','26209000001828','4444400001828','11828','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3828','0','','3828','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4829','0','','26209000001829','4444400001829','11829','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3829','0','','3829','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4830','0','','26209000001830','4444400001830','11830','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3830','0','','3830','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4831','0','','26209000001831','4444400001831','11831','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3831','0','','3831','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4832','0','','26209000001832','4444400001832','11832','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3832','0','','3832','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4833','0','','26209000001833','4444400001833','11833','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3833','0','','3833','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4834','0','','26209000001834','4444400001834','11834','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3834','0','','3834','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4835','0','','26209000001835','4444400001835','11835','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3835','0','','3835','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4836','0','','26209000001836','4444400001836','11836','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3836','0','','3836','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4837','0','','26209000001837','4444400001837','11837','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3837','0','','3837','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4838','0','','26209000001838','4444400001838','11838','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3838','0','','3838','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4839','0','','26209000001839','4444400001839','11839','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3839','0','','3839','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4840','0','','26209000001840','4444400001840','11840','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3840','0','','3840','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4841','0','','26209000001841','4444400001841','11841','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3841','0','','3841','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4842','0','','26209000001842','4444400001842','11842','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3842','0','','3842','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4843','0','','26209000001843','4444400001843','11843','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3843','0','','3843','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4844','0','','26209000001844','4444400001844','11844','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3844','0','','3844','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4845','0','','26209000001845','4444400001845','11845','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3845','0','','3845','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4846','0','','26209000001846','4444400001846','11846','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3846','0','','3846','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4847','0','','26209000001847','4444400001847','11847','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3847','0','','3847','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4848','0','','26209000001848','4444400001848','11848','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3848','0','','3848','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4849','0','','26209000001849','4444400001849','11849','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3849','0','','3849','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4850','0','','26209000001850','4444400001850','11850','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3850','0','','3850','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4851','0','','26209000001851','4444400001851','11851','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3851','0','','3851','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4852','0','','26209000001852','4444400001852','11852','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3852','0','','3852','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4853','0','','26209000001853','4444400001853','11853','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3853','0','','3853','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4854','0','','26209000001854','4444400001854','11854','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3854','0','','3854','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4855','0','','26209000001855','4444400001855','11855','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3855','0','','3855','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4856','0','','26209000001856','4444400001856','11856','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3856','0','','3856','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4857','0','','26209000001857','4444400001857','11857','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3857','0','','3857','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4858','0','','26209000001858','4444400001858','11858','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3858','0','','3858','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4859','0','','26209000001859','4444400001859','11859','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3859','0','','3859','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4860','0','','26209000001860','4444400001860','11860','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3860','0','','3860','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4861','0','','26209000001861','4444400001861','11861','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3861','0','','3861','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4862','0','','26209000001862','4444400001862','11862','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3862','0','','3862','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4863','0','','26209000001863','4444400001863','11863','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3863','0','','3863','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4864','0','','26209000001864','4444400001864','11864','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3864','0','','3864','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4865','0','','26209000001865','4444400001865','11865','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3865','0','','3865','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4866','0','','26209000001866','4444400001866','11866','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3866','0','','3866','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4867','0','','26209000001867','4444400001867','11867','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3867','0','','3867','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4868','0','','26209000001868','4444400001868','11868','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3868','0','','3868','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4869','0','','26209000001869','4444400001869','11869','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3869','0','','3869','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4870','0','','26209000001870','4444400001870','11870','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3870','0','','3870','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4871','0','','26209000001871','4444400001871','11871','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3871','0','','3871','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4872','0','','26209000001872','4444400001872','11872','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3872','0','','3872','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4873','0','','26209000001873','4444400001873','11873','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3873','0','','3873','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4874','0','','26209000001874','4444400001874','11874','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3874','0','','3874','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4875','0','','26209000001875','4444400001875','11875','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3875','0','','3875','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4876','0','','26209000001876','4444400001876','11876','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3876','0','','3876','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4877','0','','26209000001877','4444400001877','11877','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3877','0','','3877','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4878','0','','26209000001878','4444400001878','11878','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3878','0','','3878','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4879','0','','26209000001879','4444400001879','11879','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3879','0','','3879','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4880','0','','26209000001880','4444400001880','11880','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3880','0','','3880','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4881','0','','26209000001881','4444400001881','11881','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3881','0','','3881','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4882','0','','26209000001882','4444400001882','11882','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3882','0','','3882','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4883','0','','26209000001883','4444400001883','11883','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3883','0','','3883','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4884','0','','26209000001884','4444400001884','11884','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3884','0','','3884','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4885','0','','26209000001885','4444400001885','11885','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3885','0','','3885','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4886','0','','26209000001886','4444400001886','11886','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3886','0','','3886','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4887','0','','26209000001887','4444400001887','11887','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3887','0','','3887','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4888','0','','26209000001888','4444400001888','11888','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3888','0','','3888','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4889','0','','26209000001889','4444400001889','11889','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3889','0','','3889','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4890','0','','26209000001890','4444400001890','11890','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3890','0','','3890','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4891','0','','26209000001891','4444400001891','11891','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3891','0','','3891','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4892','0','','26209000001892','4444400001892','11892','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3892','0','','3892','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4893','0','','26209000001893','4444400001893','11893','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3893','0','','3893','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4894','0','','26209000001894','4444400001894','11894','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3894','0','','3894','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4895','0','','26209000001895','4444400001895','11895','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3895','0','','3895','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4896','0','','26209000001896','4444400001896','11896','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3896','0','','3896','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4897','0','','26209000001897','4444400001897','11897','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3897','0','','3897','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4898','0','','26209000001898','4444400001898','11898','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3898','0','','3898','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4899','0','','26209000001899','4444400001899','11899','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3899','0','','3899','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4900','0','','26209000001900','4444400001900','11900','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3900','0','','3900','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4901','0','','26209000001901','4444400001901','11901','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3901','0','','3901','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4902','0','','26209000001902','4444400001902','11902','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3902','0','','3902','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4903','0','','26209000001903','4444400001903','11903','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3903','0','','3903','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4904','0','','26209000001904','4444400001904','11904','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3904','0','','3904','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4905','0','','26209000001905','4444400001905','11905','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3905','0','','3905','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4906','0','','26209000001906','4444400001906','11906','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3906','0','','3906','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4907','0','','26209000001907','4444400001907','11907','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3907','0','','3907','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4908','0','','26209000001908','4444400001908','11908','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3908','0','','3908','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4909','0','','26209000001909','4444400001909','11909','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3909','0','','3909','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4910','0','','26209000001910','4444400001910','11910','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3910','0','','3910','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4911','0','','26209000001911','4444400001911','11911','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3911','0','','3911','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4912','0','','26209000001912','4444400001912','11912','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3912','0','','3912','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4913','0','','26209000001913','4444400001913','11913','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3913','0','','3913','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4914','0','','26209000001914','4444400001914','11914','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3914','0','','3914','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4915','0','','26209000001915','4444400001915','11915','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3915','0','','3915','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4916','0','','26209000001916','4444400001916','11916','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3916','0','','3916','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4917','0','','26209000001917','4444400001917','11917','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3917','0','','3917','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4918','0','','26209000001918','4444400001918','11918','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3918','0','','3918','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4919','0','','26209000001919','4444400001919','11919','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3919','0','','3919','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4920','0','','26209000001920','4444400001920','11920','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3920','0','','3920','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4921','0','','26209000001921','4444400001921','11921','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3921','0','','3921','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4922','0','','26209000001922','4444400001922','11922','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3922','0','','3922','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4923','0','','26209000001923','4444400001923','11923','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3923','0','','3923','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4924','0','','26209000001924','4444400001924','11924','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3924','0','','3924','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4925','0','','26209000001925','4444400001925','11925','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3925','0','','3925','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4926','0','','26209000001926','4444400001926','11926','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3926','0','','3926','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4927','0','','26209000001927','4444400001927','11927','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3927','0','','3927','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4928','0','','26209000001928','4444400001928','11928','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3928','0','','3928','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4929','0','','26209000001929','4444400001929','11929','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3929','0','','3929','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4930','0','','26209000001930','4444400001930','11930','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3930','0','','3930','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4931','0','','26209000001931','4444400001931','11931','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3931','0','','3931','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4932','0','','26209000001932','4444400001932','11932','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3932','0','','3932','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4933','0','','26209000001933','4444400001933','11933','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3933','0','','3933','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4934','0','','26209000001934','4444400001934','11934','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3934','0','','3934','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4935','0','','26209000001935','4444400001935','11935','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3935','0','','3935','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4936','0','','26209000001936','4444400001936','11936','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3936','0','','3936','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4937','0','','26209000001937','4444400001937','11937','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3937','0','','3937','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4938','0','','26209000001938','4444400001938','11938','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3938','0','','3938','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4939','0','','26209000001939','4444400001939','11939','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3939','0','','3939','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4940','0','','26209000001940','4444400001940','11940','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3940','0','','3940','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4941','0','','26209000001941','4444400001941','11941','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3941','0','','3941','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4942','0','','26209000001942','4444400001942','11942','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3942','0','','3942','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4943','0','','26209000001943','4444400001943','11943','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3943','0','','3943','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4944','0','','26209000001944','4444400001944','11944','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3944','0','','3944','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4945','0','','26209000001945','4444400001945','11945','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3945','0','','3945','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4946','0','','26209000001946','4444400001946','11946','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3946','0','','3946','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4947','0','','26209000001947','4444400001947','11947','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3947','0','','3947','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4948','0','','26209000001948','4444400001948','11948','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3948','0','','3948','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4949','0','','26209000001949','4444400001949','11949','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3949','0','','3949','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4950','0','','26209000001950','4444400001950','11950','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3950','0','','3950','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4951','0','','26209000001951','4444400001951','11951','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3951','0','','3951','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4952','0','','26209000001952','4444400001952','11952','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3952','0','','3952','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4953','0','','26209000001953','4444400001953','11953','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3953','0','','3953','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4954','0','','26209000001954','4444400001954','11954','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3954','0','','3954','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4955','0','','26209000001955','4444400001955','11955','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3955','0','','3955','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4956','0','','26209000001956','4444400001956','11956','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3956','0','','3956','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4957','0','','26209000001957','4444400001957','11957','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3957','0','','3957','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4958','0','','26209000001958','4444400001958','11958','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3958','0','','3958','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4959','0','','26209000001959','4444400001959','11959','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3959','0','','3959','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4960','0','','26209000001960','4444400001960','11960','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3960','0','','3960','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4961','0','','26209000001961','4444400001961','11961','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3961','0','','3961','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4962','0','','26209000001962','4444400001962','11962','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3962','0','','3962','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4963','0','','26209000001963','4444400001963','11963','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3963','0','','3963','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4964','0','','26209000001964','4444400001964','11964','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3964','0','','3964','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4965','0','','26209000001965','4444400001965','11965','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3965','0','','3965','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4966','0','','26209000001966','4444400001966','11966','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3966','0','','3966','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4967','0','','26209000001967','4444400001967','11967','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3967','0','','3967','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4968','0','','26209000001968','4444400001968','11968','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3968','0','','3968','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4969','0','','26209000001969','4444400001969','11969','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3969','0','','3969','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4970','0','','26209000001970','4444400001970','11970','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3970','0','','3970','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4971','0','','26209000001971','4444400001971','11971','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3971','0','','3971','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4972','0','','26209000001972','4444400001972','11972','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3972','0','','3972','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4973','0','','26209000001973','4444400001973','11973','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3973','0','','3973','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4974','0','','26209000001974','4444400001974','11974','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3974','0','','3974','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4975','0','','26209000001975','4444400001975','11975','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3975','0','','3975','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4976','0','','26209000001976','4444400001976','11976','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3976','0','','3976','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4977','0','','26209000001977','4444400001977','11977','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3977','0','','3977','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4978','0','','26209000001978','4444400001978','11978','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3978','0','','3978','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4979','0','','26209000001979','4444400001979','11979','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3979','0','','3979','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4980','0','','26209000001980','4444400001980','11980','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3980','0','','3980','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4981','0','','26209000001981','4444400001981','11981','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3981','0','','3981','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4982','0','','26209000001982','4444400001982','11982','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3982','0','','3982','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4983','0','','26209000001983','4444400001983','11983','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3983','0','','3983','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4984','0','','26209000001984','4444400001984','11984','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3984','0','','3984','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4985','0','','26209000001985','4444400001985','11985','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3985','0','','3985','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4986','0','','26209000001986','4444400001986','11986','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3986','0','','3986','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4987','0','','26209000001987','4444400001987','11987','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3987','0','','3987','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4988','0','','26209000001988','4444400001988','11988','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3988','0','','3988','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4989','0','','26209000001989','4444400001989','11989','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3989','0','','3989','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4990','0','','26209000001990','4444400001990','11990','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3990','0','','3990','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4991','0','','26209000001991','4444400001991','11991','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3991','0','','3991','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4992','0','','26209000001992','4444400001992','11992','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3992','0','','3992','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4993','0','','26209000001993','4444400001993','11993','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3993','0','','3993','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4994','0','','26209000001994','4444400001994','11994','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3994','0','','3994','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4995','0','','26209000001995','4444400001995','11995','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3995','0','','3995','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4996','0','','26209000001996','4444400001996','11996','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3996','0','','3996','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4997','0','','26209000001997','4444400001997','11997','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3997','0','','3997','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4998','0','','26209000001998','4444400001998','11998','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3998','0','','3998','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','4999','0','','26209000001999','4444400001999','11999','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3999','0','','3999','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5000','0','','26209000002000','4444400002000','12000','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4000','0','','4000','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5001','0','','26209000002001','4444400002001','12001','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4001','0','','4001','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5002','0','','26209000002002','4444400002002','12002','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4002','0','','4002','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5003','0','','26209000002003','4444400002003','12003','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4003','0','','4003','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5004','0','','26209000002004','4444400002004','12004','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4004','0','','4004','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5005','0','','26209000002005','4444400002005','12005','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4005','0','','4005','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5006','0','','26209000002006','4444400002006','12006','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4006','0','','4006','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5007','0','','26209000002007','4444400002007','12007','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4007','0','','4007','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5008','0','','26209000002008','4444400002008','12008','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4008','0','','4008','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5009','0','','26209000002009','4444400002009','12009','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4009','0','','4009','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5010','0','','26209000002010','4444400002010','12010','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4010','0','','4010','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5011','0','','26209000002011','4444400002011','12011','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4011','0','','4011','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5012','0','','26209000002012','4444400002012','12012','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4012','0','','4012','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5013','0','','26209000002013','4444400002013','12013','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4013','0','','4013','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5014','0','','26209000002014','4444400002014','12014','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4014','0','','4014','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5015','0','','26209000002015','4444400002015','12015','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4015','0','','4015','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5016','0','','26209000002016','4444400002016','12016','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4016','0','','4016','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5017','0','','26209000002017','4444400002017','12017','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4017','0','','4017','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5018','0','','26209000002018','4444400002018','12018','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4018','0','','4018','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5019','0','','26209000002019','4444400002019','12019','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4019','0','','4019','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5020','0','','26209000002020','4444400002020','12020','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4020','0','','4020','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5021','0','','26209000002021','4444400002021','12021','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4021','0','','4021','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5022','0','','26209000002022','4444400002022','12022','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4022','0','','4022','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5023','0','','26209000002023','4444400002023','12023','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4023','0','','4023','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5024','0','','26209000002024','4444400002024','12024','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4024','0','','4024','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5025','0','','26209000002025','4444400002025','12025','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4025','0','','4025','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5026','0','','26209000002026','4444400002026','12026','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4026','0','','4026','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5027','0','','26209000002027','4444400002027','12027','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4027','0','','4027','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5028','0','','26209000002028','4444400002028','12028','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4028','0','','4028','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5029','0','','26209000002029','4444400002029','12029','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4029','0','','4029','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5030','0','','26209000002030','4444400002030','12030','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4030','0','','4030','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5031','0','','26209000002031','4444400002031','12031','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4031','0','','4031','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5032','0','','26209000002032','4444400002032','12032','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4032','0','','4032','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5033','0','','26209000002033','4444400002033','12033','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4033','0','','4033','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5034','0','','26209000002034','4444400002034','12034','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4034','0','','4034','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5035','0','','26209000002035','4444400002035','12035','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4035','0','','4035','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5036','0','','26209000002036','4444400002036','12036','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4036','0','','4036','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5037','0','','26209000002037','4444400002037','12037','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4037','0','','4037','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5038','0','','26209000002038','4444400002038','12038','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4038','0','','4038','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5039','0','','26209000002039','4444400002039','12039','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4039','0','','4039','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5040','0','','26209000002040','4444400002040','12040','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4040','0','','4040','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5041','0','','26209000002041','4444400002041','12041','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4041','0','','4041','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5042','0','','26209000002042','4444400002042','12042','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4042','0','','4042','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5043','0','','26209000002043','4444400002043','12043','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4043','0','','4043','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5044','0','','26209000002044','4444400002044','12044','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4044','0','','4044','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5045','0','','26209000002045','4444400002045','12045','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4045','0','','4045','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5046','0','','26209000002046','4444400002046','12046','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4046','0','','4046','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5047','0','','26209000002047','4444400002047','12047','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4047','0','','4047','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5048','0','','26209000002048','4444400002048','12048','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4048','0','','4048','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5049','0','','26209000002049','4444400002049','12049','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4049','0','','4049','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5050','0','','26209000002050','4444400002050','12050','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4050','0','','4050','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5051','0','','26209000002051','4444400002051','12051','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4051','0','','4051','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5052','0','','26209000002052','4444400002052','12052','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4052','0','','4052','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5053','0','','26209000002053','4444400002053','12053','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4053','0','','4053','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5054','0','','26209000002054','4444400002054','12054','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4054','0','','4054','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5055','0','','26209000002055','4444400002055','12055','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4055','0','','4055','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5056','0','','26209000002056','4444400002056','12056','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4056','0','','4056','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5057','0','','26209000002057','4444400002057','12057','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4057','0','','4057','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5058','0','','26209000002058','4444400002058','12058','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4058','0','','4058','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5059','0','','26209000002059','4444400002059','12059','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4059','0','','4059','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5060','0','','26209000002060','4444400002060','12060','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4060','0','','4060','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5061','0','','26209000002061','4444400002061','12061','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4061','0','','4061','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5062','0','','26209000002062','4444400002062','12062','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4062','0','','4062','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5063','0','','26209000002063','4444400002063','12063','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4063','0','','4063','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5064','0','','26209000002064','4444400002064','12064','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4064','0','','4064','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5065','0','','26209000002065','4444400002065','12065','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4065','0','','4065','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5066','0','','26209000002066','4444400002066','12066','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4066','0','','4066','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5067','0','','26209000002067','4444400002067','12067','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4067','0','','4067','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5068','0','','26209000002068','4444400002068','12068','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4068','0','','4068','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5069','0','','26209000002069','4444400002069','12069','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4069','0','','4069','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5070','0','','26209000002070','4444400002070','12070','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4070','0','','4070','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5071','0','','26209000002071','4444400002071','12071','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4071','0','','4071','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5072','0','','26209000002072','4444400002072','12072','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4072','0','','4072','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5073','0','','26209000002073','4444400002073','12073','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4073','0','','4073','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5074','0','','26209000002074','4444400002074','12074','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4074','0','','4074','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5075','0','','26209000002075','4444400002075','12075','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4075','0','','4075','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5076','0','','26209000002076','4444400002076','12076','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4076','0','','4076','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5077','0','','26209000002077','4444400002077','12077','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4077','0','','4077','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5078','0','','26209000002078','4444400002078','12078','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4078','0','','4078','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5079','0','','26209000002079','4444400002079','12079','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4079','0','','4079','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5080','0','','26209000002080','4444400002080','12080','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4080','0','','4080','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5081','0','','26209000002081','4444400002081','12081','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4081','0','','4081','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5082','0','','26209000002082','4444400002082','12082','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4082','0','','4082','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5083','0','','26209000002083','4444400002083','12083','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4083','0','','4083','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5084','0','','26209000002084','4444400002084','12084','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4084','0','','4084','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5085','0','','26209000002085','4444400002085','12085','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4085','0','','4085','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5086','0','','26209000002086','4444400002086','12086','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4086','0','','4086','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5087','0','','26209000002087','4444400002087','12087','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4087','0','','4087','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5088','0','','26209000002088','4444400002088','12088','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4088','0','','4088','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5089','0','','26209000002089','4444400002089','12089','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4089','0','','4089','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5090','0','','26209000002090','4444400002090','12090','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4090','0','','4090','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5091','0','','26209000002091','4444400002091','12091','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4091','0','','4091','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5092','0','','26209000002092','4444400002092','12092','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4092','0','','4092','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5093','0','','26209000002093','4444400002093','12093','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4093','0','','4093','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5094','0','','26209000002094','4444400002094','12094','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4094','0','','4094','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5095','0','','26209000002095','4444400002095','12095','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4095','0','','4095','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5096','0','','26209000002096','4444400002096','12096','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4096','0','','4096','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5097','0','','26209000002097','4444400002097','12097','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4097','0','','4097','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5098','0','','26209000002098','4444400002098','12098','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4098','0','','4098','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5099','0','','26209000002099','4444400002099','12099','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4099','0','','4099','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5100','0','','26209000002100','4444400002100','12100','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4100','0','','4100','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5101','0','','26209000002101','4444400002101','12101','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4101','0','','4101','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5102','0','','26209000002102','4444400002102','12102','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4102','0','','4102','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5103','0','','26209000002103','4444400002103','12103','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4103','0','','4103','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5104','0','','26209000002104','4444400002104','12104','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4104','0','','4104','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5105','0','','26209000002105','4444400002105','12105','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4105','0','','4105','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5106','0','','26209000002106','4444400002106','12106','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4106','0','','4106','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5107','0','','26209000002107','4444400002107','12107','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4107','0','','4107','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5108','0','','26209000002108','4444400002108','12108','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4108','0','','4108','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5109','0','','26209000002109','4444400002109','12109','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4109','0','','4109','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5110','0','','26209000002110','4444400002110','12110','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4110','0','','4110','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5111','0','','26209000002111','4444400002111','12111','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4111','0','','4111','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5112','0','','26209000002112','4444400002112','12112','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4112','0','','4112','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5113','0','','26209000002113','4444400002113','12113','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4113','0','','4113','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5114','0','','26209000002114','4444400002114','12114','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4114','0','','4114','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5115','0','','26209000002115','4444400002115','12115','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4115','0','','4115','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5116','0','','26209000002116','4444400002116','12116','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4116','0','','4116','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5117','0','','26209000002117','4444400002117','12117','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4117','0','','4117','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5118','0','','26209000002118','4444400002118','12118','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4118','0','','4118','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5119','0','','26209000002119','4444400002119','12119','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4119','0','','4119','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5120','0','','26209000002120','4444400002120','12120','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4120','0','','4120','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5121','0','','26209000002121','4444400002121','12121','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4121','0','','4121','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5122','0','','26209000002122','4444400002122','12122','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4122','0','','4122','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5123','0','','26209000002123','4444400002123','12123','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4123','0','','4123','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5124','0','','26209000002124','4444400002124','12124','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4124','0','','4124','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5125','0','','26209000002125','4444400002125','12125','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4125','0','','4125','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5126','0','','26209000002126','4444400002126','12126','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4126','0','','4126','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5127','0','','26209000002127','4444400002127','12127','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4127','0','','4127','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5128','0','','26209000002128','4444400002128','12128','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4128','0','','4128','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5129','0','','26209000002129','4444400002129','12129','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4129','0','','4129','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5130','0','','26209000002130','4444400002130','12130','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4130','0','','4130','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5131','0','','26209000002131','4444400002131','12131','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4131','0','','4131','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5132','0','','26209000002132','4444400002132','12132','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4132','0','','4132','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5133','0','','26209000002133','4444400002133','12133','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4133','0','','4133','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5134','0','','26209000002134','4444400002134','12134','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4134','0','','4134','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5135','0','','26209000002135','4444400002135','12135','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4135','0','','4135','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5136','0','','26209000002136','4444400002136','12136','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4136','0','','4136','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5137','0','','26209000002137','4444400002137','12137','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4137','0','','4137','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5138','0','','26209000002138','4444400002138','12138','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4138','0','','4138','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5139','0','','26209000002139','4444400002139','12139','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4139','0','','4139','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5140','0','','26209000002140','4444400002140','12140','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4140','0','','4140','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5141','0','','26209000002141','4444400002141','12141','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4141','0','','4141','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5142','0','','26209000002142','4444400002142','12142','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4142','0','','4142','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5143','0','','26209000002143','4444400002143','12143','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4143','0','','4143','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5144','0','','26209000002144','4444400002144','12144','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4144','0','','4144','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5145','0','','26209000002145','4444400002145','12145','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4145','0','','4145','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5146','0','','26209000002146','4444400002146','12146','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4146','0','','4146','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5147','0','','26209000002147','4444400002147','12147','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4147','0','','4147','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5148','0','','26209000002148','4444400002148','12148','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4148','0','','4148','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5149','0','','26209000002149','4444400002149','12149','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4149','0','','4149','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5150','0','','26209000002150','4444400002150','12150','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4150','0','','4150','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5151','0','','26209000002151','4444400002151','12151','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4151','0','','4151','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5152','0','','26209000002152','4444400002152','12152','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4152','0','','4152','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5153','0','','26209000002153','4444400002153','12153','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4153','0','','4153','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5154','0','','26209000002154','4444400002154','12154','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4154','0','','4154','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5155','0','','26209000002155','4444400002155','12155','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4155','0','','4155','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5156','0','','26209000002156','4444400002156','12156','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4156','0','','4156','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5157','0','','26209000002157','4444400002157','12157','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4157','0','','4157','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5158','0','','26209000002158','4444400002158','12158','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4158','0','','4158','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5159','0','','26209000002159','4444400002159','12159','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4159','0','','4159','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5160','0','','26209000002160','4444400002160','12160','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4160','0','','4160','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5161','0','','26209000002161','4444400002161','12161','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4161','0','','4161','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5162','0','','26209000002162','4444400002162','12162','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4162','0','','4162','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5163','0','','26209000002163','4444400002163','12163','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4163','0','','4163','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5164','0','','26209000002164','4444400002164','12164','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4164','0','','4164','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5165','0','','26209000002165','4444400002165','12165','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4165','0','','4165','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5166','0','','26209000002166','4444400002166','12166','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4166','0','','4166','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5167','0','','26209000002167','4444400002167','12167','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4167','0','','4167','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5168','0','','26209000002168','4444400002168','12168','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4168','0','','4168','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5169','0','','26209000002169','4444400002169','12169','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4169','0','','4169','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5170','0','','26209000002170','4444400002170','12170','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4170','0','','4170','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5171','0','','26209000002171','4444400002171','12171','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4171','0','','4171','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5172','0','','26209000002172','4444400002172','12172','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4172','0','','4172','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5173','0','','26209000002173','4444400002173','12173','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4173','0','','4173','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5174','0','','26209000002174','4444400002174','12174','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4174','0','','4174','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5175','0','','26209000002175','4444400002175','12175','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4175','0','','4175','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5176','0','','26209000002176','4444400002176','12176','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4176','0','','4176','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5177','0','','26209000002177','4444400002177','12177','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4177','0','','4177','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5178','0','','26209000002178','4444400002178','12178','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4178','0','','4178','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5179','0','','26209000002179','4444400002179','12179','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4179','0','','4179','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5180','0','','26209000002180','4444400002180','12180','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4180','0','','4180','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5181','0','','26209000002181','4444400002181','12181','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4181','0','','4181','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5182','0','','26209000002182','4444400002182','12182','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4182','0','','4182','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5183','0','','26209000002183','4444400002183','12183','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4183','0','','4183','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5184','0','','26209000002184','4444400002184','12184','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4184','0','','4184','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5185','0','','26209000002185','4444400002185','12185','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4185','0','','4185','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5186','0','','26209000002186','4444400002186','12186','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4186','0','','4186','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5187','0','','26209000002187','4444400002187','12187','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4187','0','','4187','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5188','0','','26209000002188','4444400002188','12188','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4188','0','','4188','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5189','0','','26209000002189','4444400002189','12189','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4189','0','','4189','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5190','0','','26209000002190','4444400002190','12190','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4190','0','','4190','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5191','0','','26209000002191','4444400002191','12191','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4191','0','','4191','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5192','0','','26209000002192','4444400002192','12192','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4192','0','','4192','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5193','0','','26209000002193','4444400002193','12193','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4193','0','','4193','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5194','0','','26209000002194','4444400002194','12194','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4194','0','','4194','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5195','0','','26209000002195','4444400002195','12195','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4195','0','','4195','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5196','0','','26209000002196','4444400002196','12196','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4196','0','','4196','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5197','0','','26209000002197','4444400002197','12197','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4197','0','','4197','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5198','0','','26209000002198','4444400002198','12198','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4198','0','','4198','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5199','0','','26209000002199','4444400002199','12199','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4199','0','','4199','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5200','0','','26209000002200','4444400002200','12200','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4200','0','','4200','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5201','0','','26209000002201','4444400002201','12201','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4201','0','','4201','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5202','0','','26209000002202','4444400002202','12202','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4202','0','','4202','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5203','0','','26209000002203','4444400002203','12203','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4203','0','','4203','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5204','0','','26209000002204','4444400002204','12204','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4204','0','','4204','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5205','0','','26209000002205','4444400002205','12205','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4205','0','','4205','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5206','0','','26209000002206','4444400002206','12206','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4206','0','','4206','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5207','0','','26209000002207','4444400002207','12207','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4207','0','','4207','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5208','0','','26209000002208','4444400002208','12208','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4208','0','','4208','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5209','0','','26209000002209','4444400002209','12209','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4209','0','','4209','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5210','0','','26209000002210','4444400002210','12210','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4210','0','','4210','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5211','0','','26209000002211','4444400002211','12211','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4211','0','','4211','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5212','0','','26209000002212','4444400002212','12212','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4212','0','','4212','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5213','0','','26209000002213','4444400002213','12213','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4213','0','','4213','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5214','0','','26209000002214','4444400002214','12214','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4214','0','','4214','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5215','0','','26209000002215','4444400002215','12215','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4215','0','','4215','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5216','0','','26209000002216','4444400002216','12216','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4216','0','','4216','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5217','0','','26209000002217','4444400002217','12217','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4217','0','','4217','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5218','0','','26209000002218','4444400002218','12218','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4218','0','','4218','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5219','0','','26209000002219','4444400002219','12219','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4219','0','','4219','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5220','0','','26209000002220','4444400002220','12220','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4220','0','','4220','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5221','0','','26209000002221','4444400002221','12221','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4221','0','','4221','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5222','0','','26209000002222','4444400002222','12222','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4222','0','','4222','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5223','0','','26209000002223','4444400002223','12223','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4223','0','','4223','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5224','0','','26209000002224','4444400002224','12224','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4224','0','','4224','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5225','0','','26209000002225','4444400002225','12225','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4225','0','','4225','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5226','0','','26209000002226','4444400002226','12226','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4226','0','','4226','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5227','0','','26209000002227','4444400002227','12227','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4227','0','','4227','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5228','0','','26209000002228','4444400002228','12228','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4228','0','','4228','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5229','0','','26209000002229','4444400002229','12229','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4229','0','','4229','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5230','0','','26209000002230','4444400002230','12230','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4230','0','','4230','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5231','0','','26209000002231','4444400002231','12231','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4231','0','','4231','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5232','0','','26209000002232','4444400002232','12232','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4232','0','','4232','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5233','0','','26209000002233','4444400002233','12233','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4233','0','','4233','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5234','0','','26209000002234','4444400002234','12234','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4234','0','','4234','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5235','0','','26209000002235','4444400002235','12235','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4235','0','','4235','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5236','0','','26209000002236','4444400002236','12236','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4236','0','','4236','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5237','0','','26209000002237','4444400002237','12237','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4237','0','','4237','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5238','0','','26209000002238','4444400002238','12238','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4238','0','','4238','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5239','0','','26209000002239','4444400002239','12239','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4239','0','','4239','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5240','0','','26209000002240','4444400002240','12240','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4240','0','','4240','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5241','0','','26209000002241','4444400002241','12241','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4241','0','','4241','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5242','0','','26209000002242','4444400002242','12242','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4242','0','','4242','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5243','0','','26209000002243','4444400002243','12243','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4243','0','','4243','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5244','0','','26209000002244','4444400002244','12244','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4244','0','','4244','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5245','0','','26209000002245','4444400002245','12245','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4245','0','','4245','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5246','0','','26209000002246','4444400002246','12246','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4246','0','','4246','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5247','0','','26209000002247','4444400002247','12247','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4247','0','','4247','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5248','0','','26209000002248','4444400002248','12248','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4248','0','','4248','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5249','0','','26209000002249','4444400002249','12249','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4249','0','','4249','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5250','0','','26209000002250','4444400002250','12250','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4250','0','','4250','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5251','0','','26209000002251','4444400002251','12251','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4251','0','','4251','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5252','0','','26209000002252','4444400002252','12252','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4252','0','','4252','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5253','0','','26209000002253','4444400002253','12253','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4253','0','','4253','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5254','0','','26209000002254','4444400002254','12254','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4254','0','','4254','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5255','0','','26209000002255','4444400002255','12255','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4255','0','','4255','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5256','0','','26209000002256','4444400002256','12256','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4256','0','','4256','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5257','0','','26209000002257','4444400002257','12257','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4257','0','','4257','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5258','0','','26209000002258','4444400002258','12258','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4258','0','','4258','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5259','0','','26209000002259','4444400002259','12259','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4259','0','','4259','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5260','0','','26209000002260','4444400002260','12260','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4260','0','','4260','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5261','0','','26209000002261','4444400002261','12261','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4261','0','','4261','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5262','0','','26209000002262','4444400002262','12262','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4262','0','','4262','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5263','0','','26209000002263','4444400002263','12263','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4263','0','','4263','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5264','0','','26209000002264','4444400002264','12264','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4264','0','','4264','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5265','0','','26209000002265','4444400002265','12265','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4265','0','','4265','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5266','0','','26209000002266','4444400002266','12266','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4266','0','','4266','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5267','0','','26209000002267','4444400002267','12267','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4267','0','','4267','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5268','0','','26209000002268','4444400002268','12268','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4268','0','','4268','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5269','0','','26209000002269','4444400002269','12269','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4269','0','','4269','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5270','0','','26209000002270','4444400002270','12270','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4270','0','','4270','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5271','0','','26209000002271','4444400002271','12271','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4271','0','','4271','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5272','0','','26209000002272','4444400002272','12272','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4272','0','','4272','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5273','0','','26209000002273','4444400002273','12273','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4273','0','','4273','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5274','0','','26209000002274','4444400002274','12274','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4274','0','','4274','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5275','0','','26209000002275','4444400002275','12275','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4275','0','','4275','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5276','0','','26209000002276','4444400002276','12276','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4276','0','','4276','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5277','0','','26209000002277','4444400002277','12277','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4277','0','','4277','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5278','0','','26209000002278','4444400002278','12278','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4278','0','','4278','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5279','0','','26209000002279','4444400002279','12279','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4279','0','','4279','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5280','0','','26209000002280','4444400002280','12280','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4280','0','','4280','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5281','0','','26209000002281','4444400002281','12281','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4281','0','','4281','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5282','0','','26209000002282','4444400002282','12282','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4282','0','','4282','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5283','0','','26209000002283','4444400002283','12283','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4283','0','','4283','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5284','0','','26209000002284','4444400002284','12284','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4284','0','','4284','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5285','0','','26209000002285','4444400002285','12285','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4285','0','','4285','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5286','0','','26209000002286','4444400002286','12286','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4286','0','','4286','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5287','0','','26209000002287','4444400002287','12287','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4287','0','','4287','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5288','0','','26209000002288','4444400002288','12288','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4288','0','','4288','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5289','0','','26209000002289','4444400002289','12289','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4289','0','','4289','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5290','0','','26209000002290','4444400002290','12290','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4290','0','','4290','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5291','0','','26209000002291','4444400002291','12291','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4291','0','','4291','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5292','0','','26209000002292','4444400002292','12292','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4292','0','','4292','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5293','0','','26209000002293','4444400002293','12293','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4293','0','','4293','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5294','0','','26209000002294','4444400002294','12294','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4294','0','','4294','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5295','0','','26209000002295','4444400002295','12295','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4295','0','','4295','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5296','0','','26209000002296','4444400002296','12296','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4296','0','','4296','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5297','0','','26209000002297','4444400002297','12297','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4297','0','','4297','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5298','0','','26209000002298','4444400002298','12298','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4298','0','','4298','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5299','0','','26209000002299','4444400002299','12299','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4299','0','','4299','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5300','0','','26209000002300','4444400002300','12300','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4300','0','','4300','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5301','0','','26209000002301','4444400002301','12301','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4301','0','','4301','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5302','0','','26209000002302','4444400002302','12302','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4302','0','','4302','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5303','0','','26209000002303','4444400002303','12303','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4303','0','','4303','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5304','0','','26209000002304','4444400002304','12304','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4304','0','','4304','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5305','0','','26209000002305','4444400002305','12305','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4305','0','','4305','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5306','0','','26209000002306','4444400002306','12306','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4306','0','','4306','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5307','0','','26209000002307','4444400002307','12307','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4307','0','','4307','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5308','0','','26209000002308','4444400002308','12308','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4308','0','','4308','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5309','0','','26209000002309','4444400002309','12309','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4309','0','','4309','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5310','0','','26209000002310','4444400002310','12310','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4310','0','','4310','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5311','0','','26209000002311','4444400002311','12311','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4311','0','','4311','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5312','0','','26209000002312','4444400002312','12312','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4312','0','','4312','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5313','0','','26209000002313','4444400002313','12313','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4313','0','','4313','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5314','0','','26209000002314','4444400002314','12314','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4314','0','','4314','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5315','0','','26209000002315','4444400002315','12315','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4315','0','','4315','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5316','0','','26209000002316','4444400002316','12316','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4316','0','','4316','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5317','0','','26209000002317','4444400002317','12317','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4317','0','','4317','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5318','0','','26209000002318','4444400002318','12318','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4318','0','','4318','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5319','0','','26209000002319','4444400002319','12319','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4319','0','','4319','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5320','0','','26209000002320','4444400002320','12320','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4320','0','','4320','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5321','0','','26209000002321','4444400002321','12321','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4321','0','','4321','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5322','0','','26209000002322','4444400002322','12322','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4322','0','','4322','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5323','0','','26209000002323','4444400002323','12323','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4323','0','','4323','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5324','0','','26209000002324','4444400002324','12324','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4324','0','','4324','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5325','0','','26209000002325','4444400002325','12325','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4325','0','','4325','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5326','0','','26209000002326','4444400002326','12326','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4326','0','','4326','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5327','0','','26209000002327','4444400002327','12327','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4327','0','','4327','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5328','0','','26209000002328','4444400002328','12328','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4328','0','','4328','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5329','0','','26209000002329','4444400002329','12329','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4329','0','','4329','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5330','0','','26209000002330','4444400002330','12330','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4330','0','','4330','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5331','0','','26209000002331','4444400002331','12331','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4331','0','','4331','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5332','0','','26209000002332','4444400002332','12332','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4332','0','','4332','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5333','0','','26209000002333','4444400002333','12333','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4333','0','','4333','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5334','0','','26209000002334','4444400002334','12334','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4334','0','','4334','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5335','0','','26209000002335','4444400002335','12335','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4335','0','','4335','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5336','0','','26209000002336','4444400002336','12336','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4336','0','','4336','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5337','0','','26209000002337','4444400002337','12337','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4337','0','','4337','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5338','0','','26209000002338','4444400002338','12338','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4338','0','','4338','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5339','0','','26209000002339','4444400002339','12339','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4339','0','','4339','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5340','0','','26209000002340','4444400002340','12340','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4340','0','','4340','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5341','0','','26209000002341','4444400002341','12341','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4341','0','','4341','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5342','0','','26209000002342','4444400002342','12342','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4342','0','','4342','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5343','0','','26209000002343','4444400002343','12343','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4343','0','','4343','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5344','0','','26209000002344','4444400002344','12344','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4344','0','','4344','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5345','0','','26209000002345','4444400002345','12345','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4345','0','','4345','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5346','0','','26209000002346','4444400002346','12346','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4346','0','','4346','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5347','0','','26209000002347','4444400002347','12347','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4347','0','','4347','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5348','0','','26209000002348','4444400002348','12348','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4348','0','','4348','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5349','0','','26209000002349','4444400002349','12349','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4349','0','','4349','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5350','0','','26209000002350','4444400002350','12350','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4350','0','','4350','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5351','0','','26209000002351','4444400002351','12351','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4351','0','','4351','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5352','0','','26209000002352','4444400002352','12352','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4352','0','','4352','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5353','0','','26209000002353','4444400002353','12353','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4353','0','','4353','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5354','0','','26209000002354','4444400002354','12354','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4354','0','','4354','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5355','0','','26209000002355','4444400002355','12355','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4355','0','','4355','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5356','0','','26209000002356','4444400002356','12356','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4356','0','','4356','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5357','0','','26209000002357','4444400002357','12357','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4357','0','','4357','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5358','0','','26209000002358','4444400002358','12358','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4358','0','','4358','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5359','0','','26209000002359','4444400002359','12359','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4359','0','','4359','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5360','0','','26209000002360','4444400002360','12360','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4360','0','','4360','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5361','0','','26209000002361','4444400002361','12361','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4361','0','','4361','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5362','0','','26209000002362','4444400002362','12362','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4362','0','','4362','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5363','0','','26209000002363','4444400002363','12363','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4363','0','','4363','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5364','0','','26209000002364','4444400002364','12364','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4364','0','','4364','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5365','0','','26209000002365','4444400002365','12365','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4365','0','','4365','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5366','0','','26209000002366','4444400002366','12366','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4366','0','','4366','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5367','0','','26209000002367','4444400002367','12367','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4367','0','','4367','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5368','0','','26209000002368','4444400002368','12368','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4368','0','','4368','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5369','0','','26209000002369','4444400002369','12369','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4369','0','','4369','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5370','0','','26209000002370','4444400002370','12370','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4370','0','','4370','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5371','0','','26209000002371','4444400002371','12371','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4371','0','','4371','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5372','0','','26209000002372','4444400002372','12372','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4372','0','','4372','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5373','0','','26209000002373','4444400002373','12373','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4373','0','','4373','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5374','0','','26209000002374','4444400002374','12374','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4374','0','','4374','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5375','0','','26209000002375','4444400002375','12375','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4375','0','','4375','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5376','0','','26209000002376','4444400002376','12376','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4376','0','','4376','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5377','0','','26209000002377','4444400002377','12377','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4377','0','','4377','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5378','0','','26209000002378','4444400002378','12378','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4378','0','','4378','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5379','0','','26209000002379','4444400002379','12379','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4379','0','','4379','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5380','0','','26209000002380','4444400002380','12380','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4380','0','','4380','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5381','0','','26209000002381','4444400002381','12381','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4381','0','','4381','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5382','0','','26209000002382','4444400002382','12382','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4382','0','','4382','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5383','0','','26209000002383','4444400002383','12383','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4383','0','','4383','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5384','0','','26209000002384','4444400002384','12384','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4384','0','','4384','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5385','0','','26209000002385','4444400002385','12385','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4385','0','','4385','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5386','0','','26209000002386','4444400002386','12386','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4386','0','','4386','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5387','0','','26209000002387','4444400002387','12387','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4387','0','','4387','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5388','0','','26209000002388','4444400002388','12388','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4388','0','','4388','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5389','0','','26209000002389','4444400002389','12389','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4389','0','','4389','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5390','0','','26209000002390','4444400002390','12390','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4390','0','','4390','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5391','0','','26209000002391','4444400002391','12391','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4391','0','','4391','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5392','0','','26209000002392','4444400002392','12392','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4392','0','','4392','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5393','0','','26209000002393','4444400002393','12393','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4393','0','','4393','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5394','0','','26209000002394','4444400002394','12394','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4394','0','','4394','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5395','0','','26209000002395','4444400002395','12395','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4395','0','','4395','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5396','0','','26209000002396','4444400002396','12396','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4396','0','','4396','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5397','0','','26209000002397','4444400002397','12397','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4397','0','','4397','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5398','0','','26209000002398','4444400002398','12398','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4398','0','','4398','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5399','0','','26209000002399','4444400002399','12399','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4399','0','','4399','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5400','0','','26209000002400','4444400002400','12400','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4400','0','','4400','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5401','0','','26209000002401','4444400002401','12401','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4401','0','','4401','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5402','0','','26209000002402','4444400002402','12402','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4402','0','','4402','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5403','0','','26209000002403','4444400002403','12403','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4403','0','','4403','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5404','0','','26209000002404','4444400002404','12404','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4404','0','','4404','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5405','0','','26209000002405','4444400002405','12405','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4405','0','','4405','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5406','0','','26209000002406','4444400002406','12406','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4406','0','','4406','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5407','0','','26209000002407','4444400002407','12407','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4407','0','','4407','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5408','0','','26209000002408','4444400002408','12408','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4408','0','','4408','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5409','0','','26209000002409','4444400002409','12409','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4409','0','','4409','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5410','0','','26209000002410','4444400002410','12410','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4410','0','','4410','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5411','0','','26209000002411','4444400002411','12411','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4411','0','','4411','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5412','0','','26209000002412','4444400002412','12412','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4412','0','','4412','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5413','0','','26209000002413','4444400002413','12413','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4413','0','','4413','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5414','0','','26209000002414','4444400002414','12414','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4414','0','','4414','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5415','0','','26209000002415','4444400002415','12415','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4415','0','','4415','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5416','0','','26209000002416','4444400002416','12416','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4416','0','','4416','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5417','0','','26209000002417','4444400002417','12417','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4417','0','','4417','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5418','0','','26209000002418','4444400002418','12418','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4418','0','','4418','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5419','0','','26209000002419','4444400002419','12419','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4419','0','','4419','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5420','0','','26209000002420','4444400002420','12420','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4420','0','','4420','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5421','0','','26209000002421','4444400002421','12421','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4421','0','','4421','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5422','0','','26209000002422','4444400002422','12422','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4422','0','','4422','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5423','0','','26209000002423','4444400002423','12423','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4423','0','','4423','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5424','0','','26209000002424','4444400002424','12424','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4424','0','','4424','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5425','0','','26209000002425','4444400002425','12425','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4425','0','','4425','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5426','0','','26209000002426','4444400002426','12426','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4426','0','','4426','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5427','0','','26209000002427','4444400002427','12427','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4427','0','','4427','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5428','0','','26209000002428','4444400002428','12428','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4428','0','','4428','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5429','0','','26209000002429','4444400002429','12429','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4429','0','','4429','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5430','0','','26209000002430','4444400002430','12430','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4430','0','','4430','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5431','0','','26209000002431','4444400002431','12431','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4431','0','','4431','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5432','0','','26209000002432','4444400002432','12432','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4432','0','','4432','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5433','0','','26209000002433','4444400002433','12433','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4433','0','','4433','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5434','0','','26209000002434','4444400002434','12434','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4434','0','','4434','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5435','0','','26209000002435','4444400002435','12435','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4435','0','','4435','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5436','0','','26209000002436','4444400002436','12436','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4436','0','','4436','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5437','0','','26209000002437','4444400002437','12437','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4437','0','','4437','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5438','0','','26209000002438','4444400002438','12438','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4438','0','','4438','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5439','0','','26209000002439','4444400002439','12439','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4439','0','','4439','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5440','0','','26209000002440','4444400002440','12440','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4440','0','','4440','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5441','0','','26209000002441','4444400002441','12441','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4441','0','','4441','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5442','0','','26209000002442','4444400002442','12442','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4442','0','','4442','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5443','0','','26209000002443','4444400002443','12443','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4443','0','','4443','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5444','0','','26209000002444','4444400002444','12444','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4444','0','','4444','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5445','0','','26209000002445','4444400002445','12445','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4445','0','','4445','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5446','0','','26209000002446','4444400002446','12446','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4446','0','','4446','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5447','0','','26209000002447','4444400002447','12447','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4447','0','','4447','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5448','0','','26209000002448','4444400002448','12448','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4448','0','','4448','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5449','0','','26209000002449','4444400002449','12449','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4449','0','','4449','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5450','0','','26209000002450','4444400002450','12450','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4450','0','','4450','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5451','0','','26209000002451','4444400002451','12451','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4451','0','','4451','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5452','0','','26209000002452','4444400002452','12452','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4452','0','','4452','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5453','0','','26209000002453','4444400002453','12453','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4453','0','','4453','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5454','0','','26209000002454','4444400002454','12454','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4454','0','','4454','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5455','0','','26209000002455','4444400002455','12455','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4455','0','','4455','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5456','0','','26209000002456','4444400002456','12456','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4456','0','','4456','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5457','0','','26209000002457','4444400002457','12457','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4457','0','','4457','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5458','0','','26209000002458','4444400002458','12458','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4458','0','','4458','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5459','0','','26209000002459','4444400002459','12459','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4459','0','','4459','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5460','0','','26209000002460','4444400002460','12460','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4460','0','','4460','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5461','0','','26209000002461','4444400002461','12461','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4461','0','','4461','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5462','0','','26209000002462','4444400002462','12462','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4462','0','','4462','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5463','0','','26209000002463','4444400002463','12463','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4463','0','','4463','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5464','0','','26209000002464','4444400002464','12464','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4464','0','','4464','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5465','0','','26209000002465','4444400002465','12465','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4465','0','','4465','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5466','0','','26209000002466','4444400002466','12466','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4466','0','','4466','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5467','0','','26209000002467','4444400002467','12467','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4467','0','','4467','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5468','0','','26209000002468','4444400002468','12468','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4468','0','','4468','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5469','0','','26209000002469','4444400002469','12469','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4469','0','','4469','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5470','0','','26209000002470','4444400002470','12470','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4470','0','','4470','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5471','0','','26209000002471','4444400002471','12471','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4471','0','','4471','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5472','0','','26209000002472','4444400002472','12472','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4472','0','','4472','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5473','0','','26209000002473','4444400002473','12473','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4473','0','','4473','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5474','0','','26209000002474','4444400002474','12474','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4474','0','','4474','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5475','0','','26209000002475','4444400002475','12475','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4475','0','','4475','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5476','0','','26209000002476','4444400002476','12476','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4476','0','','4476','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5477','0','','26209000002477','4444400002477','12477','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4477','0','','4477','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5478','0','','26209000002478','4444400002478','12478','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4478','0','','4478','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5479','0','','26209000002479','4444400002479','12479','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4479','0','','4479','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5480','0','','26209000002480','4444400002480','12480','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4480','0','','4480','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5481','0','','26209000002481','4444400002481','12481','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4481','0','','4481','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5482','0','','26209000002482','4444400002482','12482','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4482','0','','4482','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5483','0','','26209000002483','4444400002483','12483','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4483','0','','4483','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5484','0','','26209000002484','4444400002484','12484','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4484','0','','4484','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5485','0','','26209000002485','4444400002485','12485','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4485','0','','4485','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5486','0','','26209000002486','4444400002486','12486','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4486','0','','4486','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5487','0','','26209000002487','4444400002487','12487','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4487','0','','4487','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5488','0','','26209000002488','4444400002488','12488','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4488','0','','4488','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5489','0','','26209000002489','4444400002489','12489','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4489','0','','4489','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5490','0','','26209000002490','4444400002490','12490','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4490','0','','4490','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5491','0','','26209000002491','4444400002491','12491','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4491','0','','4491','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5492','0','','26209000002492','4444400002492','12492','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4492','0','','4492','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5493','0','','26209000002493','4444400002493','12493','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4493','0','','4493','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5494','0','','26209000002494','4444400002494','12494','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4494','0','','4494','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5495','0','','26209000002495','4444400002495','12495','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4495','0','','4495','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5496','0','','26209000002496','4444400002496','12496','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4496','0','','4496','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5497','0','','26209000002497','4444400002497','12497','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4497','0','','4497','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5498','0','','26209000002498','4444400002498','12498','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4498','0','','4498','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5499','0','','26209000002499','4444400002499','12499','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4499','0','','4499','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5500','0','','26209000002500','4444400002500','12500','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4500','0','','4500','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5501','0','','26209000002501','4444400002501','12501','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4501','0','','4501','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5502','0','','26209000002502','4444400002502','12502','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4502','0','','4502','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5503','0','','26209000002503','4444400002503','12503','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4503','0','','4503','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5504','0','','26209000002504','4444400002504','12504','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4504','0','','4504','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5505','0','','26209000002505','4444400002505','12505','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4505','0','','4505','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5506','0','','26209000002506','4444400002506','12506','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4506','0','','4506','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5507','0','','26209000002507','4444400002507','12507','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4507','0','','4507','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5508','0','','26209000002508','4444400002508','12508','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4508','0','','4508','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5509','0','','26209000002509','4444400002509','12509','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4509','0','','4509','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5510','0','','26209000002510','4444400002510','12510','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4510','0','','4510','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5511','0','','26209000002511','4444400002511','12511','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4511','0','','4511','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5512','0','','26209000002512','4444400002512','12512','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4512','0','','4512','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5513','0','','26209000002513','4444400002513','12513','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4513','0','','4513','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5514','0','','26209000002514','4444400002514','12514','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4514','0','','4514','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5515','0','','26209000002515','4444400002515','12515','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4515','0','','4515','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5516','0','','26209000002516','4444400002516','12516','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4516','0','','4516','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5517','0','','26209000002517','4444400002517','12517','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4517','0','','4517','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5518','0','','26209000002518','4444400002518','12518','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4518','0','','4518','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5519','0','','26209000002519','4444400002519','12519','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4519','0','','4519','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5520','0','','26209000002520','4444400002520','12520','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4520','0','','4520','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5521','0','','26209000002521','4444400002521','12521','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4521','0','','4521','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5522','0','','26209000002522','4444400002522','12522','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4522','0','','4522','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5523','0','','26209000002523','4444400002523','12523','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4523','0','','4523','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5524','0','','26209000002524','4444400002524','12524','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4524','0','','4524','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5525','0','','26209000002525','4444400002525','12525','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4525','0','','4525','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5526','0','','26209000002526','4444400002526','12526','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4526','0','','4526','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5527','0','','26209000002527','4444400002527','12527','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4527','0','','4527','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5528','0','','26209000002528','4444400002528','12528','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4528','0','','4528','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5529','0','','26209000002529','4444400002529','12529','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4529','0','','4529','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5530','0','','26209000002530','4444400002530','12530','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4530','0','','4530','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5531','0','','26209000002531','4444400002531','12531','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4531','0','','4531','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5532','0','','26209000002532','4444400002532','12532','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4532','0','','4532','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5533','0','','26209000002533','4444400002533','12533','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4533','0','','4533','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5534','0','','26209000002534','4444400002534','12534','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4534','0','','4534','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5535','0','','26209000002535','4444400002535','12535','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4535','0','','4535','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5536','0','','26209000002536','4444400002536','12536','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4536','0','','4536','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5537','0','','26209000002537','4444400002537','12537','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4537','0','','4537','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5538','0','','26209000002538','4444400002538','12538','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4538','0','','4538','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5539','0','','26209000002539','4444400002539','12539','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4539','0','','4539','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5540','0','','26209000002540','4444400002540','12540','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4540','0','','4540','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5541','0','','26209000002541','4444400002541','12541','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4541','0','','4541','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5542','0','','26209000002542','4444400002542','12542','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4542','0','','4542','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5543','0','','26209000002543','4444400002543','12543','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4543','0','','4543','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5544','0','','26209000002544','4444400002544','12544','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4544','0','','4544','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5545','0','','26209000002545','4444400002545','12545','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4545','0','','4545','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5546','0','','26209000002546','4444400002546','12546','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4546','0','','4546','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5547','0','','26209000002547','4444400002547','12547','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4547','0','','4547','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5548','0','','26209000002548','4444400002548','12548','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4548','0','','4548','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5549','0','','26209000002549','4444400002549','12549','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4549','0','','4549','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5550','0','','26209000002550','4444400002550','12550','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4550','0','','4550','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5551','0','','26209000002551','4444400002551','12551','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4551','0','','4551','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5552','0','','26209000002552','4444400002552','12552','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4552','0','','4552','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5553','0','','26209000002553','4444400002553','12553','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4553','0','','4553','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5554','0','','26209000002554','4444400002554','12554','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4554','0','','4554','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5555','0','','26209000002555','4444400002555','12555','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4555','0','','4555','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5556','0','','26209000002556','4444400002556','12556','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4556','0','','4556','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5557','0','','26209000002557','4444400002557','12557','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4557','0','','4557','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5558','0','','26209000002558','4444400002558','12558','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4558','0','','4558','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5559','0','','26209000002559','4444400002559','12559','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4559','0','','4559','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5560','0','','26209000002560','4444400002560','12560','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4560','0','','4560','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5561','0','','26209000002561','4444400002561','12561','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4561','0','','4561','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5562','0','','26209000002562','4444400002562','12562','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4562','0','','4562','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5563','0','','26209000002563','4444400002563','12563','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4563','0','','4563','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5564','0','','26209000002564','4444400002564','12564','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4564','0','','4564','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5565','0','','26209000002565','4444400002565','12565','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4565','0','','4565','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5566','0','','26209000002566','4444400002566','12566','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4566','0','','4566','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5567','0','','26209000002567','4444400002567','12567','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4567','0','','4567','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5568','0','','26209000002568','4444400002568','12568','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4568','0','','4568','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5569','0','','26209000002569','4444400002569','12569','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4569','0','','4569','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5570','0','','26209000002570','4444400002570','12570','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4570','0','','4570','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5571','0','','26209000002571','4444400002571','12571','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4571','0','','4571','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5572','0','','26209000002572','4444400002572','12572','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4572','0','','4572','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5573','0','','26209000002573','4444400002573','12573','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4573','0','','4573','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5574','0','','26209000002574','4444400002574','12574','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4574','0','','4574','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5575','0','','26209000002575','4444400002575','12575','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4575','0','','4575','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5576','0','','26209000002576','4444400002576','12576','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4576','0','','4576','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5577','0','','26209000002577','4444400002577','12577','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4577','0','','4577','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5578','0','','26209000002578','4444400002578','12578','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4578','0','','4578','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5579','0','','26209000002579','4444400002579','12579','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4579','0','','4579','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5580','0','','26209000002580','4444400002580','12580','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4580','0','','4580','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5581','0','','26209000002581','4444400002581','12581','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4581','0','','4581','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5582','0','','26209000002582','4444400002582','12582','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4582','0','','4582','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5583','0','','26209000002583','4444400002583','12583','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4583','0','','4583','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5584','0','','26209000002584','4444400002584','12584','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4584','0','','4584','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5585','0','','26209000002585','4444400002585','12585','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4585','0','','4585','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5586','0','','26209000002586','4444400002586','12586','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4586','0','','4586','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5587','0','','26209000002587','4444400002587','12587','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4587','0','','4587','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5588','0','','26209000002588','4444400002588','12588','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4588','0','','4588','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5589','0','','26209000002589','4444400002589','12589','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4589','0','','4589','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5590','0','','26209000002590','4444400002590','12590','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4590','0','','4590','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5591','0','','26209000002591','4444400002591','12591','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4591','0','','4591','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5592','0','','26209000002592','4444400002592','12592','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4592','0','','4592','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5593','0','','26209000002593','4444400002593','12593','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4593','0','','4593','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5594','0','','26209000002594','4444400002594','12594','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4594','0','','4594','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5595','0','','26209000002595','4444400002595','12595','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4595','0','','4595','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5596','0','','26209000002596','4444400002596','12596','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4596','0','','4596','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5597','0','','26209000002597','4444400002597','12597','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4597','0','','4597','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5598','0','','26209000002598','4444400002598','12598','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4598','0','','4598','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5599','0','','26209000002599','4444400002599','12599','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4599','0','','4599','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5600','0','','26209000002600','4444400002600','12600','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4600','0','','4600','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5601','0','','26209000002601','4444400002601','12601','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4601','0','','4601','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5602','0','','26209000002602','4444400002602','12602','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4602','0','','4602','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5603','0','','26209000002603','4444400002603','12603','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4603','0','','4603','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5604','0','','26209000002604','4444400002604','12604','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4604','0','','4604','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5605','0','','26209000002605','4444400002605','12605','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4605','0','','4605','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5606','0','','26209000002606','4444400002606','12606','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4606','0','','4606','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5607','0','','26209000002607','4444400002607','12607','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4607','0','','4607','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5608','0','','26209000002608','4444400002608','12608','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4608','0','','4608','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5609','0','','26209000002609','4444400002609','12609','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4609','0','','4609','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5610','0','','26209000002610','4444400002610','12610','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4610','0','','4610','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5611','0','','26209000002611','4444400002611','12611','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4611','0','','4611','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5612','0','','26209000002612','4444400002612','12612','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4612','0','','4612','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5613','0','','26209000002613','4444400002613','12613','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4613','0','','4613','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5614','0','','26209000002614','4444400002614','12614','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4614','0','','4614','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5615','0','','26209000002615','4444400002615','12615','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4615','0','','4615','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5616','0','','26209000002616','4444400002616','12616','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4616','0','','4616','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5617','0','','26209000002617','4444400002617','12617','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4617','0','','4617','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5618','0','','26209000002618','4444400002618','12618','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4618','0','','4618','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5619','0','','26209000002619','4444400002619','12619','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4619','0','','4619','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5620','0','','26209000002620','4444400002620','12620','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4620','0','','4620','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5621','0','','26209000002621','4444400002621','12621','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4621','0','','4621','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5622','0','','26209000002622','4444400002622','12622','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4622','0','','4622','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5623','0','','26209000002623','4444400002623','12623','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4623','0','','4623','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5624','0','','26209000002624','4444400002624','12624','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4624','0','','4624','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5625','0','','26209000002625','4444400002625','12625','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4625','0','','4625','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5626','0','','26209000002626','4444400002626','12626','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4626','0','','4626','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5627','0','','26209000002627','4444400002627','12627','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4627','0','','4627','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5628','0','','26209000002628','4444400002628','12628','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4628','0','','4628','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5629','0','','26209000002629','4444400002629','12629','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4629','0','','4629','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5630','0','','26209000002630','4444400002630','12630','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4630','0','','4630','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5631','0','','26209000002631','4444400002631','12631','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4631','0','','4631','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5632','0','','26209000002632','4444400002632','12632','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4632','0','','4632','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5633','0','','26209000002633','4444400002633','12633','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4633','0','','4633','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5634','0','','26209000002634','4444400002634','12634','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4634','0','','4634','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5635','0','','26209000002635','4444400002635','12635','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4635','0','','4635','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5636','0','','26209000002636','4444400002636','12636','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4636','0','','4636','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5637','0','','26209000002637','4444400002637','12637','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4637','0','','4637','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5638','0','','26209000002638','4444400002638','12638','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4638','0','','4638','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5639','0','','26209000002639','4444400002639','12639','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4639','0','','4639','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5640','0','','26209000002640','4444400002640','12640','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4640','0','','4640','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5641','0','','26209000002641','4444400002641','12641','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4641','0','','4641','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5642','0','','26209000002642','4444400002642','12642','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4642','0','','4642','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5643','0','','26209000002643','4444400002643','12643','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4643','0','','4643','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5644','0','','26209000002644','4444400002644','12644','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4644','0','','4644','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5645','0','','26209000002645','4444400002645','12645','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4645','0','','4645','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5646','0','','26209000002646','4444400002646','12646','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4646','0','','4646','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5647','0','','26209000002647','4444400002647','12647','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4647','0','','4647','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5648','0','','26209000002648','4444400002648','12648','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4648','0','','4648','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5649','0','','26209000002649','4444400002649','12649','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4649','0','','4649','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5650','0','','26209000002650','4444400002650','12650','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4650','0','','4650','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5651','0','','26209000002651','4444400002651','12651','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4651','0','','4651','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5652','0','','26209000002652','4444400002652','12652','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4652','0','','4652','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5653','0','','26209000002653','4444400002653','12653','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4653','0','','4653','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5654','0','','26209000002654','4444400002654','12654','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4654','0','','4654','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5655','0','','26209000002655','4444400002655','12655','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4655','0','','4655','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5656','0','','26209000002656','4444400002656','12656','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4656','0','','4656','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5657','0','','26209000002657','4444400002657','12657','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4657','0','','4657','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5658','0','','26209000002658','4444400002658','12658','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4658','0','','4658','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5659','0','','26209000002659','4444400002659','12659','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4659','0','','4659','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5660','0','','26209000002660','4444400002660','12660','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4660','0','','4660','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5661','0','','26209000002661','4444400002661','12661','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4661','0','','4661','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5662','0','','26209000002662','4444400002662','12662','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4662','0','','4662','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5663','0','','26209000002663','4444400002663','12663','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4663','0','','4663','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5664','0','','26209000002664','4444400002664','12664','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4664','0','','4664','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5665','0','','26209000002665','4444400002665','12665','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4665','0','','4665','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5666','0','','26209000002666','4444400002666','12666','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4666','0','','4666','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5667','0','','26209000002667','4444400002667','12667','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4667','0','','4667','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5668','0','','26209000002668','4444400002668','12668','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4668','0','','4668','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5669','0','','26209000002669','4444400002669','12669','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4669','0','','4669','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5670','0','','26209000002670','4444400002670','12670','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4670','0','','4670','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5671','0','','26209000002671','4444400002671','12671','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4671','0','','4671','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5672','0','','26209000002672','4444400002672','12672','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4672','0','','4672','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5673','0','','26209000002673','4444400002673','12673','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4673','0','','4673','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5674','0','','26209000002674','4444400002674','12674','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4674','0','','4674','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5675','0','','26209000002675','4444400002675','12675','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4675','0','','4675','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5676','0','','26209000002676','4444400002676','12676','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4676','0','','4676','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5677','0','','26209000002677','4444400002677','12677','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4677','0','','4677','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5678','0','','26209000002678','4444400002678','12678','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4678','0','','4678','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5679','0','','26209000002679','4444400002679','12679','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4679','0','','4679','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5680','0','','26209000002680','4444400002680','12680','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4680','0','','4680','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5681','0','','26209000002681','4444400002681','12681','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4681','0','','4681','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5682','0','','26209000002682','4444400002682','12682','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4682','0','','4682','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5683','0','','26209000002683','4444400002683','12683','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4683','0','','4683','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5684','0','','26209000002684','4444400002684','12684','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4684','0','','4684','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5685','0','','26209000002685','4444400002685','12685','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4685','0','','4685','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5686','0','','26209000002686','4444400002686','12686','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4686','0','','4686','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5687','0','','26209000002687','4444400002687','12687','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4687','0','','4687','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5688','0','','26209000002688','4444400002688','12688','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4688','0','','4688','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5689','0','','26209000002689','4444400002689','12689','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4689','0','','4689','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5690','0','','26209000002690','4444400002690','12690','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4690','0','','4690','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5691','0','','26209000002691','4444400002691','12691','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4691','0','','4691','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5692','0','','26209000002692','4444400002692','12692','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4692','0','','4692','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5693','0','','26209000002693','4444400002693','12693','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4693','0','','4693','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5694','0','','26209000002694','4444400002694','12694','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4694','0','','4694','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5695','0','','26209000002695','4444400002695','12695','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4695','0','','4695','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5696','0','','26209000002696','4444400002696','12696','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4696','0','','4696','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5697','0','','26209000002697','4444400002697','12697','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4697','0','','4697','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5698','0','','26209000002698','4444400002698','12698','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4698','0','','4698','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5699','0','','26209000002699','4444400002699','12699','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4699','0','','4699','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5700','0','','26209000002700','4444400002700','12700','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4700','0','','4700','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5701','0','','26209000002701','4444400002701','12701','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4701','0','','4701','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5702','0','','26209000002702','4444400002702','12702','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4702','0','','4702','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5703','0','','26209000002703','4444400002703','12703','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4703','0','','4703','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5704','0','','26209000002704','4444400002704','12704','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4704','0','','4704','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5705','0','','26209000002705','4444400002705','12705','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4705','0','','4705','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5706','0','','26209000002706','4444400002706','12706','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4706','0','','4706','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5707','0','','26209000002707','4444400002707','12707','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4707','0','','4707','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5708','0','','26209000002708','4444400002708','12708','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4708','0','','4708','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5709','0','','26209000002709','4444400002709','12709','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4709','0','','4709','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5710','0','','26209000002710','4444400002710','12710','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4710','0','','4710','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5711','0','','26209000002711','4444400002711','12711','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4711','0','','4711','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5712','0','','26209000002712','4444400002712','12712','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4712','0','','4712','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5713','0','','26209000002713','4444400002713','12713','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4713','0','','4713','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5714','0','','26209000002714','4444400002714','12714','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4714','0','','4714','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5715','0','','26209000002715','4444400002715','12715','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4715','0','','4715','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5716','0','','26209000002716','4444400002716','12716','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4716','0','','4716','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5717','0','','26209000002717','4444400002717','12717','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4717','0','','4717','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5718','0','','26209000002718','4444400002718','12718','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4718','0','','4718','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5719','0','','26209000002719','4444400002719','12719','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4719','0','','4719','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5720','0','','26209000002720','4444400002720','12720','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4720','0','','4720','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5721','0','','26209000002721','4444400002721','12721','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4721','0','','4721','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5722','0','','26209000002722','4444400002722','12722','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4722','0','','4722','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5723','0','','26209000002723','4444400002723','12723','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4723','0','','4723','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5724','0','','26209000002724','4444400002724','12724','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4724','0','','4724','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5725','0','','26209000002725','4444400002725','12725','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4725','0','','4725','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5726','0','','26209000002726','4444400002726','12726','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4726','0','','4726','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5727','0','','26209000002727','4444400002727','12727','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4727','0','','4727','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5728','0','','26209000002728','4444400002728','12728','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4728','0','','4728','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5729','0','','26209000002729','4444400002729','12729','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4729','0','','4729','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5730','0','','26209000002730','4444400002730','12730','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4730','0','','4730','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5731','0','','26209000002731','4444400002731','12731','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4731','0','','4731','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5732','0','','26209000002732','4444400002732','12732','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4732','0','','4732','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5733','0','','26209000002733','4444400002733','12733','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4733','0','','4733','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5734','0','','26209000002734','4444400002734','12734','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4734','0','','4734','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5735','0','','26209000002735','4444400002735','12735','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4735','0','','4735','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5736','0','','26209000002736','4444400002736','12736','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4736','0','','4736','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5737','0','','26209000002737','4444400002737','12737','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4737','0','','4737','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5738','0','','26209000002738','4444400002738','12738','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4738','0','','4738','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5739','0','','26209000002739','4444400002739','12739','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4739','0','','4739','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5740','0','','26209000002740','4444400002740','12740','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4740','0','','4740','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5741','0','','26209000002741','4444400002741','12741','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4741','0','','4741','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5742','0','','26209000002742','4444400002742','12742','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4742','0','','4742','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5743','0','','26209000002743','4444400002743','12743','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4743','0','','4743','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5744','0','','26209000002744','4444400002744','12744','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4744','0','','4744','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5745','0','','26209000002745','4444400002745','12745','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4745','0','','4745','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5746','0','','26209000002746','4444400002746','12746','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4746','0','','4746','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5747','0','','26209000002747','4444400002747','12747','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4747','0','','4747','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5748','0','','26209000002748','4444400002748','12748','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4748','0','','4748','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5749','0','','26209000002749','4444400002749','12749','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4749','0','','4749','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5750','0','','26209000002750','4444400002750','12750','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4750','0','','4750','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5751','0','','26209000002751','4444400002751','12751','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4751','0','','4751','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5752','0','','26209000002752','4444400002752','12752','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4752','0','','4752','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5753','0','','26209000002753','4444400002753','12753','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4753','0','','4753','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5754','0','','26209000002754','4444400002754','12754','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4754','0','','4754','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5755','0','','26209000002755','4444400002755','12755','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4755','0','','4755','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5756','0','','26209000002756','4444400002756','12756','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4756','0','','4756','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5757','0','','26209000002757','4444400002757','12757','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4757','0','','4757','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5758','0','','26209000002758','4444400002758','12758','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4758','0','','4758','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5759','0','','26209000002759','4444400002759','12759','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4759','0','','4759','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5760','0','','26209000002760','4444400002760','12760','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4760','0','','4760','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5761','0','','26209000002761','4444400002761','12761','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4761','0','','4761','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5762','0','','26209000002762','4444400002762','12762','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4762','0','','4762','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5763','0','','26209000002763','4444400002763','12763','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4763','0','','4763','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5764','0','','26209000002764','4444400002764','12764','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4764','0','','4764','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5765','0','','26209000002765','4444400002765','12765','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4765','0','','4765','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5766','0','','26209000002766','4444400002766','12766','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4766','0','','4766','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5767','0','','26209000002767','4444400002767','12767','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4767','0','','4767','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5768','0','','26209000002768','4444400002768','12768','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4768','0','','4768','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5769','0','','26209000002769','4444400002769','12769','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4769','0','','4769','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5770','0','','26209000002770','4444400002770','12770','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4770','0','','4770','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5771','0','','26209000002771','4444400002771','12771','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4771','0','','4771','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5772','0','','26209000002772','4444400002772','12772','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4772','0','','4772','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5773','0','','26209000002773','4444400002773','12773','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4773','0','','4773','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5774','0','','26209000002774','4444400002774','12774','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4774','0','','4774','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5775','0','','26209000002775','4444400002775','12775','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4775','0','','4775','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5776','0','','26209000002776','4444400002776','12776','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4776','0','','4776','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5777','0','','26209000002777','4444400002777','12777','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4777','0','','4777','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5778','0','','26209000002778','4444400002778','12778','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4778','0','','4778','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5779','0','','26209000002779','4444400002779','12779','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4779','0','','4779','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5780','0','','26209000002780','4444400002780','12780','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4780','0','','4780','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5781','0','','26209000002781','4444400002781','12781','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4781','0','','4781','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5782','0','','26209000002782','4444400002782','12782','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4782','0','','4782','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5783','0','','26209000002783','4444400002783','12783','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4783','0','','4783','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5784','0','','26209000002784','4444400002784','12784','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4784','0','','4784','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5785','0','','26209000002785','4444400002785','12785','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4785','0','','4785','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5786','0','','26209000002786','4444400002786','12786','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4786','0','','4786','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5787','0','','26209000002787','4444400002787','12787','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4787','0','','4787','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5788','0','','26209000002788','4444400002788','12788','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4788','0','','4788','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5789','0','','26209000002789','4444400002789','12789','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4789','0','','4789','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5790','0','','26209000002790','4444400002790','12790','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4790','0','','4790','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5791','0','','26209000002791','4444400002791','12791','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4791','0','','4791','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5792','0','','26209000002792','4444400002792','12792','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4792','0','','4792','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5793','0','','26209000002793','4444400002793','12793','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4793','0','','4793','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5794','0','','26209000002794','4444400002794','12794','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4794','0','','4794','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5795','0','','26209000002795','4444400002795','12795','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4795','0','','4795','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5796','0','','26209000002796','4444400002796','12796','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4796','0','','4796','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5797','0','','26209000002797','4444400002797','12797','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4797','0','','4797','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5798','0','','26209000002798','4444400002798','12798','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4798','0','','4798','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5799','0','','26209000002799','4444400002799','12799','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4799','0','','4799','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5800','0','','26209000002800','4444400002800','12800','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4800','0','','4800','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5801','0','','26209000002801','4444400002801','12801','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4801','0','','4801','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5802','0','','26209000002802','4444400002802','12802','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4802','0','','4802','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5803','0','','26209000002803','4444400002803','12803','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4803','0','','4803','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5804','0','','26209000002804','4444400002804','12804','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4804','0','','4804','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5805','0','','26209000002805','4444400002805','12805','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4805','0','','4805','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5806','0','','26209000002806','4444400002806','12806','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4806','0','','4806','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5807','0','','26209000002807','4444400002807','12807','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4807','0','','4807','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5808','0','','26209000002808','4444400002808','12808','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4808','0','','4808','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5809','0','','26209000002809','4444400002809','12809','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4809','0','','4809','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5810','0','','26209000002810','4444400002810','12810','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4810','0','','4810','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5811','0','','26209000002811','4444400002811','12811','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4811','0','','4811','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5812','0','','26209000002812','4444400002812','12812','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4812','0','','4812','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5813','0','','26209000002813','4444400002813','12813','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4813','0','','4813','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5814','0','','26209000002814','4444400002814','12814','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4814','0','','4814','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5815','0','','26209000002815','4444400002815','12815','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4815','0','','4815','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5816','0','','26209000002816','4444400002816','12816','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4816','0','','4816','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5817','0','','26209000002817','4444400002817','12817','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4817','0','','4817','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5818','0','','26209000002818','4444400002818','12818','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4818','0','','4818','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5819','0','','26209000002819','4444400002819','12819','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4819','0','','4819','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5820','0','','26209000002820','4444400002820','12820','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4820','0','','4820','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5821','0','','26209000002821','4444400002821','12821','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4821','0','','4821','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5822','0','','26209000002822','4444400002822','12822','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4822','0','','4822','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5823','0','','26209000002823','4444400002823','12823','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4823','0','','4823','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5824','0','','26209000002824','4444400002824','12824','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4824','0','','4824','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5825','0','','26209000002825','4444400002825','12825','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4825','0','','4825','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5826','0','','26209000002826','4444400002826','12826','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4826','0','','4826','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5827','0','','26209000002827','4444400002827','12827','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4827','0','','4827','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5828','0','','26209000002828','4444400002828','12828','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4828','0','','4828','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5829','0','','26209000002829','4444400002829','12829','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4829','0','','4829','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5830','0','','26209000002830','4444400002830','12830','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4830','0','','4830','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5831','0','','26209000002831','4444400002831','12831','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4831','0','','4831','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5832','0','','26209000002832','4444400002832','12832','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4832','0','','4832','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5833','0','','26209000002833','4444400002833','12833','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4833','0','','4833','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5834','0','','26209000002834','4444400002834','12834','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4834','0','','4834','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5835','0','','26209000002835','4444400002835','12835','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4835','0','','4835','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5836','0','','26209000002836','4444400002836','12836','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4836','0','','4836','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5837','0','','26209000002837','4444400002837','12837','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4837','0','','4837','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5838','0','','26209000002838','4444400002838','12838','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4838','0','','4838','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5839','0','','26209000002839','4444400002839','12839','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4839','0','','4839','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5840','0','','26209000002840','4444400002840','12840','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4840','0','','4840','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5841','0','','26209000002841','4444400002841','12841','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4841','0','','4841','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5842','0','','26209000002842','4444400002842','12842','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4842','0','','4842','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5843','0','','26209000002843','4444400002843','12843','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4843','0','','4843','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5844','0','','26209000002844','4444400002844','12844','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4844','0','','4844','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5845','0','','26209000002845','4444400002845','12845','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4845','0','','4845','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5846','0','','26209000002846','4444400002846','12846','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4846','0','','4846','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5847','0','','26209000002847','4444400002847','12847','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4847','0','','4847','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5848','0','','26209000002848','4444400002848','12848','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4848','0','','4848','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5849','0','','26209000002849','4444400002849','12849','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4849','0','','4849','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5850','0','','26209000002850','4444400002850','12850','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4850','0','','4850','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5851','0','','26209000002851','4444400002851','12851','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4851','0','','4851','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5852','0','','26209000002852','4444400002852','12852','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4852','0','','4852','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5853','0','','26209000002853','4444400002853','12853','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4853','0','','4853','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5854','0','','26209000002854','4444400002854','12854','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4854','0','','4854','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5855','0','','26209000002855','4444400002855','12855','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4855','0','','4855','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5856','0','','26209000002856','4444400002856','12856','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4856','0','','4856','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5857','0','','26209000002857','4444400002857','12857','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4857','0','','4857','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5858','0','','26209000002858','4444400002858','12858','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4858','0','','4858','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5859','0','','26209000002859','4444400002859','12859','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4859','0','','4859','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5860','0','','26209000002860','4444400002860','12860','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4860','0','','4860','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5861','0','','26209000002861','4444400002861','12861','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4861','0','','4861','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5862','0','','26209000002862','4444400002862','12862','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4862','0','','4862','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5863','0','','26209000002863','4444400002863','12863','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4863','0','','4863','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5864','0','','26209000002864','4444400002864','12864','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4864','0','','4864','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5865','0','','26209000002865','4444400002865','12865','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4865','0','','4865','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5866','0','','26209000002866','4444400002866','12866','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4866','0','','4866','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5867','0','','26209000002867','4444400002867','12867','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4867','0','','4867','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5868','0','','26209000002868','4444400002868','12868','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4868','0','','4868','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5869','0','','26209000002869','4444400002869','12869','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4869','0','','4869','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5870','0','','26209000002870','4444400002870','12870','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4870','0','','4870','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5871','0','','26209000002871','4444400002871','12871','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4871','0','','4871','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5872','0','','26209000002872','4444400002872','12872','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4872','0','','4872','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5873','0','','26209000002873','4444400002873','12873','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4873','0','','4873','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5874','0','','26209000002874','4444400002874','12874','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4874','0','','4874','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5875','0','','26209000002875','4444400002875','12875','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4875','0','','4875','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5876','0','','26209000002876','4444400002876','12876','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4876','0','','4876','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5877','0','','26209000002877','4444400002877','12877','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4877','0','','4877','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5878','0','','26209000002878','4444400002878','12878','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4878','0','','4878','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5879','0','','26209000002879','4444400002879','12879','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4879','0','','4879','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5880','0','','26209000002880','4444400002880','12880','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4880','0','','4880','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5881','0','','26209000002881','4444400002881','12881','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4881','0','','4881','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5882','0','','26209000002882','4444400002882','12882','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4882','0','','4882','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5883','0','','26209000002883','4444400002883','12883','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4883','0','','4883','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5884','0','','26209000002884','4444400002884','12884','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4884','0','','4884','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5885','0','','26209000002885','4444400002885','12885','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4885','0','','4885','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5886','0','','26209000002886','4444400002886','12886','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4886','0','','4886','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5887','0','','26209000002887','4444400002887','12887','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4887','0','','4887','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5888','0','','26209000002888','4444400002888','12888','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4888','0','','4888','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5889','0','','26209000002889','4444400002889','12889','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4889','0','','4889','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5890','0','','26209000002890','4444400002890','12890','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4890','0','','4890','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5891','0','','26209000002891','4444400002891','12891','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4891','0','','4891','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5892','0','','26209000002892','4444400002892','12892','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4892','0','','4892','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5893','0','','26209000002893','4444400002893','12893','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4893','0','','4893','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5894','0','','26209000002894','4444400002894','12894','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4894','0','','4894','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5895','0','','26209000002895','4444400002895','12895','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4895','0','','4895','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5896','0','','26209000002896','4444400002896','12896','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4896','0','','4896','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5897','0','','26209000002897','4444400002897','12897','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4897','0','','4897','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5898','0','','26209000002898','4444400002898','12898','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4898','0','','4898','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5899','0','','26209000002899','4444400002899','12899','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4899','0','','4899','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5900','0','','26209000002900','4444400002900','12900','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4900','0','','4900','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5901','0','','26209000002901','4444400002901','12901','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4901','0','','4901','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5902','0','','26209000002902','4444400002902','12902','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4902','0','','4902','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5903','0','','26209000002903','4444400002903','12903','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4903','0','','4903','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5904','0','','26209000002904','4444400002904','12904','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4904','0','','4904','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5905','0','','26209000002905','4444400002905','12905','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4905','0','','4905','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5906','0','','26209000002906','4444400002906','12906','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4906','0','','4906','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5907','0','','26209000002907','4444400002907','12907','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4907','0','','4907','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5908','0','','26209000002908','4444400002908','12908','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4908','0','','4908','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5909','0','','26209000002909','4444400002909','12909','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4909','0','','4909','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5910','0','','26209000002910','4444400002910','12910','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4910','0','','4910','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5911','0','','26209000002911','4444400002911','12911','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4911','0','','4911','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5912','0','','26209000002912','4444400002912','12912','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4912','0','','4912','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5913','0','','26209000002913','4444400002913','12913','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4913','0','','4913','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5914','0','','26209000002914','4444400002914','12914','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4914','0','','4914','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5915','0','','26209000002915','4444400002915','12915','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4915','0','','4915','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5916','0','','26209000002916','4444400002916','12916','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4916','0','','4916','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5917','0','','26209000002917','4444400002917','12917','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4917','0','','4917','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5918','0','','26209000002918','4444400002918','12918','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4918','0','','4918','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5919','0','','26209000002919','4444400002919','12919','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4919','0','','4919','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5920','0','','26209000002920','4444400002920','12920','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4920','0','','4920','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5921','0','','26209000002921','4444400002921','12921','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4921','0','','4921','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5922','0','','26209000002922','4444400002922','12922','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4922','0','','4922','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5923','0','','26209000002923','4444400002923','12923','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4923','0','','4923','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5924','0','','26209000002924','4444400002924','12924','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4924','0','','4924','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5925','0','','26209000002925','4444400002925','12925','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4925','0','','4925','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5926','0','','26209000002926','4444400002926','12926','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4926','0','','4926','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5927','0','','26209000002927','4444400002927','12927','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4927','0','','4927','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5928','0','','26209000002928','4444400002928','12928','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4928','0','','4928','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5929','0','','26209000002929','4444400002929','12929','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4929','0','','4929','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5930','0','','26209000002930','4444400002930','12930','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4930','0','','4930','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5931','0','','26209000002931','4444400002931','12931','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4931','0','','4931','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5932','0','','26209000002932','4444400002932','12932','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4932','0','','4932','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5933','0','','26209000002933','4444400002933','12933','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4933','0','','4933','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5934','0','','26209000002934','4444400002934','12934','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4934','0','','4934','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5935','0','','26209000002935','4444400002935','12935','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4935','0','','4935','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5936','0','','26209000002936','4444400002936','12936','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4936','0','','4936','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5937','0','','26209000002937','4444400002937','12937','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4937','0','','4937','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5938','0','','26209000002938','4444400002938','12938','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4938','0','','4938','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5939','0','','26209000002939','4444400002939','12939','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4939','0','','4939','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5940','0','','26209000002940','4444400002940','12940','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4940','0','','4940','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5941','0','','26209000002941','4444400002941','12941','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4941','0','','4941','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5942','0','','26209000002942','4444400002942','12942','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4942','0','','4942','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5943','0','','26209000002943','4444400002943','12943','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4943','0','','4943','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5944','0','','26209000002944','4444400002944','12944','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4944','0','','4944','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5945','0','','26209000002945','4444400002945','12945','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4945','0','','4945','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5946','0','','26209000002946','4444400002946','12946','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4946','0','','4946','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5947','0','','26209000002947','4444400002947','12947','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4947','0','','4947','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5948','0','','26209000002948','4444400002948','12948','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4948','0','','4948','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5949','0','','26209000002949','4444400002949','12949','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4949','0','','4949','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5950','0','','26209000002950','4444400002950','12950','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4950','0','','4950','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5951','0','','26209000002951','4444400002951','12951','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4951','0','','4951','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5952','0','','26209000002952','4444400002952','12952','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4952','0','','4952','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5953','0','','26209000002953','4444400002953','12953','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4953','0','','4953','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5954','0','','26209000002954','4444400002954','12954','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4954','0','','4954','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5955','0','','26209000002955','4444400002955','12955','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4955','0','','4955','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5956','0','','26209000002956','4444400002956','12956','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4956','0','','4956','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5957','0','','26209000002957','4444400002957','12957','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4957','0','','4957','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5958','0','','26209000002958','4444400002958','12958','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4958','0','','4958','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5959','0','','26209000002959','4444400002959','12959','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4959','0','','4959','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5960','0','','26209000002960','4444400002960','12960','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4960','0','','4960','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5961','0','','26209000002961','4444400002961','12961','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4961','0','','4961','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5962','0','','26209000002962','4444400002962','12962','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4962','0','','4962','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5963','0','','26209000002963','4444400002963','12963','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4963','0','','4963','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5964','0','','26209000002964','4444400002964','12964','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4964','0','','4964','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5965','0','','26209000002965','4444400002965','12965','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4965','0','','4965','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5966','0','','26209000002966','4444400002966','12966','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4966','0','','4966','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5967','0','','26209000002967','4444400002967','12967','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4967','0','','4967','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5968','0','','26209000002968','4444400002968','12968','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4968','0','','4968','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5969','0','','26209000002969','4444400002969','12969','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4969','0','','4969','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5970','0','','26209000002970','4444400002970','12970','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4970','0','','4970','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5971','0','','26209000002971','4444400002971','12971','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4971','0','','4971','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5972','0','','26209000002972','4444400002972','12972','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4972','0','','4972','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5973','0','','26209000002973','4444400002973','12973','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4973','0','','4973','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5974','0','','26209000002974','4444400002974','12974','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4974','0','','4974','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5975','0','','26209000002975','4444400002975','12975','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4975','0','','4975','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5976','0','','26209000002976','4444400002976','12976','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4976','0','','4976','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5977','0','','26209000002977','4444400002977','12977','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4977','0','','4977','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5978','0','','26209000002978','4444400002978','12978','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4978','0','','4978','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5979','0','','26209000002979','4444400002979','12979','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4979','0','','4979','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5980','0','','26209000002980','4444400002980','12980','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4980','0','','4980','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5981','0','','26209000002981','4444400002981','12981','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4981','0','','4981','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5982','0','','26209000002982','4444400002982','12982','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4982','0','','4982','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5983','0','','26209000002983','4444400002983','12983','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4983','0','','4983','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5984','0','','26209000002984','4444400002984','12984','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4984','0','','4984','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5985','0','','26209000002985','4444400002985','12985','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4985','0','','4985','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5986','0','','26209000002986','4444400002986','12986','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4986','0','','4986','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5987','0','','26209000002987','4444400002987','12987','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4987','0','','4987','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5988','0','','26209000002988','4444400002988','12988','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4988','0','','4988','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5989','0','','26209000002989','4444400002989','12989','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4989','0','','4989','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5990','0','','26209000002990','4444400002990','12990','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4990','0','','4990','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5991','0','','26209000002991','4444400002991','12991','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4991','0','','4991','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5992','0','','26209000002992','4444400002992','12992','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4992','0','','4992','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5993','0','','26209000002993','4444400002993','12993','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4993','0','','4993','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5994','0','','26209000002994','4444400002994','12994','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4994','0','','4994','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5995','0','','26209000002995','4444400002995','12995','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4995','0','','4995','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5996','0','','26209000002996','4444400002996','12996','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4996','0','','4996','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5997','0','','26209000002997','4444400002997','12997','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4997','0','','4997','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5998','0','','26209000002998','4444400002998','12998','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4998','0','','4998','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','5999','0','','26209000002999','4444400002999','12999','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4999','0','','4999','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6000','0','','26209000003000','4444400003000','13000','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5000','0','','5000','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6001','0','','26209000003001','4444400003001','13001','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5001','0','','5001','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6002','0','','26209000003002','4444400003002','13002','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5002','0','','5002','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6003','0','','26209000003003','4444400003003','13003','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5003','0','','5003','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6004','0','','26209000003004','4444400003004','13004','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5004','0','','5004','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6005','0','','26209000003005','4444400003005','13005','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5005','0','','5005','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6006','0','','26209000003006','4444400003006','13006','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5006','0','','5006','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6007','0','','26209000003007','4444400003007','13007','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5007','0','','5007','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6008','0','','26209000003008','4444400003008','13008','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5008','0','','5008','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6009','0','','26209000003009','4444400003009','13009','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5009','0','','5009','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6010','0','','26209000003010','4444400003010','13010','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5010','0','','5010','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6011','0','','26209000003011','4444400003011','13011','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5011','0','','5011','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6012','0','','26209000003012','4444400003012','13012','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5012','0','','5012','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6013','0','','26209000003013','4444400003013','13013','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5013','0','','5013','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6014','0','','26209000003014','4444400003014','13014','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5014','0','','5014','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6015','0','','26209000003015','4444400003015','13015','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5015','0','','5015','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6016','0','','26209000003016','4444400003016','13016','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5016','0','','5016','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6017','0','','26209000003017','4444400003017','13017','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5017','0','','5017','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6018','0','','26209000003018','4444400003018','13018','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5018','0','','5018','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6019','0','','26209000003019','4444400003019','13019','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5019','0','','5019','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6020','0','','26209000003020','4444400003020','13020','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5020','0','','5020','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6021','0','','26209000003021','4444400003021','13021','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5021','0','','5021','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6022','0','','26209000003022','4444400003022','13022','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5022','0','','5022','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6023','0','','26209000003023','4444400003023','13023','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5023','0','','5023','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6024','0','','26209000003024','4444400003024','13024','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5024','0','','5024','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6025','0','','26209000003025','4444400003025','13025','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5025','0','','5025','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6026','0','','26209000003026','4444400003026','13026','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5026','0','','5026','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6027','0','','26209000003027','4444400003027','13027','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5027','0','','5027','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6028','0','','26209000003028','4444400003028','13028','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5028','0','','5028','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6029','0','','26209000003029','4444400003029','13029','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5029','0','','5029','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6030','0','','26209000003030','4444400003030','13030','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5030','0','','5030','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6031','0','','26209000003031','4444400003031','13031','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5031','0','','5031','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6032','0','','26209000003032','4444400003032','13032','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5032','0','','5032','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6033','0','','26209000003033','4444400003033','13033','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5033','0','','5033','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6034','0','','26209000003034','4444400003034','13034','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5034','0','','5034','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6035','0','','26209000003035','4444400003035','13035','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5035','0','','5035','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6036','0','','26209000003036','4444400003036','13036','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5036','0','','5036','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6037','0','','26209000003037','4444400003037','13037','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5037','0','','5037','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6038','0','','26209000003038','4444400003038','13038','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5038','0','','5038','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6039','0','','26209000003039','4444400003039','13039','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5039','0','','5039','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6040','0','','26209000003040','4444400003040','13040','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5040','0','','5040','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6041','0','','26209000003041','4444400003041','13041','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5041','0','','5041','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6042','0','','26209000003042','4444400003042','13042','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5042','0','','5042','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6043','0','','26209000003043','4444400003043','13043','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5043','0','','5043','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6044','0','','26209000003044','4444400003044','13044','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5044','0','','5044','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6045','0','','26209000003045','4444400003045','13045','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5045','0','','5045','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6046','0','','26209000003046','4444400003046','13046','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5046','0','','5046','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6047','0','','26209000003047','4444400003047','13047','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5047','0','','5047','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6048','0','','26209000003048','4444400003048','13048','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5048','0','','5048','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6049','0','','26209000003049','4444400003049','13049','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5049','0','','5049','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6050','0','','26209000003050','4444400003050','13050','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5050','0','','5050','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6051','0','','26209000003051','4444400003051','13051','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5051','0','','5051','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6052','0','','26209000003052','4444400003052','13052','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5052','0','','5052','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6053','0','','26209000003053','4444400003053','13053','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5053','0','','5053','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6054','0','','26209000003054','4444400003054','13054','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5054','0','','5054','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6055','0','','26209000003055','4444400003055','13055','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5055','0','','5055','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6056','0','','26209000003056','4444400003056','13056','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5056','0','','5056','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6057','0','','26209000003057','4444400003057','13057','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5057','0','','5057','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6058','0','','26209000003058','4444400003058','13058','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5058','0','','5058','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6059','0','','26209000003059','4444400003059','13059','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5059','0','','5059','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6060','0','','26209000003060','4444400003060','13060','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5060','0','','5060','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6061','0','','26209000003061','4444400003061','13061','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5061','0','','5061','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6062','0','','26209000003062','4444400003062','13062','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5062','0','','5062','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6063','0','','26209000003063','4444400003063','13063','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5063','0','','5063','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6064','0','','26209000003064','4444400003064','13064','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5064','0','','5064','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6065','0','','26209000003065','4444400003065','13065','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5065','0','','5065','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6066','0','','26209000003066','4444400003066','13066','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5066','0','','5066','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6067','0','','26209000003067','4444400003067','13067','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5067','0','','5067','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6068','0','','26209000003068','4444400003068','13068','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5068','0','','5068','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6069','0','','26209000003069','4444400003069','13069','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5069','0','','5069','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6070','0','','26209000003070','4444400003070','13070','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5070','0','','5070','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6071','0','','26209000003071','4444400003071','13071','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5071','0','','5071','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6072','0','','26209000003072','4444400003072','13072','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5072','0','','5072','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6073','0','','26209000003073','4444400003073','13073','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5073','0','','5073','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6074','0','','26209000003074','4444400003074','13074','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5074','0','','5074','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6075','0','','26209000003075','4444400003075','13075','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5075','0','','5075','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6076','0','','26209000003076','4444400003076','13076','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5076','0','','5076','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6077','0','','26209000003077','4444400003077','13077','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5077','0','','5077','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6078','0','','26209000003078','4444400003078','13078','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5078','0','','5078','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6079','0','','26209000003079','4444400003079','13079','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5079','0','','5079','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6080','0','','26209000003080','4444400003080','13080','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5080','0','','5080','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6081','0','','26209000003081','4444400003081','13081','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5081','0','','5081','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6082','0','','26209000003082','4444400003082','13082','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5082','0','','5082','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6083','0','','26209000003083','4444400003083','13083','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5083','0','','5083','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6084','0','','26209000003084','4444400003084','13084','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5084','0','','5084','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6085','0','','26209000003085','4444400003085','13085','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5085','0','','5085','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6086','0','','26209000003086','4444400003086','13086','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5086','0','','5086','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6087','0','','26209000003087','4444400003087','13087','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5087','0','','5087','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6088','0','','26209000003088','4444400003088','13088','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5088','0','','5088','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6089','0','','26209000003089','4444400003089','13089','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5089','0','','5089','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6090','0','','26209000003090','4444400003090','13090','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5090','0','','5090','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6091','0','','26209000003091','4444400003091','13091','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5091','0','','5091','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6092','0','','26209000003092','4444400003092','13092','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5092','0','','5092','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6093','0','','26209000003093','4444400003093','13093','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5093','0','','5093','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6094','0','','26209000003094','4444400003094','13094','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5094','0','','5094','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6095','0','','26209000003095','4444400003095','13095','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5095','0','','5095','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6096','0','','26209000003096','4444400003096','13096','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5096','0','','5096','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6097','0','','26209000003097','4444400003097','13097','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5097','0','','5097','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6098','0','','26209000003098','4444400003098','13098','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5098','0','','5098','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6099','0','','26209000003099','4444400003099','13099','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5099','0','','5099','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6100','0','','26209000003100','4444400003100','13100','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5100','0','','5100','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6101','0','','26209000003101','4444400003101','13101','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5101','0','','5101','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6102','0','','26209000003102','4444400003102','13102','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5102','0','','5102','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6103','0','','26209000003103','4444400003103','13103','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5103','0','','5103','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6104','0','','26209000003104','4444400003104','13104','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5104','0','','5104','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6105','0','','26209000003105','4444400003105','13105','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5105','0','','5105','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6106','0','','26209000003106','4444400003106','13106','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5106','0','','5106','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6107','0','','26209000003107','4444400003107','13107','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5107','0','','5107','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6108','0','','26209000003108','4444400003108','13108','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5108','0','','5108','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6109','0','','26209000003109','4444400003109','13109','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5109','0','','5109','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6110','0','','26209000003110','4444400003110','13110','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5110','0','','5110','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6111','0','','26209000003111','4444400003111','13111','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5111','0','','5111','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6112','0','','26209000003112','4444400003112','13112','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5112','0','','5112','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6113','0','','26209000003113','4444400003113','13113','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5113','0','','5113','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6114','0','','26209000003114','4444400003114','13114','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5114','0','','5114','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6115','0','','26209000003115','4444400003115','13115','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5115','0','','5115','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6116','0','','26209000003116','4444400003116','13116','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5116','0','','5116','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6117','0','','26209000003117','4444400003117','13117','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5117','0','','5117','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6118','0','','26209000003118','4444400003118','13118','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5118','0','','5118','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6119','0','','26209000003119','4444400003119','13119','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5119','0','','5119','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6120','0','','26209000003120','4444400003120','13120','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5120','0','','5120','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6121','0','','26209000003121','4444400003121','13121','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5121','0','','5121','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6122','0','','26209000003122','4444400003122','13122','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5122','0','','5122','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6123','0','','26209000003123','4444400003123','13123','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5123','0','','5123','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6124','0','','26209000003124','4444400003124','13124','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5124','0','','5124','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6125','0','','26209000003125','4444400003125','13125','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5125','0','','5125','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6126','0','','26209000003126','4444400003126','13126','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5126','0','','5126','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6127','0','','26209000003127','4444400003127','13127','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5127','0','','5127','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6128','0','','26209000003128','4444400003128','13128','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5128','0','','5128','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6129','0','','26209000003129','4444400003129','13129','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5129','0','','5129','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6130','0','','26209000003130','4444400003130','13130','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5130','0','','5130','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6131','0','','26209000003131','4444400003131','13131','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5131','0','','5131','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6132','0','','26209000003132','4444400003132','13132','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5132','0','','5132','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6133','0','','26209000003133','4444400003133','13133','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5133','0','','5133','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6134','0','','26209000003134','4444400003134','13134','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5134','0','','5134','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6135','0','','26209000003135','4444400003135','13135','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5135','0','','5135','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6136','0','','26209000003136','4444400003136','13136','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5136','0','','5136','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6137','0','','26209000003137','4444400003137','13137','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5137','0','','5137','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6138','0','','26209000003138','4444400003138','13138','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5138','0','','5138','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6139','0','','26209000003139','4444400003139','13139','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5139','0','','5139','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6140','0','','26209000003140','4444400003140','13140','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5140','0','','5140','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6141','0','','26209000003141','4444400003141','13141','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5141','0','','5141','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6142','0','','26209000003142','4444400003142','13142','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5142','0','','5142','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6143','0','','26209000003143','4444400003143','13143','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5143','0','','5143','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6144','0','','26209000003144','4444400003144','13144','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5144','0','','5144','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6145','0','','26209000003145','4444400003145','13145','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5145','0','','5145','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6146','0','','26209000003146','4444400003146','13146','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5146','0','','5146','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6147','0','','26209000003147','4444400003147','13147','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5147','0','','5147','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6148','0','','26209000003148','4444400003148','13148','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5148','0','','5148','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6149','0','','26209000003149','4444400003149','13149','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5149','0','','5149','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6150','0','','26209000003150','4444400003150','13150','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5150','0','','5150','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6151','0','','26209000003151','4444400003151','13151','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5151','0','','5151','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6152','0','','26209000003152','4444400003152','13152','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5152','0','','5152','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6153','0','','26209000003153','4444400003153','13153','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5153','0','','5153','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6154','0','','26209000003154','4444400003154','13154','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5154','0','','5154','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6155','0','','26209000003155','4444400003155','13155','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5155','0','','5155','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6156','0','','26209000003156','4444400003156','13156','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5156','0','','5156','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6157','0','','26209000003157','4444400003157','13157','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5157','0','','5157','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6158','0','','26209000003158','4444400003158','13158','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5158','0','','5158','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6159','0','','26209000003159','4444400003159','13159','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5159','0','','5159','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6160','0','','26209000003160','4444400003160','13160','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5160','0','','5160','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6161','0','','26209000003161','4444400003161','13161','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5161','0','','5161','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6162','0','','26209000003162','4444400003162','13162','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5162','0','','5162','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6163','0','','26209000003163','4444400003163','13163','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5163','0','','5163','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6164','0','','26209000003164','4444400003164','13164','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5164','0','','5164','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6165','0','','26209000003165','4444400003165','13165','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5165','0','','5165','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6166','0','','26209000003166','4444400003166','13166','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5166','0','','5166','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6167','0','','26209000003167','4444400003167','13167','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5167','0','','5167','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6168','0','','26209000003168','4444400003168','13168','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5168','0','','5168','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6169','0','','26209000003169','4444400003169','13169','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5169','0','','5169','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6170','0','','26209000003170','4444400003170','13170','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5170','0','','5170','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6171','0','','26209000003171','4444400003171','13171','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5171','0','','5171','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6172','0','','26209000003172','4444400003172','13172','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5172','0','','5172','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6173','0','','26209000003173','4444400003173','13173','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5173','0','','5173','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6174','0','','26209000003174','4444400003174','13174','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5174','0','','5174','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6175','0','','26209000003175','4444400003175','13175','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5175','0','','5175','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6176','0','','26209000003176','4444400003176','13176','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5176','0','','5176','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6177','0','','26209000003177','4444400003177','13177','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5177','0','','5177','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6178','0','','26209000003178','4444400003178','13178','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5178','0','','5178','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6179','0','','26209000003179','4444400003179','13179','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5179','0','','5179','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6180','0','','26209000003180','4444400003180','13180','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5180','0','','5180','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6181','0','','26209000003181','4444400003181','13181','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5181','0','','5181','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6182','0','','26209000003182','4444400003182','13182','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5182','0','','5182','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6183','0','','26209000003183','4444400003183','13183','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5183','0','','5183','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6184','0','','26209000003184','4444400003184','13184','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5184','0','','5184','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6185','0','','26209000003185','4444400003185','13185','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5185','0','','5185','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6186','0','','26209000003186','4444400003186','13186','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5186','0','','5186','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6187','0','','26209000003187','4444400003187','13187','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5187','0','','5187','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6188','0','','26209000003188','4444400003188','13188','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5188','0','','5188','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6189','0','','26209000003189','4444400003189','13189','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5189','0','','5189','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6190','0','','26209000003190','4444400003190','13190','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5190','0','','5190','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6191','0','','26209000003191','4444400003191','13191','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5191','0','','5191','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6192','0','','26209000003192','4444400003192','13192','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5192','0','','5192','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6193','0','','26209000003193','4444400003193','13193','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5193','0','','5193','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6194','0','','26209000003194','4444400003194','13194','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5194','0','','5194','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6195','0','','26209000003195','4444400003195','13195','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5195','0','','5195','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6196','0','','26209000003196','4444400003196','13196','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5196','0','','5196','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6197','0','','26209000003197','4444400003197','13197','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5197','0','','5197','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6198','0','','26209000003198','4444400003198','13198','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5198','0','','5198','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6199','0','','26209000003199','4444400003199','13199','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5199','0','','5199','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6200','0','','26209000003200','4444400003200','13200','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5200','0','','5200','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6201','0','','26209000003201','4444400003201','13201','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5201','0','','5201','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6202','0','','26209000003202','4444400003202','13202','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5202','0','','5202','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6203','0','','26209000003203','4444400003203','13203','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5203','0','','5203','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6204','0','','26209000003204','4444400003204','13204','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5204','0','','5204','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6205','0','','26209000003205','4444400003205','13205','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5205','0','','5205','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6206','0','','26209000003206','4444400003206','13206','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5206','0','','5206','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6207','0','','26209000003207','4444400003207','13207','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5207','0','','5207','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6208','0','','26209000003208','4444400003208','13208','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5208','0','','5208','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6209','0','','26209000003209','4444400003209','13209','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5209','0','','5209','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6210','0','','26209000003210','4444400003210','13210','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5210','0','','5210','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6211','0','','26209000003211','4444400003211','13211','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5211','0','','5211','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6212','0','','26209000003212','4444400003212','13212','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5212','0','','5212','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6213','0','','26209000003213','4444400003213','13213','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5213','0','','5213','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6214','0','','26209000003214','4444400003214','13214','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5214','0','','5214','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6215','0','','26209000003215','4444400003215','13215','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5215','0','','5215','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6216','0','','26209000003216','4444400003216','13216','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5216','0','','5216','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6217','0','','26209000003217','4444400003217','13217','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5217','0','','5217','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6218','0','','26209000003218','4444400003218','13218','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5218','0','','5218','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6219','0','','26209000003219','4444400003219','13219','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5219','0','','5219','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6220','0','','26209000003220','4444400003220','13220','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5220','0','','5220','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6221','0','','26209000003221','4444400003221','13221','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5221','0','','5221','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6222','0','','26209000003222','4444400003222','13222','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5222','0','','5222','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6223','0','','26209000003223','4444400003223','13223','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5223','0','','5223','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6224','0','','26209000003224','4444400003224','13224','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5224','0','','5224','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6225','0','','26209000003225','4444400003225','13225','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5225','0','','5225','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6226','0','','26209000003226','4444400003226','13226','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5226','0','','5226','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6227','0','','26209000003227','4444400003227','13227','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5227','0','','5227','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6228','0','','26209000003228','4444400003228','13228','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5228','0','','5228','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6229','0','','26209000003229','4444400003229','13229','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5229','0','','5229','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6230','0','','26209000003230','4444400003230','13230','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5230','0','','5230','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6231','0','','26209000003231','4444400003231','13231','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5231','0','','5231','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6232','0','','26209000003232','4444400003232','13232','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5232','0','','5232','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6233','0','','26209000003233','4444400003233','13233','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5233','0','','5233','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6234','0','','26209000003234','4444400003234','13234','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5234','0','','5234','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6235','0','','26209000003235','4444400003235','13235','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5235','0','','5235','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6236','0','','26209000003236','4444400003236','13236','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5236','0','','5236','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6237','0','','26209000003237','4444400003237','13237','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5237','0','','5237','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6238','0','','26209000003238','4444400003238','13238','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5238','0','','5238','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6239','0','','26209000003239','4444400003239','13239','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5239','0','','5239','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6240','0','','26209000003240','4444400003240','13240','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5240','0','','5240','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6241','0','','26209000003241','4444400003241','13241','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5241','0','','5241','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6242','0','','26209000003242','4444400003242','13242','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5242','0','','5242','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6243','0','','26209000003243','4444400003243','13243','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5243','0','','5243','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6244','0','','26209000003244','4444400003244','13244','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5244','0','','5244','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6245','0','','26209000003245','4444400003245','13245','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5245','0','','5245','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6246','0','','26209000003246','4444400003246','13246','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5246','0','','5246','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6247','0','','26209000003247','4444400003247','13247','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5247','0','','5247','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6248','0','','26209000003248','4444400003248','13248','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5248','0','','5248','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6249','0','','26209000003249','4444400003249','13249','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5249','0','','5249','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6250','0','','26209000003250','4444400003250','13250','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5250','0','','5250','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6251','0','','26209000003251','4444400003251','13251','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5251','0','','5251','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6252','0','','26209000003252','4444400003252','13252','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5252','0','','5252','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6253','0','','26209000003253','4444400003253','13253','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5253','0','','5253','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6254','0','','26209000003254','4444400003254','13254','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5254','0','','5254','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6255','0','','26209000003255','4444400003255','13255','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5255','0','','5255','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6256','0','','26209000003256','4444400003256','13256','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5256','0','','5256','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6257','0','','26209000003257','4444400003257','13257','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5257','0','','5257','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6258','0','','26209000003258','4444400003258','13258','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5258','0','','5258','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6259','0','','26209000003259','4444400003259','13259','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5259','0','','5259','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6260','0','','26209000003260','4444400003260','13260','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5260','0','','5260','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6261','0','','26209000003261','4444400003261','13261','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5261','0','','5261','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6262','0','','26209000003262','4444400003262','13262','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5262','0','','5262','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6263','0','','26209000003263','4444400003263','13263','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5263','0','','5263','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6264','0','','26209000003264','4444400003264','13264','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5264','0','','5264','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6265','0','','26209000003265','4444400003265','13265','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5265','0','','5265','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6266','0','','26209000003266','4444400003266','13266','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5266','0','','5266','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6267','0','','26209000003267','4444400003267','13267','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5267','0','','5267','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6268','0','','26209000003268','4444400003268','13268','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5268','0','','5268','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6269','0','','26209000003269','4444400003269','13269','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5269','0','','5269','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6270','0','','26209000003270','4444400003270','13270','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5270','0','','5270','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6271','0','','26209000003271','4444400003271','13271','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5271','0','','5271','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6272','0','','26209000003272','4444400003272','13272','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5272','0','','5272','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6273','0','','26209000003273','4444400003273','13273','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5273','0','','5273','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6274','0','','26209000003274','4444400003274','13274','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5274','0','','5274','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6275','0','','26209000003275','4444400003275','13275','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5275','0','','5275','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6276','0','','26209000003276','4444400003276','13276','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5276','0','','5276','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6277','0','','26209000003277','4444400003277','13277','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5277','0','','5277','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6278','0','','26209000003278','4444400003278','13278','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5278','0','','5278','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6279','0','','26209000003279','4444400003279','13279','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5279','0','','5279','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6280','0','','26209000003280','4444400003280','13280','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5280','0','','5280','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6281','0','','26209000003281','4444400003281','13281','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5281','0','','5281','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6282','0','','26209000003282','4444400003282','13282','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5282','0','','5282','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6283','0','','26209000003283','4444400003283','13283','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5283','0','','5283','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6284','0','','26209000003284','4444400003284','13284','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5284','0','','5284','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6285','0','','26209000003285','4444400003285','13285','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5285','0','','5285','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6286','0','','26209000003286','4444400003286','13286','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5286','0','','5286','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6287','0','','26209000003287','4444400003287','13287','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5287','0','','5287','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6288','0','','26209000003288','4444400003288','13288','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5288','0','','5288','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6289','0','','26209000003289','4444400003289','13289','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5289','0','','5289','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6290','0','','26209000003290','4444400003290','13290','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5290','0','','5290','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6291','0','','26209000003291','4444400003291','13291','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5291','0','','5291','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6292','0','','26209000003292','4444400003292','13292','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5292','0','','5292','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6293','0','','26209000003293','4444400003293','13293','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5293','0','','5293','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6294','0','','26209000003294','4444400003294','13294','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5294','0','','5294','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6295','0','','26209000003295','4444400003295','13295','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5295','0','','5295','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6296','0','','26209000003296','4444400003296','13296','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5296','0','','5296','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6297','0','','26209000003297','4444400003297','13297','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5297','0','','5297','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6298','0','','26209000003298','4444400003298','13298','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5298','0','','5298','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6299','0','','26209000003299','4444400003299','13299','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5299','0','','5299','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6300','0','','26209000003300','4444400003300','13300','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5300','0','','5300','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6301','0','','26209000003301','4444400003301','13301','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5301','0','','5301','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6302','0','','26209000003302','4444400003302','13302','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5302','0','','5302','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6303','0','','26209000003303','4444400003303','13303','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5303','0','','5303','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6304','0','','26209000003304','4444400003304','13304','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5304','0','','5304','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6305','0','','26209000003305','4444400003305','13305','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5305','0','','5305','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6306','0','','26209000003306','4444400003306','13306','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5306','0','','5306','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6307','0','','26209000003307','4444400003307','13307','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5307','0','','5307','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6308','0','','26209000003308','4444400003308','13308','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5308','0','','5308','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6309','0','','26209000003309','4444400003309','13309','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5309','0','','5309','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6310','0','','26209000003310','4444400003310','13310','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5310','0','','5310','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6311','0','','26209000003311','4444400003311','13311','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5311','0','','5311','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6312','0','','26209000003312','4444400003312','13312','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5312','0','','5312','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6313','0','','26209000003313','4444400003313','13313','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5313','0','','5313','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6314','0','','26209000003314','4444400003314','13314','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5314','0','','5314','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6315','0','','26209000003315','4444400003315','13315','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5315','0','','5315','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6316','0','','26209000003316','4444400003316','13316','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5316','0','','5316','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6317','0','','26209000003317','4444400003317','13317','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5317','0','','5317','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6318','0','','26209000003318','4444400003318','13318','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5318','0','','5318','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6319','0','','26209000003319','4444400003319','13319','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5319','0','','5319','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6320','0','','26209000003320','4444400003320','13320','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5320','0','','5320','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6321','0','','26209000003321','4444400003321','13321','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5321','0','','5321','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6322','0','','26209000003322','4444400003322','13322','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5322','0','','5322','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6323','0','','26209000003323','4444400003323','13323','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5323','0','','5323','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6324','0','','26209000003324','4444400003324','13324','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5324','0','','5324','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6325','0','','26209000003325','4444400003325','13325','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5325','0','','5325','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6326','0','','26209000003326','4444400003326','13326','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5326','0','','5326','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6327','0','','26209000003327','4444400003327','13327','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5327','0','','5327','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6328','0','','26209000003328','4444400003328','13328','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5328','0','','5328','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6329','0','','26209000003329','4444400003329','13329','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5329','0','','5329','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6330','0','','26209000003330','4444400003330','13330','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5330','0','','5330','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6331','0','','26209000003331','4444400003331','13331','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5331','0','','5331','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6332','0','','26209000003332','4444400003332','13332','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5332','0','','5332','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6333','0','','26209000003333','4444400003333','13333','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5333','0','','5333','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6334','0','','26209000003334','4444400003334','13334','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5334','0','','5334','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6335','0','','26209000003335','4444400003335','13335','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5335','0','','5335','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6336','0','','26209000003336','4444400003336','13336','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5336','0','','5336','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6337','0','','26209000003337','4444400003337','13337','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5337','0','','5337','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6338','0','','26209000003338','4444400003338','13338','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5338','0','','5338','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6339','0','','26209000003339','4444400003339','13339','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5339','0','','5339','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6340','0','','26209000003340','4444400003340','13340','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5340','0','','5340','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6341','0','','26209000003341','4444400003341','13341','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5341','0','','5341','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6342','0','','26209000003342','4444400003342','13342','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5342','0','','5342','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6343','0','','26209000003343','4444400003343','13343','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5343','0','','5343','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6344','0','','26209000003344','4444400003344','13344','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5344','0','','5344','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6345','0','','26209000003345','4444400003345','13345','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5345','0','','5345','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6346','0','','26209000003346','4444400003346','13346','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5346','0','','5346','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6347','0','','26209000003347','4444400003347','13347','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5347','0','','5347','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6348','0','','26209000003348','4444400003348','13348','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5348','0','','5348','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6349','0','','26209000003349','4444400003349','13349','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5349','0','','5349','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6350','0','','26209000003350','4444400003350','13350','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5350','0','','5350','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6351','0','','26209000003351','4444400003351','13351','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5351','0','','5351','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6352','0','','26209000003352','4444400003352','13352','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5352','0','','5352','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6353','0','','26209000003353','4444400003353','13353','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5353','0','','5353','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6354','0','','26209000003354','4444400003354','13354','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5354','0','','5354','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6355','0','','26209000003355','4444400003355','13355','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5355','0','','5355','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6356','0','','26209000003356','4444400003356','13356','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5356','0','','5356','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6357','0','','26209000003357','4444400003357','13357','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5357','0','','5357','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6358','0','','26209000003358','4444400003358','13358','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5358','0','','5358','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6359','0','','26209000003359','4444400003359','13359','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5359','0','','5359','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6360','0','','26209000003360','4444400003360','13360','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5360','0','','5360','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6361','0','','26209000003361','4444400003361','13361','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5361','0','','5361','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6362','0','','26209000003362','4444400003362','13362','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5362','0','','5362','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6363','0','','26209000003363','4444400003363','13363','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5363','0','','5363','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6364','0','','26209000003364','4444400003364','13364','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5364','0','','5364','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6365','0','','26209000003365','4444400003365','13365','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5365','0','','5365','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6366','0','','26209000003366','4444400003366','13366','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5366','0','','5366','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6367','0','','26209000003367','4444400003367','13367','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5367','0','','5367','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6368','0','','26209000003368','4444400003368','13368','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5368','0','','5368','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6369','0','','26209000003369','4444400003369','13369','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5369','0','','5369','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6370','0','','26209000003370','4444400003370','13370','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5370','0','','5370','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6371','0','','26209000003371','4444400003371','13371','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5371','0','','5371','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6372','0','','26209000003372','4444400003372','13372','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5372','0','','5372','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6373','0','','26209000003373','4444400003373','13373','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5373','0','','5373','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6374','0','','26209000003374','4444400003374','13374','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5374','0','','5374','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6375','0','','26209000003375','4444400003375','13375','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5375','0','','5375','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6376','0','','26209000003376','4444400003376','13376','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5376','0','','5376','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6377','0','','26209000003377','4444400003377','13377','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5377','0','','5377','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6378','0','','26209000003378','4444400003378','13378','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5378','0','','5378','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6379','0','','26209000003379','4444400003379','13379','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5379','0','','5379','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6380','0','','26209000003380','4444400003380','13380','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5380','0','','5380','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6381','0','','26209000003381','4444400003381','13381','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5381','0','','5381','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6382','0','','26209000003382','4444400003382','13382','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5382','0','','5382','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6383','0','','26209000003383','4444400003383','13383','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5383','0','','5383','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6384','0','','26209000003384','4444400003384','13384','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5384','0','','5384','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6385','0','','26209000003385','4444400003385','13385','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5385','0','','5385','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6386','0','','26209000003386','4444400003386','13386','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5386','0','','5386','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6387','0','','26209000003387','4444400003387','13387','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5387','0','','5387','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6388','0','','26209000003388','4444400003388','13388','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5388','0','','5388','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6389','0','','26209000003389','4444400003389','13389','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5389','0','','5389','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6390','0','','26209000003390','4444400003390','13390','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5390','0','','5390','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6391','0','','26209000003391','4444400003391','13391','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5391','0','','5391','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6392','0','','26209000003392','4444400003392','13392','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5392','0','','5392','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6393','0','','26209000003393','4444400003393','13393','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5393','0','','5393','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6394','0','','26209000003394','4444400003394','13394','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5394','0','','5394','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6395','0','','26209000003395','4444400003395','13395','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5395','0','','5395','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6396','0','','26209000003396','4444400003396','13396','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5396','0','','5396','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6397','0','','26209000003397','4444400003397','13397','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5397','0','','5397','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6398','0','','26209000003398','4444400003398','13398','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5398','0','','5398','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6399','0','','26209000003399','4444400003399','13399','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5399','0','','5399','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6400','0','','26209000003400','4444400003400','13400','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5400','0','','5400','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6401','0','','26209000003401','4444400003401','13401','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5401','0','','5401','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6402','0','','26209000003402','4444400003402','13402','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5402','0','','5402','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6403','0','','26209000003403','4444400003403','13403','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5403','0','','5403','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6404','0','','26209000003404','4444400003404','13404','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5404','0','','5404','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6405','0','','26209000003405','4444400003405','13405','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5405','0','','5405','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6406','0','','26209000003406','4444400003406','13406','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5406','0','','5406','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6407','0','','26209000003407','4444400003407','13407','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5407','0','','5407','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6408','0','','26209000003408','4444400003408','13408','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5408','0','','5408','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6409','0','','26209000003409','4444400003409','13409','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5409','0','','5409','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6410','0','','26209000003410','4444400003410','13410','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5410','0','','5410','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6411','0','','26209000003411','4444400003411','13411','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5411','0','','5411','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6412','0','','26209000003412','4444400003412','13412','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5412','0','','5412','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6413','0','','26209000003413','4444400003413','13413','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5413','0','','5413','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6414','0','','26209000003414','4444400003414','13414','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5414','0','','5414','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6415','0','','26209000003415','4444400003415','13415','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5415','0','','5415','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6416','0','','26209000003416','4444400003416','13416','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5416','0','','5416','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6417','0','','26209000003417','4444400003417','13417','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5417','0','','5417','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6418','0','','26209000003418','4444400003418','13418','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5418','0','','5418','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6419','0','','26209000003419','4444400003419','13419','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5419','0','','5419','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6420','0','','26209000003420','4444400003420','13420','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5420','0','','5420','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6421','0','','26209000003421','4444400003421','13421','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5421','0','','5421','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6422','0','','26209000003422','4444400003422','13422','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5422','0','','5422','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6423','0','','26209000003423','4444400003423','13423','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5423','0','','5423','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6424','0','','26209000003424','4444400003424','13424','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5424','0','','5424','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6425','0','','26209000003425','4444400003425','13425','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5425','0','','5425','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6426','0','','26209000003426','4444400003426','13426','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5426','0','','5426','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6427','0','','26209000003427','4444400003427','13427','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5427','0','','5427','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6428','0','','26209000003428','4444400003428','13428','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5428','0','','5428','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6429','0','','26209000003429','4444400003429','13429','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5429','0','','5429','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6430','0','','26209000003430','4444400003430','13430','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5430','0','','5430','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6431','0','','26209000003431','4444400003431','13431','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5431','0','','5431','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6432','0','','26209000003432','4444400003432','13432','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5432','0','','5432','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6433','0','','26209000003433','4444400003433','13433','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5433','0','','5433','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6434','0','','26209000003434','4444400003434','13434','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5434','0','','5434','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6435','0','','26209000003435','4444400003435','13435','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5435','0','','5435','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6436','0','','26209000003436','4444400003436','13436','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5436','0','','5436','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6437','0','','26209000003437','4444400003437','13437','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5437','0','','5437','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6438','0','','26209000003438','4444400003438','13438','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5438','0','','5438','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6439','0','','26209000003439','4444400003439','13439','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5439','0','','5439','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6440','0','','26209000003440','4444400003440','13440','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5440','0','','5440','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6441','0','','26209000003441','4444400003441','13441','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5441','0','','5441','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6442','0','','26209000003442','4444400003442','13442','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5442','0','','5442','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6443','0','','26209000003443','4444400003443','13443','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5443','0','','5443','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6444','0','','26209000003444','4444400003444','13444','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5444','0','','5444','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6445','0','','26209000003445','4444400003445','13445','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5445','0','','5445','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6446','0','','26209000003446','4444400003446','13446','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5446','0','','5446','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6447','0','','26209000003447','4444400003447','13447','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5447','0','','5447','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6448','0','','26209000003448','4444400003448','13448','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5448','0','','5448','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6449','0','','26209000003449','4444400003449','13449','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5449','0','','5449','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6450','0','','26209000003450','4444400003450','13450','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5450','0','','5450','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6451','0','','26209000003451','4444400003451','13451','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5451','0','','5451','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6452','0','','26209000003452','4444400003452','13452','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5452','0','','5452','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6453','0','','26209000003453','4444400003453','13453','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5453','0','','5453','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6454','0','','26209000003454','4444400003454','13454','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5454','0','','5454','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6455','0','','26209000003455','4444400003455','13455','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5455','0','','5455','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6456','0','','26209000003456','4444400003456','13456','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5456','0','','5456','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6457','0','','26209000003457','4444400003457','13457','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5457','0','','5457','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6458','0','','26209000003458','4444400003458','13458','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5458','0','','5458','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6459','0','','26209000003459','4444400003459','13459','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5459','0','','5459','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6460','0','','26209000003460','4444400003460','13460','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5460','0','','5460','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6461','0','','26209000003461','4444400003461','13461','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5461','0','','5461','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6462','0','','26209000003462','4444400003462','13462','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5462','0','','5462','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6463','0','','26209000003463','4444400003463','13463','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5463','0','','5463','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6464','0','','26209000003464','4444400003464','13464','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5464','0','','5464','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6465','0','','26209000003465','4444400003465','13465','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5465','0','','5465','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6466','0','','26209000003466','4444400003466','13466','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5466','0','','5466','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6467','0','','26209000003467','4444400003467','13467','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5467','0','','5467','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6468','0','','26209000003468','4444400003468','13468','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5468','0','','5468','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6469','0','','26209000003469','4444400003469','13469','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5469','0','','5469','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6470','0','','26209000003470','4444400003470','13470','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5470','0','','5470','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6471','0','','26209000003471','4444400003471','13471','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5471','0','','5471','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6472','0','','26209000003472','4444400003472','13472','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5472','0','','5472','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6473','0','','26209000003473','4444400003473','13473','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5473','0','','5473','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6474','0','','26209000003474','4444400003474','13474','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5474','0','','5474','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6475','0','','26209000003475','4444400003475','13475','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5475','0','','5475','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6476','0','','26209000003476','4444400003476','13476','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5476','0','','5476','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6477','0','','26209000003477','4444400003477','13477','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5477','0','','5477','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6478','0','','26209000003478','4444400003478','13478','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5478','0','','5478','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6479','0','','26209000003479','4444400003479','13479','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5479','0','','5479','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6480','0','','26209000003480','4444400003480','13480','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5480','0','','5480','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6481','0','','26209000003481','4444400003481','13481','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5481','0','','5481','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6482','0','','26209000003482','4444400003482','13482','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5482','0','','5482','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6483','0','','26209000003483','4444400003483','13483','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5483','0','','5483','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6484','0','','26209000003484','4444400003484','13484','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5484','0','','5484','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6485','0','','26209000003485','4444400003485','13485','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5485','0','','5485','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6486','0','','26209000003486','4444400003486','13486','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5486','0','','5486','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6487','0','','26209000003487','4444400003487','13487','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5487','0','','5487','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6488','0','','26209000003488','4444400003488','13488','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5488','0','','5488','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6489','0','','26209000003489','4444400003489','13489','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5489','0','','5489','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6490','0','','26209000003490','4444400003490','13490','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5490','0','','5490','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6491','0','','26209000003491','4444400003491','13491','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5491','0','','5491','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6492','0','','26209000003492','4444400003492','13492','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5492','0','','5492','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6493','0','','26209000003493','4444400003493','13493','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5493','0','','5493','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6494','0','','26209000003494','4444400003494','13494','','123456','ABCDEFG','','','','41','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5494','0','','5494','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6495','0','','26209000003495','4444400003495','13495','','123456','ABCDEFG','','','','41','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5495','0','','5495','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6496','0','','26209000003496','4444400003496','13496','','123456','ABCDEFG','','','','41','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5496','0','','5496','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6497','0','','26209000003497','4444400003497','13497','','123456','ABCDEFG','','','','41','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5497','0','','5497','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6498','0','','26209000003498','4444400003498','13498','','123456','ABCDEFG','','','','41','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5498','0','','5498','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ( '460','02','0','6499','0','','26209000003499','4444400003499','13499','','123456','ABCDEFG','','','','41','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5499','0','','5499','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6500','1','','26209000000','4444400000','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2000','0','','2000','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6501','1','','26209000001','4444400001','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2001','0','','2001','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6502','1','','26209000002','4444400002','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2002','0','','2002','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6503','1','','26209000003','4444400003','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2003','0','','2003','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6504','1','','26209000004','4444400004','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2004','0','','2004','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6505','1','','26209000005','4444400005','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2005','0','','2005','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6506','1','','26209000006','4444400006','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2006','0','','2006','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6507','1','','26209000007','4444400007','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2007','0','','2007','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6508','1','','26209000008','4444400008','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2008','0','','2008','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6509','1','','26209000009','4444400009','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2009','0','','2009','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6510','1','','262090000010','44444000010','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2010','0','','2010','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6511','1','','262090000011','44444000011','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2011','0','','2011','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6512','1','','262090000012','44444000012','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2012','0','','2012','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6513','1','','262090000013','44444000013','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2013','0','','2013','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6514','1','','262090000014','44444000014','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2014','0','','2014','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6515','1','','262090000015','44444000015','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2015','0','','2015','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6516','1','','262090000016','44444000016','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2016','0','','2016','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6517','1','','262090000017','44444000017','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2017','0','','2017','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6518','1','','262090000018','44444000018','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2018','0','','2018','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6519','1','','262090000019','44444000019','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2019','0','','2019','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6520','1','','262090000020','44444000020','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2020','0','','2020','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6521','1','','262090000021','44444000021','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2021','0','','2021','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6522','1','','262090000022','44444000022','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2022','0','','2022','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6523','1','','262090000023','44444000023','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2023','0','','2023','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6524','1','','262090000024','44444000024','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2024','0','','2024','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6525','1','','262090000025','44444000025','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2025','0','','2025','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6526','1','','262090000026','44444000026','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2026','0','','2026','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6527','1','','262090000027','44444000027','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2027','0','','2027','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6528','1','','262090000028','44444000028','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2028','0','','2028','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6529','1','','262090000029','44444000029','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2029','0','','2029','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6530','1','','262090000030','44444000030','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2030','0','','2030','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6531','1','','262090000031','44444000031','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2031','0','','2031','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6532','1','','262090000032','44444000032','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2032','0','','2032','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6533','1','','262090000033','44444000033','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2033','0','','2033','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6534','1','','262090000034','44444000034','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2034','0','','2034','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6535','1','','262090000035','44444000035','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2035','0','','2035','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6536','1','','262090000036','44444000036','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2036','0','','2036','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6537','1','','262090000037','44444000037','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2037','0','','2037','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6538','1','','262090000038','44444000038','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2038','0','','2038','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6539','1','','262090000039','44444000039','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2039','0','','2039','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6540','1','','262090000040','44444000040','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2040','0','','2040','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6541','1','','262090000041','44444000041','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2041','0','','2041','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6542','1','','262090000042','44444000042','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2042','0','','2042','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6543','1','','262090000043','44444000043','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2043','0','','2043','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6544','1','','262090000044','44444000044','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2044','0','','2044','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6545','1','','262090000045','44444000045','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2045','0','','2045','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6546','1','','262090000046','44444000046','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2046','0','','2046','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6547','1','','262090000047','44444000047','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2047','0','','2047','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6548','1','','262090000048','44444000048','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2048','0','','2048','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6549','1','','262090000049','44444000049','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2049','0','','2049','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6550','1','','262090000050','44444000050','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2050','0','','2050','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6551','1','','262090000051','44444000051','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2051','0','','2051','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6552','1','','262090000052','44444000052','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2052','0','','2052','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6553','1','','262090000053','44444000053','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2053','0','','2053','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6554','1','','262090000054','44444000054','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2054','0','','2054','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6555','1','','262090000055','44444000055','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2055','0','','2055','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6556','1','','262090000056','44444000056','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2056','0','','2056','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6557','1','','262090000057','44444000057','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2057','0','','2057','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6558','1','','262090000058','44444000058','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2058','0','','2058','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6559','1','','262090000059','44444000059','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2059','0','','2059','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6560','1','','262090000060','44444000060','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2060','0','','2060','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6561','1','','262090000061','44444000061','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2061','0','','2061','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6562','1','','262090000062','44444000062','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2062','0','','2062','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6563','1','','262090000063','44444000063','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2063','0','','2063','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6564','1','','262090000064','44444000064','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2064','0','','2064','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6565','1','','262090000065','44444000065','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2065','0','','2065','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6566','1','','262090000066','44444000066','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2066','0','','2066','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6567','1','','262090000067','44444000067','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2067','0','','2067','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6568','1','','262090000068','44444000068','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2068','0','','2068','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6569','1','','262090000069','44444000069','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2069','0','','2069','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6570','1','','262090000070','44444000070','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2070','0','','2070','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6571','1','','262090000071','44444000071','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2071','0','','2071','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6572','1','','262090000072','44444000072','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2072','0','','2072','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6573','1','','262090000073','44444000073','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2073','0','','2073','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6574','1','','262090000074','44444000074','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2074','0','','2074','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6575','1','','262090000075','44444000075','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2075','0','','2075','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6576','1','','262090000076','44444000076','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2076','0','','2076','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6577','1','','262090000077','44444000077','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2077','0','','2077','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6578','1','','262090000078','44444000078','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2078','0','','2078','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6579','1','','262090000079','44444000079','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2079','0','','2079','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6580','1','','262090000080','44444000080','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2080','0','','2080','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6581','1','','262090000081','44444000081','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2081','0','','2081','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6582','1','','262090000082','44444000082','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2082','0','','2082','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6583','1','','262090000083','44444000083','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2083','0','','2083','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6584','1','','262090000084','44444000084','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2084','0','','2084','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6585','1','','262090000085','44444000085','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2085','0','','2085','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6586','1','','262090000086','44444000086','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2086','0','','2086','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6587','1','','262090000087','44444000087','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2087','0','','2087','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6588','1','','262090000088','44444000088','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2088','0','','2088','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6589','1','','262090000089','44444000089','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2089','0','','2089','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6590','1','','262090000090','44444000090','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2090','0','','2090','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6591','1','','262090000091','44444000091','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2091','0','','2091','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6592','1','','262090000092','44444000092','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2092','0','','2092','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6593','1','','262090000093','44444000093','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2093','0','','2093','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6594','1','','262090000094','44444000094','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2094','0','','2094','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6595','1','','262090000095','44444000095','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2095','0','','2095','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6596','1','','262090000096','44444000096','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2096','0','','2096','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6597','1','','262090000097','44444000097','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2097','0','','2097','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6598','1','','262090000098','44444000098','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2098','0','','2098','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6599','1','','262090000099','44444000099','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2099','0','','2099','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6600','1','','2620900000100','444440000100','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2100','0','','2100','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6601','1','','2620900000101','444440000101','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2101','0','','2101','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6602','1','','2620900000102','444440000102','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2102','0','','2102','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6603','1','','2620900000103','444440000103','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2103','0','','2103','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6604','1','','2620900000104','444440000104','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2104','0','','2104','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6605','1','','2620900000105','444440000105','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2105','0','','2105','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6606','1','','2620900000106','444440000106','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2106','0','','2106','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6607','1','','2620900000107','444440000107','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2107','0','','2107','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6608','1','','2620900000108','444440000108','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2108','0','','2108','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6609','1','','2620900000109','444440000109','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2109','0','','2109','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6610','1','','2620900000110','444440000110','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2110','0','','2110','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6611','1','','2620900000111','444440000111','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2111','0','','2111','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6612','1','','2620900000112','444440000112','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2112','0','','2112','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6613','1','','2620900000113','444440000113','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2113','0','','2113','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6614','1','','2620900000114','444440000114','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2114','0','','2114','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6615','1','','2620900000115','444440000115','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2115','0','','2115','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6616','1','','2620900000116','444440000116','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2116','0','','2116','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6617','1','','2620900000117','444440000117','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2117','0','','2117','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6618','1','','2620900000118','444440000118','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2118','0','','2118','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6619','1','','2620900000119','444440000119','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2119','0','','2119','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6620','1','','2620900000120','444440000120','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2120','0','','2120','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6621','1','','2620900000121','444440000121','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2121','0','','2121','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6622','1','','2620900000122','444440000122','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2122','0','','2122','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6623','1','','2620900000123','444440000123','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2123','0','','2123','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6624','1','','2620900000124','444440000124','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2124','0','','2124','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6625','1','','2620900000125','444440000125','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2125','0','','2125','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6626','1','','2620900000126','444440000126','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2126','0','','2126','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6627','1','','2620900000127','444440000127','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2127','0','','2127','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6628','1','','2620900000128','444440000128','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2128','0','','2128','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6629','1','','2620900000129','444440000129','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2129','0','','2129','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6630','1','','2620900000130','444440000130','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2130','0','','2130','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6631','1','','2620900000131','444440000131','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2131','0','','2131','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6632','1','','2620900000132','444440000132','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2132','0','','2132','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6633','1','','2620900000133','444440000133','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2133','0','','2133','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6634','1','','2620900000134','444440000134','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2134','0','','2134','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6635','1','','2620900000135','444440000135','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2135','0','','2135','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6636','1','','2620900000136','444440000136','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2136','0','','2136','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6637','1','','2620900000137','444440000137','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2137','0','','2137','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6638','1','','2620900000138','444440000138','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2138','0','','2138','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6639','1','','2620900000139','444440000139','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2139','0','','2139','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6640','1','','2620900000140','444440000140','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2140','0','','2140','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6641','1','','2620900000141','444440000141','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2141','0','','2141','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6642','1','','2620900000142','444440000142','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2142','0','','2142','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6643','1','','2620900000143','444440000143','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2143','0','','2143','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6644','1','','2620900000144','444440000144','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2144','0','','2144','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6645','1','','2620900000145','444440000145','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2145','0','','2145','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6646','1','','2620900000146','444440000146','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2146','0','','2146','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6647','1','','2620900000147','444440000147','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2147','0','','2147','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6648','1','','2620900000148','444440000148','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2148','0','','2148','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6649','1','','2620900000149','444440000149','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2149','0','','2149','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6650','1','','2620900000150','444440000150','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2150','0','','2150','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6651','1','','2620900000151','444440000151','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2151','0','','2151','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6652','1','','2620900000152','444440000152','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2152','0','','2152','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6653','1','','2620900000153','444440000153','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2153','0','','2153','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6654','1','','2620900000154','444440000154','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2154','0','','2154','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6655','1','','2620900000155','444440000155','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2155','0','','2155','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6656','1','','2620900000156','444440000156','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2156','0','','2156','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6657','1','','2620900000157','444440000157','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2157','0','','2157','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6658','1','','2620900000158','444440000158','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2158','0','','2158','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6659','1','','2620900000159','444440000159','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2159','0','','2159','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6660','1','','2620900000160','444440000160','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2160','0','','2160','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6661','1','','2620900000161','444440000161','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2161','0','','2161','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6662','1','','2620900000162','444440000162','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2162','0','','2162','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6663','1','','2620900000163','444440000163','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2163','0','','2163','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6664','1','','2620900000164','444440000164','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2164','0','','2164','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6665','1','','2620900000165','444440000165','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2165','0','','2165','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6666','1','','2620900000166','444440000166','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2166','0','','2166','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6667','1','','2620900000167','444440000167','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2167','0','','2167','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6668','1','','2620900000168','444440000168','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2168','0','','2168','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6669','1','','2620900000169','444440000169','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2169','0','','2169','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6670','1','','2620900000170','444440000170','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2170','0','','2170','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6671','1','','2620900000171','444440000171','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2171','0','','2171','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6672','1','','2620900000172','444440000172','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2172','0','','2172','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6673','1','','2620900000173','444440000173','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2173','0','','2173','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6674','1','','2620900000174','444440000174','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2174','0','','2174','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6675','1','','2620900000175','444440000175','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2175','0','','2175','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6676','1','','2620900000176','444440000176','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2176','0','','2176','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6677','1','','2620900000177','444440000177','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2177','0','','2177','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6678','1','','2620900000178','444440000178','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2178','0','','2178','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6679','1','','2620900000179','444440000179','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2179','0','','2179','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6680','1','','2620900000180','444440000180','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2180','0','','2180','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6681','1','','2620900000181','444440000181','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2181','0','','2181','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6682','1','','2620900000182','444440000182','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2182','0','','2182','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6683','1','','2620900000183','444440000183','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2183','0','','2183','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6684','1','','2620900000184','444440000184','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2184','0','','2184','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6685','1','','2620900000185','444440000185','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2185','0','','2185','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6686','1','','2620900000186','444440000186','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2186','0','','2186','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6687','1','','2620900000187','444440000187','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2187','0','','2187','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6688','1','','2620900000188','444440000188','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2188','0','','2188','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6689','1','','2620900000189','444440000189','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2189','0','','2189','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6690','1','','2620900000190','444440000190','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2190','0','','2190','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6691','1','','2620900000191','444440000191','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2191','0','','2191','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6692','1','','2620900000192','444440000192','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2192','0','','2192','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6693','1','','2620900000193','444440000193','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2193','0','','2193','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6694','1','','2620900000194','444440000194','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2194','0','','2194','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6695','1','','2620900000195','444440000195','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2195','0','','2195','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6696','1','','2620900000196','444440000196','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2196','0','','2196','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6697','1','','2620900000197','444440000197','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2197','0','','2197','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6698','1','','2620900000198','444440000198','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2198','0','','2198','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6699','1','','2620900000199','444440000199','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2199','0','','2199','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6700','1','','2620900000200','444440000200','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2200','0','','2200','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6701','1','','2620900000201','444440000201','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2201','0','','2201','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6702','1','','2620900000202','444440000202','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2202','0','','2202','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6703','1','','2620900000203','444440000203','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2203','0','','2203','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6704','1','','2620900000204','444440000204','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2204','0','','2204','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6705','1','','2620900000205','444440000205','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2205','0','','2205','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6706','1','','2620900000206','444440000206','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2206','0','','2206','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6707','1','','2620900000207','444440000207','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2207','0','','2207','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6708','1','','2620900000208','444440000208','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2208','0','','2208','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6709','1','','2620900000209','444440000209','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2209','0','','2209','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6710','1','','2620900000210','444440000210','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2210','0','','2210','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6711','1','','2620900000211','444440000211','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2211','0','','2211','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6712','1','','2620900000212','444440000212','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2212','0','','2212','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6713','1','','2620900000213','444440000213','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2213','0','','2213','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6714','1','','2620900000214','444440000214','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2214','0','','2214','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6715','1','','2620900000215','444440000215','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2215','0','','2215','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6716','1','','2620900000216','444440000216','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2216','0','','2216','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6717','1','','2620900000217','444440000217','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2217','0','','2217','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6718','1','','2620900000218','444440000218','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2218','0','','2218','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6719','1','','2620900000219','444440000219','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2219','0','','2219','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6720','1','','2620900000220','444440000220','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2220','0','','2220','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6721','1','','2620900000221','444440000221','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2221','0','','2221','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6722','1','','2620900000222','444440000222','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2222','0','','2222','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6723','1','','2620900000223','444440000223','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2223','0','','2223','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6724','1','','2620900000224','444440000224','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2224','0','','2224','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6725','1','','2620900000225','444440000225','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2225','0','','2225','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6726','1','','2620900000226','444440000226','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2226','0','','2226','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6727','1','','2620900000227','444440000227','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2227','0','','2227','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6728','1','','2620900000228','444440000228','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2228','0','','2228','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6729','1','','2620900000229','444440000229','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2229','0','','2229','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6730','1','','2620900000230','444440000230','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2230','0','','2230','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6731','1','','2620900000231','444440000231','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2231','0','','2231','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6732','1','','2620900000232','444440000232','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2232','0','','2232','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6733','1','','2620900000233','444440000233','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2233','0','','2233','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6734','1','','2620900000234','444440000234','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2234','0','','2234','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6735','1','','2620900000235','444440000235','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2235','0','','2235','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6736','1','','2620900000236','444440000236','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2236','0','','2236','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6737','1','','2620900000237','444440000237','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2237','0','','2237','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6738','1','','2620900000238','444440000238','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2238','0','','2238','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6739','1','','2620900000239','444440000239','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2239','0','','2239','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6740','1','','2620900000240','444440000240','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2240','0','','2240','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6741','1','','2620900000241','444440000241','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2241','0','','2241','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6742','1','','2620900000242','444440000242','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2242','0','','2242','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6743','1','','2620900000243','444440000243','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2243','0','','2243','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6744','1','','2620900000244','444440000244','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2244','0','','2244','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6745','1','','2620900000245','444440000245','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2245','0','','2245','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6746','1','','2620900000246','444440000246','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2246','0','','2246','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6747','1','','2620900000247','444440000247','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2247','0','','2247','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6748','1','','2620900000248','444440000248','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2248','0','','2248','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6749','1','','2620900000249','444440000249','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2249','0','','2249','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6750','1','','2620900000250','444440000250','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2250','0','','2250','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6751','1','','2620900000251','444440000251','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2251','0','','2251','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6752','1','','2620900000252','444440000252','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2252','0','','2252','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6753','1','','2620900000253','444440000253','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2253','0','','2253','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6754','1','','2620900000254','444440000254','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2254','0','','2254','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6755','1','','2620900000255','444440000255','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2255','0','','2255','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6756','1','','2620900000256','444440000256','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2256','0','','2256','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6757','1','','2620900000257','444440000257','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2257','0','','2257','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6758','1','','2620900000258','444440000258','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2258','0','','2258','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6759','1','','2620900000259','444440000259','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2259','0','','2259','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6760','1','','2620900000260','444440000260','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2260','0','','2260','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6761','1','','2620900000261','444440000261','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2261','0','','2261','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6762','1','','2620900000262','444440000262','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2262','0','','2262','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6763','1','','2620900000263','444440000263','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2263','0','','2263','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6764','1','','2620900000264','444440000264','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2264','0','','2264','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6765','1','','2620900000265','444440000265','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2265','0','','2265','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6766','1','','2620900000266','444440000266','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2266','0','','2266','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6767','1','','2620900000267','444440000267','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2267','0','','2267','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6768','1','','2620900000268','444440000268','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2268','0','','2268','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6769','1','','2620900000269','444440000269','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2269','0','','2269','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6770','1','','2620900000270','444440000270','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2270','0','','2270','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6771','1','','2620900000271','444440000271','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2271','0','','2271','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6772','1','','2620900000272','444440000272','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2272','0','','2272','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6773','1','','2620900000273','444440000273','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2273','0','','2273','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6774','1','','2620900000274','444440000274','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2274','0','','2274','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6775','1','','2620900000275','444440000275','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2275','0','','2275','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6776','1','','2620900000276','444440000276','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2276','0','','2276','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6777','1','','2620900000277','444440000277','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2277','0','','2277','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6778','1','','2620900000278','444440000278','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2278','0','','2278','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6779','1','','2620900000279','444440000279','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2279','0','','2279','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6780','1','','2620900000280','444440000280','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2280','0','','2280','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6781','1','','2620900000281','444440000281','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2281','0','','2281','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6782','1','','2620900000282','444440000282','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2282','0','','2282','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6783','1','','2620900000283','444440000283','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2283','0','','2283','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6784','1','','2620900000284','444440000284','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2284','0','','2284','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6785','1','','2620900000285','444440000285','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2285','0','','2285','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6786','1','','2620900000286','444440000286','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2286','0','','2286','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6787','1','','2620900000287','444440000287','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2287','0','','2287','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6788','1','','2620900000288','444440000288','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2288','0','','2288','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6789','1','','2620900000289','444440000289','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2289','0','','2289','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6790','1','','2620900000290','444440000290','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2290','0','','2290','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6791','1','','2620900000291','444440000291','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2291','0','','2291','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6792','1','','2620900000292','444440000292','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2292','0','','2292','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6793','1','','2620900000293','444440000293','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2293','0','','2293','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6794','1','','2620900000294','444440000294','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2294','0','','2294','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6795','1','','2620900000295','444440000295','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2295','0','','2295','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6796','1','','2620900000296','444440000296','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2296','0','','2296','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6797','1','','2620900000297','444440000297','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2297','0','','2297','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6798','1','','2620900000298','444440000298','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2298','0','','2298','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6799','1','','2620900000299','444440000299','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2299','0','','2299','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6800','1','','2620900000300','444440000300','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2300','0','','2300','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6801','1','','2620900000301','444440000301','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2301','0','','2301','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6802','1','','2620900000302','444440000302','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2302','0','','2302','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6803','1','','2620900000303','444440000303','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2303','0','','2303','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6804','1','','2620900000304','444440000304','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2304','0','','2304','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6805','1','','2620900000305','444440000305','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2305','0','','2305','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6806','1','','2620900000306','444440000306','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2306','0','','2306','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6807','1','','2620900000307','444440000307','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2307','0','','2307','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6808','1','','2620900000308','444440000308','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2308','0','','2308','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6809','1','','2620900000309','444440000309','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2309','0','','2309','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6810','1','','2620900000310','444440000310','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2310','0','','2310','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6811','1','','2620900000311','444440000311','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2311','0','','2311','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6812','1','','2620900000312','444440000312','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2312','0','','2312','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6813','1','','2620900000313','444440000313','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2313','0','','2313','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6814','1','','2620900000314','444440000314','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2314','0','','2314','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6815','1','','2620900000315','444440000315','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2315','0','','2315','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6816','1','','2620900000316','444440000316','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2316','0','','2316','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6817','1','','2620900000317','444440000317','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2317','0','','2317','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6818','1','','2620900000318','444440000318','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2318','0','','2318','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6819','1','','2620900000319','444440000319','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2319','0','','2319','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6820','1','','2620900000320','444440000320','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2320','0','','2320','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6821','1','','2620900000321','444440000321','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2321','0','','2321','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6822','1','','2620900000322','444440000322','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2322','0','','2322','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6823','1','','2620900000323','444440000323','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2323','0','','2323','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6824','1','','2620900000324','444440000324','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2324','0','','2324','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6825','1','','2620900000325','444440000325','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2325','0','','2325','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6826','1','','2620900000326','444440000326','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2326','0','','2326','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6827','1','','2620900000327','444440000327','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2327','0','','2327','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6828','1','','2620900000328','444440000328','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2328','0','','2328','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6829','1','','2620900000329','444440000329','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2329','0','','2329','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6830','1','','2620900000330','444440000330','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2330','0','','2330','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6831','1','','2620900000331','444440000331','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2331','0','','2331','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6832','1','','2620900000332','444440000332','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2332','0','','2332','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6833','1','','2620900000333','444440000333','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2333','0','','2333','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6834','1','','2620900000334','444440000334','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2334','0','','2334','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6835','1','','2620900000335','444440000335','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2335','0','','2335','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6836','1','','2620900000336','444440000336','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2336','0','','2336','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6837','1','','2620900000337','444440000337','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2337','0','','2337','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6838','1','','2620900000338','444440000338','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2338','0','','2338','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6839','1','','2620900000339','444440000339','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2339','0','','2339','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6840','1','','2620900000340','444440000340','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2340','0','','2340','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6841','1','','2620900000341','444440000341','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2341','0','','2341','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6842','1','','2620900000342','444440000342','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2342','0','','2342','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6843','1','','2620900000343','444440000343','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2343','0','','2343','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6844','1','','2620900000344','444440000344','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2344','0','','2344','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6845','1','','2620900000345','444440000345','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2345','0','','2345','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6846','1','','2620900000346','444440000346','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2346','0','','2346','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6847','1','','2620900000347','444440000347','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2347','0','','2347','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6848','1','','2620900000348','444440000348','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2348','0','','2348','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6849','1','','2620900000349','444440000349','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2349','0','','2349','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6850','1','','2620900000350','444440000350','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2350','0','','2350','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6851','1','','2620900000351','444440000351','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2351','0','','2351','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6852','1','','2620900000352','444440000352','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2352','0','','2352','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6853','1','','2620900000353','444440000353','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2353','0','','2353','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6854','1','','2620900000354','444440000354','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2354','0','','2354','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6855','1','','2620900000355','444440000355','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2355','0','','2355','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6856','1','','2620900000356','444440000356','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2356','0','','2356','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6857','1','','2620900000357','444440000357','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2357','0','','2357','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6858','1','','2620900000358','444440000358','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2358','0','','2358','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6859','1','','2620900000359','444440000359','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2359','0','','2359','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6860','1','','2620900000360','444440000360','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2360','0','','2360','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6861','1','','2620900000361','444440000361','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2361','0','','2361','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6862','1','','2620900000362','444440000362','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2362','0','','2362','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6863','1','','2620900000363','444440000363','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2363','0','','2363','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6864','1','','2620900000364','444440000364','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2364','0','','2364','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6865','1','','2620900000365','444440000365','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2365','0','','2365','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6866','1','','2620900000366','444440000366','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2366','0','','2366','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6867','1','','2620900000367','444440000367','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2367','0','','2367','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6868','1','','2620900000368','444440000368','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2368','0','','2368','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6869','1','','2620900000369','444440000369','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2369','0','','2369','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6870','1','','2620900000370','444440000370','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2370','0','','2370','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6871','1','','2620900000371','444440000371','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2371','0','','2371','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6872','1','','2620900000372','444440000372','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2372','0','','2372','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6873','1','','2620900000373','444440000373','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2373','0','','2373','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6874','1','','2620900000374','444440000374','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2374','0','','2374','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6875','1','','2620900000375','444440000375','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2375','0','','2375','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6876','1','','2620900000376','444440000376','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2376','0','','2376','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6877','1','','2620900000377','444440000377','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2377','0','','2377','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6878','1','','2620900000378','444440000378','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2378','0','','2378','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6879','1','','2620900000379','444440000379','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2379','0','','2379','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6880','1','','2620900000380','444440000380','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2380','0','','2380','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6881','1','','2620900000381','444440000381','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2381','0','','2381','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6882','1','','2620900000382','444440000382','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2382','0','','2382','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6883','1','','2620900000383','444440000383','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2383','0','','2383','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6884','1','','2620900000384','444440000384','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2384','0','','2384','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6885','1','','2620900000385','444440000385','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2385','0','','2385','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6886','1','','2620900000386','444440000386','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2386','0','','2386','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6887','1','','2620900000387','444440000387','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2387','0','','2387','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6888','1','','2620900000388','444440000388','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2388','0','','2388','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6889','1','','2620900000389','444440000389','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2389','0','','2389','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6890','1','','2620900000390','444440000390','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2390','0','','2390','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6891','1','','2620900000391','444440000391','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2391','0','','2391','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6892','1','','2620900000392','444440000392','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2392','0','','2392','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6893','1','','2620900000393','444440000393','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2393','0','','2393','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6894','1','','2620900000394','444440000394','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2394','0','','2394','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6895','1','','2620900000395','444440000395','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2395','0','','2395','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6896','1','','2620900000396','444440000396','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2396','0','','2396','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6897','1','','2620900000397','444440000397','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2397','0','','2397','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6898','1','','2620900000398','444440000398','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2398','0','','2398','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6899','1','','2620900000399','444440000399','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2399','0','','2399','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6900','1','','2620900000400','444440000400','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2400','0','','2400','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6901','1','','2620900000401','444440000401','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2401','0','','2401','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6902','1','','2620900000402','444440000402','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2402','0','','2402','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6903','1','','2620900000403','444440000403','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2403','0','','2403','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6904','1','','2620900000404','444440000404','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2404','0','','2404','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6905','1','','2620900000405','444440000405','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2405','0','','2405','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6906','1','','2620900000406','444440000406','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2406','0','','2406','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6907','1','','2620900000407','444440000407','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2407','0','','2407','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6908','1','','2620900000408','444440000408','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2408','0','','2408','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6909','1','','2620900000409','444440000409','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2409','0','','2409','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6910','1','','2620900000410','444440000410','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2410','0','','2410','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6911','1','','2620900000411','444440000411','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2411','0','','2411','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6912','1','','2620900000412','444440000412','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2412','0','','2412','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6913','1','','2620900000413','444440000413','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2413','0','','2413','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6914','1','','2620900000414','444440000414','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2414','0','','2414','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6915','1','','2620900000415','444440000415','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2415','0','','2415','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6916','1','','2620900000416','444440000416','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2416','0','','2416','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6917','1','','2620900000417','444440000417','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2417','0','','2417','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6918','1','','2620900000418','444440000418','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2418','0','','2418','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6919','1','','2620900000419','444440000419','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2419','0','','2419','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6920','1','','2620900000420','444440000420','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2420','0','','2420','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6921','1','','2620900000421','444440000421','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2421','0','','2421','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6922','1','','2620900000422','444440000422','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2422','0','','2422','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6923','1','','2620900000423','444440000423','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2423','0','','2423','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6924','1','','2620900000424','444440000424','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2424','0','','2424','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6925','1','','2620900000425','444440000425','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2425','0','','2425','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6926','1','','2620900000426','444440000426','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2426','0','','2426','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6927','1','','2620900000427','444440000427','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2427','0','','2427','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6928','1','','2620900000428','444440000428','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2428','0','','2428','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6929','1','','2620900000429','444440000429','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2429','0','','2429','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6930','1','','2620900000430','444440000430','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2430','0','','2430','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6931','1','','2620900000431','444440000431','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2431','0','','2431','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6932','1','','2620900000432','444440000432','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2432','0','','2432','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6933','1','','2620900000433','444440000433','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2433','0','','2433','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6934','1','','2620900000434','444440000434','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2434','0','','2434','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6935','1','','2620900000435','444440000435','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2435','0','','2435','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6936','1','','2620900000436','444440000436','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2436','0','','2436','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6937','1','','2620900000437','444440000437','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2437','0','','2437','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6938','1','','2620900000438','444440000438','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2438','0','','2438','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6939','1','','2620900000439','444440000439','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2439','0','','2439','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6940','1','','2620900000440','444440000440','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2440','0','','2440','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6941','1','','2620900000441','444440000441','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2441','0','','2441','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6942','1','','2620900000442','444440000442','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2442','0','','2442','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6943','1','','2620900000443','444440000443','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2443','0','','2443','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6944','1','','2620900000444','444440000444','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2444','0','','2444','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6945','1','','2620900000445','444440000445','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2445','0','','2445','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6946','1','','2620900000446','444440000446','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2446','0','','2446','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6947','1','','2620900000447','444440000447','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2447','0','','2447','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6948','1','','2620900000448','444440000448','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2448','0','','2448','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6949','1','','2620900000449','444440000449','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2449','0','','2449','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6950','1','','2620900000450','444440000450','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2450','0','','2450','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6951','1','','2620900000451','444440000451','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2451','0','','2451','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6952','1','','2620900000452','444440000452','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2452','0','','2452','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6953','1','','2620900000453','444440000453','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2453','0','','2453','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6954','1','','2620900000454','444440000454','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2454','0','','2454','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6955','1','','2620900000455','444440000455','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2455','0','','2455','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6956','1','','2620900000456','444440000456','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2456','0','','2456','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6957','1','','2620900000457','444440000457','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2457','0','','2457','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6958','1','','2620900000458','444440000458','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2458','0','','2458','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6959','1','','2620900000459','444440000459','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2459','0','','2459','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6960','1','','2620900000460','444440000460','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2460','0','','2460','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6961','1','','2620900000461','444440000461','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2461','0','','2461','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6962','1','','2620900000462','444440000462','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2462','0','','2462','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6963','1','','2620900000463','444440000463','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2463','0','','2463','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6964','1','','2620900000464','444440000464','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2464','0','','2464','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6965','1','','2620900000465','444440000465','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2465','0','','2465','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6966','1','','2620900000466','444440000466','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2466','0','','2466','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6967','1','','2620900000467','444440000467','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2467','0','','2467','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6968','1','','2620900000468','444440000468','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2468','0','','2468','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6969','1','','2620900000469','444440000469','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2469','0','','2469','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6970','1','','2620900000470','444440000470','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2470','0','','2470','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6971','1','','2620900000471','444440000471','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2471','0','','2471','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6972','1','','2620900000472','444440000472','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2472','0','','2472','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6973','1','','2620900000473','444440000473','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2473','0','','2473','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6974','1','','2620900000474','444440000474','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2474','0','','2474','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6975','1','','2620900000475','444440000475','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2475','0','','2475','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6976','1','','2620900000476','444440000476','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2476','0','','2476','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6977','1','','2620900000477','444440000477','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2477','0','','2477','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6978','1','','2620900000478','444440000478','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2478','0','','2478','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6979','1','','2620900000479','444440000479','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2479','0','','2479','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6980','1','','2620900000480','444440000480','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2480','0','','2480','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6981','1','','2620900000481','444440000481','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2481','0','','2481','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6982','1','','2620900000482','444440000482','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2482','0','','2482','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6983','1','','2620900000483','444440000483','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2483','0','','2483','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6984','1','','2620900000484','444440000484','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2484','0','','2484','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6985','1','','2620900000485','444440000485','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2485','0','','2485','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6986','1','','2620900000486','444440000486','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2486','0','','2486','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6987','1','','2620900000487','444440000487','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2487','0','','2487','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6988','1','','2620900000488','444440000488','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2488','0','','2488','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6989','1','','2620900000489','444440000489','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2489','0','','2489','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6990','1','','2620900000490','444440000490','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2490','0','','2490','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6991','1','','2620900000491','444440000491','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2491','0','','2491','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6992','1','','2620900000492','444440000492','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2492','0','','2492','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6993','1','','2620900000493','444440000493','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2493','0','','2493','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6994','1','','2620900000494','444440000494','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2494','0','','2494','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6995','1','','2620900000495','444440000495','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2495','0','','2495','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6996','1','','2620900000496','444440000496','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2496','0','','2496','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6997','1','','2620900000497','444440000497','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2497','0','','2497','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6998','1','','2620900000498','444440000498','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2498','0','','2498','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','6999','1','','2620900000499','444440000499','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2499','0','','2499','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7000','1','','2620900000500','444440000500','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2500','0','','2500','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7001','1','','2620900000501','444440000501','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2501','0','','2501','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7002','1','','2620900000502','444440000502','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2502','0','','2502','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7003','1','','2620900000503','444440000503','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2503','0','','2503','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7004','1','','2620900000504','444440000504','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2504','0','','2504','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7005','1','','2620900000505','444440000505','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2505','0','','2505','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7006','1','','2620900000506','444440000506','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2506','0','','2506','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7007','1','','2620900000507','444440000507','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2507','0','','2507','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7008','1','','2620900000508','444440000508','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2508','0','','2508','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7009','1','','2620900000509','444440000509','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2509','0','','2509','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7010','1','','2620900000510','444440000510','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2510','0','','2510','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7011','1','','2620900000511','444440000511','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2511','0','','2511','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7012','1','','2620900000512','444440000512','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2512','0','','2512','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7013','1','','2620900000513','444440000513','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2513','0','','2513','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7014','1','','2620900000514','444440000514','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2514','0','','2514','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7015','1','','2620900000515','444440000515','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2515','0','','2515','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7016','1','','2620900000516','444440000516','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2516','0','','2516','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7017','1','','2620900000517','444440000517','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2517','0','','2517','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7018','1','','2620900000518','444440000518','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2518','0','','2518','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7019','1','','2620900000519','444440000519','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2519','0','','2519','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7020','1','','2620900000520','444440000520','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2520','0','','2520','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7021','1','','2620900000521','444440000521','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2521','0','','2521','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7022','1','','2620900000522','444440000522','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2522','0','','2522','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7023','1','','2620900000523','444440000523','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2523','0','','2523','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7024','1','','2620900000524','444440000524','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2524','0','','2524','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7025','1','','2620900000525','444440000525','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2525','0','','2525','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7026','1','','2620900000526','444440000526','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2526','0','','2526','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7027','1','','2620900000527','444440000527','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2527','0','','2527','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7028','1','','2620900000528','444440000528','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2528','0','','2528','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7029','1','','2620900000529','444440000529','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2529','0','','2529','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7030','1','','2620900000530','444440000530','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2530','0','','2530','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7031','1','','2620900000531','444440000531','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2531','0','','2531','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7032','1','','2620900000532','444440000532','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2532','0','','2532','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7033','1','','2620900000533','444440000533','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2533','0','','2533','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7034','1','','2620900000534','444440000534','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2534','0','','2534','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7035','1','','2620900000535','444440000535','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2535','0','','2535','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7036','1','','2620900000536','444440000536','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2536','0','','2536','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7037','1','','2620900000537','444440000537','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2537','0','','2537','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7038','1','','2620900000538','444440000538','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2538','0','','2538','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7039','1','','2620900000539','444440000539','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2539','0','','2539','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7040','1','','2620900000540','444440000540','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2540','0','','2540','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7041','1','','2620900000541','444440000541','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2541','0','','2541','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7042','1','','2620900000542','444440000542','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2542','0','','2542','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7043','1','','2620900000543','444440000543','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2543','0','','2543','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7044','1','','2620900000544','444440000544','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2544','0','','2544','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7045','1','','2620900000545','444440000545','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2545','0','','2545','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7046','1','','2620900000546','444440000546','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2546','0','','2546','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7047','1','','2620900000547','444440000547','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2547','0','','2547','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7048','1','','2620900000548','444440000548','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2548','0','','2548','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7049','1','','2620900000549','444440000549','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2549','0','','2549','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7050','1','','2620900000550','444440000550','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2550','0','','2550','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7051','1','','2620900000551','444440000551','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2551','0','','2551','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7052','1','','2620900000552','444440000552','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2552','0','','2552','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7053','1','','2620900000553','444440000553','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2553','0','','2553','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7054','1','','2620900000554','444440000554','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2554','0','','2554','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7055','1','','2620900000555','444440000555','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2555','0','','2555','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7056','1','','2620900000556','444440000556','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2556','0','','2556','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7057','1','','2620900000557','444440000557','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2557','0','','2557','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7058','1','','2620900000558','444440000558','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2558','0','','2558','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7059','1','','2620900000559','444440000559','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2559','0','','2559','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7060','1','','2620900000560','444440000560','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2560','0','','2560','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7061','1','','2620900000561','444440000561','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2561','0','','2561','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7062','1','','2620900000562','444440000562','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2562','0','','2562','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7063','1','','2620900000563','444440000563','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2563','0','','2563','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7064','1','','2620900000564','444440000564','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2564','0','','2564','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7065','1','','2620900000565','444440000565','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2565','0','','2565','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7066','1','','2620900000566','444440000566','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2566','0','','2566','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7067','1','','2620900000567','444440000567','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2567','0','','2567','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7068','1','','2620900000568','444440000568','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2568','0','','2568','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7069','1','','2620900000569','444440000569','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2569','0','','2569','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7070','1','','2620900000570','444440000570','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2570','0','','2570','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7071','1','','2620900000571','444440000571','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2571','0','','2571','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7072','1','','2620900000572','444440000572','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2572','0','','2572','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7073','1','','2620900000573','444440000573','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2573','0','','2573','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7074','1','','2620900000574','444440000574','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2574','0','','2574','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7075','1','','2620900000575','444440000575','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2575','0','','2575','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7076','1','','2620900000576','444440000576','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2576','0','','2576','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7077','1','','2620900000577','444440000577','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2577','0','','2577','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7078','1','','2620900000578','444440000578','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2578','0','','2578','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7079','1','','2620900000579','444440000579','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2579','0','','2579','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7080','1','','2620900000580','444440000580','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2580','0','','2580','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7081','1','','2620900000581','444440000581','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2581','0','','2581','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7082','1','','2620900000582','444440000582','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2582','0','','2582','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7083','1','','2620900000583','444440000583','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2583','0','','2583','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7084','1','','2620900000584','444440000584','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2584','0','','2584','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7085','1','','2620900000585','444440000585','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2585','0','','2585','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7086','1','','2620900000586','444440000586','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2586','0','','2586','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7087','1','','2620900000587','444440000587','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2587','0','','2587','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7088','1','','2620900000588','444440000588','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2588','0','','2588','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7089','1','','2620900000589','444440000589','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2589','0','','2589','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7090','1','','2620900000590','444440000590','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2590','0','','2590','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7091','1','','2620900000591','444440000591','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2591','0','','2591','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7092','1','','2620900000592','444440000592','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2592','0','','2592','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7093','1','','2620900000593','444440000593','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2593','0','','2593','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7094','1','','2620900000594','444440000594','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2594','0','','2594','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7095','1','','2620900000595','444440000595','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2595','0','','2595','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7096','1','','2620900000596','444440000596','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2596','0','','2596','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7097','1','','2620900000597','444440000597','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2597','0','','2597','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7098','1','','2620900000598','444440000598','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2598','0','','2598','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7099','1','','2620900000599','444440000599','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2599','0','','2599','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7100','1','','2620900000600','444440000600','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2600','0','','2600','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7101','1','','2620900000601','444440000601','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2601','0','','2601','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7102','1','','2620900000602','444440000602','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2602','0','','2602','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7103','1','','2620900000603','444440000603','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2603','0','','2603','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7104','1','','2620900000604','444440000604','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2604','0','','2604','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7105','1','','2620900000605','444440000605','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2605','0','','2605','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7106','1','','2620900000606','444440000606','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2606','0','','2606','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7107','1','','2620900000607','444440000607','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2607','0','','2607','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7108','1','','2620900000608','444440000608','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2608','0','','2608','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7109','1','','2620900000609','444440000609','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2609','0','','2609','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7110','1','','2620900000610','444440000610','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2610','0','','2610','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7111','1','','2620900000611','444440000611','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2611','0','','2611','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7112','1','','2620900000612','444440000612','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2612','0','','2612','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7113','1','','2620900000613','444440000613','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2613','0','','2613','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7114','1','','2620900000614','444440000614','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2614','0','','2614','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7115','1','','2620900000615','444440000615','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2615','0','','2615','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7116','1','','2620900000616','444440000616','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2616','0','','2616','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7117','1','','2620900000617','444440000617','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2617','0','','2617','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7118','1','','2620900000618','444440000618','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2618','0','','2618','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7119','1','','2620900000619','444440000619','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2619','0','','2619','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7120','1','','2620900000620','444440000620','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2620','0','','2620','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7121','1','','2620900000621','444440000621','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2621','0','','2621','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7122','1','','2620900000622','444440000622','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2622','0','','2622','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7123','1','','2620900000623','444440000623','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2623','0','','2623','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7124','1','','2620900000624','444440000624','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2624','0','','2624','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7125','1','','2620900000625','444440000625','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2625','0','','2625','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7126','1','','2620900000626','444440000626','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2626','0','','2626','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7127','1','','2620900000627','444440000627','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2627','0','','2627','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7128','1','','2620900000628','444440000628','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2628','0','','2628','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7129','1','','2620900000629','444440000629','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2629','0','','2629','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7130','1','','2620900000630','444440000630','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2630','0','','2630','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7131','1','','2620900000631','444440000631','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2631','0','','2631','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7132','1','','2620900000632','444440000632','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2632','0','','2632','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7133','1','','2620900000633','444440000633','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2633','0','','2633','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7134','1','','2620900000634','444440000634','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2634','0','','2634','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7135','1','','2620900000635','444440000635','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2635','0','','2635','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7136','1','','2620900000636','444440000636','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2636','0','','2636','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7137','1','','2620900000637','444440000637','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2637','0','','2637','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7138','1','','2620900000638','444440000638','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2638','0','','2638','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7139','1','','2620900000639','444440000639','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2639','0','','2639','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7140','1','','2620900000640','444440000640','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2640','0','','2640','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7141','1','','2620900000641','444440000641','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2641','0','','2641','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7142','1','','2620900000642','444440000642','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2642','0','','2642','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7143','1','','2620900000643','444440000643','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2643','0','','2643','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7144','1','','2620900000644','444440000644','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2644','0','','2644','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7145','1','','2620900000645','444440000645','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2645','0','','2645','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7146','1','','2620900000646','444440000646','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2646','0','','2646','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7147','1','','2620900000647','444440000647','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2647','0','','2647','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7148','1','','2620900000648','444440000648','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2648','0','','2648','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7149','1','','2620900000649','444440000649','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2649','0','','2649','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7150','1','','2620900000650','444440000650','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2650','0','','2650','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7151','1','','2620900000651','444440000651','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2651','0','','2651','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7152','1','','2620900000652','444440000652','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2652','0','','2652','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7153','1','','2620900000653','444440000653','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2653','0','','2653','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7154','1','','2620900000654','444440000654','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2654','0','','2654','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7155','1','','2620900000655','444440000655','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2655','0','','2655','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7156','1','','2620900000656','444440000656','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2656','0','','2656','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7157','1','','2620900000657','444440000657','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2657','0','','2657','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7158','1','','2620900000658','444440000658','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2658','0','','2658','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7159','1','','2620900000659','444440000659','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2659','0','','2659','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7160','1','','2620900000660','444440000660','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2660','0','','2660','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7161','1','','2620900000661','444440000661','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2661','0','','2661','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7162','1','','2620900000662','444440000662','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2662','0','','2662','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7163','1','','2620900000663','444440000663','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2663','0','','2663','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7164','1','','2620900000664','444440000664','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2664','0','','2664','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7165','1','','2620900000665','444440000665','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2665','0','','2665','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7166','1','','2620900000666','444440000666','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2666','0','','2666','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7167','1','','2620900000667','444440000667','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2667','0','','2667','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7168','1','','2620900000668','444440000668','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2668','0','','2668','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7169','1','','2620900000669','444440000669','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2669','0','','2669','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7170','1','','2620900000670','444440000670','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2670','0','','2670','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7171','1','','2620900000671','444440000671','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2671','0','','2671','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7172','1','','2620900000672','444440000672','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2672','0','','2672','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7173','1','','2620900000673','444440000673','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2673','0','','2673','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7174','1','','2620900000674','444440000674','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2674','0','','2674','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7175','1','','2620900000675','444440000675','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2675','0','','2675','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7176','1','','2620900000676','444440000676','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2676','0','','2676','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7177','1','','2620900000677','444440000677','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2677','0','','2677','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7178','1','','2620900000678','444440000678','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2678','0','','2678','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7179','1','','2620900000679','444440000679','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2679','0','','2679','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7180','1','','2620900000680','444440000680','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2680','0','','2680','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7181','1','','2620900000681','444440000681','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2681','0','','2681','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7182','1','','2620900000682','444440000682','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2682','0','','2682','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7183','1','','2620900000683','444440000683','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2683','0','','2683','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7184','1','','2620900000684','444440000684','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2684','0','','2684','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7185','1','','2620900000685','444440000685','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2685','0','','2685','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7186','1','','2620900000686','444440000686','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2686','0','','2686','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7187','1','','2620900000687','444440000687','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2687','0','','2687','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7188','1','','2620900000688','444440000688','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2688','0','','2688','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7189','1','','2620900000689','444440000689','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2689','0','','2689','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7190','1','','2620900000690','444440000690','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2690','0','','2690','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7191','1','','2620900000691','444440000691','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2691','0','','2691','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7192','1','','2620900000692','444440000692','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2692','0','','2692','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7193','1','','2620900000693','444440000693','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2693','0','','2693','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7194','1','','2620900000694','444440000694','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2694','0','','2694','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7195','1','','2620900000695','444440000695','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2695','0','','2695','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7196','1','','2620900000696','444440000696','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2696','0','','2696','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7197','1','','2620900000697','444440000697','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2697','0','','2697','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7198','1','','2620900000698','444440000698','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2698','0','','2698','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7199','1','','2620900000699','444440000699','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2699','0','','2699','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7200','1','','2620900000700','444440000700','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2700','0','','2700','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7201','1','','2620900000701','444440000701','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2701','0','','2701','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7202','1','','2620900000702','444440000702','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2702','0','','2702','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7203','1','','2620900000703','444440000703','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2703','0','','2703','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7204','1','','2620900000704','444440000704','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2704','0','','2704','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7205','1','','2620900000705','444440000705','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2705','0','','2705','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7206','1','','2620900000706','444440000706','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2706','0','','2706','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7207','1','','2620900000707','444440000707','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2707','0','','2707','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7208','1','','2620900000708','444440000708','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2708','0','','2708','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7209','1','','2620900000709','444440000709','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2709','0','','2709','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7210','1','','2620900000710','444440000710','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2710','0','','2710','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7211','1','','2620900000711','444440000711','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2711','0','','2711','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7212','1','','2620900000712','444440000712','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2712','0','','2712','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7213','1','','2620900000713','444440000713','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2713','0','','2713','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7214','1','','2620900000714','444440000714','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2714','0','','2714','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7215','1','','2620900000715','444440000715','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2715','0','','2715','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7216','1','','2620900000716','444440000716','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2716','0','','2716','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7217','1','','2620900000717','444440000717','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2717','0','','2717','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7218','1','','2620900000718','444440000718','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2718','0','','2718','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7219','1','','2620900000719','444440000719','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2719','0','','2719','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7220','1','','2620900000720','444440000720','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2720','0','','2720','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7221','1','','2620900000721','444440000721','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2721','0','','2721','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7222','1','','2620900000722','444440000722','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2722','0','','2722','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7223','1','','2620900000723','444440000723','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2723','0','','2723','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7224','1','','2620900000724','444440000724','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2724','0','','2724','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7225','1','','2620900000725','444440000725','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2725','0','','2725','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7226','1','','2620900000726','444440000726','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2726','0','','2726','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7227','1','','2620900000727','444440000727','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2727','0','','2727','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7228','1','','2620900000728','444440000728','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2728','0','','2728','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7229','1','','2620900000729','444440000729','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2729','0','','2729','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7230','1','','2620900000730','444440000730','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2730','0','','2730','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7231','1','','2620900000731','444440000731','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2731','0','','2731','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7232','1','','2620900000732','444440000732','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2732','0','','2732','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7233','1','','2620900000733','444440000733','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2733','0','','2733','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7234','1','','2620900000734','444440000734','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2734','0','','2734','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7235','1','','2620900000735','444440000735','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2735','0','','2735','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7236','1','','2620900000736','444440000736','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2736','0','','2736','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7237','1','','2620900000737','444440000737','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2737','0','','2737','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7238','1','','2620900000738','444440000738','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2738','0','','2738','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7239','1','','2620900000739','444440000739','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2739','0','','2739','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7240','1','','2620900000740','444440000740','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2740','0','','2740','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7241','1','','2620900000741','444440000741','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2741','0','','2741','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7242','1','','2620900000742','444440000742','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2742','0','','2742','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7243','1','','2620900000743','444440000743','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2743','0','','2743','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7244','1','','2620900000744','444440000744','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2744','0','','2744','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7245','1','','2620900000745','444440000745','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2745','0','','2745','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7246','1','','2620900000746','444440000746','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2746','0','','2746','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7247','1','','2620900000747','444440000747','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2747','0','','2747','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7248','1','','2620900000748','444440000748','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2748','0','','2748','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7249','1','','2620900000749','444440000749','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2749','0','','2749','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7250','1','','2620900000750','444440000750','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2750','0','','2750','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7251','1','','2620900000751','444440000751','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2751','0','','2751','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7252','1','','2620900000752','444440000752','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2752','0','','2752','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7253','1','','2620900000753','444440000753','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2753','0','','2753','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7254','1','','2620900000754','444440000754','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2754','0','','2754','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7255','1','','2620900000755','444440000755','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2755','0','','2755','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7256','1','','2620900000756','444440000756','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2756','0','','2756','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7257','1','','2620900000757','444440000757','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2757','0','','2757','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7258','1','','2620900000758','444440000758','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2758','0','','2758','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7259','1','','2620900000759','444440000759','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2759','0','','2759','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7260','1','','2620900000760','444440000760','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2760','0','','2760','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7261','1','','2620900000761','444440000761','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2761','0','','2761','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7262','1','','2620900000762','444440000762','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2762','0','','2762','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7263','1','','2620900000763','444440000763','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2763','0','','2763','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7264','1','','2620900000764','444440000764','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2764','0','','2764','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7265','1','','2620900000765','444440000765','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2765','0','','2765','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7266','1','','2620900000766','444440000766','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2766','0','','2766','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7267','1','','2620900000767','444440000767','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2767','0','','2767','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7268','1','','2620900000768','444440000768','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2768','0','','2768','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7269','1','','2620900000769','444440000769','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2769','0','','2769','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7270','1','','2620900000770','444440000770','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2770','0','','2770','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7271','1','','2620900000771','444440000771','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2771','0','','2771','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7272','1','','2620900000772','444440000772','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2772','0','','2772','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7273','1','','2620900000773','444440000773','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2773','0','','2773','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7274','1','','2620900000774','444440000774','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2774','0','','2774','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7275','1','','2620900000775','444440000775','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2775','0','','2775','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7276','1','','2620900000776','444440000776','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2776','0','','2776','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7277','1','','2620900000777','444440000777','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2777','0','','2777','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7278','1','','2620900000778','444440000778','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2778','0','','2778','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7279','1','','2620900000779','444440000779','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2779','0','','2779','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7280','1','','2620900000780','444440000780','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2780','0','','2780','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7281','1','','2620900000781','444440000781','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2781','0','','2781','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7282','1','','2620900000782','444440000782','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2782','0','','2782','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7283','1','','2620900000783','444440000783','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2783','0','','2783','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7284','1','','2620900000784','444440000784','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2784','0','','2784','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7285','1','','2620900000785','444440000785','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2785','0','','2785','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7286','1','','2620900000786','444440000786','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2786','0','','2786','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7287','1','','2620900000787','444440000787','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2787','0','','2787','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7288','1','','2620900000788','444440000788','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2788','0','','2788','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7289','1','','2620900000789','444440000789','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2789','0','','2789','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7290','1','','2620900000790','444440000790','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2790','0','','2790','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7291','1','','2620900000791','444440000791','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2791','0','','2791','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7292','1','','2620900000792','444440000792','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2792','0','','2792','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7293','1','','2620900000793','444440000793','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2793','0','','2793','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7294','1','','2620900000794','444440000794','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2794','0','','2794','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7295','1','','2620900000795','444440000795','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2795','0','','2795','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7296','1','','2620900000796','444440000796','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2796','0','','2796','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7297','1','','2620900000797','444440000797','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2797','0','','2797','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7298','1','','2620900000798','444440000798','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2798','0','','2798','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7299','1','','2620900000799','444440000799','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2799','0','','2799','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7300','1','','2620900000800','444440000800','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2800','0','','2800','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7301','1','','2620900000801','444440000801','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2801','0','','2801','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7302','1','','2620900000802','444440000802','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2802','0','','2802','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7303','1','','2620900000803','444440000803','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2803','0','','2803','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7304','1','','2620900000804','444440000804','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2804','0','','2804','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7305','1','','2620900000805','444440000805','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2805','0','','2805','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7306','1','','2620900000806','444440000806','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2806','0','','2806','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7307','1','','2620900000807','444440000807','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2807','0','','2807','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7308','1','','2620900000808','444440000808','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2808','0','','2808','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7309','1','','2620900000809','444440000809','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2809','0','','2809','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7310','1','','2620900000810','444440000810','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2810','0','','2810','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7311','1','','2620900000811','444440000811','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2811','0','','2811','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7312','1','','2620900000812','444440000812','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2812','0','','2812','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7313','1','','2620900000813','444440000813','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2813','0','','2813','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7314','1','','2620900000814','444440000814','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2814','0','','2814','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7315','1','','2620900000815','444440000815','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2815','0','','2815','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7316','1','','2620900000816','444440000816','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2816','0','','2816','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7317','1','','2620900000817','444440000817','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2817','0','','2817','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7318','1','','2620900000818','444440000818','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2818','0','','2818','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7319','1','','2620900000819','444440000819','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2819','0','','2819','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7320','1','','2620900000820','444440000820','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2820','0','','2820','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7321','1','','2620900000821','444440000821','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2821','0','','2821','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7322','1','','2620900000822','444440000822','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2822','0','','2822','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7323','1','','2620900000823','444440000823','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2823','0','','2823','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7324','1','','2620900000824','444440000824','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2824','0','','2824','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7325','1','','2620900000825','444440000825','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2825','0','','2825','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7326','1','','2620900000826','444440000826','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2826','0','','2826','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7327','1','','2620900000827','444440000827','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2827','0','','2827','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7328','1','','2620900000828','444440000828','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2828','0','','2828','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7329','1','','2620900000829','444440000829','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2829','0','','2829','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7330','1','','2620900000830','444440000830','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2830','0','','2830','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7331','1','','2620900000831','444440000831','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2831','0','','2831','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7332','1','','2620900000832','444440000832','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2832','0','','2832','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7333','1','','2620900000833','444440000833','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2833','0','','2833','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7334','1','','2620900000834','444440000834','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2834','0','','2834','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7335','1','','2620900000835','444440000835','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2835','0','','2835','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7336','1','','2620900000836','444440000836','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2836','0','','2836','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7337','1','','2620900000837','444440000837','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2837','0','','2837','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7338','1','','2620900000838','444440000838','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2838','0','','2838','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7339','1','','2620900000839','444440000839','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2839','0','','2839','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7340','1','','2620900000840','444440000840','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2840','0','','2840','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7341','1','','2620900000841','444440000841','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2841','0','','2841','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7342','1','','2620900000842','444440000842','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2842','0','','2842','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7343','1','','2620900000843','444440000843','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2843','0','','2843','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7344','1','','2620900000844','444440000844','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2844','0','','2844','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7345','1','','2620900000845','444440000845','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2845','0','','2845','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7346','1','','2620900000846','444440000846','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2846','0','','2846','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7347','1','','2620900000847','444440000847','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2847','0','','2847','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7348','1','','2620900000848','444440000848','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2848','0','','2848','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7349','1','','2620900000849','444440000849','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2849','0','','2849','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7350','1','','2620900000850','444440000850','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2850','0','','2850','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7351','1','','2620900000851','444440000851','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2851','0','','2851','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7352','1','','2620900000852','444440000852','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2852','0','','2852','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7353','1','','2620900000853','444440000853','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2853','0','','2853','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7354','1','','2620900000854','444440000854','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2854','0','','2854','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7355','1','','2620900000855','444440000855','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2855','0','','2855','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7356','1','','2620900000856','444440000856','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2856','0','','2856','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7357','1','','2620900000857','444440000857','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2857','0','','2857','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7358','1','','2620900000858','444440000858','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2858','0','','2858','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7359','1','','2620900000859','444440000859','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2859','0','','2859','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7360','1','','2620900000860','444440000860','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2860','0','','2860','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7361','1','','2620900000861','444440000861','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2861','0','','2861','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7362','1','','2620900000862','444440000862','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2862','0','','2862','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7363','1','','2620900000863','444440000863','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2863','0','','2863','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7364','1','','2620900000864','444440000864','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2864','0','','2864','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7365','1','','2620900000865','444440000865','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2865','0','','2865','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7366','1','','2620900000866','444440000866','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2866','0','','2866','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7367','1','','2620900000867','444440000867','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2867','0','','2867','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7368','1','','2620900000868','444440000868','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2868','0','','2868','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7369','1','','2620900000869','444440000869','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2869','0','','2869','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7370','1','','2620900000870','444440000870','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2870','0','','2870','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7371','1','','2620900000871','444440000871','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2871','0','','2871','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7372','1','','2620900000872','444440000872','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2872','0','','2872','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7373','1','','2620900000873','444440000873','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2873','0','','2873','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7374','1','','2620900000874','444440000874','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2874','0','','2874','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7375','1','','2620900000875','444440000875','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2875','0','','2875','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7376','1','','2620900000876','444440000876','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2876','0','','2876','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7377','1','','2620900000877','444440000877','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2877','0','','2877','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7378','1','','2620900000878','444440000878','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2878','0','','2878','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7379','1','','2620900000879','444440000879','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2879','0','','2879','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7380','1','','2620900000880','444440000880','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2880','0','','2880','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7381','1','','2620900000881','444440000881','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2881','0','','2881','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7382','1','','2620900000882','444440000882','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2882','0','','2882','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7383','1','','2620900000883','444440000883','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2883','0','','2883','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7384','1','','2620900000884','444440000884','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2884','0','','2884','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7385','1','','2620900000885','444440000885','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2885','0','','2885','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7386','1','','2620900000886','444440000886','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2886','0','','2886','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7387','1','','2620900000887','444440000887','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2887','0','','2887','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7388','1','','2620900000888','444440000888','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2888','0','','2888','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7389','1','','2620900000889','444440000889','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2889','0','','2889','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7390','1','','2620900000890','444440000890','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2890','0','','2890','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7391','1','','2620900000891','444440000891','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2891','0','','2891','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7392','1','','2620900000892','444440000892','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2892','0','','2892','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7393','1','','2620900000893','444440000893','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2893','0','','2893','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7394','1','','2620900000894','444440000894','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2894','0','','2894','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7395','1','','2620900000895','444440000895','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2895','0','','2895','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7396','1','','2620900000896','444440000896','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2896','0','','2896','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7397','1','','2620900000897','444440000897','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2897','0','','2897','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7398','1','','2620900000898','444440000898','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2898','0','','2898','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7399','1','','2620900000899','444440000899','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2899','0','','2899','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7400','1','','2620900000900','444440000900','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2900','0','','2900','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7401','1','','2620900000901','444440000901','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2901','0','','2901','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7402','1','','2620900000902','444440000902','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2902','0','','2902','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7403','1','','2620900000903','444440000903','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2903','0','','2903','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7404','1','','2620900000904','444440000904','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2904','0','','2904','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7405','1','','2620900000905','444440000905','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2905','0','','2905','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7406','1','','2620900000906','444440000906','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2906','0','','2906','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7407','1','','2620900000907','444440000907','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2907','0','','2907','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7408','1','','2620900000908','444440000908','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2908','0','','2908','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7409','1','','2620900000909','444440000909','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2909','0','','2909','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7410','1','','2620900000910','444440000910','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2910','0','','2910','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7411','1','','2620900000911','444440000911','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2911','0','','2911','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7412','1','','2620900000912','444440000912','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2912','0','','2912','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7413','1','','2620900000913','444440000913','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2913','0','','2913','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7414','1','','2620900000914','444440000914','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2914','0','','2914','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7415','1','','2620900000915','444440000915','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2915','0','','2915','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7416','1','','2620900000916','444440000916','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2916','0','','2916','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7417','1','','2620900000917','444440000917','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2917','0','','2917','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7418','1','','2620900000918','444440000918','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2918','0','','2918','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7419','1','','2620900000919','444440000919','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2919','0','','2919','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7420','1','','2620900000920','444440000920','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2920','0','','2920','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7421','1','','2620900000921','444440000921','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2921','0','','2921','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7422','1','','2620900000922','444440000922','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2922','0','','2922','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7423','1','','2620900000923','444440000923','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2923','0','','2923','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7424','1','','2620900000924','444440000924','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2924','0','','2924','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7425','1','','2620900000925','444440000925','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2925','0','','2925','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7426','1','','2620900000926','444440000926','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2926','0','','2926','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7427','1','','2620900000927','444440000927','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2927','0','','2927','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7428','1','','2620900000928','444440000928','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2928','0','','2928','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7429','1','','2620900000929','444440000929','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2929','0','','2929','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7430','1','','2620900000930','444440000930','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2930','0','','2930','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7431','1','','2620900000931','444440000931','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2931','0','','2931','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7432','1','','2620900000932','444440000932','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2932','0','','2932','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7433','1','','2620900000933','444440000933','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2933','0','','2933','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7434','1','','2620900000934','444440000934','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2934','0','','2934','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7435','1','','2620900000935','444440000935','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2935','0','','2935','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7436','1','','2620900000936','444440000936','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2936','0','','2936','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7437','1','','2620900000937','444440000937','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2937','0','','2937','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7438','1','','2620900000938','444440000938','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2938','0','','2938','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7439','1','','2620900000939','444440000939','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2939','0','','2939','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7440','1','','2620900000940','444440000940','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2940','0','','2940','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7441','1','','2620900000941','444440000941','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2941','0','','2941','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7442','1','','2620900000942','444440000942','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2942','0','','2942','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7443','1','','2620900000943','444440000943','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2943','0','','2943','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7444','1','','2620900000944','444440000944','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2944','0','','2944','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7445','1','','2620900000945','444440000945','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2945','0','','2945','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7446','1','','2620900000946','444440000946','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2946','0','','2946','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7447','1','','2620900000947','444440000947','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2947','0','','2947','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7448','1','','2620900000948','444440000948','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2948','0','','2948','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7449','1','','2620900000949','444440000949','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2949','0','','2949','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7450','1','','2620900000950','444440000950','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2950','0','','2950','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7451','1','','2620900000951','444440000951','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2951','0','','2951','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7452','1','','2620900000952','444440000952','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2952','0','','2952','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7453','1','','2620900000953','444440000953','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2953','0','','2953','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7454','1','','2620900000954','444440000954','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2954','0','','2954','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7455','1','','2620900000955','444440000955','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2955','0','','2955','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7456','1','','2620900000956','444440000956','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2956','0','','2956','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7457','1','','2620900000957','444440000957','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2957','0','','2957','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7458','1','','2620900000958','444440000958','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2958','0','','2958','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7459','1','','2620900000959','444440000959','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2959','0','','2959','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7460','1','','2620900000960','444440000960','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2960','0','','2960','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7461','1','','2620900000961','444440000961','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2961','0','','2961','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7462','1','','2620900000962','444440000962','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2962','0','','2962','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7463','1','','2620900000963','444440000963','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2963','0','','2963','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7464','1','','2620900000964','444440000964','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2964','0','','2964','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7465','1','','2620900000965','444440000965','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2965','0','','2965','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7466','1','','2620900000966','444440000966','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2966','0','','2966','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7467','1','','2620900000967','444440000967','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2967','0','','2967','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7468','1','','2620900000968','444440000968','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2968','0','','2968','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7469','1','','2620900000969','444440000969','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2969','0','','2969','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7470','1','','2620900000970','444440000970','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2970','0','','2970','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7471','1','','2620900000971','444440000971','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2971','0','','2971','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7472','1','','2620900000972','444440000972','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2972','0','','2972','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7473','1','','2620900000973','444440000973','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2973','0','','2973','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7474','1','','2620900000974','444440000974','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2974','0','','2974','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7475','1','','2620900000975','444440000975','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2975','0','','2975','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7476','1','','2620900000976','444440000976','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2976','0','','2976','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7477','1','','2620900000977','444440000977','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2977','0','','2977','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7478','1','','2620900000978','444440000978','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2978','0','','2978','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7479','1','','2620900000979','444440000979','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2979','0','','2979','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7480','1','','2620900000980','444440000980','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2980','0','','2980','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7481','1','','2620900000981','444440000981','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2981','0','','2981','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7482','1','','2620900000982','444440000982','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2982','0','','2982','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7483','1','','2620900000983','444440000983','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2983','0','','2983','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7484','1','','2620900000984','444440000984','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2984','0','','2984','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7485','1','','2620900000985','444440000985','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2985','0','','2985','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7486','1','','2620900000986','444440000986','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2986','0','','2986','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7487','1','','2620900000987','444440000987','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2987','0','','2987','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7488','1','','2620900000988','444440000988','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2988','0','','2988','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7489','1','','2620900000989','444440000989','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2989','0','','2989','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7490','1','','2620900000990','444440000990','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2990','0','','2990','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7491','1','','2620900000991','444440000991','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2991','0','','2991','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7492','1','','2620900000992','444440000992','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2992','0','','2992','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7493','1','','2620900000993','444440000993','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2993','0','','2993','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7494','1','','2620900000994','444440000994','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2994','0','','2994','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7495','1','','2620900000995','444440000995','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2995','0','','2995','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7496','1','','2620900000996','444440000996','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2996','0','','2996','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7497','1','','2620900000997','444440000997','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2997','0','','2997','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7498','1','','2620900000998','444440000998','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2998','0','','2998','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7499','1','','2620900000999','444440000999','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','2999','0','','2999','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7500','1','','26209000001000','4444400001000','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3000','0','','3000','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7501','1','','26209000001001','4444400001001','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3001','0','','3001','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7502','1','','26209000001002','4444400001002','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3002','0','','3002','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7503','1','','26209000001003','4444400001003','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3003','0','','3003','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7504','1','','26209000001004','4444400001004','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3004','0','','3004','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7505','1','','26209000001005','4444400001005','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3005','0','','3005','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7506','1','','26209000001006','4444400001006','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3006','0','','3006','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7507','1','','26209000001007','4444400001007','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3007','0','','3007','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7508','1','','26209000001008','4444400001008','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3008','0','','3008','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7509','1','','26209000001009','4444400001009','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3009','0','','3009','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7510','1','','26209000001010','4444400001010','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3010','0','','3010','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7511','1','','26209000001011','4444400001011','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3011','0','','3011','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7512','1','','26209000001012','4444400001012','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3012','0','','3012','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7513','1','','26209000001013','4444400001013','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3013','0','','3013','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7514','1','','26209000001014','4444400001014','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3014','0','','3014','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7515','1','','26209000001015','4444400001015','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3015','0','','3015','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7516','1','','26209000001016','4444400001016','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3016','0','','3016','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7517','1','','26209000001017','4444400001017','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3017','0','','3017','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7518','1','','26209000001018','4444400001018','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3018','0','','3018','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7519','1','','26209000001019','4444400001019','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3019','0','','3019','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7520','1','','26209000001020','4444400001020','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3020','0','','3020','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7521','1','','26209000001021','4444400001021','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3021','0','','3021','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7522','1','','26209000001022','4444400001022','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3022','0','','3022','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7523','1','','26209000001023','4444400001023','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3023','0','','3023','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7524','1','','26209000001024','4444400001024','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3024','0','','3024','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7525','1','','26209000001025','4444400001025','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3025','0','','3025','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7526','1','','26209000001026','4444400001026','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3026','0','','3026','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7527','1','','26209000001027','4444400001027','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3027','0','','3027','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7528','1','','26209000001028','4444400001028','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3028','0','','3028','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7529','1','','26209000001029','4444400001029','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3029','0','','3029','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7530','1','','26209000001030','4444400001030','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3030','0','','3030','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7531','1','','26209000001031','4444400001031','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3031','0','','3031','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7532','1','','26209000001032','4444400001032','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3032','0','','3032','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7533','1','','26209000001033','4444400001033','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3033','0','','3033','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7534','1','','26209000001034','4444400001034','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3034','0','','3034','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7535','1','','26209000001035','4444400001035','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3035','0','','3035','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7536','1','','26209000001036','4444400001036','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3036','0','','3036','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7537','1','','26209000001037','4444400001037','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3037','0','','3037','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7538','1','','26209000001038','4444400001038','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3038','0','','3038','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7539','1','','26209000001039','4444400001039','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3039','0','','3039','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7540','1','','26209000001040','4444400001040','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3040','0','','3040','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7541','1','','26209000001041','4444400001041','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3041','0','','3041','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7542','1','','26209000001042','4444400001042','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3042','0','','3042','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7543','1','','26209000001043','4444400001043','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3043','0','','3043','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7544','1','','26209000001044','4444400001044','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3044','0','','3044','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7545','1','','26209000001045','4444400001045','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3045','0','','3045','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7546','1','','26209000001046','4444400001046','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3046','0','','3046','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7547','1','','26209000001047','4444400001047','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3047','0','','3047','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7548','1','','26209000001048','4444400001048','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3048','0','','3048','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7549','1','','26209000001049','4444400001049','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3049','0','','3049','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7550','1','','26209000001050','4444400001050','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3050','0','','3050','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7551','1','','26209000001051','4444400001051','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3051','0','','3051','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7552','1','','26209000001052','4444400001052','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3052','0','','3052','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7553','1','','26209000001053','4444400001053','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3053','0','','3053','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7554','1','','26209000001054','4444400001054','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3054','0','','3054','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7555','1','','26209000001055','4444400001055','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3055','0','','3055','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7556','1','','26209000001056','4444400001056','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3056','0','','3056','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7557','1','','26209000001057','4444400001057','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3057','0','','3057','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7558','1','','26209000001058','4444400001058','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3058','0','','3058','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7559','1','','26209000001059','4444400001059','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3059','0','','3059','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7560','1','','26209000001060','4444400001060','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3060','0','','3060','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7561','1','','26209000001061','4444400001061','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3061','0','','3061','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7562','1','','26209000001062','4444400001062','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3062','0','','3062','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7563','1','','26209000001063','4444400001063','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3063','0','','3063','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7564','1','','26209000001064','4444400001064','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3064','0','','3064','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7565','1','','26209000001065','4444400001065','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3065','0','','3065','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7566','1','','26209000001066','4444400001066','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3066','0','','3066','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7567','1','','26209000001067','4444400001067','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3067','0','','3067','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7568','1','','26209000001068','4444400001068','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3068','0','','3068','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7569','1','','26209000001069','4444400001069','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3069','0','','3069','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7570','1','','26209000001070','4444400001070','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3070','0','','3070','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7571','1','','26209000001071','4444400001071','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3071','0','','3071','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7572','1','','26209000001072','4444400001072','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3072','0','','3072','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7573','1','','26209000001073','4444400001073','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3073','0','','3073','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7574','1','','26209000001074','4444400001074','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3074','0','','3074','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7575','1','','26209000001075','4444400001075','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3075','0','','3075','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7576','1','','26209000001076','4444400001076','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3076','0','','3076','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7577','1','','26209000001077','4444400001077','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3077','0','','3077','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7578','1','','26209000001078','4444400001078','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3078','0','','3078','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7579','1','','26209000001079','4444400001079','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3079','0','','3079','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7580','1','','26209000001080','4444400001080','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3080','0','','3080','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7581','1','','26209000001081','4444400001081','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3081','0','','3081','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7582','1','','26209000001082','4444400001082','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3082','0','','3082','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7583','1','','26209000001083','4444400001083','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3083','0','','3083','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7584','1','','26209000001084','4444400001084','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3084','0','','3084','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7585','1','','26209000001085','4444400001085','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3085','0','','3085','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7586','1','','26209000001086','4444400001086','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3086','0','','3086','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7587','1','','26209000001087','4444400001087','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3087','0','','3087','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7588','1','','26209000001088','4444400001088','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3088','0','','3088','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7589','1','','26209000001089','4444400001089','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3089','0','','3089','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7590','1','','26209000001090','4444400001090','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3090','0','','3090','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7591','1','','26209000001091','4444400001091','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3091','0','','3091','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7592','1','','26209000001092','4444400001092','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3092','0','','3092','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7593','1','','26209000001093','4444400001093','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3093','0','','3093','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7594','1','','26209000001094','4444400001094','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3094','0','','3094','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7595','1','','26209000001095','4444400001095','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3095','0','','3095','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7596','1','','26209000001096','4444400001096','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3096','0','','3096','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7597','1','','26209000001097','4444400001097','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3097','0','','3097','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7598','1','','26209000001098','4444400001098','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3098','0','','3098','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7599','1','','26209000001099','4444400001099','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3099','0','','3099','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7600','1','','26209000001100','4444400001100','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3100','0','','3100','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7601','1','','26209000001101','4444400001101','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3101','0','','3101','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7602','1','','26209000001102','4444400001102','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3102','0','','3102','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7603','1','','26209000001103','4444400001103','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3103','0','','3103','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7604','1','','26209000001104','4444400001104','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3104','0','','3104','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7605','1','','26209000001105','4444400001105','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3105','0','','3105','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7606','1','','26209000001106','4444400001106','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3106','0','','3106','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7607','1','','26209000001107','4444400001107','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3107','0','','3107','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7608','1','','26209000001108','4444400001108','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3108','0','','3108','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7609','1','','26209000001109','4444400001109','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3109','0','','3109','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7610','1','','26209000001110','4444400001110','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3110','0','','3110','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7611','1','','26209000001111','4444400001111','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3111','0','','3111','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7612','1','','26209000001112','4444400001112','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3112','0','','3112','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7613','1','','26209000001113','4444400001113','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3113','0','','3113','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7614','1','','26209000001114','4444400001114','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3114','0','','3114','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7615','1','','26209000001115','4444400001115','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3115','0','','3115','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7616','1','','26209000001116','4444400001116','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3116','0','','3116','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7617','1','','26209000001117','4444400001117','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3117','0','','3117','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7618','1','','26209000001118','4444400001118','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3118','0','','3118','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7619','1','','26209000001119','4444400001119','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3119','0','','3119','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7620','1','','26209000001120','4444400001120','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3120','0','','3120','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7621','1','','26209000001121','4444400001121','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3121','0','','3121','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7622','1','','26209000001122','4444400001122','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3122','0','','3122','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7623','1','','26209000001123','4444400001123','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3123','0','','3123','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7624','1','','26209000001124','4444400001124','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3124','0','','3124','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7625','1','','26209000001125','4444400001125','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3125','0','','3125','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7626','1','','26209000001126','4444400001126','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3126','0','','3126','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7627','1','','26209000001127','4444400001127','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3127','0','','3127','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7628','1','','26209000001128','4444400001128','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3128','0','','3128','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7629','1','','26209000001129','4444400001129','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3129','0','','3129','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7630','1','','26209000001130','4444400001130','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3130','0','','3130','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7631','1','','26209000001131','4444400001131','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3131','0','','3131','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7632','1','','26209000001132','4444400001132','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3132','0','','3132','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7633','1','','26209000001133','4444400001133','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3133','0','','3133','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7634','1','','26209000001134','4444400001134','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3134','0','','3134','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7635','1','','26209000001135','4444400001135','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3135','0','','3135','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7636','1','','26209000001136','4444400001136','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3136','0','','3136','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7637','1','','26209000001137','4444400001137','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3137','0','','3137','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7638','1','','26209000001138','4444400001138','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3138','0','','3138','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7639','1','','26209000001139','4444400001139','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3139','0','','3139','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7640','1','','26209000001140','4444400001140','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3140','0','','3140','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7641','1','','26209000001141','4444400001141','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3141','0','','3141','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7642','1','','26209000001142','4444400001142','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3142','0','','3142','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7643','1','','26209000001143','4444400001143','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3143','0','','3143','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7644','1','','26209000001144','4444400001144','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3144','0','','3144','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7645','1','','26209000001145','4444400001145','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3145','0','','3145','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7646','1','','26209000001146','4444400001146','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3146','0','','3146','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7647','1','','26209000001147','4444400001147','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3147','0','','3147','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7648','1','','26209000001148','4444400001148','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3148','0','','3148','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7649','1','','26209000001149','4444400001149','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3149','0','','3149','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7650','1','','26209000001150','4444400001150','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3150','0','','3150','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7651','1','','26209000001151','4444400001151','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3151','0','','3151','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7652','1','','26209000001152','4444400001152','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3152','0','','3152','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7653','1','','26209000001153','4444400001153','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3153','0','','3153','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7654','1','','26209000001154','4444400001154','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3154','0','','3154','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7655','1','','26209000001155','4444400001155','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3155','0','','3155','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7656','1','','26209000001156','4444400001156','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3156','0','','3156','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7657','1','','26209000001157','4444400001157','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3157','0','','3157','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7658','1','','26209000001158','4444400001158','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3158','0','','3158','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7659','1','','26209000001159','4444400001159','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3159','0','','3159','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7660','1','','26209000001160','4444400001160','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3160','0','','3160','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7661','1','','26209000001161','4444400001161','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3161','0','','3161','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7662','1','','26209000001162','4444400001162','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3162','0','','3162','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7663','1','','26209000001163','4444400001163','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3163','0','','3163','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7664','1','','26209000001164','4444400001164','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3164','0','','3164','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7665','1','','26209000001165','4444400001165','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3165','0','','3165','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7666','1','','26209000001166','4444400001166','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3166','0','','3166','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7667','1','','26209000001167','4444400001167','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3167','0','','3167','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7668','1','','26209000001168','4444400001168','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3168','0','','3168','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7669','1','','26209000001169','4444400001169','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3169','0','','3169','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7670','1','','26209000001170','4444400001170','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3170','0','','3170','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7671','1','','26209000001171','4444400001171','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3171','0','','3171','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7672','1','','26209000001172','4444400001172','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3172','0','','3172','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7673','1','','26209000001173','4444400001173','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3173','0','','3173','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7674','1','','26209000001174','4444400001174','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3174','0','','3174','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7675','1','','26209000001175','4444400001175','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3175','0','','3175','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7676','1','','26209000001176','4444400001176','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3176','0','','3176','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7677','1','','26209000001177','4444400001177','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3177','0','','3177','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7678','1','','26209000001178','4444400001178','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3178','0','','3178','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7679','1','','26209000001179','4444400001179','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3179','0','','3179','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7680','1','','26209000001180','4444400001180','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3180','0','','3180','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7681','1','','26209000001181','4444400001181','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3181','0','','3181','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7682','1','','26209000001182','4444400001182','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3182','0','','3182','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7683','1','','26209000001183','4444400001183','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3183','0','','3183','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7684','1','','26209000001184','4444400001184','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3184','0','','3184','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7685','1','','26209000001185','4444400001185','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3185','0','','3185','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7686','1','','26209000001186','4444400001186','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3186','0','','3186','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7687','1','','26209000001187','4444400001187','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3187','0','','3187','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7688','1','','26209000001188','4444400001188','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3188','0','','3188','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7689','1','','26209000001189','4444400001189','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3189','0','','3189','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7690','1','','26209000001190','4444400001190','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3190','0','','3190','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7691','1','','26209000001191','4444400001191','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3191','0','','3191','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7692','1','','26209000001192','4444400001192','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3192','0','','3192','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7693','1','','26209000001193','4444400001193','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3193','0','','3193','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7694','1','','26209000001194','4444400001194','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3194','0','','3194','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7695','1','','26209000001195','4444400001195','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3195','0','','3195','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7696','1','','26209000001196','4444400001196','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3196','0','','3196','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7697','1','','26209000001197','4444400001197','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3197','0','','3197','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7698','1','','26209000001198','4444400001198','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3198','0','','3198','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7699','1','','26209000001199','4444400001199','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3199','0','','3199','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7700','1','','26209000001200','4444400001200','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3200','0','','3200','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7701','1','','26209000001201','4444400001201','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3201','0','','3201','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7702','1','','26209000001202','4444400001202','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3202','0','','3202','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7703','1','','26209000001203','4444400001203','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3203','0','','3203','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7704','1','','26209000001204','4444400001204','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3204','0','','3204','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7705','1','','26209000001205','4444400001205','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3205','0','','3205','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7706','1','','26209000001206','4444400001206','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3206','0','','3206','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7707','1','','26209000001207','4444400001207','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3207','0','','3207','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7708','1','','26209000001208','4444400001208','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3208','0','','3208','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7709','1','','26209000001209','4444400001209','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3209','0','','3209','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7710','1','','26209000001210','4444400001210','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3210','0','','3210','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7711','1','','26209000001211','4444400001211','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3211','0','','3211','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7712','1','','26209000001212','4444400001212','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3212','0','','3212','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7713','1','','26209000001213','4444400001213','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3213','0','','3213','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7714','1','','26209000001214','4444400001214','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3214','0','','3214','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7715','1','','26209000001215','4444400001215','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3215','0','','3215','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7716','1','','26209000001216','4444400001216','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3216','0','','3216','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7717','1','','26209000001217','4444400001217','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3217','0','','3217','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7718','1','','26209000001218','4444400001218','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3218','0','','3218','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7719','1','','26209000001219','4444400001219','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3219','0','','3219','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7720','1','','26209000001220','4444400001220','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3220','0','','3220','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7721','1','','26209000001221','4444400001221','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3221','0','','3221','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7722','1','','26209000001222','4444400001222','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3222','0','','3222','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7723','1','','26209000001223','4444400001223','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3223','0','','3223','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7724','1','','26209000001224','4444400001224','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3224','0','','3224','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7725','1','','26209000001225','4444400001225','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3225','0','','3225','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7726','1','','26209000001226','4444400001226','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3226','0','','3226','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7727','1','','26209000001227','4444400001227','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3227','0','','3227','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7728','1','','26209000001228','4444400001228','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3228','0','','3228','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7729','1','','26209000001229','4444400001229','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3229','0','','3229','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7730','1','','26209000001230','4444400001230','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3230','0','','3230','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7731','1','','26209000001231','4444400001231','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3231','0','','3231','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7732','1','','26209000001232','4444400001232','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3232','0','','3232','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7733','1','','26209000001233','4444400001233','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3233','0','','3233','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7734','1','','26209000001234','4444400001234','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3234','0','','3234','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7735','1','','26209000001235','4444400001235','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3235','0','','3235','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7736','1','','26209000001236','4444400001236','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3236','0','','3236','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7737','1','','26209000001237','4444400001237','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3237','0','','3237','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7738','1','','26209000001238','4444400001238','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3238','0','','3238','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7739','1','','26209000001239','4444400001239','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3239','0','','3239','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7740','1','','26209000001240','4444400001240','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3240','0','','3240','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7741','1','','26209000001241','4444400001241','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3241','0','','3241','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7742','1','','26209000001242','4444400001242','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3242','0','','3242','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7743','1','','26209000001243','4444400001243','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3243','0','','3243','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7744','1','','26209000001244','4444400001244','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3244','0','','3244','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7745','1','','26209000001245','4444400001245','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3245','0','','3245','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7746','1','','26209000001246','4444400001246','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3246','0','','3246','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7747','1','','26209000001247','4444400001247','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3247','0','','3247','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7748','1','','26209000001248','4444400001248','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3248','0','','3248','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7749','1','','26209000001249','4444400001249','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3249','0','','3249','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7750','1','','26209000001250','4444400001250','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3250','0','','3250','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7751','1','','26209000001251','4444400001251','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3251','0','','3251','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7752','1','','26209000001252','4444400001252','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3252','0','','3252','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7753','1','','26209000001253','4444400001253','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3253','0','','3253','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7754','1','','26209000001254','4444400001254','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3254','0','','3254','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7755','1','','26209000001255','4444400001255','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3255','0','','3255','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7756','1','','26209000001256','4444400001256','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3256','0','','3256','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7757','1','','26209000001257','4444400001257','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3257','0','','3257','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7758','1','','26209000001258','4444400001258','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3258','0','','3258','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7759','1','','26209000001259','4444400001259','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3259','0','','3259','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7760','1','','26209000001260','4444400001260','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3260','0','','3260','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7761','1','','26209000001261','4444400001261','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3261','0','','3261','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7762','1','','26209000001262','4444400001262','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3262','0','','3262','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7763','1','','26209000001263','4444400001263','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3263','0','','3263','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7764','1','','26209000001264','4444400001264','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3264','0','','3264','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7765','1','','26209000001265','4444400001265','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3265','0','','3265','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7766','1','','26209000001266','4444400001266','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3266','0','','3266','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7767','1','','26209000001267','4444400001267','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3267','0','','3267','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7768','1','','26209000001268','4444400001268','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3268','0','','3268','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7769','1','','26209000001269','4444400001269','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3269','0','','3269','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7770','1','','26209000001270','4444400001270','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3270','0','','3270','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7771','1','','26209000001271','4444400001271','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3271','0','','3271','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7772','1','','26209000001272','4444400001272','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3272','0','','3272','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7773','1','','26209000001273','4444400001273','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3273','0','','3273','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7774','1','','26209000001274','4444400001274','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3274','0','','3274','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7775','1','','26209000001275','4444400001275','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3275','0','','3275','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7776','1','','26209000001276','4444400001276','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3276','0','','3276','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7777','1','','26209000001277','4444400001277','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3277','0','','3277','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7778','1','','26209000001278','4444400001278','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3278','0','','3278','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7779','1','','26209000001279','4444400001279','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3279','0','','3279','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7780','1','','26209000001280','4444400001280','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3280','0','','3280','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7781','1','','26209000001281','4444400001281','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3281','0','','3281','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7782','1','','26209000001282','4444400001282','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3282','0','','3282','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7783','1','','26209000001283','4444400001283','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3283','0','','3283','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7784','1','','26209000001284','4444400001284','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3284','0','','3284','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7785','1','','26209000001285','4444400001285','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3285','0','','3285','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7786','1','','26209000001286','4444400001286','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3286','0','','3286','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7787','1','','26209000001287','4444400001287','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3287','0','','3287','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7788','1','','26209000001288','4444400001288','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3288','0','','3288','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7789','1','','26209000001289','4444400001289','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3289','0','','3289','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7790','1','','26209000001290','4444400001290','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3290','0','','3290','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7791','1','','26209000001291','4444400001291','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3291','0','','3291','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7792','1','','26209000001292','4444400001292','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3292','0','','3292','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7793','1','','26209000001293','4444400001293','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3293','0','','3293','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7794','1','','26209000001294','4444400001294','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3294','0','','3294','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7795','1','','26209000001295','4444400001295','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3295','0','','3295','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7796','1','','26209000001296','4444400001296','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3296','0','','3296','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7797','1','','26209000001297','4444400001297','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3297','0','','3297','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7798','1','','26209000001298','4444400001298','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3298','0','','3298','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7799','1','','26209000001299','4444400001299','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3299','0','','3299','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7800','1','','26209000001300','4444400001300','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3300','0','','3300','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7801','1','','26209000001301','4444400001301','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3301','0','','3301','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7802','1','','26209000001302','4444400001302','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3302','0','','3302','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7803','1','','26209000001303','4444400001303','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3303','0','','3303','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7804','1','','26209000001304','4444400001304','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3304','0','','3304','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7805','1','','26209000001305','4444400001305','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3305','0','','3305','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7806','1','','26209000001306','4444400001306','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3306','0','','3306','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7807','1','','26209000001307','4444400001307','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3307','0','','3307','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7808','1','','26209000001308','4444400001308','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3308','0','','3308','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7809','1','','26209000001309','4444400001309','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3309','0','','3309','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7810','1','','26209000001310','4444400001310','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3310','0','','3310','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7811','1','','26209000001311','4444400001311','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3311','0','','3311','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7812','1','','26209000001312','4444400001312','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3312','0','','3312','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7813','1','','26209000001313','4444400001313','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3313','0','','3313','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7814','1','','26209000001314','4444400001314','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3314','0','','3314','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7815','1','','26209000001315','4444400001315','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3315','0','','3315','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7816','1','','26209000001316','4444400001316','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3316','0','','3316','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7817','1','','26209000001317','4444400001317','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3317','0','','3317','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7818','1','','26209000001318','4444400001318','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3318','0','','3318','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7819','1','','26209000001319','4444400001319','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3319','0','','3319','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7820','1','','26209000001320','4444400001320','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3320','0','','3320','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7821','1','','26209000001321','4444400001321','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3321','0','','3321','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7822','1','','26209000001322','4444400001322','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3322','0','','3322','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7823','1','','26209000001323','4444400001323','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3323','0','','3323','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7824','1','','26209000001324','4444400001324','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3324','0','','3324','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7825','1','','26209000001325','4444400001325','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3325','0','','3325','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7826','1','','26209000001326','4444400001326','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3326','0','','3326','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7827','1','','26209000001327','4444400001327','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3327','0','','3327','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7828','1','','26209000001328','4444400001328','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3328','0','','3328','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7829','1','','26209000001329','4444400001329','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3329','0','','3329','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7830','1','','26209000001330','4444400001330','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3330','0','','3330','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7831','1','','26209000001331','4444400001331','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3331','0','','3331','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7832','1','','26209000001332','4444400001332','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3332','0','','3332','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7833','1','','26209000001333','4444400001333','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3333','0','','3333','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7834','1','','26209000001334','4444400001334','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3334','0','','3334','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7835','1','','26209000001335','4444400001335','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3335','0','','3335','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7836','1','','26209000001336','4444400001336','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3336','0','','3336','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7837','1','','26209000001337','4444400001337','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3337','0','','3337','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7838','1','','26209000001338','4444400001338','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3338','0','','3338','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7839','1','','26209000001339','4444400001339','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3339','0','','3339','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7840','1','','26209000001340','4444400001340','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3340','0','','3340','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7841','1','','26209000001341','4444400001341','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3341','0','','3341','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7842','1','','26209000001342','4444400001342','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3342','0','','3342','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7843','1','','26209000001343','4444400001343','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3343','0','','3343','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7844','1','','26209000001344','4444400001344','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3344','0','','3344','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7845','1','','26209000001345','4444400001345','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3345','0','','3345','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7846','1','','26209000001346','4444400001346','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3346','0','','3346','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7847','1','','26209000001347','4444400001347','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3347','0','','3347','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7848','1','','26209000001348','4444400001348','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3348','0','','3348','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7849','1','','26209000001349','4444400001349','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3349','0','','3349','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7850','1','','26209000001350','4444400001350','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3350','0','','3350','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7851','1','','26209000001351','4444400001351','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3351','0','','3351','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7852','1','','26209000001352','4444400001352','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3352','0','','3352','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7853','1','','26209000001353','4444400001353','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3353','0','','3353','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7854','1','','26209000001354','4444400001354','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3354','0','','3354','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7855','1','','26209000001355','4444400001355','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3355','0','','3355','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7856','1','','26209000001356','4444400001356','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3356','0','','3356','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7857','1','','26209000001357','4444400001357','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3357','0','','3357','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7858','1','','26209000001358','4444400001358','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3358','0','','3358','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7859','1','','26209000001359','4444400001359','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3359','0','','3359','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7860','1','','26209000001360','4444400001360','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3360','0','','3360','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7861','1','','26209000001361','4444400001361','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3361','0','','3361','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7862','1','','26209000001362','4444400001362','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3362','0','','3362','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7863','1','','26209000001363','4444400001363','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3363','0','','3363','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7864','1','','26209000001364','4444400001364','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3364','0','','3364','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7865','1','','26209000001365','4444400001365','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3365','0','','3365','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7866','1','','26209000001366','4444400001366','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3366','0','','3366','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7867','1','','26209000001367','4444400001367','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3367','0','','3367','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7868','1','','26209000001368','4444400001368','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3368','0','','3368','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7869','1','','26209000001369','4444400001369','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3369','0','','3369','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7870','1','','26209000001370','4444400001370','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3370','0','','3370','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7871','1','','26209000001371','4444400001371','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3371','0','','3371','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7872','1','','26209000001372','4444400001372','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3372','0','','3372','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7873','1','','26209000001373','4444400001373','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3373','0','','3373','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7874','1','','26209000001374','4444400001374','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3374','0','','3374','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7875','1','','26209000001375','4444400001375','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3375','0','','3375','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7876','1','','26209000001376','4444400001376','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3376','0','','3376','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7877','1','','26209000001377','4444400001377','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3377','0','','3377','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7878','1','','26209000001378','4444400001378','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3378','0','','3378','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7879','1','','26209000001379','4444400001379','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3379','0','','3379','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7880','1','','26209000001380','4444400001380','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3380','0','','3380','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7881','1','','26209000001381','4444400001381','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3381','0','','3381','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7882','1','','26209000001382','4444400001382','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3382','0','','3382','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7883','1','','26209000001383','4444400001383','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3383','0','','3383','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7884','1','','26209000001384','4444400001384','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3384','0','','3384','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7885','1','','26209000001385','4444400001385','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3385','0','','3385','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7886','1','','26209000001386','4444400001386','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3386','0','','3386','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7887','1','','26209000001387','4444400001387','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3387','0','','3387','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7888','1','','26209000001388','4444400001388','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3388','0','','3388','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7889','1','','26209000001389','4444400001389','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3389','0','','3389','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7890','1','','26209000001390','4444400001390','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3390','0','','3390','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7891','1','','26209000001391','4444400001391','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3391','0','','3391','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7892','1','','26209000001392','4444400001392','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3392','0','','3392','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7893','1','','26209000001393','4444400001393','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3393','0','','3393','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7894','1','','26209000001394','4444400001394','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3394','0','','3394','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7895','1','','26209000001395','4444400001395','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3395','0','','3395','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7896','1','','26209000001396','4444400001396','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3396','0','','3396','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7897','1','','26209000001397','4444400001397','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3397','0','','3397','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7898','1','','26209000001398','4444400001398','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3398','0','','3398','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7899','1','','26209000001399','4444400001399','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3399','0','','3399','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7900','1','','26209000001400','4444400001400','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3400','0','','3400','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7901','1','','26209000001401','4444400001401','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3401','0','','3401','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7902','1','','26209000001402','4444400001402','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3402','0','','3402','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7903','1','','26209000001403','4444400001403','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3403','0','','3403','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7904','1','','26209000001404','4444400001404','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3404','0','','3404','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7905','1','','26209000001405','4444400001405','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3405','0','','3405','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7906','1','','26209000001406','4444400001406','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3406','0','','3406','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7907','1','','26209000001407','4444400001407','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3407','0','','3407','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7908','1','','26209000001408','4444400001408','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3408','0','','3408','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7909','1','','26209000001409','4444400001409','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3409','0','','3409','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7910','1','','26209000001410','4444400001410','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3410','0','','3410','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7911','1','','26209000001411','4444400001411','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3411','0','','3411','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7912','1','','26209000001412','4444400001412','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3412','0','','3412','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7913','1','','26209000001413','4444400001413','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3413','0','','3413','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7914','1','','26209000001414','4444400001414','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3414','0','','3414','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7915','1','','26209000001415','4444400001415','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3415','0','','3415','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7916','1','','26209000001416','4444400001416','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3416','0','','3416','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7917','1','','26209000001417','4444400001417','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3417','0','','3417','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7918','1','','26209000001418','4444400001418','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3418','0','','3418','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7919','1','','26209000001419','4444400001419','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3419','0','','3419','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7920','1','','26209000001420','4444400001420','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3420','0','','3420','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7921','1','','26209000001421','4444400001421','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3421','0','','3421','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7922','1','','26209000001422','4444400001422','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3422','0','','3422','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7923','1','','26209000001423','4444400001423','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3423','0','','3423','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7924','1','','26209000001424','4444400001424','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3424','0','','3424','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7925','1','','26209000001425','4444400001425','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3425','0','','3425','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7926','1','','26209000001426','4444400001426','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3426','0','','3426','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7927','1','','26209000001427','4444400001427','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3427','0','','3427','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7928','1','','26209000001428','4444400001428','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3428','0','','3428','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7929','1','','26209000001429','4444400001429','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3429','0','','3429','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7930','1','','26209000001430','4444400001430','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3430','0','','3430','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7931','1','','26209000001431','4444400001431','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3431','0','','3431','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7932','1','','26209000001432','4444400001432','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3432','0','','3432','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7933','1','','26209000001433','4444400001433','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3433','0','','3433','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7934','1','','26209000001434','4444400001434','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3434','0','','3434','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7935','1','','26209000001435','4444400001435','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3435','0','','3435','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7936','1','','26209000001436','4444400001436','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3436','0','','3436','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7937','1','','26209000001437','4444400001437','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3437','0','','3437','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7938','1','','26209000001438','4444400001438','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3438','0','','3438','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7939','1','','26209000001439','4444400001439','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3439','0','','3439','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7940','1','','26209000001440','4444400001440','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3440','0','','3440','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7941','1','','26209000001441','4444400001441','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3441','0','','3441','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7942','1','','26209000001442','4444400001442','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3442','0','','3442','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7943','1','','26209000001443','4444400001443','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3443','0','','3443','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7944','1','','26209000001444','4444400001444','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3444','0','','3444','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7945','1','','26209000001445','4444400001445','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3445','0','','3445','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7946','1','','26209000001446','4444400001446','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3446','0','','3446','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7947','1','','26209000001447','4444400001447','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3447','0','','3447','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7948','1','','26209000001448','4444400001448','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3448','0','','3448','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7949','1','','26209000001449','4444400001449','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3449','0','','3449','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7950','1','','26209000001450','4444400001450','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3450','0','','3450','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7951','1','','26209000001451','4444400001451','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3451','0','','3451','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7952','1','','26209000001452','4444400001452','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3452','0','','3452','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7953','1','','26209000001453','4444400001453','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3453','0','','3453','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7954','1','','26209000001454','4444400001454','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3454','0','','3454','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7955','1','','26209000001455','4444400001455','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3455','0','','3455','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7956','1','','26209000001456','4444400001456','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3456','0','','3456','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7957','1','','26209000001457','4444400001457','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3457','0','','3457','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7958','1','','26209000001458','4444400001458','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3458','0','','3458','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7959','1','','26209000001459','4444400001459','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3459','0','','3459','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7960','1','','26209000001460','4444400001460','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3460','0','','3460','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7961','1','','26209000001461','4444400001461','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3461','0','','3461','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7962','1','','26209000001462','4444400001462','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3462','0','','3462','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7963','1','','26209000001463','4444400001463','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3463','0','','3463','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7964','1','','26209000001464','4444400001464','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3464','0','','3464','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7965','1','','26209000001465','4444400001465','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3465','0','','3465','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7966','1','','26209000001466','4444400001466','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3466','0','','3466','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7967','1','','26209000001467','4444400001467','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3467','0','','3467','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7968','1','','26209000001468','4444400001468','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3468','0','','3468','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7969','1','','26209000001469','4444400001469','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3469','0','','3469','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7970','1','','26209000001470','4444400001470','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3470','0','','3470','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7971','1','','26209000001471','4444400001471','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3471','0','','3471','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7972','1','','26209000001472','4444400001472','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3472','0','','3472','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7973','1','','26209000001473','4444400001473','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3473','0','','3473','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7974','1','','26209000001474','4444400001474','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3474','0','','3474','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7975','1','','26209000001475','4444400001475','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3475','0','','3475','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7976','1','','26209000001476','4444400001476','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3476','0','','3476','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7977','1','','26209000001477','4444400001477','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3477','0','','3477','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7978','1','','26209000001478','4444400001478','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3478','0','','3478','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7979','1','','26209000001479','4444400001479','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3479','0','','3479','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7980','1','','26209000001480','4444400001480','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3480','0','','3480','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7981','1','','26209000001481','4444400001481','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3481','0','','3481','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7982','1','','26209000001482','4444400001482','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3482','0','','3482','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7983','1','','26209000001483','4444400001483','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3483','0','','3483','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7984','1','','26209000001484','4444400001484','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3484','0','','3484','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7985','1','','26209000001485','4444400001485','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3485','0','','3485','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7986','1','','26209000001486','4444400001486','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3486','0','','3486','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7987','1','','26209000001487','4444400001487','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3487','0','','3487','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7988','1','','26209000001488','4444400001488','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3488','0','','3488','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7989','1','','26209000001489','4444400001489','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3489','0','','3489','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7990','1','','26209000001490','4444400001490','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3490','0','','3490','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7991','1','','26209000001491','4444400001491','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3491','0','','3491','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7992','1','','26209000001492','4444400001492','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3492','0','','3492','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7993','1','','26209000001493','4444400001493','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3493','0','','3493','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7994','1','','26209000001494','4444400001494','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3494','0','','3494','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7995','1','','26209000001495','4444400001495','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3495','0','','3495','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7996','1','','26209000001496','4444400001496','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3496','0','','3496','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7997','1','','26209000001497','4444400001497','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3497','0','','3497','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7998','1','','26209000001498','4444400001498','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3498','0','','3498','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','7999','1','','26209000001499','4444400001499','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3499','0','','3499','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8000','1','','26209000001500','4444400001500','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3500','0','','3500','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8001','1','','26209000001501','4444400001501','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3501','0','','3501','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8002','1','','26209000001502','4444400001502','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3502','0','','3502','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8003','1','','26209000001503','4444400001503','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3503','0','','3503','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8004','1','','26209000001504','4444400001504','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3504','0','','3504','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8005','1','','26209000001505','4444400001505','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3505','0','','3505','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8006','1','','26209000001506','4444400001506','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3506','0','','3506','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8007','1','','26209000001507','4444400001507','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3507','0','','3507','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8008','1','','26209000001508','4444400001508','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3508','0','','3508','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8009','1','','26209000001509','4444400001509','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3509','0','','3509','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8010','1','','26209000001510','4444400001510','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3510','0','','3510','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8011','1','','26209000001511','4444400001511','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3511','0','','3511','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8012','1','','26209000001512','4444400001512','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3512','0','','3512','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8013','1','','26209000001513','4444400001513','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3513','0','','3513','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8014','1','','26209000001514','4444400001514','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3514','0','','3514','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8015','1','','26209000001515','4444400001515','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3515','0','','3515','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8016','1','','26209000001516','4444400001516','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3516','0','','3516','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8017','1','','26209000001517','4444400001517','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3517','0','','3517','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8018','1','','26209000001518','4444400001518','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3518','0','','3518','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8019','1','','26209000001519','4444400001519','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3519','0','','3519','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8020','1','','26209000001520','4444400001520','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3520','0','','3520','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8021','1','','26209000001521','4444400001521','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3521','0','','3521','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8022','1','','26209000001522','4444400001522','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3522','0','','3522','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8023','1','','26209000001523','4444400001523','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3523','0','','3523','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8024','1','','26209000001524','4444400001524','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3524','0','','3524','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8025','1','','26209000001525','4444400001525','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3525','0','','3525','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8026','1','','26209000001526','4444400001526','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3526','0','','3526','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8027','1','','26209000001527','4444400001527','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3527','0','','3527','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8028','1','','26209000001528','4444400001528','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3528','0','','3528','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8029','1','','26209000001529','4444400001529','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3529','0','','3529','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8030','1','','26209000001530','4444400001530','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3530','0','','3530','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8031','1','','26209000001531','4444400001531','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3531','0','','3531','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8032','1','','26209000001532','4444400001532','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3532','0','','3532','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8033','1','','26209000001533','4444400001533','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3533','0','','3533','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8034','1','','26209000001534','4444400001534','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3534','0','','3534','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8035','1','','26209000001535','4444400001535','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3535','0','','3535','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8036','1','','26209000001536','4444400001536','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3536','0','','3536','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8037','1','','26209000001537','4444400001537','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3537','0','','3537','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8038','1','','26209000001538','4444400001538','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3538','0','','3538','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8039','1','','26209000001539','4444400001539','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3539','0','','3539','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8040','1','','26209000001540','4444400001540','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3540','0','','3540','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8041','1','','26209000001541','4444400001541','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3541','0','','3541','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8042','1','','26209000001542','4444400001542','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3542','0','','3542','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8043','1','','26209000001543','4444400001543','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3543','0','','3543','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8044','1','','26209000001544','4444400001544','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3544','0','','3544','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8045','1','','26209000001545','4444400001545','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3545','0','','3545','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8046','1','','26209000001546','4444400001546','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3546','0','','3546','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8047','1','','26209000001547','4444400001547','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3547','0','','3547','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8048','1','','26209000001548','4444400001548','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3548','0','','3548','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8049','1','','26209000001549','4444400001549','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3549','0','','3549','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8050','1','','26209000001550','4444400001550','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3550','0','','3550','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8051','1','','26209000001551','4444400001551','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3551','0','','3551','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8052','1','','26209000001552','4444400001552','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3552','0','','3552','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8053','1','','26209000001553','4444400001553','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3553','0','','3553','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8054','1','','26209000001554','4444400001554','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3554','0','','3554','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8055','1','','26209000001555','4444400001555','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3555','0','','3555','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8056','1','','26209000001556','4444400001556','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3556','0','','3556','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8057','1','','26209000001557','4444400001557','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3557','0','','3557','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8058','1','','26209000001558','4444400001558','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3558','0','','3558','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8059','1','','26209000001559','4444400001559','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3559','0','','3559','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8060','1','','26209000001560','4444400001560','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3560','0','','3560','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8061','1','','26209000001561','4444400001561','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3561','0','','3561','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8062','1','','26209000001562','4444400001562','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3562','0','','3562','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8063','1','','26209000001563','4444400001563','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3563','0','','3563','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8064','1','','26209000001564','4444400001564','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3564','0','','3564','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8065','1','','26209000001565','4444400001565','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3565','0','','3565','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8066','1','','26209000001566','4444400001566','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3566','0','','3566','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8067','1','','26209000001567','4444400001567','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3567','0','','3567','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8068','1','','26209000001568','4444400001568','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3568','0','','3568','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8069','1','','26209000001569','4444400001569','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3569','0','','3569','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8070','1','','26209000001570','4444400001570','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3570','0','','3570','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8071','1','','26209000001571','4444400001571','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3571','0','','3571','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8072','1','','26209000001572','4444400001572','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3572','0','','3572','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8073','1','','26209000001573','4444400001573','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3573','0','','3573','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8074','1','','26209000001574','4444400001574','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3574','0','','3574','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8075','1','','26209000001575','4444400001575','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3575','0','','3575','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8076','1','','26209000001576','4444400001576','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3576','0','','3576','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8077','1','','26209000001577','4444400001577','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3577','0','','3577','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8078','1','','26209000001578','4444400001578','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3578','0','','3578','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8079','1','','26209000001579','4444400001579','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3579','0','','3579','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8080','1','','26209000001580','4444400001580','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3580','0','','3580','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8081','1','','26209000001581','4444400001581','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3581','0','','3581','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8082','1','','26209000001582','4444400001582','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3582','0','','3582','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8083','1','','26209000001583','4444400001583','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3583','0','','3583','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8084','1','','26209000001584','4444400001584','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3584','0','','3584','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8085','1','','26209000001585','4444400001585','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3585','0','','3585','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8086','1','','26209000001586','4444400001586','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3586','0','','3586','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8087','1','','26209000001587','4444400001587','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3587','0','','3587','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8088','1','','26209000001588','4444400001588','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3588','0','','3588','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8089','1','','26209000001589','4444400001589','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3589','0','','3589','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8090','1','','26209000001590','4444400001590','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3590','0','','3590','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8091','1','','26209000001591','4444400001591','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3591','0','','3591','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8092','1','','26209000001592','4444400001592','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3592','0','','3592','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8093','1','','26209000001593','4444400001593','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3593','0','','3593','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8094','1','','26209000001594','4444400001594','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3594','0','','3594','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8095','1','','26209000001595','4444400001595','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3595','0','','3595','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8096','1','','26209000001596','4444400001596','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3596','0','','3596','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8097','1','','26209000001597','4444400001597','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3597','0','','3597','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8098','1','','26209000001598','4444400001598','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3598','0','','3598','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8099','1','','26209000001599','4444400001599','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3599','0','','3599','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8100','1','','26209000001600','4444400001600','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3600','0','','3600','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8101','1','','26209000001601','4444400001601','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3601','0','','3601','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8102','1','','26209000001602','4444400001602','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3602','0','','3602','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8103','1','','26209000001603','4444400001603','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3603','0','','3603','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8104','1','','26209000001604','4444400001604','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3604','0','','3604','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8105','1','','26209000001605','4444400001605','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3605','0','','3605','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8106','1','','26209000001606','4444400001606','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3606','0','','3606','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8107','1','','26209000001607','4444400001607','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3607','0','','3607','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8108','1','','26209000001608','4444400001608','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3608','0','','3608','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8109','1','','26209000001609','4444400001609','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3609','0','','3609','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8110','1','','26209000001610','4444400001610','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3610','0','','3610','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8111','1','','26209000001611','4444400001611','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3611','0','','3611','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8112','1','','26209000001612','4444400001612','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3612','0','','3612','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8113','1','','26209000001613','4444400001613','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3613','0','','3613','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8114','1','','26209000001614','4444400001614','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3614','0','','3614','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8115','1','','26209000001615','4444400001615','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3615','0','','3615','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8116','1','','26209000001616','4444400001616','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3616','0','','3616','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8117','1','','26209000001617','4444400001617','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3617','0','','3617','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8118','1','','26209000001618','4444400001618','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3618','0','','3618','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8119','1','','26209000001619','4444400001619','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3619','0','','3619','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8120','1','','26209000001620','4444400001620','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3620','0','','3620','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8121','1','','26209000001621','4444400001621','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3621','0','','3621','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8122','1','','26209000001622','4444400001622','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3622','0','','3622','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8123','1','','26209000001623','4444400001623','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3623','0','','3623','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8124','1','','26209000001624','4444400001624','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3624','0','','3624','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8125','1','','26209000001625','4444400001625','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3625','0','','3625','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8126','1','','26209000001626','4444400001626','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3626','0','','3626','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8127','1','','26209000001627','4444400001627','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3627','0','','3627','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8128','1','','26209000001628','4444400001628','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3628','0','','3628','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8129','1','','26209000001629','4444400001629','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3629','0','','3629','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8130','1','','26209000001630','4444400001630','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3630','0','','3630','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8131','1','','26209000001631','4444400001631','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3631','0','','3631','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8132','1','','26209000001632','4444400001632','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3632','0','','3632','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8133','1','','26209000001633','4444400001633','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3633','0','','3633','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8134','1','','26209000001634','4444400001634','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3634','0','','3634','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8135','1','','26209000001635','4444400001635','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3635','0','','3635','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8136','1','','26209000001636','4444400001636','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3636','0','','3636','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8137','1','','26209000001637','4444400001637','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3637','0','','3637','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8138','1','','26209000001638','4444400001638','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3638','0','','3638','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8139','1','','26209000001639','4444400001639','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3639','0','','3639','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8140','1','','26209000001640','4444400001640','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3640','0','','3640','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8141','1','','26209000001641','4444400001641','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3641','0','','3641','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8142','1','','26209000001642','4444400001642','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3642','0','','3642','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8143','1','','26209000001643','4444400001643','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3643','0','','3643','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8144','1','','26209000001644','4444400001644','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3644','0','','3644','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8145','1','','26209000001645','4444400001645','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3645','0','','3645','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8146','1','','26209000001646','4444400001646','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3646','0','','3646','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8147','1','','26209000001647','4444400001647','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3647','0','','3647','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8148','1','','26209000001648','4444400001648','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3648','0','','3648','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8149','1','','26209000001649','4444400001649','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3649','0','','3649','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8150','1','','26209000001650','4444400001650','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3650','0','','3650','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8151','1','','26209000001651','4444400001651','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3651','0','','3651','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8152','1','','26209000001652','4444400001652','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3652','0','','3652','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8153','1','','26209000001653','4444400001653','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3653','0','','3653','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8154','1','','26209000001654','4444400001654','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3654','0','','3654','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8155','1','','26209000001655','4444400001655','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3655','0','','3655','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8156','1','','26209000001656','4444400001656','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3656','0','','3656','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8157','1','','26209000001657','4444400001657','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3657','0','','3657','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8158','1','','26209000001658','4444400001658','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3658','0','','3658','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8159','1','','26209000001659','4444400001659','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3659','0','','3659','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8160','1','','26209000001660','4444400001660','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3660','0','','3660','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8161','1','','26209000001661','4444400001661','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3661','0','','3661','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8162','1','','26209000001662','4444400001662','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3662','0','','3662','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8163','1','','26209000001663','4444400001663','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3663','0','','3663','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8164','1','','26209000001664','4444400001664','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3664','0','','3664','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8165','1','','26209000001665','4444400001665','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3665','0','','3665','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8166','1','','26209000001666','4444400001666','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3666','0','','3666','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8167','1','','26209000001667','4444400001667','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3667','0','','3667','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8168','1','','26209000001668','4444400001668','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3668','0','','3668','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8169','1','','26209000001669','4444400001669','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3669','0','','3669','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8170','1','','26209000001670','4444400001670','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3670','0','','3670','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8171','1','','26209000001671','4444400001671','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3671','0','','3671','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8172','1','','26209000001672','4444400001672','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3672','0','','3672','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8173','1','','26209000001673','4444400001673','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3673','0','','3673','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8174','1','','26209000001674','4444400001674','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3674','0','','3674','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8175','1','','26209000001675','4444400001675','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3675','0','','3675','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8176','1','','26209000001676','4444400001676','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3676','0','','3676','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8177','1','','26209000001677','4444400001677','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3677','0','','3677','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8178','1','','26209000001678','4444400001678','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3678','0','','3678','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8179','1','','26209000001679','4444400001679','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3679','0','','3679','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8180','1','','26209000001680','4444400001680','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3680','0','','3680','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8181','1','','26209000001681','4444400001681','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3681','0','','3681','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8182','1','','26209000001682','4444400001682','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3682','0','','3682','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8183','1','','26209000001683','4444400001683','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3683','0','','3683','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8184','1','','26209000001684','4444400001684','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3684','0','','3684','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8185','1','','26209000001685','4444400001685','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3685','0','','3685','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8186','1','','26209000001686','4444400001686','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3686','0','','3686','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8187','1','','26209000001687','4444400001687','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3687','0','','3687','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8188','1','','26209000001688','4444400001688','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3688','0','','3688','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8189','1','','26209000001689','4444400001689','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3689','0','','3689','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8190','1','','26209000001690','4444400001690','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3690','0','','3690','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8191','1','','26209000001691','4444400001691','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3691','0','','3691','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8192','1','','26209000001692','4444400001692','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3692','0','','3692','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8193','1','','26209000001693','4444400001693','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3693','0','','3693','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8194','1','','26209000001694','4444400001694','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3694','0','','3694','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8195','1','','26209000001695','4444400001695','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3695','0','','3695','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8196','1','','26209000001696','4444400001696','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3696','0','','3696','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8197','1','','26209000001697','4444400001697','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3697','0','','3697','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8198','1','','26209000001698','4444400001698','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3698','0','','3698','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8199','1','','26209000001699','4444400001699','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3699','0','','3699','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8200','1','','26209000001700','4444400001700','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3700','0','','3700','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8201','1','','26209000001701','4444400001701','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3701','0','','3701','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8202','1','','26209000001702','4444400001702','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3702','0','','3702','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8203','1','','26209000001703','4444400001703','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3703','0','','3703','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8204','1','','26209000001704','4444400001704','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3704','0','','3704','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8205','1','','26209000001705','4444400001705','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3705','0','','3705','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8206','1','','26209000001706','4444400001706','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3706','0','','3706','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8207','1','','26209000001707','4444400001707','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3707','0','','3707','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8208','1','','26209000001708','4444400001708','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3708','0','','3708','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8209','1','','26209000001709','4444400001709','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3709','0','','3709','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8210','1','','26209000001710','4444400001710','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3710','0','','3710','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8211','1','','26209000001711','4444400001711','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3711','0','','3711','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8212','1','','26209000001712','4444400001712','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3712','0','','3712','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8213','1','','26209000001713','4444400001713','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3713','0','','3713','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8214','1','','26209000001714','4444400001714','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3714','0','','3714','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8215','1','','26209000001715','4444400001715','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3715','0','','3715','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8216','1','','26209000001716','4444400001716','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3716','0','','3716','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8217','1','','26209000001717','4444400001717','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3717','0','','3717','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8218','1','','26209000001718','4444400001718','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3718','0','','3718','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8219','1','','26209000001719','4444400001719','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3719','0','','3719','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8220','1','','26209000001720','4444400001720','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3720','0','','3720','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8221','1','','26209000001721','4444400001721','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3721','0','','3721','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8222','1','','26209000001722','4444400001722','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3722','0','','3722','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8223','1','','26209000001723','4444400001723','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3723','0','','3723','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8224','1','','26209000001724','4444400001724','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3724','0','','3724','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8225','1','','26209000001725','4444400001725','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3725','0','','3725','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8226','1','','26209000001726','4444400001726','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3726','0','','3726','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8227','1','','26209000001727','4444400001727','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3727','0','','3727','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8228','1','','26209000001728','4444400001728','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3728','0','','3728','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8229','1','','26209000001729','4444400001729','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3729','0','','3729','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8230','1','','26209000001730','4444400001730','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3730','0','','3730','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8231','1','','26209000001731','4444400001731','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3731','0','','3731','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8232','1','','26209000001732','4444400001732','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3732','0','','3732','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8233','1','','26209000001733','4444400001733','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3733','0','','3733','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8234','1','','26209000001734','4444400001734','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3734','0','','3734','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8235','1','','26209000001735','4444400001735','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3735','0','','3735','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8236','1','','26209000001736','4444400001736','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3736','0','','3736','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8237','1','','26209000001737','4444400001737','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3737','0','','3737','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8238','1','','26209000001738','4444400001738','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3738','0','','3738','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8239','1','','26209000001739','4444400001739','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3739','0','','3739','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8240','1','','26209000001740','4444400001740','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3740','0','','3740','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8241','1','','26209000001741','4444400001741','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3741','0','','3741','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8242','1','','26209000001742','4444400001742','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3742','0','','3742','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8243','1','','26209000001743','4444400001743','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3743','0','','3743','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8244','1','','26209000001744','4444400001744','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3744','0','','3744','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8245','1','','26209000001745','4444400001745','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3745','0','','3745','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8246','1','','26209000001746','4444400001746','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3746','0','','3746','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8247','1','','26209000001747','4444400001747','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3747','0','','3747','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8248','1','','26209000001748','4444400001748','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3748','0','','3748','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8249','1','','26209000001749','4444400001749','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3749','0','','3749','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8250','1','','26209000001750','4444400001750','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3750','0','','3750','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8251','1','','26209000001751','4444400001751','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3751','0','','3751','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8252','1','','26209000001752','4444400001752','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3752','0','','3752','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8253','1','','26209000001753','4444400001753','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3753','0','','3753','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8254','1','','26209000001754','4444400001754','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3754','0','','3754','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8255','1','','26209000001755','4444400001755','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3755','0','','3755','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8256','1','','26209000001756','4444400001756','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3756','0','','3756','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8257','1','','26209000001757','4444400001757','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3757','0','','3757','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8258','1','','26209000001758','4444400001758','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3758','0','','3758','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8259','1','','26209000001759','4444400001759','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3759','0','','3759','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8260','1','','26209000001760','4444400001760','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3760','0','','3760','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8261','1','','26209000001761','4444400001761','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3761','0','','3761','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8262','1','','26209000001762','4444400001762','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3762','0','','3762','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8263','1','','26209000001763','4444400001763','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3763','0','','3763','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8264','1','','26209000001764','4444400001764','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3764','0','','3764','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8265','1','','26209000001765','4444400001765','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3765','0','','3765','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8266','1','','26209000001766','4444400001766','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3766','0','','3766','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8267','1','','26209000001767','4444400001767','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3767','0','','3767','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8268','1','','26209000001768','4444400001768','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3768','0','','3768','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8269','1','','26209000001769','4444400001769','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3769','0','','3769','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8270','1','','26209000001770','4444400001770','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3770','0','','3770','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8271','1','','26209000001771','4444400001771','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3771','0','','3771','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8272','1','','26209000001772','4444400001772','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3772','0','','3772','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8273','1','','26209000001773','4444400001773','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3773','0','','3773','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8274','1','','26209000001774','4444400001774','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3774','0','','3774','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8275','1','','26209000001775','4444400001775','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3775','0','','3775','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8276','1','','26209000001776','4444400001776','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3776','0','','3776','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8277','1','','26209000001777','4444400001777','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3777','0','','3777','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8278','1','','26209000001778','4444400001778','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3778','0','','3778','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8279','1','','26209000001779','4444400001779','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3779','0','','3779','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8280','1','','26209000001780','4444400001780','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3780','0','','3780','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8281','1','','26209000001781','4444400001781','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3781','0','','3781','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8282','1','','26209000001782','4444400001782','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3782','0','','3782','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8283','1','','26209000001783','4444400001783','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3783','0','','3783','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8284','1','','26209000001784','4444400001784','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3784','0','','3784','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8285','1','','26209000001785','4444400001785','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3785','0','','3785','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8286','1','','26209000001786','4444400001786','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3786','0','','3786','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8287','1','','26209000001787','4444400001787','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3787','0','','3787','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8288','1','','26209000001788','4444400001788','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3788','0','','3788','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8289','1','','26209000001789','4444400001789','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3789','0','','3789','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8290','1','','26209000001790','4444400001790','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3790','0','','3790','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8291','1','','26209000001791','4444400001791','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3791','0','','3791','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8292','1','','26209000001792','4444400001792','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3792','0','','3792','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8293','1','','26209000001793','4444400001793','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3793','0','','3793','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8294','1','','26209000001794','4444400001794','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3794','0','','3794','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8295','1','','26209000001795','4444400001795','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3795','0','','3795','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8296','1','','26209000001796','4444400001796','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3796','0','','3796','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8297','1','','26209000001797','4444400001797','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3797','0','','3797','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8298','1','','26209000001798','4444400001798','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3798','0','','3798','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8299','1','','26209000001799','4444400001799','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3799','0','','3799','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8300','1','','26209000001800','4444400001800','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3800','0','','3800','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8301','1','','26209000001801','4444400001801','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3801','0','','3801','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8302','1','','26209000001802','4444400001802','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3802','0','','3802','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8303','1','','26209000001803','4444400001803','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3803','0','','3803','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8304','1','','26209000001804','4444400001804','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3804','0','','3804','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8305','1','','26209000001805','4444400001805','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3805','0','','3805','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8306','1','','26209000001806','4444400001806','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3806','0','','3806','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8307','1','','26209000001807','4444400001807','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3807','0','','3807','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8308','1','','26209000001808','4444400001808','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3808','0','','3808','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8309','1','','26209000001809','4444400001809','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3809','0','','3809','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8310','1','','26209000001810','4444400001810','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3810','0','','3810','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8311','1','','26209000001811','4444400001811','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3811','0','','3811','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8312','1','','26209000001812','4444400001812','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3812','0','','3812','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8313','1','','26209000001813','4444400001813','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3813','0','','3813','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8314','1','','26209000001814','4444400001814','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3814','0','','3814','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8315','1','','26209000001815','4444400001815','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3815','0','','3815','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8316','1','','26209000001816','4444400001816','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3816','0','','3816','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8317','1','','26209000001817','4444400001817','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3817','0','','3817','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8318','1','','26209000001818','4444400001818','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3818','0','','3818','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8319','1','','26209000001819','4444400001819','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3819','0','','3819','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8320','1','','26209000001820','4444400001820','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3820','0','','3820','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8321','1','','26209000001821','4444400001821','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3821','0','','3821','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8322','1','','26209000001822','4444400001822','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3822','0','','3822','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8323','1','','26209000001823','4444400001823','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3823','0','','3823','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8324','1','','26209000001824','4444400001824','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3824','0','','3824','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8325','1','','26209000001825','4444400001825','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3825','0','','3825','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8326','1','','26209000001826','4444400001826','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3826','0','','3826','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8327','1','','26209000001827','4444400001827','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3827','0','','3827','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8328','1','','26209000001828','4444400001828','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3828','0','','3828','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8329','1','','26209000001829','4444400001829','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3829','0','','3829','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8330','1','','26209000001830','4444400001830','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3830','0','','3830','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8331','1','','26209000001831','4444400001831','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3831','0','','3831','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8332','1','','26209000001832','4444400001832','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3832','0','','3832','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8333','1','','26209000001833','4444400001833','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3833','0','','3833','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8334','1','','26209000001834','4444400001834','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3834','0','','3834','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8335','1','','26209000001835','4444400001835','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3835','0','','3835','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8336','1','','26209000001836','4444400001836','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3836','0','','3836','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8337','1','','26209000001837','4444400001837','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3837','0','','3837','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8338','1','','26209000001838','4444400001838','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3838','0','','3838','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8339','1','','26209000001839','4444400001839','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3839','0','','3839','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8340','1','','26209000001840','4444400001840','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3840','0','','3840','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8341','1','','26209000001841','4444400001841','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3841','0','','3841','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8342','1','','26209000001842','4444400001842','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3842','0','','3842','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8343','1','','26209000001843','4444400001843','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3843','0','','3843','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8344','1','','26209000001844','4444400001844','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3844','0','','3844','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8345','1','','26209000001845','4444400001845','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3845','0','','3845','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8346','1','','26209000001846','4444400001846','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3846','0','','3846','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8347','1','','26209000001847','4444400001847','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3847','0','','3847','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8348','1','','26209000001848','4444400001848','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3848','0','','3848','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8349','1','','26209000001849','4444400001849','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3849','0','','3849','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8350','1','','26209000001850','4444400001850','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3850','0','','3850','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8351','1','','26209000001851','4444400001851','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3851','0','','3851','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8352','1','','26209000001852','4444400001852','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3852','0','','3852','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8353','1','','26209000001853','4444400001853','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3853','0','','3853','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8354','1','','26209000001854','4444400001854','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3854','0','','3854','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8355','1','','26209000001855','4444400001855','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3855','0','','3855','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8356','1','','26209000001856','4444400001856','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3856','0','','3856','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8357','1','','26209000001857','4444400001857','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3857','0','','3857','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8358','1','','26209000001858','4444400001858','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3858','0','','3858','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8359','1','','26209000001859','4444400001859','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3859','0','','3859','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8360','1','','26209000001860','4444400001860','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3860','0','','3860','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8361','1','','26209000001861','4444400001861','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3861','0','','3861','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8362','1','','26209000001862','4444400001862','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3862','0','','3862','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8363','1','','26209000001863','4444400001863','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3863','0','','3863','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8364','1','','26209000001864','4444400001864','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3864','0','','3864','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8365','1','','26209000001865','4444400001865','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3865','0','','3865','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8366','1','','26209000001866','4444400001866','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3866','0','','3866','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8367','1','','26209000001867','4444400001867','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3867','0','','3867','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8368','1','','26209000001868','4444400001868','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3868','0','','3868','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8369','1','','26209000001869','4444400001869','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3869','0','','3869','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8370','1','','26209000001870','4444400001870','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3870','0','','3870','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8371','1','','26209000001871','4444400001871','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3871','0','','3871','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8372','1','','26209000001872','4444400001872','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3872','0','','3872','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8373','1','','26209000001873','4444400001873','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3873','0','','3873','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8374','1','','26209000001874','4444400001874','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3874','0','','3874','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8375','1','','26209000001875','4444400001875','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3875','0','','3875','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8376','1','','26209000001876','4444400001876','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3876','0','','3876','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8377','1','','26209000001877','4444400001877','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3877','0','','3877','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8378','1','','26209000001878','4444400001878','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3878','0','','3878','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8379','1','','26209000001879','4444400001879','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3879','0','','3879','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8380','1','','26209000001880','4444400001880','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3880','0','','3880','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8381','1','','26209000001881','4444400001881','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3881','0','','3881','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8382','1','','26209000001882','4444400001882','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3882','0','','3882','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8383','1','','26209000001883','4444400001883','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3883','0','','3883','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8384','1','','26209000001884','4444400001884','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3884','0','','3884','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8385','1','','26209000001885','4444400001885','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3885','0','','3885','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8386','1','','26209000001886','4444400001886','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3886','0','','3886','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8387','1','','26209000001887','4444400001887','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3887','0','','3887','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8388','1','','26209000001888','4444400001888','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3888','0','','3888','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8389','1','','26209000001889','4444400001889','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3889','0','','3889','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8390','1','','26209000001890','4444400001890','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3890','0','','3890','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8391','1','','26209000001891','4444400001891','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3891','0','','3891','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8392','1','','26209000001892','4444400001892','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3892','0','','3892','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8393','1','','26209000001893','4444400001893','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3893','0','','3893','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8394','1','','26209000001894','4444400001894','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3894','0','','3894','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8395','1','','26209000001895','4444400001895','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3895','0','','3895','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8396','1','','26209000001896','4444400001896','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3896','0','','3896','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8397','1','','26209000001897','4444400001897','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3897','0','','3897','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8398','1','','26209000001898','4444400001898','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3898','0','','3898','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8399','1','','26209000001899','4444400001899','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3899','0','','3899','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8400','1','','26209000001900','4444400001900','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3900','0','','3900','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8401','1','','26209000001901','4444400001901','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3901','0','','3901','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8402','1','','26209000001902','4444400001902','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3902','0','','3902','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8403','1','','26209000001903','4444400001903','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3903','0','','3903','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8404','1','','26209000001904','4444400001904','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3904','0','','3904','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8405','1','','26209000001905','4444400001905','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3905','0','','3905','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8406','1','','26209000001906','4444400001906','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3906','0','','3906','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8407','1','','26209000001907','4444400001907','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3907','0','','3907','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8408','1','','26209000001908','4444400001908','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3908','0','','3908','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8409','1','','26209000001909','4444400001909','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3909','0','','3909','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8410','1','','26209000001910','4444400001910','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3910','0','','3910','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8411','1','','26209000001911','4444400001911','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3911','0','','3911','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8412','1','','26209000001912','4444400001912','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3912','0','','3912','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8413','1','','26209000001913','4444400001913','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3913','0','','3913','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8414','1','','26209000001914','4444400001914','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3914','0','','3914','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8415','1','','26209000001915','4444400001915','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3915','0','','3915','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8416','1','','26209000001916','4444400001916','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3916','0','','3916','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8417','1','','26209000001917','4444400001917','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3917','0','','3917','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8418','1','','26209000001918','4444400001918','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3918','0','','3918','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8419','1','','26209000001919','4444400001919','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3919','0','','3919','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8420','1','','26209000001920','4444400001920','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3920','0','','3920','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8421','1','','26209000001921','4444400001921','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3921','0','','3921','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8422','1','','26209000001922','4444400001922','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3922','0','','3922','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8423','1','','26209000001923','4444400001923','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3923','0','','3923','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8424','1','','26209000001924','4444400001924','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3924','0','','3924','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8425','1','','26209000001925','4444400001925','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3925','0','','3925','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8426','1','','26209000001926','4444400001926','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3926','0','','3926','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8427','1','','26209000001927','4444400001927','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3927','0','','3927','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8428','1','','26209000001928','4444400001928','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3928','0','','3928','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8429','1','','26209000001929','4444400001929','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3929','0','','3929','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8430','1','','26209000001930','4444400001930','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3930','0','','3930','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8431','1','','26209000001931','4444400001931','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3931','0','','3931','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8432','1','','26209000001932','4444400001932','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3932','0','','3932','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8433','1','','26209000001933','4444400001933','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3933','0','','3933','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8434','1','','26209000001934','4444400001934','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3934','0','','3934','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8435','1','','26209000001935','4444400001935','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3935','0','','3935','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8436','1','','26209000001936','4444400001936','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3936','0','','3936','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8437','1','','26209000001937','4444400001937','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3937','0','','3937','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8438','1','','26209000001938','4444400001938','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3938','0','','3938','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8439','1','','26209000001939','4444400001939','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3939','0','','3939','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8440','1','','26209000001940','4444400001940','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3940','0','','3940','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8441','1','','26209000001941','4444400001941','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3941','0','','3941','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8442','1','','26209000001942','4444400001942','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3942','0','','3942','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8443','1','','26209000001943','4444400001943','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3943','0','','3943','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8444','1','','26209000001944','4444400001944','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3944','0','','3944','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8445','1','','26209000001945','4444400001945','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3945','0','','3945','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8446','1','','26209000001946','4444400001946','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3946','0','','3946','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8447','1','','26209000001947','4444400001947','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3947','0','','3947','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8448','1','','26209000001948','4444400001948','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3948','0','','3948','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8449','1','','26209000001949','4444400001949','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3949','0','','3949','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8450','1','','26209000001950','4444400001950','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3950','0','','3950','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8451','1','','26209000001951','4444400001951','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3951','0','','3951','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8452','1','','26209000001952','4444400001952','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3952','0','','3952','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8453','1','','26209000001953','4444400001953','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3953','0','','3953','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8454','1','','26209000001954','4444400001954','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3954','0','','3954','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8455','1','','26209000001955','4444400001955','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3955','0','','3955','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8456','1','','26209000001956','4444400001956','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3956','0','','3956','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8457','1','','26209000001957','4444400001957','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3957','0','','3957','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8458','1','','26209000001958','4444400001958','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3958','0','','3958','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8459','1','','26209000001959','4444400001959','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3959','0','','3959','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8460','1','','26209000001960','4444400001960','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3960','0','','3960','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8461','1','','26209000001961','4444400001961','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3961','0','','3961','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8462','1','','26209000001962','4444400001962','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3962','0','','3962','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8463','1','','26209000001963','4444400001963','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3963','0','','3963','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8464','1','','26209000001964','4444400001964','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3964','0','','3964','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8465','1','','26209000001965','4444400001965','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3965','0','','3965','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8466','1','','26209000001966','4444400001966','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3966','0','','3966','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8467','1','','26209000001967','4444400001967','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3967','0','','3967','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8468','1','','26209000001968','4444400001968','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3968','0','','3968','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8469','1','','26209000001969','4444400001969','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3969','0','','3969','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8470','1','','26209000001970','4444400001970','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3970','0','','3970','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8471','1','','26209000001971','4444400001971','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3971','0','','3971','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8472','1','','26209000001972','4444400001972','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3972','0','','3972','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8473','1','','26209000001973','4444400001973','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3973','0','','3973','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8474','1','','26209000001974','4444400001974','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3974','0','','3974','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8475','1','','26209000001975','4444400001975','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3975','0','','3975','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8476','1','','26209000001976','4444400001976','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3976','0','','3976','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8477','1','','26209000001977','4444400001977','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3977','0','','3977','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8478','1','','26209000001978','4444400001978','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3978','0','','3978','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8479','1','','26209000001979','4444400001979','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3979','0','','3979','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8480','1','','26209000001980','4444400001980','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3980','0','','3980','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8481','1','','26209000001981','4444400001981','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3981','0','','3981','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8482','1','','26209000001982','4444400001982','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3982','0','','3982','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8483','1','','26209000001983','4444400001983','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3983','0','','3983','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8484','1','','26209000001984','4444400001984','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3984','0','','3984','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8485','1','','26209000001985','4444400001985','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3985','0','','3985','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8486','1','','26209000001986','4444400001986','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3986','0','','3986','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8487','1','','26209000001987','4444400001987','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3987','0','','3987','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8488','1','','26209000001988','4444400001988','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3988','0','','3988','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8489','1','','26209000001989','4444400001989','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3989','0','','3989','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8490','1','','26209000001990','4444400001990','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3990','0','','3990','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8491','1','','26209000001991','4444400001991','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3991','0','','3991','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8492','1','','26209000001992','4444400001992','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3992','0','','3992','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8493','1','','26209000001993','4444400001993','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3993','0','','3993','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8494','1','','26209000001994','4444400001994','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3994','0','','3994','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8495','1','','26209000001995','4444400001995','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3995','0','','3995','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8496','1','','26209000001996','4444400001996','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3996','0','','3996','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8497','1','','26209000001997','4444400001997','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3997','0','','3997','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8498','1','','26209000001998','4444400001998','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3998','0','','3998','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8499','1','','26209000001999','4444400001999','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','3999','0','','3999','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8500','1','','26209000002000','4444400002000','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4000','0','','4000','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8501','1','','26209000002001','4444400002001','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4001','0','','4001','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8502','1','','26209000002002','4444400002002','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4002','0','','4002','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8503','1','','26209000002003','4444400002003','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4003','0','','4003','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8504','1','','26209000002004','4444400002004','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4004','0','','4004','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8505','1','','26209000002005','4444400002005','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4005','0','','4005','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8506','1','','26209000002006','4444400002006','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4006','0','','4006','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8507','1','','26209000002007','4444400002007','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4007','0','','4007','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8508','1','','26209000002008','4444400002008','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4008','0','','4008','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8509','1','','26209000002009','4444400002009','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4009','0','','4009','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8510','1','','26209000002010','4444400002010','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4010','0','','4010','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8511','1','','26209000002011','4444400002011','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4011','0','','4011','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8512','1','','26209000002012','4444400002012','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4012','0','','4012','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8513','1','','26209000002013','4444400002013','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4013','0','','4013','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8514','1','','26209000002014','4444400002014','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4014','0','','4014','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8515','1','','26209000002015','4444400002015','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4015','0','','4015','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8516','1','','26209000002016','4444400002016','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4016','0','','4016','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8517','1','','26209000002017','4444400002017','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4017','0','','4017','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8518','1','','26209000002018','4444400002018','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4018','0','','4018','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8519','1','','26209000002019','4444400002019','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4019','0','','4019','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8520','1','','26209000002020','4444400002020','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4020','0','','4020','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8521','1','','26209000002021','4444400002021','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4021','0','','4021','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8522','1','','26209000002022','4444400002022','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4022','0','','4022','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8523','1','','26209000002023','4444400002023','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4023','0','','4023','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8524','1','','26209000002024','4444400002024','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4024','0','','4024','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8525','1','','26209000002025','4444400002025','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4025','0','','4025','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8526','1','','26209000002026','4444400002026','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4026','0','','4026','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8527','1','','26209000002027','4444400002027','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4027','0','','4027','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8528','1','','26209000002028','4444400002028','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4028','0','','4028','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8529','1','','26209000002029','4444400002029','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4029','0','','4029','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8530','1','','26209000002030','4444400002030','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4030','0','','4030','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8531','1','','26209000002031','4444400002031','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4031','0','','4031','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8532','1','','26209000002032','4444400002032','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4032','0','','4032','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8533','1','','26209000002033','4444400002033','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4033','0','','4033','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8534','1','','26209000002034','4444400002034','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4034','0','','4034','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8535','1','','26209000002035','4444400002035','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4035','0','','4035','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8536','1','','26209000002036','4444400002036','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4036','0','','4036','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8537','1','','26209000002037','4444400002037','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4037','0','','4037','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8538','1','','26209000002038','4444400002038','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4038','0','','4038','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8539','1','','26209000002039','4444400002039','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4039','0','','4039','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8540','1','','26209000002040','4444400002040','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4040','0','','4040','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8541','1','','26209000002041','4444400002041','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4041','0','','4041','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8542','1','','26209000002042','4444400002042','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4042','0','','4042','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8543','1','','26209000002043','4444400002043','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4043','0','','4043','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8544','1','','26209000002044','4444400002044','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4044','0','','4044','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8545','1','','26209000002045','4444400002045','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4045','0','','4045','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8546','1','','26209000002046','4444400002046','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4046','0','','4046','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8547','1','','26209000002047','4444400002047','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4047','0','','4047','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8548','1','','26209000002048','4444400002048','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4048','0','','4048','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8549','1','','26209000002049','4444400002049','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4049','0','','4049','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8550','1','','26209000002050','4444400002050','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4050','0','','4050','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8551','1','','26209000002051','4444400002051','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4051','0','','4051','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8552','1','','26209000002052','4444400002052','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4052','0','','4052','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8553','1','','26209000002053','4444400002053','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4053','0','','4053','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8554','1','','26209000002054','4444400002054','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4054','0','','4054','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8555','1','','26209000002055','4444400002055','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4055','0','','4055','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8556','1','','26209000002056','4444400002056','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4056','0','','4056','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8557','1','','26209000002057','4444400002057','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4057','0','','4057','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8558','1','','26209000002058','4444400002058','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4058','0','','4058','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8559','1','','26209000002059','4444400002059','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4059','0','','4059','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8560','1','','26209000002060','4444400002060','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4060','0','','4060','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8561','1','','26209000002061','4444400002061','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4061','0','','4061','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8562','1','','26209000002062','4444400002062','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4062','0','','4062','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8563','1','','26209000002063','4444400002063','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4063','0','','4063','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8564','1','','26209000002064','4444400002064','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4064','0','','4064','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8565','1','','26209000002065','4444400002065','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4065','0','','4065','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8566','1','','26209000002066','4444400002066','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4066','0','','4066','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8567','1','','26209000002067','4444400002067','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4067','0','','4067','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8568','1','','26209000002068','4444400002068','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4068','0','','4068','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8569','1','','26209000002069','4444400002069','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4069','0','','4069','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8570','1','','26209000002070','4444400002070','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4070','0','','4070','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8571','1','','26209000002071','4444400002071','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4071','0','','4071','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8572','1','','26209000002072','4444400002072','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4072','0','','4072','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8573','1','','26209000002073','4444400002073','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4073','0','','4073','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8574','1','','26209000002074','4444400002074','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4074','0','','4074','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8575','1','','26209000002075','4444400002075','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4075','0','','4075','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8576','1','','26209000002076','4444400002076','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4076','0','','4076','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8577','1','','26209000002077','4444400002077','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4077','0','','4077','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8578','1','','26209000002078','4444400002078','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4078','0','','4078','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8579','1','','26209000002079','4444400002079','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4079','0','','4079','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8580','1','','26209000002080','4444400002080','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4080','0','','4080','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8581','1','','26209000002081','4444400002081','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4081','0','','4081','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8582','1','','26209000002082','4444400002082','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4082','0','','4082','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8583','1','','26209000002083','4444400002083','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4083','0','','4083','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8584','1','','26209000002084','4444400002084','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4084','0','','4084','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8585','1','','26209000002085','4444400002085','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4085','0','','4085','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8586','1','','26209000002086','4444400002086','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4086','0','','4086','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8587','1','','26209000002087','4444400002087','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4087','0','','4087','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8588','1','','26209000002088','4444400002088','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4088','0','','4088','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8589','1','','26209000002089','4444400002089','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4089','0','','4089','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8590','1','','26209000002090','4444400002090','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4090','0','','4090','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8591','1','','26209000002091','4444400002091','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4091','0','','4091','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8592','1','','26209000002092','4444400002092','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4092','0','','4092','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8593','1','','26209000002093','4444400002093','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4093','0','','4093','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8594','1','','26209000002094','4444400002094','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4094','0','','4094','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8595','1','','26209000002095','4444400002095','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4095','0','','4095','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8596','1','','26209000002096','4444400002096','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4096','0','','4096','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8597','1','','26209000002097','4444400002097','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4097','0','','4097','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8598','1','','26209000002098','4444400002098','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4098','0','','4098','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8599','1','','26209000002099','4444400002099','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4099','0','','4099','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8600','1','','26209000002100','4444400002100','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4100','0','','4100','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8601','1','','26209000002101','4444400002101','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4101','0','','4101','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8602','1','','26209000002102','4444400002102','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4102','0','','4102','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8603','1','','26209000002103','4444400002103','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4103','0','','4103','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8604','1','','26209000002104','4444400002104','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4104','0','','4104','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8605','1','','26209000002105','4444400002105','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4105','0','','4105','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8606','1','','26209000002106','4444400002106','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4106','0','','4106','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8607','1','','26209000002107','4444400002107','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4107','0','','4107','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8608','1','','26209000002108','4444400002108','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4108','0','','4108','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8609','1','','26209000002109','4444400002109','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4109','0','','4109','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8610','1','','26209000002110','4444400002110','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4110','0','','4110','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8611','1','','26209000002111','4444400002111','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4111','0','','4111','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8612','1','','26209000002112','4444400002112','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4112','0','','4112','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8613','1','','26209000002113','4444400002113','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4113','0','','4113','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8614','1','','26209000002114','4444400002114','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4114','0','','4114','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8615','1','','26209000002115','4444400002115','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4115','0','','4115','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8616','1','','26209000002116','4444400002116','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4116','0','','4116','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8617','1','','26209000002117','4444400002117','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4117','0','','4117','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8618','1','','26209000002118','4444400002118','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4118','0','','4118','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8619','1','','26209000002119','4444400002119','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4119','0','','4119','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8620','1','','26209000002120','4444400002120','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4120','0','','4120','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8621','1','','26209000002121','4444400002121','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4121','0','','4121','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8622','1','','26209000002122','4444400002122','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4122','0','','4122','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8623','1','','26209000002123','4444400002123','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4123','0','','4123','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8624','1','','26209000002124','4444400002124','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4124','0','','4124','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8625','1','','26209000002125','4444400002125','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4125','0','','4125','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8626','1','','26209000002126','4444400002126','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4126','0','','4126','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8627','1','','26209000002127','4444400002127','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4127','0','','4127','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8628','1','','26209000002128','4444400002128','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4128','0','','4128','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8629','1','','26209000002129','4444400002129','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4129','0','','4129','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8630','1','','26209000002130','4444400002130','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4130','0','','4130','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8631','1','','26209000002131','4444400002131','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4131','0','','4131','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8632','1','','26209000002132','4444400002132','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4132','0','','4132','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8633','1','','26209000002133','4444400002133','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4133','0','','4133','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8634','1','','26209000002134','4444400002134','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4134','0','','4134','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8635','1','','26209000002135','4444400002135','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4135','0','','4135','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8636','1','','26209000002136','4444400002136','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4136','0','','4136','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8637','1','','26209000002137','4444400002137','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4137','0','','4137','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8638','1','','26209000002138','4444400002138','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4138','0','','4138','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8639','1','','26209000002139','4444400002139','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4139','0','','4139','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8640','1','','26209000002140','4444400002140','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4140','0','','4140','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8641','1','','26209000002141','4444400002141','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4141','0','','4141','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8642','1','','26209000002142','4444400002142','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4142','0','','4142','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8643','1','','26209000002143','4444400002143','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4143','0','','4143','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8644','1','','26209000002144','4444400002144','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4144','0','','4144','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8645','1','','26209000002145','4444400002145','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4145','0','','4145','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8646','1','','26209000002146','4444400002146','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4146','0','','4146','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8647','1','','26209000002147','4444400002147','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4147','0','','4147','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8648','1','','26209000002148','4444400002148','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4148','0','','4148','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8649','1','','26209000002149','4444400002149','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4149','0','','4149','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8650','1','','26209000002150','4444400002150','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4150','0','','4150','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8651','1','','26209000002151','4444400002151','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4151','0','','4151','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8652','1','','26209000002152','4444400002152','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4152','0','','4152','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8653','1','','26209000002153','4444400002153','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4153','0','','4153','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8654','1','','26209000002154','4444400002154','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4154','0','','4154','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8655','1','','26209000002155','4444400002155','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4155','0','','4155','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8656','1','','26209000002156','4444400002156','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4156','0','','4156','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8657','1','','26209000002157','4444400002157','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4157','0','','4157','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8658','1','','26209000002158','4444400002158','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4158','0','','4158','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8659','1','','26209000002159','4444400002159','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4159','0','','4159','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8660','1','','26209000002160','4444400002160','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4160','0','','4160','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8661','1','','26209000002161','4444400002161','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4161','0','','4161','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8662','1','','26209000002162','4444400002162','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4162','0','','4162','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8663','1','','26209000002163','4444400002163','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4163','0','','4163','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8664','1','','26209000002164','4444400002164','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4164','0','','4164','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8665','1','','26209000002165','4444400002165','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4165','0','','4165','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8666','1','','26209000002166','4444400002166','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4166','0','','4166','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8667','1','','26209000002167','4444400002167','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4167','0','','4167','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8668','1','','26209000002168','4444400002168','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4168','0','','4168','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8669','1','','26209000002169','4444400002169','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4169','0','','4169','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8670','1','','26209000002170','4444400002170','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4170','0','','4170','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8671','1','','26209000002171','4444400002171','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4171','0','','4171','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8672','1','','26209000002172','4444400002172','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4172','0','','4172','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8673','1','','26209000002173','4444400002173','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4173','0','','4173','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8674','1','','26209000002174','4444400002174','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4174','0','','4174','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8675','1','','26209000002175','4444400002175','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4175','0','','4175','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8676','1','','26209000002176','4444400002176','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4176','0','','4176','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8677','1','','26209000002177','4444400002177','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4177','0','','4177','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8678','1','','26209000002178','4444400002178','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4178','0','','4178','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8679','1','','26209000002179','4444400002179','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4179','0','','4179','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8680','1','','26209000002180','4444400002180','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4180','0','','4180','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8681','1','','26209000002181','4444400002181','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4181','0','','4181','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8682','1','','26209000002182','4444400002182','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4182','0','','4182','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8683','1','','26209000002183','4444400002183','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4183','0','','4183','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8684','1','','26209000002184','4444400002184','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4184','0','','4184','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8685','1','','26209000002185','4444400002185','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4185','0','','4185','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8686','1','','26209000002186','4444400002186','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4186','0','','4186','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8687','1','','26209000002187','4444400002187','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4187','0','','4187','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8688','1','','26209000002188','4444400002188','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4188','0','','4188','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8689','1','','26209000002189','4444400002189','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4189','0','','4189','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8690','1','','26209000002190','4444400002190','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4190','0','','4190','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8691','1','','26209000002191','4444400002191','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4191','0','','4191','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8692','1','','26209000002192','4444400002192','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4192','0','','4192','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8693','1','','26209000002193','4444400002193','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4193','0','','4193','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8694','1','','26209000002194','4444400002194','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4194','0','','4194','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8695','1','','26209000002195','4444400002195','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4195','0','','4195','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8696','1','','26209000002196','4444400002196','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4196','0','','4196','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8697','1','','26209000002197','4444400002197','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4197','0','','4197','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8698','1','','26209000002198','4444400002198','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4198','0','','4198','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8699','1','','26209000002199','4444400002199','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4199','0','','4199','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8700','1','','26209000002200','4444400002200','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4200','0','','4200','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8701','1','','26209000002201','4444400002201','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4201','0','','4201','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8702','1','','26209000002202','4444400002202','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4202','0','','4202','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8703','1','','26209000002203','4444400002203','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4203','0','','4203','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8704','1','','26209000002204','4444400002204','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4204','0','','4204','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8705','1','','26209000002205','4444400002205','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4205','0','','4205','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8706','1','','26209000002206','4444400002206','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4206','0','','4206','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8707','1','','26209000002207','4444400002207','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4207','0','','4207','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8708','1','','26209000002208','4444400002208','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4208','0','','4208','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8709','1','','26209000002209','4444400002209','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4209','0','','4209','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8710','1','','26209000002210','4444400002210','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4210','0','','4210','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8711','1','','26209000002211','4444400002211','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4211','0','','4211','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8712','1','','26209000002212','4444400002212','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4212','0','','4212','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8713','1','','26209000002213','4444400002213','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4213','0','','4213','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8714','1','','26209000002214','4444400002214','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4214','0','','4214','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8715','1','','26209000002215','4444400002215','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4215','0','','4215','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8716','1','','26209000002216','4444400002216','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4216','0','','4216','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8717','1','','26209000002217','4444400002217','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4217','0','','4217','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8718','1','','26209000002218','4444400002218','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4218','0','','4218','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8719','1','','26209000002219','4444400002219','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4219','0','','4219','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8720','1','','26209000002220','4444400002220','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4220','0','','4220','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8721','1','','26209000002221','4444400002221','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4221','0','','4221','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8722','1','','26209000002222','4444400002222','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4222','0','','4222','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8723','1','','26209000002223','4444400002223','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4223','0','','4223','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8724','1','','26209000002224','4444400002224','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4224','0','','4224','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8725','1','','26209000002225','4444400002225','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4225','0','','4225','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8726','1','','26209000002226','4444400002226','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4226','0','','4226','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8727','1','','26209000002227','4444400002227','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4227','0','','4227','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8728','1','','26209000002228','4444400002228','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4228','0','','4228','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8729','1','','26209000002229','4444400002229','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4229','0','','4229','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8730','1','','26209000002230','4444400002230','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4230','0','','4230','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8731','1','','26209000002231','4444400002231','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4231','0','','4231','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8732','1','','26209000002232','4444400002232','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4232','0','','4232','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8733','1','','26209000002233','4444400002233','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4233','0','','4233','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8734','1','','26209000002234','4444400002234','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4234','0','','4234','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8735','1','','26209000002235','4444400002235','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4235','0','','4235','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8736','1','','26209000002236','4444400002236','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4236','0','','4236','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8737','1','','26209000002237','4444400002237','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4237','0','','4237','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8738','1','','26209000002238','4444400002238','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4238','0','','4238','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8739','1','','26209000002239','4444400002239','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4239','0','','4239','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8740','1','','26209000002240','4444400002240','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4240','0','','4240','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8741','1','','26209000002241','4444400002241','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4241','0','','4241','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8742','1','','26209000002242','4444400002242','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4242','0','','4242','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8743','1','','26209000002243','4444400002243','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4243','0','','4243','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8744','1','','26209000002244','4444400002244','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4244','0','','4244','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8745','1','','26209000002245','4444400002245','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4245','0','','4245','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8746','1','','26209000002246','4444400002246','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4246','0','','4246','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8747','1','','26209000002247','4444400002247','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4247','0','','4247','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8748','1','','26209000002248','4444400002248','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4248','0','','4248','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8749','1','','26209000002249','4444400002249','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4249','0','','4249','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8750','1','','26209000002250','4444400002250','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4250','0','','4250','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8751','1','','26209000002251','4444400002251','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4251','0','','4251','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8752','1','','26209000002252','4444400002252','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4252','0','','4252','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8753','1','','26209000002253','4444400002253','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4253','0','','4253','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8754','1','','26209000002254','4444400002254','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4254','0','','4254','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8755','1','','26209000002255','4444400002255','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4255','0','','4255','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8756','1','','26209000002256','4444400002256','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4256','0','','4256','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8757','1','','26209000002257','4444400002257','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4257','0','','4257','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8758','1','','26209000002258','4444400002258','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4258','0','','4258','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8759','1','','26209000002259','4444400002259','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4259','0','','4259','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8760','1','','26209000002260','4444400002260','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4260','0','','4260','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8761','1','','26209000002261','4444400002261','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4261','0','','4261','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8762','1','','26209000002262','4444400002262','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4262','0','','4262','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8763','1','','26209000002263','4444400002263','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4263','0','','4263','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8764','1','','26209000002264','4444400002264','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4264','0','','4264','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8765','1','','26209000002265','4444400002265','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4265','0','','4265','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8766','1','','26209000002266','4444400002266','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4266','0','','4266','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8767','1','','26209000002267','4444400002267','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4267','0','','4267','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8768','1','','26209000002268','4444400002268','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4268','0','','4268','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8769','1','','26209000002269','4444400002269','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4269','0','','4269','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8770','1','','26209000002270','4444400002270','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4270','0','','4270','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8771','1','','26209000002271','4444400002271','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4271','0','','4271','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8772','1','','26209000002272','4444400002272','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4272','0','','4272','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8773','1','','26209000002273','4444400002273','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4273','0','','4273','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8774','1','','26209000002274','4444400002274','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4274','0','','4274','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8775','1','','26209000002275','4444400002275','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4275','0','','4275','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8776','1','','26209000002276','4444400002276','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4276','0','','4276','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8777','1','','26209000002277','4444400002277','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4277','0','','4277','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8778','1','','26209000002278','4444400002278','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4278','0','','4278','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8779','1','','26209000002279','4444400002279','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4279','0','','4279','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8780','1','','26209000002280','4444400002280','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4280','0','','4280','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8781','1','','26209000002281','4444400002281','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4281','0','','4281','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8782','1','','26209000002282','4444400002282','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4282','0','','4282','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8783','1','','26209000002283','4444400002283','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4283','0','','4283','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8784','1','','26209000002284','4444400002284','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4284','0','','4284','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8785','1','','26209000002285','4444400002285','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4285','0','','4285','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8786','1','','26209000002286','4444400002286','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4286','0','','4286','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8787','1','','26209000002287','4444400002287','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4287','0','','4287','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8788','1','','26209000002288','4444400002288','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4288','0','','4288','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8789','1','','26209000002289','4444400002289','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4289','0','','4289','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8790','1','','26209000002290','4444400002290','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4290','0','','4290','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8791','1','','26209000002291','4444400002291','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4291','0','','4291','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8792','1','','26209000002292','4444400002292','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4292','0','','4292','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8793','1','','26209000002293','4444400002293','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4293','0','','4293','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8794','1','','26209000002294','4444400002294','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4294','0','','4294','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8795','1','','26209000002295','4444400002295','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4295','0','','4295','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8796','1','','26209000002296','4444400002296','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4296','0','','4296','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8797','1','','26209000002297','4444400002297','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4297','0','','4297','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8798','1','','26209000002298','4444400002298','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4298','0','','4298','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8799','1','','26209000002299','4444400002299','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4299','0','','4299','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8800','1','','26209000002300','4444400002300','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4300','0','','4300','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8801','1','','26209000002301','4444400002301','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4301','0','','4301','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8802','1','','26209000002302','4444400002302','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4302','0','','4302','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8803','1','','26209000002303','4444400002303','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4303','0','','4303','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8804','1','','26209000002304','4444400002304','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4304','0','','4304','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8805','1','','26209000002305','4444400002305','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4305','0','','4305','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8806','1','','26209000002306','4444400002306','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4306','0','','4306','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8807','1','','26209000002307','4444400002307','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4307','0','','4307','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8808','1','','26209000002308','4444400002308','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4308','0','','4308','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8809','1','','26209000002309','4444400002309','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4309','0','','4309','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8810','1','','26209000002310','4444400002310','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4310','0','','4310','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8811','1','','26209000002311','4444400002311','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4311','0','','4311','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8812','1','','26209000002312','4444400002312','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4312','0','','4312','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8813','1','','26209000002313','4444400002313','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4313','0','','4313','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8814','1','','26209000002314','4444400002314','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4314','0','','4314','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8815','1','','26209000002315','4444400002315','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4315','0','','4315','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8816','1','','26209000002316','4444400002316','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4316','0','','4316','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8817','1','','26209000002317','4444400002317','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4317','0','','4317','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8818','1','','26209000002318','4444400002318','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4318','0','','4318','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8819','1','','26209000002319','4444400002319','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4319','0','','4319','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8820','1','','26209000002320','4444400002320','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4320','0','','4320','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8821','1','','26209000002321','4444400002321','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4321','0','','4321','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8822','1','','26209000002322','4444400002322','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4322','0','','4322','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8823','1','','26209000002323','4444400002323','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4323','0','','4323','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8824','1','','26209000002324','4444400002324','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4324','0','','4324','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8825','1','','26209000002325','4444400002325','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4325','0','','4325','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8826','1','','26209000002326','4444400002326','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4326','0','','4326','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8827','1','','26209000002327','4444400002327','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4327','0','','4327','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8828','1','','26209000002328','4444400002328','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4328','0','','4328','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8829','1','','26209000002329','4444400002329','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4329','0','','4329','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8830','1','','26209000002330','4444400002330','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4330','0','','4330','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8831','1','','26209000002331','4444400002331','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4331','0','','4331','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8832','1','','26209000002332','4444400002332','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4332','0','','4332','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8833','1','','26209000002333','4444400002333','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4333','0','','4333','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8834','1','','26209000002334','4444400002334','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4334','0','','4334','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8835','1','','26209000002335','4444400002335','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4335','0','','4335','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8836','1','','26209000002336','4444400002336','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4336','0','','4336','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8837','1','','26209000002337','4444400002337','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4337','0','','4337','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8838','1','','26209000002338','4444400002338','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4338','0','','4338','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8839','1','','26209000002339','4444400002339','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4339','0','','4339','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8840','1','','26209000002340','4444400002340','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4340','0','','4340','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8841','1','','26209000002341','4444400002341','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4341','0','','4341','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8842','1','','26209000002342','4444400002342','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4342','0','','4342','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8843','1','','26209000002343','4444400002343','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4343','0','','4343','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8844','1','','26209000002344','4444400002344','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4344','0','','4344','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8845','1','','26209000002345','4444400002345','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4345','0','','4345','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8846','1','','26209000002346','4444400002346','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4346','0','','4346','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8847','1','','26209000002347','4444400002347','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4347','0','','4347','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8848','1','','26209000002348','4444400002348','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4348','0','','4348','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8849','1','','26209000002349','4444400002349','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4349','0','','4349','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8850','1','','26209000002350','4444400002350','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4350','0','','4350','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8851','1','','26209000002351','4444400002351','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4351','0','','4351','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8852','1','','26209000002352','4444400002352','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4352','0','','4352','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8853','1','','26209000002353','4444400002353','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4353','0','','4353','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8854','1','','26209000002354','4444400002354','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4354','0','','4354','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8855','1','','26209000002355','4444400002355','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4355','0','','4355','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8856','1','','26209000002356','4444400002356','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4356','0','','4356','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8857','1','','26209000002357','4444400002357','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4357','0','','4357','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8858','1','','26209000002358','4444400002358','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4358','0','','4358','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8859','1','','26209000002359','4444400002359','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4359','0','','4359','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8860','1','','26209000002360','4444400002360','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4360','0','','4360','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8861','1','','26209000002361','4444400002361','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4361','0','','4361','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8862','1','','26209000002362','4444400002362','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4362','0','','4362','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8863','1','','26209000002363','4444400002363','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4363','0','','4363','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8864','1','','26209000002364','4444400002364','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4364','0','','4364','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8865','1','','26209000002365','4444400002365','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4365','0','','4365','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8866','1','','26209000002366','4444400002366','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4366','0','','4366','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8867','1','','26209000002367','4444400002367','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4367','0','','4367','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8868','1','','26209000002368','4444400002368','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4368','0','','4368','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8869','1','','26209000002369','4444400002369','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4369','0','','4369','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8870','1','','26209000002370','4444400002370','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4370','0','','4370','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8871','1','','26209000002371','4444400002371','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4371','0','','4371','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8872','1','','26209000002372','4444400002372','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4372','0','','4372','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8873','1','','26209000002373','4444400002373','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4373','0','','4373','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8874','1','','26209000002374','4444400002374','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4374','0','','4374','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8875','1','','26209000002375','4444400002375','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4375','0','','4375','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8876','1','','26209000002376','4444400002376','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4376','0','','4376','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8877','1','','26209000002377','4444400002377','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4377','0','','4377','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8878','1','','26209000002378','4444400002378','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4378','0','','4378','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8879','1','','26209000002379','4444400002379','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4379','0','','4379','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8880','1','','26209000002380','4444400002380','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4380','0','','4380','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8881','1','','26209000002381','4444400002381','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4381','0','','4381','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8882','1','','26209000002382','4444400002382','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4382','0','','4382','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8883','1','','26209000002383','4444400002383','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4383','0','','4383','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8884','1','','26209000002384','4444400002384','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4384','0','','4384','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8885','1','','26209000002385','4444400002385','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4385','0','','4385','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8886','1','','26209000002386','4444400002386','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4386','0','','4386','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8887','1','','26209000002387','4444400002387','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4387','0','','4387','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8888','1','','26209000002388','4444400002388','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4388','0','','4388','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8889','1','','26209000002389','4444400002389','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4389','0','','4389','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8890','1','','26209000002390','4444400002390','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4390','0','','4390','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8891','1','','26209000002391','4444400002391','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4391','0','','4391','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8892','1','','26209000002392','4444400002392','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4392','0','','4392','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8893','1','','26209000002393','4444400002393','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4393','0','','4393','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8894','1','','26209000002394','4444400002394','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4394','0','','4394','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8895','1','','26209000002395','4444400002395','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4395','0','','4395','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8896','1','','26209000002396','4444400002396','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4396','0','','4396','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8897','1','','26209000002397','4444400002397','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4397','0','','4397','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8898','1','','26209000002398','4444400002398','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4398','0','','4398','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8899','1','','26209000002399','4444400002399','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4399','0','','4399','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8900','1','','26209000002400','4444400002400','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4400','0','','4400','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8901','1','','26209000002401','4444400002401','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4401','0','','4401','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8902','1','','26209000002402','4444400002402','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4402','0','','4402','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8903','1','','26209000002403','4444400002403','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4403','0','','4403','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8904','1','','26209000002404','4444400002404','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4404','0','','4404','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8905','1','','26209000002405','4444400002405','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4405','0','','4405','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8906','1','','26209000002406','4444400002406','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4406','0','','4406','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8907','1','','26209000002407','4444400002407','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4407','0','','4407','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8908','1','','26209000002408','4444400002408','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4408','0','','4408','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8909','1','','26209000002409','4444400002409','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4409','0','','4409','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8910','1','','26209000002410','4444400002410','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4410','0','','4410','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8911','1','','26209000002411','4444400002411','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4411','0','','4411','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8912','1','','26209000002412','4444400002412','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4412','0','','4412','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8913','1','','26209000002413','4444400002413','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4413','0','','4413','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8914','1','','26209000002414','4444400002414','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4414','0','','4414','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8915','1','','26209000002415','4444400002415','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4415','0','','4415','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8916','1','','26209000002416','4444400002416','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4416','0','','4416','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8917','1','','26209000002417','4444400002417','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4417','0','','4417','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8918','1','','26209000002418','4444400002418','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4418','0','','4418','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8919','1','','26209000002419','4444400002419','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4419','0','','4419','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8920','1','','26209000002420','4444400002420','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4420','0','','4420','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8921','1','','26209000002421','4444400002421','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4421','0','','4421','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8922','1','','26209000002422','4444400002422','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4422','0','','4422','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8923','1','','26209000002423','4444400002423','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4423','0','','4423','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8924','1','','26209000002424','4444400002424','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4424','0','','4424','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8925','1','','26209000002425','4444400002425','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4425','0','','4425','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8926','1','','26209000002426','4444400002426','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4426','0','','4426','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8927','1','','26209000002427','4444400002427','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4427','0','','4427','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8928','1','','26209000002428','4444400002428','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4428','0','','4428','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8929','1','','26209000002429','4444400002429','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4429','0','','4429','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8930','1','','26209000002430','4444400002430','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4430','0','','4430','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8931','1','','26209000002431','4444400002431','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4431','0','','4431','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8932','1','','26209000002432','4444400002432','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4432','0','','4432','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8933','1','','26209000002433','4444400002433','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4433','0','','4433','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8934','1','','26209000002434','4444400002434','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4434','0','','4434','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8935','1','','26209000002435','4444400002435','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4435','0','','4435','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8936','1','','26209000002436','4444400002436','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4436','0','','4436','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8937','1','','26209000002437','4444400002437','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4437','0','','4437','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8938','1','','26209000002438','4444400002438','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4438','0','','4438','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8939','1','','26209000002439','4444400002439','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4439','0','','4439','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8940','1','','26209000002440','4444400002440','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4440','0','','4440','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8941','1','','26209000002441','4444400002441','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4441','0','','4441','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8942','1','','26209000002442','4444400002442','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4442','0','','4442','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8943','1','','26209000002443','4444400002443','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4443','0','','4443','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8944','1','','26209000002444','4444400002444','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4444','0','','4444','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8945','1','','26209000002445','4444400002445','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4445','0','','4445','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8946','1','','26209000002446','4444400002446','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4446','0','','4446','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8947','1','','26209000002447','4444400002447','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4447','0','','4447','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8948','1','','26209000002448','4444400002448','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4448','0','','4448','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8949','1','','26209000002449','4444400002449','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4449','0','','4449','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8950','1','','26209000002450','4444400002450','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4450','0','','4450','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8951','1','','26209000002451','4444400002451','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4451','0','','4451','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8952','1','','26209000002452','4444400002452','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4452','0','','4452','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8953','1','','26209000002453','4444400002453','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4453','0','','4453','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8954','1','','26209000002454','4444400002454','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4454','0','','4454','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8955','1','','26209000002455','4444400002455','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4455','0','','4455','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8956','1','','26209000002456','4444400002456','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4456','0','','4456','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8957','1','','26209000002457','4444400002457','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4457','0','','4457','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8958','1','','26209000002458','4444400002458','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4458','0','','4458','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8959','1','','26209000002459','4444400002459','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4459','0','','4459','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8960','1','','26209000002460','4444400002460','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4460','0','','4460','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8961','1','','26209000002461','4444400002461','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4461','0','','4461','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8962','1','','26209000002462','4444400002462','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4462','0','','4462','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8963','1','','26209000002463','4444400002463','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4463','0','','4463','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8964','1','','26209000002464','4444400002464','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4464','0','','4464','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8965','1','','26209000002465','4444400002465','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4465','0','','4465','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8966','1','','26209000002466','4444400002466','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4466','0','','4466','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8967','1','','26209000002467','4444400002467','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4467','0','','4467','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8968','1','','26209000002468','4444400002468','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4468','0','','4468','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8969','1','','26209000002469','4444400002469','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4469','0','','4469','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8970','1','','26209000002470','4444400002470','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4470','0','','4470','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8971','1','','26209000002471','4444400002471','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4471','0','','4471','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8972','1','','26209000002472','4444400002472','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4472','0','','4472','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8973','1','','26209000002473','4444400002473','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4473','0','','4473','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8974','1','','26209000002474','4444400002474','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4474','0','','4474','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8975','1','','26209000002475','4444400002475','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4475','0','','4475','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8976','1','','26209000002476','4444400002476','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4476','0','','4476','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8977','1','','26209000002477','4444400002477','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4477','0','','4477','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8978','1','','26209000002478','4444400002478','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4478','0','','4478','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8979','1','','26209000002479','4444400002479','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4479','0','','4479','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8980','1','','26209000002480','4444400002480','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4480','0','','4480','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8981','1','','26209000002481','4444400002481','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4481','0','','4481','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8982','1','','26209000002482','4444400002482','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4482','0','','4482','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8983','1','','26209000002483','4444400002483','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4483','0','','4483','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8984','1','','26209000002484','4444400002484','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4484','0','','4484','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8985','1','','26209000002485','4444400002485','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4485','0','','4485','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8986','1','','26209000002486','4444400002486','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4486','0','','4486','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8987','1','','26209000002487','4444400002487','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4487','0','','4487','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8988','1','','26209000002488','4444400002488','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4488','0','','4488','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8989','1','','26209000002489','4444400002489','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4489','0','','4489','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8990','1','','26209000002490','4444400002490','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4490','0','','4490','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8991','1','','26209000002491','4444400002491','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4491','0','','4491','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8992','1','','26209000002492','4444400002492','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4492','0','','4492','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8993','1','','26209000002493','4444400002493','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4493','0','','4493','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8994','1','','26209000002494','4444400002494','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4494','0','','4494','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8995','1','','26209000002495','4444400002495','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4495','0','','4495','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8996','1','','26209000002496','4444400002496','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4496','0','','4496','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8997','1','','26209000002497','4444400002497','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4497','0','','4497','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8998','1','','26209000002498','4444400002498','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4498','0','','4498','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','8999','1','','26209000002499','4444400002499','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4499','0','','4499','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9000','1','','26209000002500','4444400002500','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4500','0','','4500','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9001','1','','26209000002501','4444400002501','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4501','0','','4501','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9002','1','','26209000002502','4444400002502','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4502','0','','4502','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9003','1','','26209000002503','4444400002503','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4503','0','','4503','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9004','1','','26209000002504','4444400002504','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4504','0','','4504','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9005','1','','26209000002505','4444400002505','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4505','0','','4505','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9006','1','','26209000002506','4444400002506','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4506','0','','4506','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9007','1','','26209000002507','4444400002507','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4507','0','','4507','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9008','1','','26209000002508','4444400002508','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4508','0','','4508','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9009','1','','26209000002509','4444400002509','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4509','0','','4509','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9010','1','','26209000002510','4444400002510','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4510','0','','4510','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9011','1','','26209000002511','4444400002511','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4511','0','','4511','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9012','1','','26209000002512','4444400002512','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4512','0','','4512','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9013','1','','26209000002513','4444400002513','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4513','0','','4513','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9014','1','','26209000002514','4444400002514','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4514','0','','4514','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9015','1','','26209000002515','4444400002515','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4515','0','','4515','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9016','1','','26209000002516','4444400002516','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4516','0','','4516','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9017','1','','26209000002517','4444400002517','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4517','0','','4517','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9018','1','','26209000002518','4444400002518','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4518','0','','4518','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9019','1','','26209000002519','4444400002519','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4519','0','','4519','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9020','1','','26209000002520','4444400002520','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4520','0','','4520','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9021','1','','26209000002521','4444400002521','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4521','0','','4521','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9022','1','','26209000002522','4444400002522','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4522','0','','4522','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9023','1','','26209000002523','4444400002523','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4523','0','','4523','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9024','1','','26209000002524','4444400002524','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4524','0','','4524','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9025','1','','26209000002525','4444400002525','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4525','0','','4525','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9026','1','','26209000002526','4444400002526','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4526','0','','4526','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9027','1','','26209000002527','4444400002527','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4527','0','','4527','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9028','1','','26209000002528','4444400002528','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4528','0','','4528','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9029','1','','26209000002529','4444400002529','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4529','0','','4529','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9030','1','','26209000002530','4444400002530','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4530','0','','4530','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9031','1','','26209000002531','4444400002531','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4531','0','','4531','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9032','1','','26209000002532','4444400002532','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4532','0','','4532','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9033','1','','26209000002533','4444400002533','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4533','0','','4533','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9034','1','','26209000002534','4444400002534','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4534','0','','4534','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9035','1','','26209000002535','4444400002535','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4535','0','','4535','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9036','1','','26209000002536','4444400002536','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4536','0','','4536','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9037','1','','26209000002537','4444400002537','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4537','0','','4537','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9038','1','','26209000002538','4444400002538','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4538','0','','4538','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9039','1','','26209000002539','4444400002539','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4539','0','','4539','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9040','1','','26209000002540','4444400002540','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4540','0','','4540','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9041','1','','26209000002541','4444400002541','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4541','0','','4541','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9042','1','','26209000002542','4444400002542','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4542','0','','4542','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9043','1','','26209000002543','4444400002543','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4543','0','','4543','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9044','1','','26209000002544','4444400002544','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4544','0','','4544','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9045','1','','26209000002545','4444400002545','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4545','0','','4545','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9046','1','','26209000002546','4444400002546','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4546','0','','4546','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9047','1','','26209000002547','4444400002547','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4547','0','','4547','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9048','1','','26209000002548','4444400002548','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4548','0','','4548','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9049','1','','26209000002549','4444400002549','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4549','0','','4549','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9050','1','','26209000002550','4444400002550','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4550','0','','4550','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9051','1','','26209000002551','4444400002551','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4551','0','','4551','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9052','1','','26209000002552','4444400002552','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4552','0','','4552','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9053','1','','26209000002553','4444400002553','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4553','0','','4553','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9054','1','','26209000002554','4444400002554','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4554','0','','4554','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9055','1','','26209000002555','4444400002555','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4555','0','','4555','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9056','1','','26209000002556','4444400002556','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4556','0','','4556','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9057','1','','26209000002557','4444400002557','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4557','0','','4557','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9058','1','','26209000002558','4444400002558','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4558','0','','4558','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9059','1','','26209000002559','4444400002559','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4559','0','','4559','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9060','1','','26209000002560','4444400002560','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4560','0','','4560','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9061','1','','26209000002561','4444400002561','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4561','0','','4561','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9062','1','','26209000002562','4444400002562','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4562','0','','4562','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9063','1','','26209000002563','4444400002563','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4563','0','','4563','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9064','1','','26209000002564','4444400002564','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4564','0','','4564','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9065','1','','26209000002565','4444400002565','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4565','0','','4565','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9066','1','','26209000002566','4444400002566','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4566','0','','4566','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9067','1','','26209000002567','4444400002567','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4567','0','','4567','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9068','1','','26209000002568','4444400002568','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4568','0','','4568','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9069','1','','26209000002569','4444400002569','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4569','0','','4569','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9070','1','','26209000002570','4444400002570','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4570','0','','4570','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9071','1','','26209000002571','4444400002571','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4571','0','','4571','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9072','1','','26209000002572','4444400002572','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4572','0','','4572','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9073','1','','26209000002573','4444400002573','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4573','0','','4573','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9074','1','','26209000002574','4444400002574','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4574','0','','4574','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9075','1','','26209000002575','4444400002575','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4575','0','','4575','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9076','1','','26209000002576','4444400002576','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4576','0','','4576','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9077','1','','26209000002577','4444400002577','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4577','0','','4577','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9078','1','','26209000002578','4444400002578','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4578','0','','4578','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9079','1','','26209000002579','4444400002579','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4579','0','','4579','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9080','1','','26209000002580','4444400002580','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4580','0','','4580','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9081','1','','26209000002581','4444400002581','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4581','0','','4581','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9082','1','','26209000002582','4444400002582','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4582','0','','4582','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9083','1','','26209000002583','4444400002583','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4583','0','','4583','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9084','1','','26209000002584','4444400002584','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4584','0','','4584','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9085','1','','26209000002585','4444400002585','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4585','0','','4585','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9086','1','','26209000002586','4444400002586','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4586','0','','4586','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9087','1','','26209000002587','4444400002587','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4587','0','','4587','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9088','1','','26209000002588','4444400002588','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4588','0','','4588','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9089','1','','26209000002589','4444400002589','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4589','0','','4589','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9090','1','','26209000002590','4444400002590','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4590','0','','4590','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9091','1','','26209000002591','4444400002591','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4591','0','','4591','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9092','1','','26209000002592','4444400002592','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4592','0','','4592','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9093','1','','26209000002593','4444400002593','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4593','0','','4593','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9094','1','','26209000002594','4444400002594','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4594','0','','4594','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9095','1','','26209000002595','4444400002595','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4595','0','','4595','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9096','1','','26209000002596','4444400002596','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4596','0','','4596','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9097','1','','26209000002597','4444400002597','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4597','0','','4597','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9098','1','','26209000002598','4444400002598','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4598','0','','4598','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9099','1','','26209000002599','4444400002599','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4599','0','','4599','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9100','1','','26209000002600','4444400002600','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4600','0','','4600','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9101','1','','26209000002601','4444400002601','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4601','0','','4601','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9102','1','','26209000002602','4444400002602','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4602','0','','4602','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9103','1','','26209000002603','4444400002603','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4603','0','','4603','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9104','1','','26209000002604','4444400002604','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4604','0','','4604','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9105','1','','26209000002605','4444400002605','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4605','0','','4605','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9106','1','','26209000002606','4444400002606','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4606','0','','4606','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9107','1','','26209000002607','4444400002607','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4607','0','','4607','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9108','1','','26209000002608','4444400002608','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4608','0','','4608','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9109','1','','26209000002609','4444400002609','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4609','0','','4609','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9110','1','','26209000002610','4444400002610','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4610','0','','4610','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9111','1','','26209000002611','4444400002611','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4611','0','','4611','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9112','1','','26209000002612','4444400002612','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4612','0','','4612','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9113','1','','26209000002613','4444400002613','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4613','0','','4613','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9114','1','','26209000002614','4444400002614','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4614','0','','4614','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9115','1','','26209000002615','4444400002615','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4615','0','','4615','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9116','1','','26209000002616','4444400002616','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4616','0','','4616','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9117','1','','26209000002617','4444400002617','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4617','0','','4617','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9118','1','','26209000002618','4444400002618','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4618','0','','4618','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9119','1','','26209000002619','4444400002619','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4619','0','','4619','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9120','1','','26209000002620','4444400002620','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4620','0','','4620','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9121','1','','26209000002621','4444400002621','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4621','0','','4621','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9122','1','','26209000002622','4444400002622','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4622','0','','4622','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9123','1','','26209000002623','4444400002623','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4623','0','','4623','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9124','1','','26209000002624','4444400002624','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4624','0','','4624','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9125','1','','26209000002625','4444400002625','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4625','0','','4625','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9126','1','','26209000002626','4444400002626','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4626','0','','4626','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9127','1','','26209000002627','4444400002627','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4627','0','','4627','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9128','1','','26209000002628','4444400002628','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4628','0','','4628','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9129','1','','26209000002629','4444400002629','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4629','0','','4629','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9130','1','','26209000002630','4444400002630','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4630','0','','4630','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9131','1','','26209000002631','4444400002631','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4631','0','','4631','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9132','1','','26209000002632','4444400002632','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4632','0','','4632','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9133','1','','26209000002633','4444400002633','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4633','0','','4633','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9134','1','','26209000002634','4444400002634','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4634','0','','4634','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9135','1','','26209000002635','4444400002635','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4635','0','','4635','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9136','1','','26209000002636','4444400002636','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4636','0','','4636','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9137','1','','26209000002637','4444400002637','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4637','0','','4637','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9138','1','','26209000002638','4444400002638','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4638','0','','4638','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9139','1','','26209000002639','4444400002639','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4639','0','','4639','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9140','1','','26209000002640','4444400002640','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4640','0','','4640','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9141','1','','26209000002641','4444400002641','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4641','0','','4641','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9142','1','','26209000002642','4444400002642','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4642','0','','4642','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9143','1','','26209000002643','4444400002643','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4643','0','','4643','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9144','1','','26209000002644','4444400002644','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4644','0','','4644','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9145','1','','26209000002645','4444400002645','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4645','0','','4645','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9146','1','','26209000002646','4444400002646','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4646','0','','4646','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9147','1','','26209000002647','4444400002647','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4647','0','','4647','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9148','1','','26209000002648','4444400002648','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4648','0','','4648','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9149','1','','26209000002649','4444400002649','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4649','0','','4649','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9150','1','','26209000002650','4444400002650','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4650','0','','4650','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9151','1','','26209000002651','4444400002651','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4651','0','','4651','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9152','1','','26209000002652','4444400002652','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4652','0','','4652','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9153','1','','26209000002653','4444400002653','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4653','0','','4653','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9154','1','','26209000002654','4444400002654','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4654','0','','4654','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9155','1','','26209000002655','4444400002655','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4655','0','','4655','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9156','1','','26209000002656','4444400002656','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4656','0','','4656','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9157','1','','26209000002657','4444400002657','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4657','0','','4657','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9158','1','','26209000002658','4444400002658','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4658','0','','4658','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9159','1','','26209000002659','4444400002659','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4659','0','','4659','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9160','1','','26209000002660','4444400002660','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4660','0','','4660','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9161','1','','26209000002661','4444400002661','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4661','0','','4661','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9162','1','','26209000002662','4444400002662','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4662','0','','4662','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9163','1','','26209000002663','4444400002663','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4663','0','','4663','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9164','1','','26209000002664','4444400002664','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4664','0','','4664','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9165','1','','26209000002665','4444400002665','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4665','0','','4665','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9166','1','','26209000002666','4444400002666','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4666','0','','4666','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9167','1','','26209000002667','4444400002667','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4667','0','','4667','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9168','1','','26209000002668','4444400002668','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4668','0','','4668','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9169','1','','26209000002669','4444400002669','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4669','0','','4669','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9170','1','','26209000002670','4444400002670','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4670','0','','4670','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9171','1','','26209000002671','4444400002671','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4671','0','','4671','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9172','1','','26209000002672','4444400002672','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4672','0','','4672','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9173','1','','26209000002673','4444400002673','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4673','0','','4673','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9174','1','','26209000002674','4444400002674','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4674','0','','4674','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9175','1','','26209000002675','4444400002675','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4675','0','','4675','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9176','1','','26209000002676','4444400002676','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4676','0','','4676','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9177','1','','26209000002677','4444400002677','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4677','0','','4677','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9178','1','','26209000002678','4444400002678','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4678','0','','4678','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9179','1','','26209000002679','4444400002679','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4679','0','','4679','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9180','1','','26209000002680','4444400002680','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4680','0','','4680','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9181','1','','26209000002681','4444400002681','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4681','0','','4681','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9182','1','','26209000002682','4444400002682','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4682','0','','4682','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9183','1','','26209000002683','4444400002683','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4683','0','','4683','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9184','1','','26209000002684','4444400002684','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4684','0','','4684','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9185','1','','26209000002685','4444400002685','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4685','0','','4685','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9186','1','','26209000002686','4444400002686','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4686','0','','4686','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9187','1','','26209000002687','4444400002687','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4687','0','','4687','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9188','1','','26209000002688','4444400002688','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4688','0','','4688','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9189','1','','26209000002689','4444400002689','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4689','0','','4689','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9190','1','','26209000002690','4444400002690','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4690','0','','4690','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9191','1','','26209000002691','4444400002691','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4691','0','','4691','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9192','1','','26209000002692','4444400002692','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4692','0','','4692','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9193','1','','26209000002693','4444400002693','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4693','0','','4693','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9194','1','','26209000002694','4444400002694','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4694','0','','4694','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9195','1','','26209000002695','4444400002695','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4695','0','','4695','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9196','1','','26209000002696','4444400002696','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4696','0','','4696','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9197','1','','26209000002697','4444400002697','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4697','0','','4697','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9198','1','','26209000002698','4444400002698','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4698','0','','4698','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9199','1','','26209000002699','4444400002699','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4699','0','','4699','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9200','1','','26209000002700','4444400002700','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4700','0','','4700','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9201','1','','26209000002701','4444400002701','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4701','0','','4701','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9202','1','','26209000002702','4444400002702','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4702','0','','4702','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9203','1','','26209000002703','4444400002703','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4703','0','','4703','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9204','1','','26209000002704','4444400002704','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4704','0','','4704','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9205','1','','26209000002705','4444400002705','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4705','0','','4705','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9206','1','','26209000002706','4444400002706','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4706','0','','4706','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9207','1','','26209000002707','4444400002707','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4707','0','','4707','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9208','1','','26209000002708','4444400002708','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4708','0','','4708','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9209','1','','26209000002709','4444400002709','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4709','0','','4709','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9210','1','','26209000002710','4444400002710','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4710','0','','4710','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9211','1','','26209000002711','4444400002711','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4711','0','','4711','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9212','1','','26209000002712','4444400002712','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4712','0','','4712','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9213','1','','26209000002713','4444400002713','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4713','0','','4713','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9214','1','','26209000002714','4444400002714','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4714','0','','4714','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9215','1','','26209000002715','4444400002715','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4715','0','','4715','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9216','1','','26209000002716','4444400002716','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4716','0','','4716','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9217','1','','26209000002717','4444400002717','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4717','0','','4717','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9218','1','','26209000002718','4444400002718','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4718','0','','4718','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9219','1','','26209000002719','4444400002719','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4719','0','','4719','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9220','1','','26209000002720','4444400002720','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4720','0','','4720','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9221','1','','26209000002721','4444400002721','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4721','0','','4721','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9222','1','','26209000002722','4444400002722','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4722','0','','4722','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9223','1','','26209000002723','4444400002723','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4723','0','','4723','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9224','1','','26209000002724','4444400002724','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4724','0','','4724','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9225','1','','26209000002725','4444400002725','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4725','0','','4725','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9226','1','','26209000002726','4444400002726','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4726','0','','4726','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9227','1','','26209000002727','4444400002727','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4727','0','','4727','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9228','1','','26209000002728','4444400002728','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4728','0','','4728','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9229','1','','26209000002729','4444400002729','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4729','0','','4729','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9230','1','','26209000002730','4444400002730','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4730','0','','4730','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9231','1','','26209000002731','4444400002731','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4731','0','','4731','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9232','1','','26209000002732','4444400002732','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4732','0','','4732','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9233','1','','26209000002733','4444400002733','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4733','0','','4733','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9234','1','','26209000002734','4444400002734','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4734','0','','4734','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9235','1','','26209000002735','4444400002735','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4735','0','','4735','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9236','1','','26209000002736','4444400002736','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4736','0','','4736','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9237','1','','26209000002737','4444400002737','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4737','0','','4737','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9238','1','','26209000002738','4444400002738','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4738','0','','4738','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9239','1','','26209000002739','4444400002739','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4739','0','','4739','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9240','1','','26209000002740','4444400002740','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4740','0','','4740','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9241','1','','26209000002741','4444400002741','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4741','0','','4741','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9242','1','','26209000002742','4444400002742','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4742','0','','4742','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9243','1','','26209000002743','4444400002743','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4743','0','','4743','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9244','1','','26209000002744','4444400002744','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4744','0','','4744','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9245','1','','26209000002745','4444400002745','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4745','0','','4745','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9246','1','','26209000002746','4444400002746','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4746','0','','4746','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9247','1','','26209000002747','4444400002747','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4747','0','','4747','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9248','1','','26209000002748','4444400002748','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4748','0','','4748','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9249','1','','26209000002749','4444400002749','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4749','0','','4749','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9250','1','','26209000002750','4444400002750','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4750','0','','4750','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9251','1','','26209000002751','4444400002751','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4751','0','','4751','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9252','1','','26209000002752','4444400002752','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4752','0','','4752','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9253','1','','26209000002753','4444400002753','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4753','0','','4753','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9254','1','','26209000002754','4444400002754','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4754','0','','4754','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9255','1','','26209000002755','4444400002755','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4755','0','','4755','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9256','1','','26209000002756','4444400002756','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4756','0','','4756','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9257','1','','26209000002757','4444400002757','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4757','0','','4757','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9258','1','','26209000002758','4444400002758','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4758','0','','4758','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9259','1','','26209000002759','4444400002759','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4759','0','','4759','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9260','1','','26209000002760','4444400002760','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4760','0','','4760','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9261','1','','26209000002761','4444400002761','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4761','0','','4761','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9262','1','','26209000002762','4444400002762','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4762','0','','4762','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9263','1','','26209000002763','4444400002763','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4763','0','','4763','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9264','1','','26209000002764','4444400002764','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4764','0','','4764','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9265','1','','26209000002765','4444400002765','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4765','0','','4765','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9266','1','','26209000002766','4444400002766','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4766','0','','4766','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9267','1','','26209000002767','4444400002767','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4767','0','','4767','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9268','1','','26209000002768','4444400002768','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4768','0','','4768','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9269','1','','26209000002769','4444400002769','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4769','0','','4769','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9270','1','','26209000002770','4444400002770','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4770','0','','4770','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9271','1','','26209000002771','4444400002771','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4771','0','','4771','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9272','1','','26209000002772','4444400002772','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4772','0','','4772','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9273','1','','26209000002773','4444400002773','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4773','0','','4773','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9274','1','','26209000002774','4444400002774','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4774','0','','4774','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9275','1','','26209000002775','4444400002775','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4775','0','','4775','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9276','1','','26209000002776','4444400002776','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4776','0','','4776','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9277','1','','26209000002777','4444400002777','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4777','0','','4777','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9278','1','','26209000002778','4444400002778','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4778','0','','4778','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9279','1','','26209000002779','4444400002779','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4779','0','','4779','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9280','1','','26209000002780','4444400002780','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4780','0','','4780','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9281','1','','26209000002781','4444400002781','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4781','0','','4781','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9282','1','','26209000002782','4444400002782','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4782','0','','4782','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9283','1','','26209000002783','4444400002783','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4783','0','','4783','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9284','1','','26209000002784','4444400002784','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4784','0','','4784','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9285','1','','26209000002785','4444400002785','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4785','0','','4785','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9286','1','','26209000002786','4444400002786','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4786','0','','4786','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9287','1','','26209000002787','4444400002787','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4787','0','','4787','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9288','1','','26209000002788','4444400002788','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4788','0','','4788','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9289','1','','26209000002789','4444400002789','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4789','0','','4789','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9290','1','','26209000002790','4444400002790','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4790','0','','4790','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9291','1','','26209000002791','4444400002791','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4791','0','','4791','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9292','1','','26209000002792','4444400002792','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4792','0','','4792','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9293','1','','26209000002793','4444400002793','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4793','0','','4793','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9294','1','','26209000002794','4444400002794','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4794','0','','4794','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9295','1','','26209000002795','4444400002795','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4795','0','','4795','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9296','1','','26209000002796','4444400002796','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4796','0','','4796','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9297','1','','26209000002797','4444400002797','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4797','0','','4797','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9298','1','','26209000002798','4444400002798','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4798','0','','4798','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9299','1','','26209000002799','4444400002799','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4799','0','','4799','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9300','1','','26209000002800','4444400002800','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4800','0','','4800','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9301','1','','26209000002801','4444400002801','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4801','0','','4801','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9302','1','','26209000002802','4444400002802','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4802','0','','4802','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9303','1','','26209000002803','4444400002803','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4803','0','','4803','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9304','1','','26209000002804','4444400002804','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4804','0','','4804','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9305','1','','26209000002805','4444400002805','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4805','0','','4805','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9306','1','','26209000002806','4444400002806','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4806','0','','4806','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9307','1','','26209000002807','4444400002807','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4807','0','','4807','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9308','1','','26209000002808','4444400002808','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4808','0','','4808','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9309','1','','26209000002809','4444400002809','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4809','0','','4809','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9310','1','','26209000002810','4444400002810','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4810','0','','4810','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9311','1','','26209000002811','4444400002811','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4811','0','','4811','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9312','1','','26209000002812','4444400002812','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4812','0','','4812','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9313','1','','26209000002813','4444400002813','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4813','0','','4813','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9314','1','','26209000002814','4444400002814','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4814','0','','4814','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9315','1','','26209000002815','4444400002815','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4815','0','','4815','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9316','1','','26209000002816','4444400002816','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4816','0','','4816','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9317','1','','26209000002817','4444400002817','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4817','0','','4817','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9318','1','','26209000002818','4444400002818','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4818','0','','4818','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9319','1','','26209000002819','4444400002819','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4819','0','','4819','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9320','1','','26209000002820','4444400002820','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4820','0','','4820','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9321','1','','26209000002821','4444400002821','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4821','0','','4821','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9322','1','','26209000002822','4444400002822','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4822','0','','4822','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9323','1','','26209000002823','4444400002823','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4823','0','','4823','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9324','1','','26209000002824','4444400002824','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4824','0','','4824','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9325','1','','26209000002825','4444400002825','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4825','0','','4825','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9326','1','','26209000002826','4444400002826','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4826','0','','4826','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9327','1','','26209000002827','4444400002827','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4827','0','','4827','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9328','1','','26209000002828','4444400002828','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4828','0','','4828','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9329','1','','26209000002829','4444400002829','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4829','0','','4829','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9330','1','','26209000002830','4444400002830','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4830','0','','4830','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9331','1','','26209000002831','4444400002831','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4831','0','','4831','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9332','1','','26209000002832','4444400002832','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4832','0','','4832','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9333','1','','26209000002833','4444400002833','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4833','0','','4833','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9334','1','','26209000002834','4444400002834','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4834','0','','4834','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9335','1','','26209000002835','4444400002835','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4835','0','','4835','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9336','1','','26209000002836','4444400002836','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4836','0','','4836','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9337','1','','26209000002837','4444400002837','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4837','0','','4837','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9338','1','','26209000002838','4444400002838','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4838','0','','4838','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9339','1','','26209000002839','4444400002839','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4839','0','','4839','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9340','1','','26209000002840','4444400002840','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4840','0','','4840','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9341','1','','26209000002841','4444400002841','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4841','0','','4841','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9342','1','','26209000002842','4444400002842','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4842','0','','4842','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9343','1','','26209000002843','4444400002843','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4843','0','','4843','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9344','1','','26209000002844','4444400002844','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4844','0','','4844','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9345','1','','26209000002845','4444400002845','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4845','0','','4845','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9346','1','','26209000002846','4444400002846','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4846','0','','4846','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9347','1','','26209000002847','4444400002847','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4847','0','','4847','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9348','1','','26209000002848','4444400002848','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4848','0','','4848','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9349','1','','26209000002849','4444400002849','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4849','0','','4849','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9350','1','','26209000002850','4444400002850','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4850','0','','4850','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9351','1','','26209000002851','4444400002851','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4851','0','','4851','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9352','1','','26209000002852','4444400002852','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4852','0','','4852','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9353','1','','26209000002853','4444400002853','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4853','0','','4853','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9354','1','','26209000002854','4444400002854','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4854','0','','4854','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9355','1','','26209000002855','4444400002855','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4855','0','','4855','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9356','1','','26209000002856','4444400002856','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4856','0','','4856','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9357','1','','26209000002857','4444400002857','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4857','0','','4857','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9358','1','','26209000002858','4444400002858','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4858','0','','4858','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9359','1','','26209000002859','4444400002859','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4859','0','','4859','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9360','1','','26209000002860','4444400002860','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4860','0','','4860','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9361','1','','26209000002861','4444400002861','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4861','0','','4861','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9362','1','','26209000002862','4444400002862','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4862','0','','4862','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9363','1','','26209000002863','4444400002863','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4863','0','','4863','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9364','1','','26209000002864','4444400002864','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4864','0','','4864','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9365','1','','26209000002865','4444400002865','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4865','0','','4865','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9366','1','','26209000002866','4444400002866','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4866','0','','4866','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9367','1','','26209000002867','4444400002867','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4867','0','','4867','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9368','1','','26209000002868','4444400002868','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4868','0','','4868','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9369','1','','26209000002869','4444400002869','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4869','0','','4869','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9370','1','','26209000002870','4444400002870','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4870','0','','4870','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9371','1','','26209000002871','4444400002871','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4871','0','','4871','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9372','1','','26209000002872','4444400002872','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4872','0','','4872','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9373','1','','26209000002873','4444400002873','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4873','0','','4873','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9374','1','','26209000002874','4444400002874','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4874','0','','4874','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9375','1','','26209000002875','4444400002875','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4875','0','','4875','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9376','1','','26209000002876','4444400002876','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4876','0','','4876','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9377','1','','26209000002877','4444400002877','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4877','0','','4877','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9378','1','','26209000002878','4444400002878','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4878','0','','4878','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9379','1','','26209000002879','4444400002879','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4879','0','','4879','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9380','1','','26209000002880','4444400002880','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4880','0','','4880','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9381','1','','26209000002881','4444400002881','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4881','0','','4881','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9382','1','','26209000002882','4444400002882','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4882','0','','4882','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9383','1','','26209000002883','4444400002883','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4883','0','','4883','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9384','1','','26209000002884','4444400002884','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4884','0','','4884','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9385','1','','26209000002885','4444400002885','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4885','0','','4885','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9386','1','','26209000002886','4444400002886','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4886','0','','4886','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9387','1','','26209000002887','4444400002887','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4887','0','','4887','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9388','1','','26209000002888','4444400002888','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4888','0','','4888','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9389','1','','26209000002889','4444400002889','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4889','0','','4889','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9390','1','','26209000002890','4444400002890','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4890','0','','4890','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9391','1','','26209000002891','4444400002891','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4891','0','','4891','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9392','1','','26209000002892','4444400002892','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4892','0','','4892','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9393','1','','26209000002893','4444400002893','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4893','0','','4893','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9394','1','','26209000002894','4444400002894','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4894','0','','4894','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9395','1','','26209000002895','4444400002895','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4895','0','','4895','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9396','1','','26209000002896','4444400002896','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4896','0','','4896','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9397','1','','26209000002897','4444400002897','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4897','0','','4897','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9398','1','','26209000002898','4444400002898','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4898','0','','4898','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9399','1','','26209000002899','4444400002899','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4899','0','','4899','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9400','1','','26209000002900','4444400002900','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4900','0','','4900','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9401','1','','26209000002901','4444400002901','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4901','0','','4901','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9402','1','','26209000002902','4444400002902','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4902','0','','4902','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9403','1','','26209000002903','4444400002903','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4903','0','','4903','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9404','1','','26209000002904','4444400002904','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4904','0','','4904','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9405','1','','26209000002905','4444400002905','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4905','0','','4905','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9406','1','','26209000002906','4444400002906','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4906','0','','4906','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9407','1','','26209000002907','4444400002907','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4907','0','','4907','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9408','1','','26209000002908','4444400002908','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4908','0','','4908','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9409','1','','26209000002909','4444400002909','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4909','0','','4909','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9410','1','','26209000002910','4444400002910','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4910','0','','4910','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9411','1','','26209000002911','4444400002911','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4911','0','','4911','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9412','1','','26209000002912','4444400002912','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4912','0','','4912','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9413','1','','26209000002913','4444400002913','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4913','0','','4913','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9414','1','','26209000002914','4444400002914','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4914','0','','4914','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9415','1','','26209000002915','4444400002915','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4915','0','','4915','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9416','1','','26209000002916','4444400002916','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4916','0','','4916','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9417','1','','26209000002917','4444400002917','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4917','0','','4917','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9418','1','','26209000002918','4444400002918','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4918','0','','4918','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9419','1','','26209000002919','4444400002919','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4919','0','','4919','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9420','1','','26209000002920','4444400002920','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4920','0','','4920','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9421','1','','26209000002921','4444400002921','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4921','0','','4921','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9422','1','','26209000002922','4444400002922','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4922','0','','4922','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9423','1','','26209000002923','4444400002923','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4923','0','','4923','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9424','1','','26209000002924','4444400002924','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4924','0','','4924','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9425','1','','26209000002925','4444400002925','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4925','0','','4925','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9426','1','','26209000002926','4444400002926','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4926','0','','4926','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9427','1','','26209000002927','4444400002927','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4927','0','','4927','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9428','1','','26209000002928','4444400002928','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4928','0','','4928','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9429','1','','26209000002929','4444400002929','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4929','0','','4929','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9430','1','','26209000002930','4444400002930','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4930','0','','4930','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9431','1','','26209000002931','4444400002931','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4931','0','','4931','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9432','1','','26209000002932','4444400002932','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4932','0','','4932','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9433','1','','26209000002933','4444400002933','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4933','0','','4933','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9434','1','','26209000002934','4444400002934','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4934','0','','4934','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9435','1','','26209000002935','4444400002935','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4935','0','','4935','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9436','1','','26209000002936','4444400002936','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4936','0','','4936','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9437','1','','26209000002937','4444400002937','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4937','0','','4937','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9438','1','','26209000002938','4444400002938','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4938','0','','4938','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9439','1','','26209000002939','4444400002939','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4939','0','','4939','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9440','1','','26209000002940','4444400002940','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4940','0','','4940','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9441','1','','26209000002941','4444400002941','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4941','0','','4941','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9442','1','','26209000002942','4444400002942','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4942','0','','4942','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9443','1','','26209000002943','4444400002943','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4943','0','','4943','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9444','1','','26209000002944','4444400002944','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4944','0','','4944','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9445','1','','26209000002945','4444400002945','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4945','0','','4945','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9446','1','','26209000002946','4444400002946','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4946','0','','4946','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9447','1','','26209000002947','4444400002947','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4947','0','','4947','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9448','1','','26209000002948','4444400002948','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4948','0','','4948','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9449','1','','26209000002949','4444400002949','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4949','0','','4949','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9450','1','','26209000002950','4444400002950','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4950','0','','4950','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9451','1','','26209000002951','4444400002951','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4951','0','','4951','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9452','1','','26209000002952','4444400002952','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4952','0','','4952','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9453','1','','26209000002953','4444400002953','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4953','0','','4953','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9454','1','','26209000002954','4444400002954','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4954','0','','4954','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9455','1','','26209000002955','4444400002955','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4955','0','','4955','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9456','1','','26209000002956','4444400002956','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4956','0','','4956','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9457','1','','26209000002957','4444400002957','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4957','0','','4957','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9458','1','','26209000002958','4444400002958','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4958','0','','4958','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9459','1','','26209000002959','4444400002959','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4959','0','','4959','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9460','1','','26209000002960','4444400002960','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4960','0','','4960','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9461','1','','26209000002961','4444400002961','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4961','0','','4961','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9462','1','','26209000002962','4444400002962','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4962','0','','4962','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9463','1','','26209000002963','4444400002963','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4963','0','','4963','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9464','1','','26209000002964','4444400002964','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4964','0','','4964','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9465','1','','26209000002965','4444400002965','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4965','0','','4965','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9466','1','','26209000002966','4444400002966','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4966','0','','4966','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9467','1','','26209000002967','4444400002967','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4967','0','','4967','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9468','1','','26209000002968','4444400002968','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4968','0','','4968','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9469','1','','26209000002969','4444400002969','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4969','0','','4969','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9470','1','','26209000002970','4444400002970','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4970','0','','4970','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9471','1','','26209000002971','4444400002971','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4971','0','','4971','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9472','1','','26209000002972','4444400002972','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4972','0','','4972','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9473','1','','26209000002973','4444400002973','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4973','0','','4973','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9474','1','','26209000002974','4444400002974','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4974','0','','4974','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9475','1','','26209000002975','4444400002975','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4975','0','','4975','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9476','1','','26209000002976','4444400002976','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4976','0','','4976','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9477','1','','26209000002977','4444400002977','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4977','0','','4977','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9478','1','','26209000002978','4444400002978','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4978','0','','4978','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9479','1','','26209000002979','4444400002979','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4979','0','','4979','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9480','1','','26209000002980','4444400002980','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4980','0','','4980','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9481','1','','26209000002981','4444400002981','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4981','0','','4981','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9482','1','','26209000002982','4444400002982','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4982','0','','4982','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9483','1','','26209000002983','4444400002983','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4983','0','','4983','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9484','1','','26209000002984','4444400002984','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4984','0','','4984','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9485','1','','26209000002985','4444400002985','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4985','0','','4985','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9486','1','','26209000002986','4444400002986','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4986','0','','4986','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9487','1','','26209000002987','4444400002987','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4987','0','','4987','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9488','1','','26209000002988','4444400002988','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4988','0','','4988','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9489','1','','26209000002989','4444400002989','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4989','0','','4989','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9490','1','','26209000002990','4444400002990','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4990','0','','4990','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9491','1','','26209000002991','4444400002991','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4991','0','','4991','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9492','1','','26209000002992','4444400002992','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4992','0','','4992','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9493','1','','26209000002993','4444400002993','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4993','0','','4993','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9494','1','','26209000002994','4444400002994','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4994','0','','4994','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9495','1','','26209000002995','4444400002995','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4995','0','','4995','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9496','1','','26209000002996','4444400002996','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4996','0','','4996','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9497','1','','26209000002997','4444400002997','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4997','0','','4997','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9498','1','','26209000002998','4444400002998','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4998','0','','4998','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9499','1','','26209000002999','4444400002999','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','4999','0','','4999','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9500','1','','26209000003000','4444400003000','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5000','0','','5000','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9501','1','','26209000003001','4444400003001','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5001','0','','5001','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9502','1','','26209000003002','4444400003002','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5002','0','','5002','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9503','1','','26209000003003','4444400003003','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5003','0','','5003','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9504','1','','26209000003004','4444400003004','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5004','0','','5004','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9505','1','','26209000003005','4444400003005','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5005','0','','5005','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9506','1','','26209000003006','4444400003006','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5006','0','','5006','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9507','1','','26209000003007','4444400003007','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5007','0','','5007','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9508','1','','26209000003008','4444400003008','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5008','0','','5008','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9509','1','','26209000003009','4444400003009','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5009','0','','5009','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9510','1','','26209000003010','4444400003010','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5010','0','','5010','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9511','1','','26209000003011','4444400003011','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5011','0','','5011','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9512','1','','26209000003012','4444400003012','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5012','0','','5012','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9513','1','','26209000003013','4444400003013','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5013','0','','5013','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9514','1','','26209000003014','4444400003014','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5014','0','','5014','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9515','1','','26209000003015','4444400003015','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5015','0','','5015','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9516','1','','26209000003016','4444400003016','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5016','0','','5016','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9517','1','','26209000003017','4444400003017','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5017','0','','5017','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9518','1','','26209000003018','4444400003018','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5018','0','','5018','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9519','1','','26209000003019','4444400003019','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5019','0','','5019','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9520','1','','26209000003020','4444400003020','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5020','0','','5020','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9521','1','','26209000003021','4444400003021','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5021','0','','5021','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9522','1','','26209000003022','4444400003022','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5022','0','','5022','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9523','1','','26209000003023','4444400003023','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5023','0','','5023','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9524','1','','26209000003024','4444400003024','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5024','0','','5024','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9525','1','','26209000003025','4444400003025','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5025','0','','5025','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9526','1','','26209000003026','4444400003026','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5026','0','','5026','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9527','1','','26209000003027','4444400003027','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5027','0','','5027','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9528','1','','26209000003028','4444400003028','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5028','0','','5028','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9529','1','','26209000003029','4444400003029','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5029','0','','5029','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9530','1','','26209000003030','4444400003030','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5030','0','','5030','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9531','1','','26209000003031','4444400003031','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5031','0','','5031','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9532','1','','26209000003032','4444400003032','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5032','0','','5032','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9533','1','','26209000003033','4444400003033','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5033','0','','5033','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9534','1','','26209000003034','4444400003034','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5034','0','','5034','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9535','1','','26209000003035','4444400003035','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5035','0','','5035','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9536','1','','26209000003036','4444400003036','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5036','0','','5036','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9537','1','','26209000003037','4444400003037','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5037','0','','5037','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9538','1','','26209000003038','4444400003038','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5038','0','','5038','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9539','1','','26209000003039','4444400003039','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5039','0','','5039','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9540','1','','26209000003040','4444400003040','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5040','0','','5040','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9541','1','','26209000003041','4444400003041','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5041','0','','5041','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9542','1','','26209000003042','4444400003042','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5042','0','','5042','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9543','1','','26209000003043','4444400003043','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5043','0','','5043','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9544','1','','26209000003044','4444400003044','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5044','0','','5044','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9545','1','','26209000003045','4444400003045','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5045','0','','5045','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9546','1','','26209000003046','4444400003046','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5046','0','','5046','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9547','1','','26209000003047','4444400003047','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5047','0','','5047','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9548','1','','26209000003048','4444400003048','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5048','0','','5048','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9549','1','','26209000003049','4444400003049','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5049','0','','5049','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9550','1','','26209000003050','4444400003050','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5050','0','','5050','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9551','1','','26209000003051','4444400003051','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5051','0','','5051','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9552','1','','26209000003052','4444400003052','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5052','0','','5052','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9553','1','','26209000003053','4444400003053','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5053','0','','5053','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9554','1','','26209000003054','4444400003054','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5054','0','','5054','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9555','1','','26209000003055','4444400003055','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5055','0','','5055','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9556','1','','26209000003056','4444400003056','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5056','0','','5056','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9557','1','','26209000003057','4444400003057','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5057','0','','5057','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9558','1','','26209000003058','4444400003058','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5058','0','','5058','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9559','1','','26209000003059','4444400003059','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5059','0','','5059','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9560','1','','26209000003060','4444400003060','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5060','0','','5060','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9561','1','','26209000003061','4444400003061','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5061','0','','5061','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9562','1','','26209000003062','4444400003062','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5062','0','','5062','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9563','1','','26209000003063','4444400003063','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5063','0','','5063','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9564','1','','26209000003064','4444400003064','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5064','0','','5064','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9565','1','','26209000003065','4444400003065','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5065','0','','5065','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9566','1','','26209000003066','4444400003066','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5066','0','','5066','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9567','1','','26209000003067','4444400003067','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5067','0','','5067','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9568','1','','26209000003068','4444400003068','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5068','0','','5068','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9569','1','','26209000003069','4444400003069','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5069','0','','5069','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9570','1','','26209000003070','4444400003070','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5070','0','','5070','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9571','1','','26209000003071','4444400003071','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5071','0','','5071','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9572','1','','26209000003072','4444400003072','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5072','0','','5072','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9573','1','','26209000003073','4444400003073','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5073','0','','5073','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9574','1','','26209000003074','4444400003074','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5074','0','','5074','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9575','1','','26209000003075','4444400003075','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5075','0','','5075','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9576','1','','26209000003076','4444400003076','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5076','0','','5076','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9577','1','','26209000003077','4444400003077','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5077','0','','5077','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9578','1','','26209000003078','4444400003078','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5078','0','','5078','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9579','1','','26209000003079','4444400003079','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5079','0','','5079','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9580','1','','26209000003080','4444400003080','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5080','0','','5080','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9581','1','','26209000003081','4444400003081','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5081','0','','5081','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9582','1','','26209000003082','4444400003082','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5082','0','','5082','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9583','1','','26209000003083','4444400003083','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5083','0','','5083','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9584','1','','26209000003084','4444400003084','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5084','0','','5084','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9585','1','','26209000003085','4444400003085','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5085','0','','5085','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9586','1','','26209000003086','4444400003086','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5086','0','','5086','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9587','1','','26209000003087','4444400003087','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5087','0','','5087','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9588','1','','26209000003088','4444400003088','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5088','0','','5088','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9589','1','','26209000003089','4444400003089','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5089','0','','5089','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9590','1','','26209000003090','4444400003090','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5090','0','','5090','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9591','1','','26209000003091','4444400003091','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5091','0','','5091','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9592','1','','26209000003092','4444400003092','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5092','0','','5092','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9593','1','','26209000003093','4444400003093','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5093','0','','5093','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9594','1','','26209000003094','4444400003094','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5094','0','','5094','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9595','1','','26209000003095','4444400003095','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5095','0','','5095','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9596','1','','26209000003096','4444400003096','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5096','0','','5096','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9597','1','','26209000003097','4444400003097','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5097','0','','5097','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9598','1','','26209000003098','4444400003098','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5098','0','','5098','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9599','1','','26209000003099','4444400003099','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5099','0','','5099','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9600','1','','26209000003100','4444400003100','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5100','0','','5100','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9601','1','','26209000003101','4444400003101','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5101','0','','5101','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9602','1','','26209000003102','4444400003102','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5102','0','','5102','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9603','1','','26209000003103','4444400003103','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5103','0','','5103','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9604','1','','26209000003104','4444400003104','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5104','0','','5104','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9605','1','','26209000003105','4444400003105','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5105','0','','5105','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9606','1','','26209000003106','4444400003106','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5106','0','','5106','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9607','1','','26209000003107','4444400003107','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5107','0','','5107','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9608','1','','26209000003108','4444400003108','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5108','0','','5108','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9609','1','','26209000003109','4444400003109','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5109','0','','5109','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9610','1','','26209000003110','4444400003110','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5110','0','','5110','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9611','1','','26209000003111','4444400003111','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5111','0','','5111','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9612','1','','26209000003112','4444400003112','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5112','0','','5112','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9613','1','','26209000003113','4444400003113','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5113','0','','5113','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9614','1','','26209000003114','4444400003114','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5114','0','','5114','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9615','1','','26209000003115','4444400003115','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5115','0','','5115','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9616','1','','26209000003116','4444400003116','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5116','0','','5116','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9617','1','','26209000003117','4444400003117','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5117','0','','5117','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9618','1','','26209000003118','4444400003118','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5118','0','','5118','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9619','1','','26209000003119','4444400003119','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5119','0','','5119','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9620','1','','26209000003120','4444400003120','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5120','0','','5120','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9621','1','','26209000003121','4444400003121','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5121','0','','5121','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9622','1','','26209000003122','4444400003122','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5122','0','','5122','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9623','1','','26209000003123','4444400003123','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5123','0','','5123','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9624','1','','26209000003124','4444400003124','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5124','0','','5124','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9625','1','','26209000003125','4444400003125','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5125','0','','5125','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9626','1','','26209000003126','4444400003126','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5126','0','','5126','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9627','1','','26209000003127','4444400003127','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5127','0','','5127','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9628','1','','26209000003128','4444400003128','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5128','0','','5128','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9629','1','','26209000003129','4444400003129','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5129','0','','5129','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9630','1','','26209000003130','4444400003130','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5130','0','','5130','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9631','1','','26209000003131','4444400003131','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5131','0','','5131','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9632','1','','26209000003132','4444400003132','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5132','0','','5132','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9633','1','','26209000003133','4444400003133','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5133','0','','5133','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9634','1','','26209000003134','4444400003134','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5134','0','','5134','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9635','1','','26209000003135','4444400003135','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5135','0','','5135','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9636','1','','26209000003136','4444400003136','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5136','0','','5136','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9637','1','','26209000003137','4444400003137','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5137','0','','5137','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9638','1','','26209000003138','4444400003138','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5138','0','','5138','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9639','1','','26209000003139','4444400003139','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5139','0','','5139','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9640','1','','26209000003140','4444400003140','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5140','0','','5140','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9641','1','','26209000003141','4444400003141','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5141','0','','5141','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9642','1','','26209000003142','4444400003142','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5142','0','','5142','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9643','1','','26209000003143','4444400003143','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5143','0','','5143','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9644','1','','26209000003144','4444400003144','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5144','0','','5144','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9645','1','','26209000003145','4444400003145','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5145','0','','5145','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9646','1','','26209000003146','4444400003146','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5146','0','','5146','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9647','1','','26209000003147','4444400003147','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5147','0','','5147','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9648','1','','26209000003148','4444400003148','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5148','0','','5148','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9649','1','','26209000003149','4444400003149','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5149','0','','5149','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9650','1','','26209000003150','4444400003150','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5150','0','','5150','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9651','1','','26209000003151','4444400003151','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5151','0','','5151','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9652','1','','26209000003152','4444400003152','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5152','0','','5152','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9653','1','','26209000003153','4444400003153','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5153','0','','5153','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9654','1','','26209000003154','4444400003154','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5154','0','','5154','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9655','1','','26209000003155','4444400003155','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5155','0','','5155','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9656','1','','26209000003156','4444400003156','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5156','0','','5156','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9657','1','','26209000003157','4444400003157','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5157','0','','5157','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9658','1','','26209000003158','4444400003158','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5158','0','','5158','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9659','1','','26209000003159','4444400003159','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5159','0','','5159','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9660','1','','26209000003160','4444400003160','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5160','0','','5160','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9661','1','','26209000003161','4444400003161','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5161','0','','5161','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9662','1','','26209000003162','4444400003162','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5162','0','','5162','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9663','1','','26209000003163','4444400003163','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5163','0','','5163','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9664','1','','26209000003164','4444400003164','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5164','0','','5164','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9665','1','','26209000003165','4444400003165','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5165','0','','5165','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9666','1','','26209000003166','4444400003166','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5166','0','','5166','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9667','1','','26209000003167','4444400003167','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5167','0','','5167','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9668','1','','26209000003168','4444400003168','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5168','0','','5168','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9669','1','','26209000003169','4444400003169','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5169','0','','5169','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9670','1','','26209000003170','4444400003170','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5170','0','','5170','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9671','1','','26209000003171','4444400003171','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5171','0','','5171','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9672','1','','26209000003172','4444400003172','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5172','0','','5172','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9673','1','','26209000003173','4444400003173','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5173','0','','5173','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9674','1','','26209000003174','4444400003174','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5174','0','','5174','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9675','1','','26209000003175','4444400003175','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5175','0','','5175','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9676','1','','26209000003176','4444400003176','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5176','0','','5176','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9677','1','','26209000003177','4444400003177','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5177','0','','5177','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9678','1','','26209000003178','4444400003178','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5178','0','','5178','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9679','1','','26209000003179','4444400003179','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5179','0','','5179','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9680','1','','26209000003180','4444400003180','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5180','0','','5180','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9681','1','','26209000003181','4444400003181','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5181','0','','5181','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9682','1','','26209000003182','4444400003182','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5182','0','','5182','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9683','1','','26209000003183','4444400003183','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5183','0','','5183','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9684','1','','26209000003184','4444400003184','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5184','0','','5184','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9685','1','','26209000003185','4444400003185','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5185','0','','5185','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9686','1','','26209000003186','4444400003186','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5186','0','','5186','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9687','1','','26209000003187','4444400003187','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5187','0','','5187','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9688','1','','26209000003188','4444400003188','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5188','0','','5188','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9689','1','','26209000003189','4444400003189','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5189','0','','5189','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9690','1','','26209000003190','4444400003190','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5190','0','','5190','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9691','1','','26209000003191','4444400003191','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5191','0','','5191','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9692','1','','26209000003192','4444400003192','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5192','0','','5192','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9693','1','','26209000003193','4444400003193','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5193','0','','5193','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9694','1','','26209000003194','4444400003194','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5194','0','','5194','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9695','1','','26209000003195','4444400003195','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5195','0','','5195','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9696','1','','26209000003196','4444400003196','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5196','0','','5196','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9697','1','','26209000003197','4444400003197','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5197','0','','5197','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9698','1','','26209000003198','4444400003198','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5198','0','','5198','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9699','1','','26209000003199','4444400003199','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5199','0','','5199','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9700','1','','26209000003200','4444400003200','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5200','0','','5200','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9701','1','','26209000003201','4444400003201','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5201','0','','5201','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9702','1','','26209000003202','4444400003202','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5202','0','','5202','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9703','1','','26209000003203','4444400003203','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5203','0','','5203','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9704','1','','26209000003204','4444400003204','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5204','0','','5204','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9705','1','','26209000003205','4444400003205','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5205','0','','5205','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9706','1','','26209000003206','4444400003206','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5206','0','','5206','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9707','1','','26209000003207','4444400003207','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5207','0','','5207','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9708','1','','26209000003208','4444400003208','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5208','0','','5208','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9709','1','','26209000003209','4444400003209','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5209','0','','5209','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9710','1','','26209000003210','4444400003210','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5210','0','','5210','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9711','1','','26209000003211','4444400003211','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5211','0','','5211','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9712','1','','26209000003212','4444400003212','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5212','0','','5212','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9713','1','','26209000003213','4444400003213','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5213','0','','5213','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9714','1','','26209000003214','4444400003214','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5214','0','','5214','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9715','1','','26209000003215','4444400003215','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5215','0','','5215','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9716','1','','26209000003216','4444400003216','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5216','0','','5216','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9717','1','','26209000003217','4444400003217','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5217','0','','5217','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9718','1','','26209000003218','4444400003218','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5218','0','','5218','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9719','1','','26209000003219','4444400003219','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5219','0','','5219','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9720','1','','26209000003220','4444400003220','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5220','0','','5220','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9721','1','','26209000003221','4444400003221','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5221','0','','5221','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9722','1','','26209000003222','4444400003222','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5222','0','','5222','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9723','1','','26209000003223','4444400003223','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5223','0','','5223','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9724','1','','26209000003224','4444400003224','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5224','0','','5224','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9725','1','','26209000003225','4444400003225','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5225','0','','5225','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9726','1','','26209000003226','4444400003226','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5226','0','','5226','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9727','1','','26209000003227','4444400003227','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5227','0','','5227','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9728','1','','26209000003228','4444400003228','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5228','0','','5228','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9729','1','','26209000003229','4444400003229','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5229','0','','5229','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9730','1','','26209000003230','4444400003230','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5230','0','','5230','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9731','1','','26209000003231','4444400003231','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5231','0','','5231','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9732','1','','26209000003232','4444400003232','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5232','0','','5232','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9733','1','','26209000003233','4444400003233','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5233','0','','5233','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9734','1','','26209000003234','4444400003234','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5234','0','','5234','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9735','1','','26209000003235','4444400003235','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5235','0','','5235','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9736','1','','26209000003236','4444400003236','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5236','0','','5236','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9737','1','','26209000003237','4444400003237','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5237','0','','5237','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9738','1','','26209000003238','4444400003238','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5238','0','','5238','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9739','1','','26209000003239','4444400003239','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5239','0','','5239','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9740','1','','26209000003240','4444400003240','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5240','0','','5240','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9741','1','','26209000003241','4444400003241','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5241','0','','5241','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9742','1','','26209000003242','4444400003242','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5242','0','','5242','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9743','1','','26209000003243','4444400003243','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5243','0','','5243','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9744','1','','26209000003244','4444400003244','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5244','0','','5244','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9745','1','','26209000003245','4444400003245','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5245','0','','5245','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9746','1','','26209000003246','4444400003246','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5246','0','','5246','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9747','1','','26209000003247','4444400003247','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5247','0','','5247','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9748','1','','26209000003248','4444400003248','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5248','0','','5248','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9749','1','','26209000003249','4444400003249','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5249','0','','5249','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9750','1','','26209000003250','4444400003250','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5250','0','','5250','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9751','1','','26209000003251','4444400003251','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5251','0','','5251','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9752','1','','26209000003252','4444400003252','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5252','0','','5252','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9753','1','','26209000003253','4444400003253','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5253','0','','5253','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9754','1','','26209000003254','4444400003254','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5254','0','','5254','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9755','1','','26209000003255','4444400003255','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5255','0','','5255','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9756','1','','26209000003256','4444400003256','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5256','0','','5256','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9757','1','','26209000003257','4444400003257','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5257','0','','5257','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9758','1','','26209000003258','4444400003258','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5258','0','','5258','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9759','1','','26209000003259','4444400003259','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5259','0','','5259','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9760','1','','26209000003260','4444400003260','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5260','0','','5260','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9761','1','','26209000003261','4444400003261','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5261','0','','5261','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9762','1','','26209000003262','4444400003262','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5262','0','','5262','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9763','1','','26209000003263','4444400003263','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5263','0','','5263','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9764','1','','26209000003264','4444400003264','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5264','0','','5264','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9765','1','','26209000003265','4444400003265','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5265','0','','5265','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9766','1','','26209000003266','4444400003266','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5266','0','','5266','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9767','1','','26209000003267','4444400003267','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5267','0','','5267','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9768','1','','26209000003268','4444400003268','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5268','0','','5268','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9769','1','','26209000003269','4444400003269','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5269','0','','5269','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9770','1','','26209000003270','4444400003270','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5270','0','','5270','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9771','1','','26209000003271','4444400003271','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5271','0','','5271','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9772','1','','26209000003272','4444400003272','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5272','0','','5272','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9773','1','','26209000003273','4444400003273','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5273','0','','5273','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9774','1','','26209000003274','4444400003274','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5274','0','','5274','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9775','1','','26209000003275','4444400003275','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5275','0','','5275','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9776','1','','26209000003276','4444400003276','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5276','0','','5276','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9777','1','','26209000003277','4444400003277','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5277','0','','5277','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9778','1','','26209000003278','4444400003278','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5278','0','','5278','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9779','1','','26209000003279','4444400003279','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5279','0','','5279','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9780','1','','26209000003280','4444400003280','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5280','0','','5280','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9781','1','','26209000003281','4444400003281','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5281','0','','5281','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9782','1','','26209000003282','4444400003282','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5282','0','','5282','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9783','1','','26209000003283','4444400003283','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5283','0','','5283','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9784','1','','26209000003284','4444400003284','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5284','0','','5284','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9785','1','','26209000003285','4444400003285','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5285','0','','5285','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9786','1','','26209000003286','4444400003286','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5286','0','','5286','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9787','1','','26209000003287','4444400003287','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5287','0','','5287','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9788','1','','26209000003288','4444400003288','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5288','0','','5288','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9789','1','','26209000003289','4444400003289','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5289','0','','5289','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9790','1','','26209000003290','4444400003290','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5290','0','','5290','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9791','1','','26209000003291','4444400003291','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5291','0','','5291','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9792','1','','26209000003292','4444400003292','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5292','0','','5292','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9793','1','','26209000003293','4444400003293','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5293','0','','5293','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9794','1','','26209000003294','4444400003294','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5294','0','','5294','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9795','1','','26209000003295','4444400003295','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5295','0','','5295','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9796','1','','26209000003296','4444400003296','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5296','0','','5296','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9797','1','','26209000003297','4444400003297','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5297','0','','5297','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9798','1','','26209000003298','4444400003298','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5298','0','','5298','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9799','1','','26209000003299','4444400003299','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5299','0','','5299','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9800','1','','26209000003300','4444400003300','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5300','0','','5300','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9801','1','','26209000003301','4444400003301','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5301','0','','5301','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9802','1','','26209000003302','4444400003302','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5302','0','','5302','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9803','1','','26209000003303','4444400003303','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5303','0','','5303','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9804','1','','26209000003304','4444400003304','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5304','0','','5304','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9805','1','','26209000003305','4444400003305','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5305','0','','5305','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9806','1','','26209000003306','4444400003306','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5306','0','','5306','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9807','1','','26209000003307','4444400003307','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5307','0','','5307','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9808','1','','26209000003308','4444400003308','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5308','0','','5308','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9809','1','','26209000003309','4444400003309','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5309','0','','5309','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9810','1','','26209000003310','4444400003310','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5310','0','','5310','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9811','1','','26209000003311','4444400003311','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5311','0','','5311','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9812','1','','26209000003312','4444400003312','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5312','0','','5312','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9813','1','','26209000003313','4444400003313','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5313','0','','5313','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9814','1','','26209000003314','4444400003314','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5314','0','','5314','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9815','1','','26209000003315','4444400003315','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5315','0','','5315','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9816','1','','26209000003316','4444400003316','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5316','0','','5316','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9817','1','','26209000003317','4444400003317','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5317','0','','5317','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9818','1','','26209000003318','4444400003318','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5318','0','','5318','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9819','1','','26209000003319','4444400003319','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5319','0','','5319','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9820','1','','26209000003320','4444400003320','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5320','0','','5320','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9821','1','','26209000003321','4444400003321','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5321','0','','5321','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9822','1','','26209000003322','4444400003322','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5322','0','','5322','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9823','1','','26209000003323','4444400003323','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5323','0','','5323','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9824','1','','26209000003324','4444400003324','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5324','0','','5324','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9825','1','','26209000003325','4444400003325','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5325','0','','5325','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9826','1','','26209000003326','4444400003326','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5326','0','','5326','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9827','1','','26209000003327','4444400003327','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5327','0','','5327','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9828','1','','26209000003328','4444400003328','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5328','0','','5328','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9829','1','','26209000003329','4444400003329','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5329','0','','5329','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9830','1','','26209000003330','4444400003330','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5330','0','','5330','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9831','1','','26209000003331','4444400003331','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5331','0','','5331','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9832','1','','26209000003332','4444400003332','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5332','0','','5332','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9833','1','','26209000003333','4444400003333','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5333','0','','5333','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9834','1','','26209000003334','4444400003334','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5334','0','','5334','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9835','1','','26209000003335','4444400003335','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5335','0','','5335','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9836','1','','26209000003336','4444400003336','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5336','0','','5336','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9837','1','','26209000003337','4444400003337','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5337','0','','5337','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9838','1','','26209000003338','4444400003338','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5338','0','','5338','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9839','1','','26209000003339','4444400003339','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5339','0','','5339','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9840','1','','26209000003340','4444400003340','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5340','0','','5340','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9841','1','','26209000003341','4444400003341','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5341','0','','5341','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9842','1','','26209000003342','4444400003342','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5342','0','','5342','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9843','1','','26209000003343','4444400003343','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5343','0','','5343','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9844','1','','26209000003344','4444400003344','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5344','0','','5344','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9845','1','','26209000003345','4444400003345','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5345','0','','5345','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9846','1','','26209000003346','4444400003346','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5346','0','','5346','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9847','1','','26209000003347','4444400003347','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5347','0','','5347','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9848','1','','26209000003348','4444400003348','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5348','0','','5348','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9849','1','','26209000003349','4444400003349','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5349','0','','5349','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9850','1','','26209000003350','4444400003350','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5350','0','','5350','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9851','1','','26209000003351','4444400003351','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5351','0','','5351','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9852','1','','26209000003352','4444400003352','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5352','0','','5352','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9853','1','','26209000003353','4444400003353','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5353','0','','5353','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9854','1','','26209000003354','4444400003354','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5354','0','','5354','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9855','1','','26209000003355','4444400003355','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5355','0','','5355','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9856','1','','26209000003356','4444400003356','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5356','0','','5356','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9857','1','','26209000003357','4444400003357','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5357','0','','5357','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9858','1','','26209000003358','4444400003358','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5358','0','','5358','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9859','1','','26209000003359','4444400003359','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5359','0','','5359','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9860','1','','26209000003360','4444400003360','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5360','0','','5360','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9861','1','','26209000003361','4444400003361','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5361','0','','5361','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9862','1','','26209000003362','4444400003362','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5362','0','','5362','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9863','1','','26209000003363','4444400003363','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5363','0','','5363','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9864','1','','26209000003364','4444400003364','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5364','0','','5364','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9865','1','','26209000003365','4444400003365','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5365','0','','5365','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9866','1','','26209000003366','4444400003366','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5366','0','','5366','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9867','1','','26209000003367','4444400003367','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5367','0','','5367','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9868','1','','26209000003368','4444400003368','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5368','0','','5368','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9869','1','','26209000003369','4444400003369','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5369','0','','5369','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9870','1','','26209000003370','4444400003370','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5370','0','','5370','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9871','1','','26209000003371','4444400003371','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5371','0','','5371','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9872','1','','26209000003372','4444400003372','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5372','0','','5372','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9873','1','','26209000003373','4444400003373','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5373','0','','5373','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9874','1','','26209000003374','4444400003374','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5374','0','','5374','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9875','1','','26209000003375','4444400003375','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5375','0','','5375','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9876','1','','26209000003376','4444400003376','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5376','0','','5376','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9877','1','','26209000003377','4444400003377','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5377','0','','5377','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9878','1','','26209000003378','4444400003378','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5378','0','','5378','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9879','1','','26209000003379','4444400003379','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5379','0','','5379','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9880','1','','26209000003380','4444400003380','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5380','0','','5380','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9881','1','','26209000003381','4444400003381','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5381','0','','5381','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9882','1','','26209000003382','4444400003382','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5382','0','','5382','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9883','1','','26209000003383','4444400003383','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5383','0','','5383','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9884','1','','26209000003384','4444400003384','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5384','0','','5384','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9885','1','','26209000003385','4444400003385','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5385','0','','5385','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9886','1','','26209000003386','4444400003386','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5386','0','','5386','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9887','1','','26209000003387','4444400003387','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5387','0','','5387','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9888','1','','26209000003388','4444400003388','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5388','0','','5388','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9889','1','','26209000003389','4444400003389','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5389','0','','5389','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9890','1','','26209000003390','4444400003390','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5390','0','','5390','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9891','1','','26209000003391','4444400003391','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5391','0','','5391','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9892','1','','26209000003392','4444400003392','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5392','0','','5392','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9893','1','','26209000003393','4444400003393','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5393','0','','5393','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9894','1','','26209000003394','4444400003394','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5394','0','','5394','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9895','1','','26209000003395','4444400003395','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5395','0','','5395','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9896','1','','26209000003396','4444400003396','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5396','0','','5396','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9897','1','','26209000003397','4444400003397','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5397','0','','5397','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9898','1','','26209000003398','4444400003398','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5398','0','','5398','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9899','1','','26209000003399','4444400003399','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5399','0','','5399','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9900','1','','26209000003400','4444400003400','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5400','0','','5400','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9901','1','','26209000003401','4444400003401','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5401','0','','5401','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9902','1','','26209000003402','4444400003402','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5402','0','','5402','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9903','1','','26209000003403','4444400003403','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5403','0','','5403','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9904','1','','26209000003404','4444400003404','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5404','0','','5404','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9905','1','','26209000003405','4444400003405','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5405','0','','5405','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9906','1','','26209000003406','4444400003406','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5406','0','','5406','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9907','1','','26209000003407','4444400003407','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5407','0','','5407','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9908','1','','26209000003408','4444400003408','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5408','0','','5408','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9909','1','','26209000003409','4444400003409','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5409','0','','5409','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9910','1','','26209000003410','4444400003410','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5410','0','','5410','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9911','1','','26209000003411','4444400003411','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5411','0','','5411','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9912','1','','26209000003412','4444400003412','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5412','0','','5412','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9913','1','','26209000003413','4444400003413','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5413','0','','5413','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9914','1','','26209000003414','4444400003414','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5414','0','','5414','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9915','1','','26209000003415','4444400003415','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5415','0','','5415','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9916','1','','26209000003416','4444400003416','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5416','0','','5416','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9917','1','','26209000003417','4444400003417','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5417','0','','5417','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9918','1','','26209000003418','4444400003418','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5418','0','','5418','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9919','1','','26209000003419','4444400003419','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5419','0','','5419','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9920','1','','26209000003420','4444400003420','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5420','0','','5420','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9921','1','','26209000003421','4444400003421','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5421','0','','5421','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9922','1','','26209000003422','4444400003422','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5422','0','','5422','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9923','1','','26209000003423','4444400003423','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5423','0','','5423','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9924','1','','26209000003424','4444400003424','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5424','0','','5424','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9925','1','','26209000003425','4444400003425','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5425','0','','5425','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9926','1','','26209000003426','4444400003426','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5426','0','','5426','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9927','1','','26209000003427','4444400003427','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5427','0','','5427','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9928','1','','26209000003428','4444400003428','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5428','0','','5428','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9929','1','','26209000003429','4444400003429','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5429','0','','5429','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9930','1','','26209000003430','4444400003430','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5430','0','','5430','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9931','1','','26209000003431','4444400003431','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5431','0','','5431','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9932','1','','26209000003432','4444400003432','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5432','0','','5432','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9933','1','','26209000003433','4444400003433','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5433','0','','5433','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9934','1','','26209000003434','4444400003434','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5434','0','','5434','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9935','1','','26209000003435','4444400003435','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5435','0','','5435','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9936','1','','26209000003436','4444400003436','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5436','0','','5436','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9937','1','','26209000003437','4444400003437','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5437','0','','5437','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9938','1','','26209000003438','4444400003438','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5438','0','','5438','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9939','1','','26209000003439','4444400003439','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5439','0','','5439','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9940','1','','26209000003440','4444400003440','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5440','0','','5440','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9941','1','','26209000003441','4444400003441','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5441','0','','5441','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9942','1','','26209000003442','4444400003442','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5442','0','','5442','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9943','1','','26209000003443','4444400003443','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5443','0','','5443','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9944','1','','26209000003444','4444400003444','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5444','0','','5444','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9945','1','','26209000003445','4444400003445','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5445','0','','5445','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9946','1','','26209000003446','4444400003446','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5446','0','','5446','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9947','1','','26209000003447','4444400003447','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5447','0','','5447','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9948','1','','26209000003448','4444400003448','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5448','0','','5448','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9949','1','','26209000003449','4444400003449','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5449','0','','5449','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9950','1','','26209000003450','4444400003450','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5450','0','','5450','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9951','1','','26209000003451','4444400003451','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5451','0','','5451','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9952','1','','26209000003452','4444400003452','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5452','0','','5452','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9953','1','','26209000003453','4444400003453','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5453','0','','5453','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9954','1','','26209000003454','4444400003454','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5454','0','','5454','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9955','1','','26209000003455','4444400003455','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5455','0','','5455','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9956','1','','26209000003456','4444400003456','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5456','0','','5456','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9957','1','','26209000003457','4444400003457','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5457','0','','5457','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9958','1','','26209000003458','4444400003458','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5458','0','','5458','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9959','1','','26209000003459','4444400003459','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5459','0','','5459','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9960','1','','26209000003460','4444400003460','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5460','0','','5460','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9961','1','','26209000003461','4444400003461','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5461','0','','5461','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9962','1','','26209000003462','4444400003462','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5462','0','','5462','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9963','1','','26209000003463','4444400003463','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5463','0','','5463','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9964','1','','26209000003464','4444400003464','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5464','0','','5464','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9965','1','','26209000003465','4444400003465','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5465','0','','5465','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9966','1','','26209000003466','4444400003466','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5466','0','','5466','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9967','1','','26209000003467','4444400003467','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5467','0','','5467','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9968','1','','26209000003468','4444400003468','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5468','0','','5468','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9969','1','','26209000003469','4444400003469','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5469','0','','5469','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9970','1','','26209000003470','4444400003470','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5470','0','','5470','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9971','1','','26209000003471','4444400003471','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5471','0','','5471','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9972','1','','26209000003472','4444400003472','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5472','0','','5472','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9973','1','','26209000003473','4444400003473','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5473','0','','5473','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9974','1','','26209000003474','4444400003474','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5474','0','','5474','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9975','1','','26209000003475','4444400003475','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5475','0','','5475','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9976','1','','26209000003476','4444400003476','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5476','0','','5476','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9977','1','','26209000003477','4444400003477','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5477','0','','5477','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9978','1','','26209000003478','4444400003478','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5478','0','','5478','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9979','1','','26209000003479','4444400003479','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5479','0','','5479','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9980','1','','26209000003480','4444400003480','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5480','0','','5480','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9981','1','','26209000003481','4444400003481','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5481','0','','5481','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9982','1','','26209000003482','4444400003482','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5482','0','','5482','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9983','1','','26209000003483','4444400003483','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5483','0','','5483','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9984','1','','26209000003484','4444400003484','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5484','0','','5484','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9985','1','','26209000003485','4444400003485','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5485','0','','5485','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9986','1','','26209000003486','4444400003486','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5486','0','','5486','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9987','1','','26209000003487','4444400003487','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5487','0','','5487','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9988','1','','26209000003488','4444400003488','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5488','0','','5488','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9989','1','','26209000003489','4444400003489','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5489','0','','5489','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9990','1','','26209000003490','4444400003490','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5490','0','','5490','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9991','1','','26209000003491','4444400003491','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5491','0','','5491','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9992','1','','26209000003492','4444400003492','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5492','0','','5492','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9993','1','','26209000003493','4444400003493','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5493','0','','5493','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9994','1','','26209000003494','4444400003494','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5494','0','','5494','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9995','1','','26209000003495','4444400003495','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5495','0','','5495','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9996','1','','26209000003496','4444400003496','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5496','0','','5496','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9997','1','','26209000003497','4444400003497','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5497','0','','5497','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9998','1','','26209000003498','4444400003498','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5498','0','','5498','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','9999','1','','26209000003499','4444400003499','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5499','0','','5499','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10000','1','','26209000003500','4444400003500','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5500','0','','5500','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10001','1','','26209000003501','4444400003501','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5501','0','','5501','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10002','1','','26209000003502','4444400003502','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5502','0','','5502','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10003','1','','26209000003503','4444400003503','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5503','0','','5503','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10004','1','','26209000003504','4444400003504','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5504','0','','5504','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10005','1','','26209000003505','4444400003505','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5505','0','','5505','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10006','1','','26209000003506','4444400003506','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5506','0','','5506','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10007','1','','26209000003507','4444400003507','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5507','0','','5507','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10008','1','','26209000003508','4444400003508','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5508','0','','5508','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10009','1','','26209000003509','4444400003509','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5509','0','','5509','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10010','1','','26209000003510','4444400003510','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5510','0','','5510','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10011','1','','26209000003511','4444400003511','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5511','0','','5511','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10012','1','','26209000003512','4444400003512','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5512','0','','5512','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10013','1','','26209000003513','4444400003513','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5513','0','','5513','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10014','1','','26209000003514','4444400003514','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5514','0','','5514','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10015','1','','26209000003515','4444400003515','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5515','0','','5515','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10016','1','','26209000003516','4444400003516','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5516','0','','5516','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10017','1','','26209000003517','4444400003517','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5517','0','','5517','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10018','1','','26209000003518','4444400003518','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5518','0','','5518','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10019','1','','26209000003519','4444400003519','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5519','0','','5519','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10020','1','','26209000003520','4444400003520','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5520','0','','5520','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10021','1','','26209000003521','4444400003521','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5521','0','','5521','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10022','1','','26209000003522','4444400003522','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5522','0','','5522','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10023','1','','26209000003523','4444400003523','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5523','0','','5523','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10024','1','','26209000003524','4444400003524','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5524','0','','5524','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10025','1','','26209000003525','4444400003525','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5525','0','','5525','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10026','1','','26209000003526','4444400003526','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5526','0','','5526','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10027','1','','26209000003527','4444400003527','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5527','0','','5527','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10028','1','','26209000003528','4444400003528','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5528','0','','5528','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10029','1','','26209000003529','4444400003529','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5529','0','','5529','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10030','1','','26209000003530','4444400003530','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5530','0','','5530','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10031','1','','26209000003531','4444400003531','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5531','0','','5531','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10032','1','','26209000003532','4444400003532','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5532','0','','5532','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10033','1','','26209000003533','4444400003533','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5533','0','','5533','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10034','1','','26209000003534','4444400003534','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5534','0','','5534','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10035','1','','26209000003535','4444400003535','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5535','0','','5535','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10036','1','','26209000003536','4444400003536','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5536','0','','5536','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10037','1','','26209000003537','4444400003537','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5537','0','','5537','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10038','1','','26209000003538','4444400003538','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5538','0','','5538','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10039','1','','26209000003539','4444400003539','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5539','0','','5539','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10040','1','','26209000003540','4444400003540','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5540','0','','5540','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10041','1','','26209000003541','4444400003541','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5541','0','','5541','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10042','1','','26209000003542','4444400003542','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5542','0','','5542','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10043','1','','26209000003543','4444400003543','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5543','0','','5543','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10044','1','','26209000003544','4444400003544','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5544','0','','5544','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10045','1','','26209000003545','4444400003545','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5545','0','','5545','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10046','1','','26209000003546','4444400003546','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5546','0','','5546','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10047','1','','26209000003547','4444400003547','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5547','0','','5547','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10048','1','','26209000003548','4444400003548','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5548','0','','5548','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10049','1','','26209000003549','4444400003549','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5549','0','','5549','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10050','1','','26209000003550','4444400003550','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5550','0','','5550','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10051','1','','26209000003551','4444400003551','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5551','0','','5551','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10052','1','','26209000003552','4444400003552','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5552','0','','5552','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10053','1','','26209000003553','4444400003553','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5553','0','','5553','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10054','1','','26209000003554','4444400003554','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5554','0','','5554','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10055','1','','26209000003555','4444400003555','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5555','0','','5555','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10056','1','','26209000003556','4444400003556','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5556','0','','5556','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10057','1','','26209000003557','4444400003557','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5557','0','','5557','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10058','1','','26209000003558','4444400003558','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5558','0','','5558','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10059','1','','26209000003559','4444400003559','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5559','0','','5559','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10060','1','','26209000003560','4444400003560','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5560','0','','5560','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10061','1','','26209000003561','4444400003561','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5561','0','','5561','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10062','1','','26209000003562','4444400003562','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5562','0','','5562','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10063','1','','26209000003563','4444400003563','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5563','0','','5563','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10064','1','','26209000003564','4444400003564','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5564','0','','5564','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10065','1','','26209000003565','4444400003565','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5565','0','','5565','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10066','1','','26209000003566','4444400003566','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5566','0','','5566','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10067','1','','26209000003567','4444400003567','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5567','0','','5567','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10068','1','','26209000003568','4444400003568','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5568','0','','5568','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10069','1','','26209000003569','4444400003569','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5569','0','','5569','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10070','1','','26209000003570','4444400003570','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5570','0','','5570','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10071','1','','26209000003571','4444400003571','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5571','0','','5571','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10072','1','','26209000003572','4444400003572','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5572','0','','5572','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10073','1','','26209000003573','4444400003573','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5573','0','','5573','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10074','1','','26209000003574','4444400003574','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5574','0','','5574','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10075','1','','26209000003575','4444400003575','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5575','0','','5575','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10076','1','','26209000003576','4444400003576','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5576','0','','5576','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10077','1','','26209000003577','4444400003577','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5577','0','','5577','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10078','1','','26209000003578','4444400003578','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5578','0','','5578','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10079','1','','26209000003579','4444400003579','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5579','0','','5579','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10080','1','','26209000003580','4444400003580','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5580','0','','5580','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10081','1','','26209000003581','4444400003581','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5581','0','','5581','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10082','1','','26209000003582','4444400003582','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5582','0','','5582','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10083','1','','26209000003583','4444400003583','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5583','0','','5583','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10084','1','','26209000003584','4444400003584','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5584','0','','5584','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10085','1','','26209000003585','4444400003585','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5585','0','','5585','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10086','1','','26209000003586','4444400003586','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5586','0','','5586','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10087','1','','26209000003587','4444400003587','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5587','0','','5587','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10088','1','','26209000003588','4444400003588','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5588','0','','5588','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10089','1','','26209000003589','4444400003589','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5589','0','','5589','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10090','1','','26209000003590','4444400003590','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5590','0','','5590','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10091','1','','26209000003591','4444400003591','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5591','0','','5591','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10092','1','','26209000003592','4444400003592','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5592','0','','5592','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10093','1','','26209000003593','4444400003593','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5593','0','','5593','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10094','1','','26209000003594','4444400003594','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5594','0','','5594','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10095','1','','26209000003595','4444400003595','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5595','0','','5595','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10096','1','','26209000003596','4444400003596','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5596','0','','5596','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10097','1','','26209000003597','4444400003597','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5597','0','','5597','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10098','1','','26209000003598','4444400003598','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5598','0','','5598','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10099','1','','26209000003599','4444400003599','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5599','0','','5599','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10100','1','','26209000003600','4444400003600','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5600','0','','5600','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10101','1','','26209000003601','4444400003601','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5601','0','','5601','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10102','1','','26209000003602','4444400003602','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5602','0','','5602','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10103','1','','26209000003603','4444400003603','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5603','0','','5603','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10104','1','','26209000003604','4444400003604','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5604','0','','5604','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10105','1','','26209000003605','4444400003605','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5605','0','','5605','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10106','1','','26209000003606','4444400003606','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5606','0','','5606','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10107','1','','26209000003607','4444400003607','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5607','0','','5607','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10108','1','','26209000003608','4444400003608','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5608','0','','5608','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10109','1','','26209000003609','4444400003609','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5609','0','','5609','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10110','1','','26209000003610','4444400003610','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5610','0','','5610','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10111','1','','26209000003611','4444400003611','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5611','0','','5611','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10112','1','','26209000003612','4444400003612','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5612','0','','5612','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10113','1','','26209000003613','4444400003613','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5613','0','','5613','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10114','1','','26209000003614','4444400003614','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5614','0','','5614','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10115','1','','26209000003615','4444400003615','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5615','0','','5615','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10116','1','','26209000003616','4444400003616','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5616','0','','5616','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10117','1','','26209000003617','4444400003617','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5617','0','','5617','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10118','1','','26209000003618','4444400003618','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5618','0','','5618','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10119','1','','26209000003619','4444400003619','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5619','0','','5619','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10120','1','','26209000003620','4444400003620','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5620','0','','5620','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10121','1','','26209000003621','4444400003621','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5621','0','','5621','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10122','1','','26209000003622','4444400003622','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5622','0','','5622','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10123','1','','26209000003623','4444400003623','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5623','0','','5623','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10124','1','','26209000003624','4444400003624','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5624','0','','5624','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10125','1','','26209000003625','4444400003625','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5625','0','','5625','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10126','1','','26209000003626','4444400003626','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5626','0','','5626','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10127','1','','26209000003627','4444400003627','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5627','0','','5627','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10128','1','','26209000003628','4444400003628','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5628','0','','5628','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10129','1','','26209000003629','4444400003629','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5629','0','','5629','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10130','1','','26209000003630','4444400003630','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5630','0','','5630','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10131','1','','26209000003631','4444400003631','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5631','0','','5631','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10132','1','','26209000003632','4444400003632','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5632','0','','5632','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10133','1','','26209000003633','4444400003633','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5633','0','','5633','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10134','1','','26209000003634','4444400003634','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5634','0','','5634','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10135','1','','26209000003635','4444400003635','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5635','0','','5635','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10136','1','','26209000003636','4444400003636','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5636','0','','5636','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10137','1','','26209000003637','4444400003637','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5637','0','','5637','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10138','1','','26209000003638','4444400003638','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5638','0','','5638','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10139','1','','26209000003639','4444400003639','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5639','0','','5639','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10140','1','','26209000003640','4444400003640','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5640','0','','5640','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10141','1','','26209000003641','4444400003641','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5641','0','','5641','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10142','1','','26209000003642','4444400003642','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5642','0','','5642','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10143','1','','26209000003643','4444400003643','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5643','0','','5643','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10144','1','','26209000003644','4444400003644','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5644','0','','5644','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10145','1','','26209000003645','4444400003645','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5645','0','','5645','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10146','1','','26209000003646','4444400003646','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5646','0','','5646','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10147','1','','26209000003647','4444400003647','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5647','0','','5647','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10148','1','','26209000003648','4444400003648','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5648','0','','5648','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10149','1','','26209000003649','4444400003649','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5649','0','','5649','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10150','1','','26209000003650','4444400003650','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5650','0','','5650','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10151','1','','26209000003651','4444400003651','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5651','0','','5651','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10152','1','','26209000003652','4444400003652','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5652','0','','5652','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10153','1','','26209000003653','4444400003653','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5653','0','','5653','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10154','1','','26209000003654','4444400003654','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5654','0','','5654','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10155','1','','26209000003655','4444400003655','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5655','0','','5655','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10156','1','','26209000003656','4444400003656','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5656','0','','5656','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10157','1','','26209000003657','4444400003657','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5657','0','','5657','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10158','1','','26209000003658','4444400003658','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5658','0','','5658','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10159','1','','26209000003659','4444400003659','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5659','0','','5659','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10160','1','','26209000003660','4444400003660','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5660','0','','5660','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10161','1','','26209000003661','4444400003661','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5661','0','','5661','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10162','1','','26209000003662','4444400003662','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5662','0','','5662','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10163','1','','26209000003663','4444400003663','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5663','0','','5663','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10164','1','','26209000003664','4444400003664','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5664','0','','5664','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10165','1','','26209000003665','4444400003665','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5665','0','','5665','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10166','1','','26209000003666','4444400003666','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5666','0','','5666','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10167','1','','26209000003667','4444400003667','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5667','0','','5667','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10168','1','','26209000003668','4444400003668','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5668','0','','5668','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10169','1','','26209000003669','4444400003669','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5669','0','','5669','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10170','1','','26209000003670','4444400003670','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5670','0','','5670','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10171','1','','26209000003671','4444400003671','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5671','0','','5671','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10172','1','','26209000003672','4444400003672','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5672','0','','5672','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10173','1','','26209000003673','4444400003673','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5673','0','','5673','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10174','1','','26209000003674','4444400003674','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5674','0','','5674','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10175','1','','26209000003675','4444400003675','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5675','0','','5675','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10176','1','','26209000003676','4444400003676','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5676','0','','5676','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10177','1','','26209000003677','4444400003677','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5677','0','','5677','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10178','1','','26209000003678','4444400003678','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5678','0','','5678','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10179','1','','26209000003679','4444400003679','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5679','0','','5679','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10180','1','','26209000003680','4444400003680','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5680','0','','5680','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10181','1','','26209000003681','4444400003681','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5681','0','','5681','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10182','1','','26209000003682','4444400003682','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5682','0','','5682','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10183','1','','26209000003683','4444400003683','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5683','0','','5683','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10184','1','','26209000003684','4444400003684','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5684','0','','5684','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10185','1','','26209000003685','4444400003685','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5685','0','','5685','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10186','1','','26209000003686','4444400003686','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5686','0','','5686','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10187','1','','26209000003687','4444400003687','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5687','0','','5687','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10188','1','','26209000003688','4444400003688','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5688','0','','5688','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10189','1','','26209000003689','4444400003689','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5689','0','','5689','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10190','1','','26209000003690','4444400003690','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5690','0','','5690','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10191','1','','26209000003691','4444400003691','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5691','0','','5691','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10192','1','','26209000003692','4444400003692','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5692','0','','5692','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10193','1','','26209000003693','4444400003693','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5693','0','','5693','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10194','1','','26209000003694','4444400003694','','654321','','ABCDEFG','','','','','','2007-04-27 19:45:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5694','0','','5694','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10195','1','','26209000003695','4444400003695','','654321','','ABCDEFG','','','','','','2007-04-27 19:50:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5695','0','','5695','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10196','1','','26209000003696','4444400003696','','654321','','ABCDEFG','','','','','','2007-04-27 19:01:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5696','0','','5696','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10197','1','','26209000003697','4444400003697','','654321','','ABCDEFG','','','','','','2007-04-27 19:12:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5697','0','','5697','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10198','1','','26209000003698','4444400003698','','654321','','ABCDEFG','','','','','','2007-04-27 19:23:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5698','0','','5698','','','','11','','','','','','','','',''); +INSERT INTO CDR_DB.cdrFromMSCSend VALUES ('460','02','0','10199','1','','26209000003699','4444400003699','','654321','','ABCDEFG','','','','','','2007-04-27 19:34:03','2007-11-23 23:43:07','2007-11-23 23:43:07','5699','0','','5699','','','','11','','','','','','','','',''); +_EOF_` + + diff --git a/src/accountMgr/c_program/nrtrde/decodeASN.c b/src/accountMgr/c_program/nrtrde/decodeASN.c new file mode 100644 index 0000000..322241d --- /dev/null +++ b/src/accountMgr/c_program/nrtrde/decodeASN.c @@ -0,0 +1,4937 @@ +/************************************************* +File name: decodeASN.c +Author: JianHui Zheng +Version: 9:00:00 +Date: 2007-11-09 +Description:This file defines the decode function when receive NRTRDE files + from remote VPMNs,then it generate the NRTRDE Error reports if + the NRTRDE files contain error.At last it transform the NRTRDE + files to the local CSV format. + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include +#include +#include +#include "nrtrde.h" + +/******************************************************/ +/****** Function Declaration ******/ +/******************************************************/ +/******* From nrtrde.c ********/ +extern void printfInColor(char* message,int color); +extern void printfHPMNServer(HpmnServer* server); +extern void logMessage(char* message); +//extern void getSequenceNumber(char* squenceNumber,int type); +extern int getTagByName(char* name); +extern int addNDNode(char* tadig,char* fileName); + +/******* From decodeASN.c ********/ +int parseAsnFile(char* fileName); +void makeNEFile(void); +int reportDBToLink(void); +int addNENode(char* senderTadig,char* fileName,int type,int recordNumber,char* errorCode); +int addNENodeInDB(char* senderTadig,char* fileName,int type,int recordNumber,char* errorCode); +int isCodeInASN(char* fileName,char* senderTadig); +int noUnknownTags(char* fileName,char* senderTadig); +int noRepeatTags(char* fileName,char* senderTadig); +int noConfuseInGrp(char* fileName,char* senderTadig); +int noIntOverLen(char* fileName,char* senderTadig); +int checkTagMissInGrp(char* fileName,char* senderTadig); +int isValidInGroup(int tag,int type); +void checkGrp(int* groupFlag,int groupType,int recordNumber,char* fileName,char* senderTadig); +int checkTagDetail(char* fileName,char* senderTadig); +void checkTag(int groupType,int recordNumber,char* fileName,char* senderTadig,int tag,int len,unsigned char* value); + +int createLocCSV(char* fileName); +void writeField(int tag,int len,unsigned char* value,CallEvent* callEvent); +void writeCallEvent(char* fileName,CallEvent* callEvent); +void printCallEvent(CallEvent* callEvent); +void decodeASCII(int len,unsigned char* value,char* result); +void decodeInteger(int len,unsigned char* value,long* result); +void decodeBCD(int len,unsigned char* value,char* result); + +/******************************************************/ +/****** Variable Declaration ******/ +/******************************************************/ +/******* From nrtrde.c ********/ +/* The tag configuration */ +extern TagNode tags[50]; +/* The OMC_PUB database connection */ +extern MYSQL* g_omcPubConn; +/* The CDR_DB database connection */ +extern MYSQL* g_cdrConn; +/* The local UTC timeOffset */ +extern char g_local_utc[8]; +/* The tadig of local server */ +extern char LOCAL_TADIG[8]; +/* The source directory to send the file */ +extern char SEND_DIR[256]; +/* The directory to receive the file */ +extern char RECV_DIR[256]; +/* The backup directory */ +extern char NR_RECV_BAK_DIR[256]; +extern char NR_SEND_BAK_DIR[256]; +extern char ND_RECV_BAK_DIR[256]; +extern char ND_SEND_BAK_DIR[256]; +extern char NE_RECV_BAK_DIR[256]; +extern char NE_SEND_BAK_DIR[256]; +extern char LOCAL_CSV_DIR[256]; +/* The version of the NRTRDE Delivery report */ +extern char ND_VERSION[8]; +/* The version of the NRTRDE Error report */ +extern char NE_VERSION[8]; +/* The specificationVersionNumber of the NRTRDE file */ +extern int NR_SVN; +/* The ReleaseVersionNumber of the NRTRDE file */ +extern int NR_RVN; + +/* The local MCC */ +extern char g_local_mcc[6]; +/* The local MNC */ +extern char g_local_mnc[6]; +/* The max value of the CallEventDuration */ +extern int g_maxCallDuration; +/* The total count of hpmn servers in the hpmnConf table */ +extern int g_hpmn_server_count; +/* The hpmn servers array, now suport 100 servers */ +extern HpmnServer servers[HPMN_SERVER_COUNT]; + +/******* From decodeASN.c ********/ +/* Use to create NRTRDE Error report */ +NERepNode* pNEHead=NULL; +NERepNode* pNETail=NULL; + +/******* From seq_num_mng.c *******/ +extern int add_seq_obj(seq_buffer *seq_buf,seq_object *add_obj); +extern unsigned long find_seq_obj(seq_buffer *seq_buf,char *keyvalue); +extern int get_seq_num(char *tadig,int type,char *out_seq); +extern int init_seq(); +extern int store_seq(); + +/************************************************* +Function: // parseAsnFile +Description: // Parse the NRTRDE File which coded in ASN Format +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // fileName:The name of NRTRDE File +Output: // FAIL;SUCCESSFUL; +Return: // +Others: // +*************************************************/ +int parseAsnFile(char *fileName) +{ + char senderTadig[8]; + char message[256]; + int i; + + + sprintf(message,"Start to parse asn file=%s\n",fileName); + logMessage(message); + printfInColor(message,2); + + //get the sender tadig + for(i=2;i<7;i++) + { + senderTadig[i-2]=(unsigned char)fileName[i]; + } + senderTadig[i-2]='\0'; + + + if(isCodeInASN(fileName,senderTadig)) + { + + if(noUnknownTags(fileName,senderTadig)) + { + + if(noRepeatTags(fileName,senderTadig)) + { + + if(noConfuseInGrp(fileName,senderTadig)) + { + + if(noIntOverLen(fileName,senderTadig)) + { + checkTagMissInGrp(fileName,senderTadig); + checkTagDetail(fileName,senderTadig); + createLocCSV(fileName); + } + else + { + return FAIL; + } + + } + else + { + return FAIL; + } + + } + else + { + return FAIL; + } + + } + + else + { + return FAIL; + } + + } + else + { + return FAIL; + } + + return SUCCESSFUL; +} + + +/************************************************* +Function: // addNENode +Description: // Add the NRTRDE error report node to the link +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // senderTadig:the tadig of this record; + fileName:the file name of the record; + type:1-NRTRDE, 2-MOC, 3-MTC; + recordNumber:the number of the record in the NRTRDE file + errorCode:the error code of the record +Output: // +Return: // +Others: // This function change value 'pNEHead' and 'pNETail' +*************************************************/ +int addNENode(char* senderTadig,char* fileName,int type,int recordNumber,char* errorCode) +{ + NERepNode* node; + + node=(NERepNode*)malloc(sizeof(NERepNode)); + if(node) + { + sprintf(node->tadig,senderTadig); + sprintf(node->fileName,fileName); + node->type=type; + node->recordNumber=recordNumber; + sprintf(node->errorCode,errorCode); + + node->next=NULL; + + if(pNEHead == NULL || pNETail == NULL) + { + pNEHead=pNETail=node; + } + else + { + pNETail->next=node; + pNETail=node; + } + return SUCCESSFUL; + } + else + { + return FAIL; + } +} + +/************************************************* +Function: // addNENodeInDB +Description: // Add the NRTRDE error report node in the CDR_DB.reportNRInfo +Calls: // +Called By: // +Table Accessed: // CDR_DB.reportNRInfo +Table Updated: // CDR_DB.reportNRInfo +Input: // senderTadig:the tadig of this record; + fileName:the file name of the record; + type:1-NRTRDE, 2-MOC, 3-MTC; + recordNumber:the number of the record in the NRTRDE file + errorCode:the error code of the record +Output: // +Return: // +Others: // +*************************************************/ +int addNENodeInDB(char* senderTadig,char* fileName,int type,int recordNumber,char* errorCode) +{ + char sqlstr[512]; + + //printf("tadig=%s,fileName=%s,type=%d,recordNumber=%d,errorCode=%s\n",senderTadig,fileName,type,recordNumber,errorCode); + + sprintf(sqlstr,"INSERT INTO reportNRInfo (tadig, fileName, type, errorType, recordNumber, errorCode) VALUES ('%s', '%s', '%d', '%d', '%d', '%s')", + senderTadig,fileName,2,type,recordNumber,errorCode); + mysql_getnores(g_cdrConn,sqlstr); + + + return SUCCESSFUL; +} + +/************************************************* +Function: // reportDBToLink +Description: // Get the report info from CDR_DB.reportNRInfo to link +Calls: // addNENode +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int reportDBToLink(void) +{ + MYSQL_RES *res; + MYSQL_ROW row; + char sqlstr[512]; + char message[512]; + + + sprintf(sqlstr,"SELECT tadig,fileName,type,errorType,recordNumber,errorCode FROM CDR_DB.reportNRInfo "); + + res=mysql_getres(g_cdrConn,sqlstr); + if(res == NULL) + { + sprintf(message,"[ERR %d][reportDBToLink]:%s\n",mysql_errno(g_cdrConn),sqlstr); + logMessage(message); + return FAIL; + } + + while((row = mysql_fetch_row(res)) != NULL) + { + //type-1:ND 2:NE + //ND + if(atoi(row[2])==1) + { + addNDNode(row[0],row[1]); + } + //NE + else + { + addNENode(row[0],row[1],atoi(row[3]),atoi(row[4]),row[5]); + } + } + + sprintf(sqlstr,"DELETE FROM reportNRInfo"); + mysql_getnores(g_cdrConn,sqlstr); + + mysql_free_result(res); + return SUCCESSFUL; +} + +/************************************************* +Function: // makeNEFile +Description: // Make the error report for sending to VPMNs, then free the link of error report +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // The error reports +Return: // +Others: // This function will change the value 'pNEHead' and 'pNETail' +*************************************************/ +void makeNEFile() +{ + struct tm *now; + char createTime[32]; + char startTime[32]; + char endTime[32]; + char fileName[512]; + char squenceNumber[8]; + char command[512]; + char message[256]; + time_t t; + NERepNode* tmpNode,*tmpN; + int recordCount; //The record count of NE file + int i; + + reportDBToLink(); + + t=time(NULL); + now=localtime(&t); + + //get the create time + sprintf(createTime,"%04d%02d%02d%02d%02d%02d%s", + now->tm_year+1900, + now->tm_mon+1, + now->tm_mday, + now->tm_hour, + now->tm_min, + now->tm_sec, + g_local_utc); + + //get the start time + sprintf(endTime,"%04d%02d%02d%02d%02d%02d%s", + now->tm_year+1900, + now->tm_mon+1, + now->tm_mday, + now->tm_hour, + now->tm_min, + now->tm_sec, + g_local_utc); + + //get the start time + t=time(NULL)-24*60*60; + now=localtime(&t); + sprintf(startTime,"%04d%02d%02d%02d%02d%02d%s", + now->tm_year+1900, + now->tm_mon+1, + now->tm_mday, + now->tm_hour, + now->tm_min, + now->tm_sec, + g_local_utc); + + + + + for(i=0;itadig) == 0) + { + recordCount++; + } + tmpNode=tmpNode->next; + } + + if(recordCount > 0) + { + //write the head of the error report + //getSequenceNumber(squenceNumber,2); + get_seq_num(servers[i].tadig,2,squenceNumber); + sprintf(fileName,"%sNE%s%s%s",SEND_DIR,LOCAL_TADIG,servers[i].tadig,squenceNumber); + sprintf(command,"echo 'NE,%s,%s,%s,%s,%s,%s,%s'>>%s", + NE_VERSION, + LOCAL_TADIG, + servers[i].tadig, + squenceNumber, + createTime,startTime,endTime, + fileName); + system(command); + + sprintf(message,"Make Error report %s\n",fileName); + logMessage(message); + + + //write the content of the error report + tmpNode=pNEHead; + while(tmpNode) + { + if(strcmp(servers[i].tadig,tmpNode->tadig) == 0) + { + //NRTRDE file error + if(tmpNode->type == 1) + { + sprintf(command,"echo '%s,,,%s'>>%s",tmpNode->fileName,tmpNode->errorCode,fileName); + system(command); + } + //MOC error + else if(tmpNode->type == 2) + { + sprintf(command,"echo '%s,%d,MOC,%s'>>%s",tmpNode->fileName,tmpNode->recordNumber,tmpNode->errorCode,fileName); + system(command); + } + //MTC error + else if(tmpNode->type == 3) + { + sprintf(command,"echo '%s,%d,MTC,%s'>>%s",tmpNode->fileName,tmpNode->recordNumber,tmpNode->errorCode,fileName); + system(command); + } + //GPRS error + else if(tmpNode->type == 4) + { + sprintf(command,"echo '%s,%d,GPRS,%s'>>%s",tmpNode->fileName,tmpNode->recordNumber,tmpNode->errorCode,fileName); + system(command); + } + + } + tmpNode=tmpNode->next; + } + + //write the tail of the error report + sprintf(command,"echo 'END,%d'>>%s",recordCount+2,fileName); + system(command); + } + } + + //free the link + tmpNode=pNEHead; + while(tmpNode) + { + tmpN=tmpNode->next; + free(tmpNode); + tmpNode=tmpN; + } + pNEHead=NULL; + pNETail=NULL; +} + +/************************************************* +Function: // isCodeInASN +Description: // Judge the NRTRDE files received whether is coded in ASN.1 +Calls: // addNENodeInDB; +Called By: // parseAsnFile; +Table Accessed: // +Table Updated: // +Input: // fileName:the file to parse; senderTadig:who send the NRTRDE file +Output: // +Return: // 0:not code in ASN; 1:code in ASN; +Others: // If the tag or the length of the Nrtrde is incorrect, then it not coded in ASN.1 +*************************************************/ +int isCodeInASN(char* fileName,char* senderTadig) +{ + FILE* fp; + int fi; + unsigned char buf[256]; + int readBytes; + int lLen=0; + long vLenParse=0; + long vLenRead=0; + int i; + int result; + char message[256]; + char fullFileName[512]; + + sprintf(fullFileName,"%s%s",RECV_DIR,fileName); + //printf("fullFileName=%s\n",fullFileName); + + //Open and read the NRTRDE file + + fp=fopen(fullFileName,"r"); + + if(fp == NULL) + { + printf("error=%s\n",strerror(errno)); + return 0; + } + //get the file no of this file + fi=fileno(fp); + + if((readBytes=read(fi,buf,1))==1) + { + //get the nrtrde tag=1 + if(buf[0] == 0x61) + { + //get the nrtrde length + if((readBytes=read(fi,buf,1))==1) + { + //The length have more than one byte + if((buf[0] & 0x80) == 0x80) + { + lLen=buf[0] & 0x7F; + if((readBytes=read(fi,buf,lLen))==lLen) + { + vLenParse=0; + for(i=0;i= 50 || tags[tag].tagValue == 0) + { + addNENodeInDB(senderTadig,fileName,1,0,"50"); + sprintf(message,"The file=%s contains unknown tag=%d,Error Code(50)\n",fileName,tag); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + + return 0; + } + + + //get the position of the CallEventList + if(tag == getTagByName("CallEventList")) + { + callEvePos=ftell(fp)-1; + haveCallEvent=1; + //printf("callEvePos=%ld\n",callEvePos); + } + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + vLen=0; + for(i=0;i= 50 || tags[tag].tagValue == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"50"); + sprintf(message,"The file=%s contains unknown tag=%d,recordNumber=%d,Error Code(50)\n",fileName,tag,recordNumber); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + callEveLength-=readBytes; + + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + callEveLength-=readBytes; + vLen=0; + for(i=0;i= 50 || tags[tag].tagValue == 0) + { + addNENodeInDB(senderTadig,fileName,1,0,"50"); + sprintf(message,"The file=%s contains unknown tag=%d,Error Code(50)\n",fileName,tag); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + vLen=0; + for(i=0;i 4) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"54"); + sprintf(message,"The file=%s have a Integer tag=%d(%s) in the NRTRDE group(head),length=%ld>4,Error Code(54)\n",fileName,tag,tags[tag].fieldName,vLen); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + } + + if(tag == getTagByName("CallEventList")) + { + callEveEndPos=callEvePos+vLen+lLen+1; + callEveLength=vLen; + + + break; + } + } + } + else + { + sprintf(message,"Parse file=%s error!\n",fileName); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + + //read the NRTRDE CallEventList + recordNumber=0; + lseek(fi,callEvePos,SEEK_SET); + while((readBytes=read(fi,buf,1))==1) + { + callEveLength-=readBytes; + if((buf[0] & 0x20) == 0x20) + { + isStruct=1; + } + else + { + isStruct=0; + } + + //parse tag + //the tag have 2 bytes + if((buf[0] & 0x1F) == 0x1F) + { + if((readBytes=read(fi,buf,1))==1) + { + callEveLength-=readBytes; + tag=buf[0] & 0xFF; + } + else + { + sprintf(message,"Parse file=%s error!\n",fileName); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + //the tag have 1 byte + else + { + tag=buf[0] & 0x1F; + } + + //printf("tag=%d\n",tag); + + //change the cdr type + if(tag == getTagByName("Moc")) + { + recordNumber++; + groupType=2; + } + else if(tag == getTagByName("Mtc")) + { + recordNumber++; + groupType=3; + } + else if(tag == getTagByName("Gprs")) + { + recordNumber++; + groupType=4; + } + + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + callEveLength-=readBytes; + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + callEveLength-=readBytes; + vLen=0; + for(i=0;i 8) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"55"); + if(groupType == 2) + sprintf(message,"The file=%s have a Integer tag=%d(%s) in the MOC group,length=%ld>8,recordNumber=%d,Error Code(55)\n",fileName,tag,tags[tag].fieldName,vLen,recordNumber); + else if(groupType == 3) + sprintf(message,"The file=%s have a Integer tag=%d(%s) in the MTC group,length=%ld>8,recordNumber=%d,Error Code(55)\n",fileName,tag,tags[tag].fieldName,vLen,recordNumber); + else if(groupType == 4) + sprintf(message,"The file=%s have a Integer tag=%d(%s) in the GPRS group,length=%ld>8,recordNumber=%d,Error Code(55)\n",fileName,tag,tags[tag].fieldName,vLen,recordNumber); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + //The tag length in tail code in Integer is not more than 4 bytes + else + { + if(vLen > 4) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"54"); + if(groupType == 2) + sprintf(message,"The file=%s have a Integer tag=%d(%s) in the MOC group,length=%ld>4,recordNumber=%d,Error Code(54)\n",fileName,tag,tags[tag].fieldName,vLen,recordNumber); + else if(groupType == 3) + sprintf(message,"The file=%s have a Integer tag=%d(%s) in the MTC group,length=%ld>4,recordNumber=%d,Error Code(54)\n",fileName,tag,tags[tag].fieldName,vLen,recordNumber); + else if(groupType == 4) + sprintf(message,"The file=%s have a Integer tag=%d(%s) in the GPRS group,length=%ld>4,recordNumber=%d,Error Code(54)\n",fileName,tag,tags[tag].fieldName,vLen,recordNumber); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + } + + } + + //The CallEventList is finish + if(callEveLength<0) + { + break; + } + } + else + { + sprintf(message,"Parse file=%s error!\n",fileName); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + + //read the NRTRDE tail + groupType=1; + lseek(fi,callEveEndPos,SEEK_SET); + while((readBytes=read(fi,buf,1))==1) + { + if((buf[0] & 0x20) == 0x20) + { + isStruct=1; + } + else + { + isStruct=0; + } + + //parse tag + //the tag have 2 bytes + if((buf[0] & 0x1F) == 0x1F) + { + if((readBytes=read(fi,buf,1))==1) + { + tag=buf[0] & 0xFF; + } + else + { + sprintf(message,"Parse file=%s error!\n",fileName); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + //the tag have 1 byte + else + { + tag=buf[0] & 0x1F; + } + + //printf("tag=%d\n",tag); + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + vLen=0; + for(i=0;i 4) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"54"); + sprintf(message,"The file=%s have a Integer tag=%d(%s) in the NRTRDE group(tail),length=%ld>4,Error Code(54)\n",fileName,tag,tags[tag].fieldName,vLen); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + } + } + } + else + { + sprintf(message,"Parse file=%s error!\n",fileName); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + close(fi); + fclose(fp); + + return 1; +} + +/************************************************* +Function: // checkTagMissInGrp +Description: // Check whether there are some Mandatory tag missing in the group +Calls: // checkGrp; +Called By: // parseAsnFile; +Table Accessed: // +Table Updated: // +Input: // fileName:the file to parse; senderTadig:who send the NRTRDE file +Output: // +Return: // +Others: // For example the Imsi miss in the MOC group +*************************************************/ +int checkTagMissInGrp(char* fileName,char* senderTadig) +{ + FILE* fp; + int fi; + unsigned char buf[256]; + int readBytes; + char message[256]; + int tag; + long lLen; + long vLen; + long callEvePos; + long callEveEndPos; + long callEveLength; + int headGrpTagFlag[50]; + int cdrGrpTagFlag[50]; + int isStruct; + int recordNumber; + int groupType; + int i; + char fullFileName[512]; + + + + sprintf(fullFileName,"%s%s",RECV_DIR,fileName); + + + //initial + memset(headGrpTagFlag,0,sizeof(int)*50); + memset(cdrGrpTagFlag,0,sizeof(int)*50); + + //Open and read the NRTRDE file + + fp=fopen(fullFileName,"r"); + + if(fp == NULL) + return 0; + + //get the file no of this file + fi=fileno(fp); + + //read the NRTRDE header + while((readBytes=read(fi,buf,1))==1) + { + if((buf[0] & 0x20) == 0x20) + { + isStruct=1; + } + else + { + isStruct=0; + } + + //parse tag + //the tag have 2 bytes + if((buf[0] & 0x1F) == 0x1F) + { + if((readBytes=read(fi,buf,1))==1) + { + tag=buf[0] & 0xFF; + } + else + { + sprintf(message,"Parse file=%s error!\n",fileName); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + //the tag have 1 byte + else + { + tag=buf[0] & 0x1F; + } + + //printf("tag=%d\n",tag); + //get the position of the CallEventList + if(tag == getTagByName("CallEventList")) + { + callEvePos=ftell(fp)-1; + //printf("callEvePos=%ld\n",callEvePos); + } + + //fill the headGrpTagFlag + headGrpTagFlag[tag]=1; + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + vLen=0; + for(i=0;i 0) + { + checkGrp(cdrGrpTagFlag,groupType,recordNumber,fileName,senderTadig); + } + recordNumber++; + groupType=2; + memset(cdrGrpTagFlag,0,sizeof(int)*50); + } + else if(tag == getTagByName("Mtc")) + { + if(recordNumber > 0) + { + checkGrp(cdrGrpTagFlag,groupType,recordNumber,fileName,senderTadig); + } + recordNumber++; + groupType=3; + memset(cdrGrpTagFlag,0,sizeof(int)*50); + } + else if(tag == getTagByName("Gprs")) + { + if(recordNumber > 0) + { + checkGrp(cdrGrpTagFlag,groupType,recordNumber,fileName,senderTadig); + } + recordNumber++; + groupType=4; + memset(cdrGrpTagFlag,0,sizeof(int)*50); + } + + //Fill the cdrGrpTagFlag + cdrGrpTagFlag[tag]=1; + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + callEveLength-=readBytes; + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + callEveLength-=readBytes; + vLen=0; + for(i=0;i 0) + { + checkGrp(cdrGrpTagFlag,groupType,recordNumber,fileName,senderTadig); + } + + //read the NRTRDE tail + groupType=1; + lseek(fi,callEveEndPos,SEEK_SET); + while((readBytes=read(fi,buf,1))==1) + { + if((buf[0] & 0x20) == 0x20) + { + isStruct=1; + } + else + { + isStruct=0; + } + + //parse tag + //the tag have 2 bytes + if((buf[0] & 0x1F) == 0x1F) + { + if((readBytes=read(fi,buf,1))==1) + { + tag=buf[0] & 0xFF; + } + else + { + sprintf(message,"Parse file=%s error!\n",fileName); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return 0; + } + } + //the tag have 1 byte + else + { + tag=buf[0] & 0x1F; + } + + //printf("tag=%d\n",tag); + + //Fill the headGrpTagFlag + headGrpTagFlag[tag]=1; + + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + vLen=0; + for(i=0;i 0) + { + //write the MOC to local csv file + //printCallEvent(&callEvent); + writeCallEvent(csvFileName,&callEvent); + } + recordNumber++; + groupType=2; + //clear the CallEvent object + memset(&callEvent,0,sizeof(CallEvent)); + callEvent.type=1; + + } + else if(tag == getTagByName("Mtc")) + { + + if(recordNumber > 0) + { + //write the MTC to local csv file + writeCallEvent(csvFileName,&callEvent); + //printCallEvent(&callEvent); + } + recordNumber++; + groupType=3; + //clear the CallEvent object + memset(&callEvent,0,sizeof(CallEvent)); + callEvent.type=2; + + } + else if(tag == getTagByName("Gprs")) + { + if(recordNumber > 0) + { + //do nothing + ; + } + recordNumber++; + groupType=4; + //clear the CallEvent object + memset(&callEvent,0,sizeof(CallEvent)); + } + + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + callEveLength-=readBytes; + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + callEveLength-=readBytes; + vLen=0; + for(i=0;i 0) + { + callEvent.type=groupType-1; + //printCallEvent(&callEvent); + writeCallEvent(csvFileName,&callEvent); + //checkGrp(cdrGrpTagFlag,groupType,recordNumber,fileName,senderTadig); + } + + //read the NRTRDE tail + groupType=1; + lseek(fi,callEveEndPos,SEEK_SET); + while((readBytes=read(fi,buf,1))==1) + { + if((buf[0] & 0x20) == 0x20) + { + isStruct=1; + } + else + { + isStruct=0; + } + + //parse tag + //the tag have 2 bytes + if((buf[0] & 0x1F) == 0x1F) + { + if((readBytes=read(fi,buf,1))==1) + { + tag=buf[0] & 0xFF; + } + else + { + sprintf(message,"Parse file=%s error!\n",fileName); + logMessage(message); + printfInColor(message,1); + close(fi); + fclose(fp); + return FAIL; + } + } + //the tag have 1 byte + else + { + tag=buf[0] & 0x1F; + } + + //printf("tag=%d\n",tag); + + //parse length + if((readBytes=read(fi,buf,1))==1) + { + //the length have more than 1 byte + if(buf[0] & 0x80) + { + lLen=buf[0] & 0x7F; + + if((readBytes=read(fi,buf,lLen))==lLen) + { + vLen=0; + for(i=0;icallDuration=valuelong; + } + else if(tag == getTagByName("CauseForTermination")) + { + callEvent->causeForTerm=valuelong; + } + else if(tag == getTagByName("CallReference")) + { + callEvent->callReference=valuelong; + } + else if(tag == getTagByName("ChargeAmount")) + { + callEvent->chargeAmount=valuelong; + } + + break; + //code in ASCII + case 2: + //code in HexASCII + case 3: + //code in NumberASCII + case 4: + decodeASCII(len,value,valueStr); + if(tag == getTagByName("CallEventStartTimeStamp")) + { + sprintf(callEvent->startTime,"%s",valueStr); + } + else if(tag == getTagByName("UtcTimeOffset")) + { + sprintf(callEvent->utcTimeOff,"%s",valueStr); + } + else if(tag == getTagByName("TeleServiceCode")) + { + sprintf(callEvent->teleServCode,"%s",valueStr); + } + else if(tag == getTagByName("BearerServiceCode")) + { + sprintf(callEvent->bearerServCode,"%s",valueStr); + } + else if(tag == getTagByName("SupplementaryServiceCode")) + { + sprintf(callEvent->supplServCode,"%s",valueStr); + } + else if(tag == getTagByName("DialledDigits")) + { + sprintf(callEvent->dialledDigits,"%s",valueStr); + } + else if(tag == getTagByName("ConnectedNumber")) + { + sprintf(callEvent->connectedNumber,"%s",valueStr); + } + else if(tag == getTagByName("ThirdPartyNumber")) + { + sprintf(callEvent->thirdPartyNumber,"%s",valueStr); + } + else if(tag == getTagByName("CallingNumber")) + { + sprintf(callEvent->callingNumber,"%s",valueStr); + } + else if(tag == getTagByName("RecEntityId")) + { + sprintf(callEvent->recEntityId,"%s",valueStr); + } + + break; + //code in BCDString + case 5: + decodeBCD(len,value,valueStr); + if(tag == getTagByName("Imsi")) + { + sprintf(callEvent->imsi,"%s",valueStr); + } + else if(tag == getTagByName("Imei")) + { + sprintf(callEvent->imei,"%s",valueStr); + } + break; + default: + decodeASCII(len,value,valueStr); + break; + } + + +} + +/************************************************* +Function: // writeCallEvent +Description: // Write the callEvent to the local csv file +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // fileName:the file name of the csv file; callEvent:the call event; +Output: // +Return: // +Others: // +*************************************************/ +void writeCallEvent(char* fileName,CallEvent* callEvent) +{ + char command[1024]; + + if(fileName == NULL) + return; + + sprintf(command,"echo '%s,%s,%s,%s,%ld,%d,%s,%s,%s,%s,%s,%s,%s,%s,%ld,%ld' >>%s", + callEvent->imsi, + callEvent->imei, + callEvent->startTime, + callEvent->utcTimeOff, + callEvent->callDuration, + callEvent->causeForTerm, + callEvent->teleServCode, + callEvent->bearerServCode, + callEvent->supplServCode, + callEvent->dialledDigits, + callEvent->connectedNumber, + callEvent->thirdPartyNumber, + callEvent->callingNumber, + callEvent->recEntityId, + callEvent->callReference, + callEvent->chargeAmount, + fileName); + system(command); + +} + +/************************************************* +Function: // decodeASCII +Description: // Decode the byte value to ascii string +Calls: // +Called By: // writeField +Table Accessed: // +Table Updated: // +Input: // len:the length of bytes; value:the value of field +Output: // +Return: // result:the result has decoded; +Others: // +*************************************************/ +void decodeASCII(int len,unsigned char* value,char* result) +{ + int i; + + if(len == 0 || len > 32) + { + return; + } + + for(i=0;i 32) + { + return; + } + + index=0; + for(i=0;i>=4; + tailByte=value[i] & 0x0F; + if(headByte != 0x0F) + { + result[index++]=headByte+0x30; + } + if(tailByte != 0x0F) + { + result[index++]=tailByte+0x30; + } + } + + +} + +/************************************************* +Function: // printCallEvent +Description: // Print the callEvent object +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // callEvent:The callEvent object; +Output: // +Return: // +Others: // For test +*************************************************/ +void printCallEvent(CallEvent* callEvent) +{ + + printf("-------------------------------\n"); + printf("type=%d\n",callEvent->type); + printf("Imsi=%s\n",callEvent->imsi); + printf("Imei=%s\n",callEvent->imei); + printf("CallEventStartTime=%s\n",callEvent->startTime); + printf("UtcTimeOffset=%s\n",callEvent->utcTimeOff); + printf("CallEventDuration=%ld\n",callEvent->callDuration); + printf("CauseForTermination=%d\n",callEvent->causeForTerm); + printf("teleServCode=%s\n",callEvent->teleServCode); + printf("bearerServCode=%s\n",callEvent->bearerServCode); + printf("supplServCode=%s\n",callEvent->supplServCode); + printf("dialledDigits=%s\n",callEvent->dialledDigits); + printf("connectedNumber=%s\n",callEvent->connectedNumber); + printf("thirdPartyNumber=%s\n",callEvent->thirdPartyNumber); + printf("callingNumber=%s\n",callEvent->callingNumber); + printf("recEntityId=%s\n",callEvent->recEntityId); + printf("callReference=%ld\n",callEvent->callReference); + printf("chargeAmount=%ld\n",callEvent->chargeAmount); + +} + +/************************************************* +Function: // isValidInGroup +Description: // Judge the tag whether is valid in the group +Calls: // +Called By: // noConfuseInGrp; +Table Accessed: // +Table Updated: // +Input: // tag:the tag value; type:1-nrtrde; 2-MOC; 3-MTC; 4-GPRS +Output: // +Return: // 1:valid; 0:unvalid +Others: // Use for parse the NRTRDE file +*************************************************/ +int isValidInGroup(int tag,int type) +{ + int result; + + //NRTRDE group + if(type == 1) + { + if(tag == getTagByName("Nrtrde")|| + tag == getTagByName("CallEventList")|| + tag == getTagByName("CallEventsCount")|| + tag == getTagByName("FileAvailableTimeStamp")|| + tag == getTagByName("Recipient")|| + tag == getTagByName("ReleaseVersionNumber")|| + tag == getTagByName("Sender")|| + tag == getTagByName("SequenceNumber")|| + tag == getTagByName("SpecificationVersionNumber")|| + tag == getTagByName("UtcTimeOffset")) + { + result=1; + } + else + { + result=0; + } + } + //MOC group + else if(type == 2) + { + if(tag == getTagByName("Moc")|| + tag == getTagByName("BearerServiceCode")|| + tag == getTagByName("CallEventDuration")|| + tag == getTagByName("CallEventStartTimeStamp")|| + tag == getTagByName("CallReference")|| + tag == getTagByName("CauseForTermination")|| + tag == getTagByName("ChargeAmount")|| + tag == getTagByName("ConnectedNumber")|| + tag == getTagByName("DialledDigits")|| + tag == getTagByName("Imei")|| + tag == getTagByName("Imsi")|| + tag == getTagByName("RecEntityId")|| + tag == getTagByName("SupplementaryServiceCode")|| + tag == getTagByName("TeleServiceCode")|| + tag == getTagByName("ThirdPartyNumber")|| + tag == getTagByName("UtcTimeOffset")|| + tag == getTagByName("ServiceCode")) + { + result=1; + } + else + { + result=0; + } + } + //MTC group + else if(type == 3) + { + if(tag == getTagByName("Mtc")|| + tag == getTagByName("BearerServiceCode")|| + tag == getTagByName("CallEventDuration")|| + tag == getTagByName("CallEventStartTimeStamp")|| + tag == getTagByName("CallingNumber")|| + tag == getTagByName("CallReference")|| + tag == getTagByName("CauseForTermination")|| + tag == getTagByName("ChargeAmount")|| + tag == getTagByName("Imei")|| + tag == getTagByName("Imsi")|| + tag == getTagByName("RecEntityId")|| + tag == getTagByName("TeleServiceCode")|| + tag == getTagByName("UtcTimeOffset")|| + tag == getTagByName("ServiceCode")) + { + result=1; + } + else + { + result=0; + } + } + //GPRS group + else if(type == 4) + { + if(tag == getTagByName("Gprs")|| + tag == getTagByName("AccessPointNameNI")|| + tag == getTagByName("AccessPointNameOI")|| + tag == getTagByName("CallEventDuration")|| + tag == getTagByName("CallEventStartTimeStamp")|| + tag == getTagByName("CauseForTermination")|| + tag == getTagByName("ChargingId")|| + tag == getTagByName("DataVolumeIncoming")|| + tag == getTagByName("DataVolumeOutgoing")|| + tag == getTagByName("GgsnAddress")|| + tag == getTagByName("Imei")|| + tag == getTagByName("Imsi")|| + tag == getTagByName("SgsnAddress")|| + tag == getTagByName("UtcTimeOffset")) + { + result=1; + } + else + { + result=0; + } + } + return result; +} + +/************************************************* +Function: // checkGrp +Description: // Check whether there are some Mandatory tag missing in the group +Calls: // addNENodeInDB; +Called By: // noTagMissInGrp; +Table Accessed: // +Table Updated: // +Input: // groupFlag:the group 50 flags; + groupType:1-NRTRDE; 2-MOC; 3-MTC; 4-GPRS; + recordNumber:the record number in the NRTRDE file; + fileName:the name of the NRTRDE file; + senderTadig:the tadig of the sender; +Output: // +Return: // +Others: // +*************************************************/ +void checkGrp(int* groupFlag,int groupType,int recordNumber,char* fileName,char* senderTadig) +{ + char message[256]; + + /* + int i; + printf("check grp,groupType=%d,recordNumber=%d\n",groupType,recordNumber); + for(i=0;i<50;i++) + { + + printf("tag=%d,flag=%d",i,*groupFlag); + if(*groupFlag != 0) + printf("(%s)",tags[i].fieldName); + groupFlag++; + printf("\n"); + } + */ + + switch(groupType) + { + //NRTRDE group + case 1: + //UtcTimeOffset miss, Error Code 301 + if(groupFlag[getTagByName("UtcTimeOffset")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"301"); + sprintf(message,"The file=%s miss tag=%d(UtcTimeOffset) in the NRTRDE group,Error Code(301)\n",fileName,getTagByName("UtcTimeOffset")); + logMessage(message); + printfInColor(message,1); + } + //SpecificationVersionNumber miss, Error Code 326 + if(groupFlag[getTagByName("SpecificationVersionNumber")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"326"); + sprintf(message,"The file=%s miss tag=%d(SpecificationVersionNumber) in the NRTRDE group,Error Code(326)\n",fileName,getTagByName("SpecificationVersionNumber")); + logMessage(message); + printfInColor(message,1); + } + //ReleaseVersionNumber miss, Error Code 332 + if(groupFlag[getTagByName("ReleaseVersionNumber")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"332"); + sprintf(message,"The file=%s miss tag=%d(ReleaseVersionNumber) in the NRTRDE group,Error Code(332)\n",fileName,getTagByName("ReleaseVersionNumber")); + logMessage(message); + printfInColor(message,1); + } + //Sender miss, Error Code 327 + if(groupFlag[getTagByName("Sender")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"327"); + sprintf(message,"The file=%s miss tag=%d(Sender) in the NRTRDE group,Error Code(327)\n",fileName,getTagByName("Sender")); + logMessage(message); + printfInColor(message,1); + } + //Recipient miss, Error Code 328 + if(groupFlag[getTagByName("Recipient")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"328"); + sprintf(message,"The file=%s miss tag=%d(Recipient) in the NRTRDE group,Error Code(328)\n",fileName,getTagByName("Recipient")); + logMessage(message); + printfInColor(message,1); + } + //SequenceNumber miss, Error Code 329 + if(groupFlag[getTagByName("SequenceNumber")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"329"); + sprintf(message,"The file=%s miss tag=%d(SequenceNumber) in the NRTRDE group,Error Code(329)\n",fileName,getTagByName("SequenceNumber")); + logMessage(message); + printfInColor(message,1); + } + //FileAvailableTimeStamp miss, Error Code 330 + if(groupFlag[getTagByName("FileAvailableTimeStamp")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"330"); + sprintf(message,"The file=%s miss tag=%d(FileAvailableTimeStamp) in the NRTRDE group,Error Code(330)\n",fileName,getTagByName("FileAvailableTimeStamp")); + logMessage(message); + printfInColor(message,1); + } + //CallEventsCount miss, Error Code 331 + if(groupFlag[getTagByName("CallEventsCount")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,0,"331"); + sprintf(message,"The file=%s miss tag=%d(CallEventsCount) in the NRTRDE group,Error Code(331)\n",fileName,getTagByName("CallEventsCount")); + logMessage(message); + printfInColor(message,1); + } + + break; + //MOC group + case 2: + //Imsi miss, Error Code 312 + if(groupFlag[getTagByName("Imsi")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"312"); + sprintf(message,"The file=%s miss tag=%d(Imsi) in the MOC group,recordNumber=%d,Error Code(312)\n",fileName,getTagByName("Imsi"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //CallEventStartTimeStamp, Error Code 313 + if(groupFlag[getTagByName("CallEventStartTimeStamp")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"313"); + sprintf(message,"The file=%s miss tag=%d(CallEventStartTimeStamp) in the MOC group,recordNumber=%d,Error Code(313)\n",fileName,getTagByName("CallEventStartTimeStamp"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //UtcTimeOffset miss, Error Code 300 + if(groupFlag[getTagByName("UtcTimeOffset")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"300"); + sprintf(message,"The file=%s miss tag=%d(UtcTimeOffset) in the MOC group,recordNumber=%d,Error Code(300)\n",fileName,getTagByName("UtcTimeOffset"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //CallEventDuration miss, Error Code 314 + if(groupFlag[getTagByName("CallEventDuration")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"314"); + sprintf(message,"The file=%s miss tag=%d(CallEventDuration) in the MOC group,recordNumber=%d,Error Code(314)\n",fileName,getTagByName("CallEventDuration"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //CauseForTermination miss, Error Code 315 + if(groupFlag[getTagByName("CauseForTermination")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"315"); + sprintf(message,"The file=%s miss tag=%d(CauseForTermination) in the MOC group,recordNumber=%d,Error Code(315)\n",fileName,getTagByName("CauseForTermination"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + + //ServiceCode(Neither of TeleServiceCode and BearerServiceCode present in the MOC group), Error Code 316 + if(groupFlag[getTagByName("ServiceCode")] == 0 || + (groupFlag[getTagByName("ServiceCode")] == 1 && groupFlag[getTagByName("TeleServiceCode")] == 0 && groupFlag[getTagByName("BearerServiceCode")] == 0)) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"316"); + sprintf(message,"The file=%s miss the tag=%d(ServiceCode),neither of the tag=%d(TeleServiceCode) and tag=%d(BearerServiceCode) present in the MOC group,recordNumber=%d,Error Code(316)\n", + fileName,getTagByName("ServiceCode"),getTagByName("TeleServiceCode"),getTagByName("BearerServiceCode"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //RecEntityId miss,Error Code 317 + if(groupFlag[getTagByName("RecEntityId")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"317"); + sprintf(message,"The file=%s miss tag=%d(RecEntityId) in the MOC group,recordNumber=%d,Error Code(317)\n",fileName,getTagByName("RecEntityId"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //both DialledDigits and ConnectedNumber miss, Error Code 333 + if(groupFlag[getTagByName("DialledDigits")] == 0 && groupFlag[getTagByName("ConnectedNumber")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"333"); + sprintf(message,"The file=%s miss both tag=%d(DialledDigits) and tag=%d(ConnectedNumber) in the MOC group,recordNumber=%d,Error Code(333)\n",fileName,getTagByName("DialledDigits"),getTagByName("ConnectedNumber"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + /* + //ConnectedNumber miss, Error Code 334 + if(groupFlag[getTagByName("ConnectedNumber")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"334"); + sprintf(message,"The file=%s miss tag=%d(ConnectedNumber) in the MOC group,recordNumber=%d,Error Code(334)\n",fileName,getTagByName("ConnectedNumber"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + */ + break; + //MTC group + case 3: + //Imsi miss, Error Code 319 + if(groupFlag[getTagByName("Imsi")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"319"); + sprintf(message,"The file=%s miss tag=%d(Imsi) in the MTC group,recordNumber=%d,Error Code(319)\n",fileName,getTagByName("Imsi"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //CallEventStartTimeStamp, Error Code 320 + if(groupFlag[getTagByName("CallEventStartTimeStamp")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"320"); + sprintf(message,"The file=%s miss tag=%d(CallEventStartTimeStamp) in the MTC group,recordNumber=%d,Error Code(320)\n",fileName,getTagByName("CallEventStartTimeStamp"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //UtcTimeOffset miss, Error Code 300 + if(groupFlag[getTagByName("UtcTimeOffset")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"300"); + sprintf(message,"The file=%s miss tag=%d(UtcTimeOffset) in the MTC group,recordNumber=%d,Error Code(300)\n",fileName,getTagByName("UtcTimeOffset"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //CallEventDuration miss, Error Code 321 + if(groupFlag[getTagByName("CallEventDuration")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"321"); + sprintf(message,"The file=%s miss tag=%d(CallEventDuration) in the MTC group,recordNumber=%d,Error Code(321)\n",fileName,getTagByName("CallEventDuration"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //CauseForTermination miss, Error Code 322 + if(groupFlag[getTagByName("CauseForTermination")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"322"); + sprintf(message,"The file=%s miss tag=%d(CauseForTermination) in the MTC group,recordNumber=%d,Error Code(322)\n",fileName,getTagByName("CauseForTermination"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //ServiceCode(Neither of TeleServiceCode and BearerServiceCode present in the MOC group), Error Code 323 + if(groupFlag[getTagByName("ServiceCode")] == 0 || + (groupFlag[getTagByName("ServiceCode")] == 1 && groupFlag[getTagByName("TeleServiceCode")] == 0 && groupFlag[getTagByName("BearerServiceCode")] == 0)) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"323"); + sprintf(message,"The file=%s miss the tag=%d(ServiceCode),neither of the tag=%d(TeleServiceCode) and tag=%d(BearerServiceCode) present in the MTC group,recordNumber=%d,Error Code(323)\n", + fileName,getTagByName("ServiceCode"),getTagByName("TeleServiceCode"),getTagByName("BearerServiceCode"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //RecEntityId miss,Error Code 324 + if(groupFlag[getTagByName("RecEntityId")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"324"); + sprintf(message,"The file=%s miss tag=%d(RecEntityId) in the MTC group,recordNumber=%d,Error Code(324)\n",fileName,getTagByName("RecEntityId"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + break; + //GPRS group + case 4: + //Imsi miss, Error Code 302 + if(groupFlag[getTagByName("Imsi")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"302"); + sprintf(message,"The file=%s miss tag=%d(Imsi) in the GPRS group,recordNumber=%d,Error Code(302)\n",fileName,getTagByName("Imsi"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //CallEventStartTimeStamp, Error Code 303 + if(groupFlag[getTagByName("CallEventStartTimeStamp")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"303"); + sprintf(message,"The file=%s miss tag=%d(CallEventStartTimeStamp) in the GPRS group,recordNumber=%d,Error Code(303)\n",fileName,getTagByName("CallEventStartTimeStamp"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + if(groupFlag[getTagByName("UtcTimeOffset")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"300"); + sprintf(message,"The file=%s miss tag=%d(UtcTimeOffset) in the GPRS group,recordNumber=%d,Error Code(300)\n",fileName,getTagByName("UtcTimeOffset"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //CallEventDuration miss, Error Code 304 + if(groupFlag[getTagByName("CallEventDuration")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"304"); + sprintf(message,"The file=%s miss tag=%d(CallEventDuration) in the GPRS group,recordNumber=%d,Error Code(304)\n",fileName,getTagByName("CallEventDuration"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //CauseForTermination miss, Error Code 305 + if(groupFlag[getTagByName("CauseForTermination")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"305"); + sprintf(message,"The file=%s miss tag=%d(CauseForTermination) in the GPRS group,recordNumber=%d,Error Code(305)\n",fileName,getTagByName("CauseForTermination"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //AccessPointNameNI miss, Error Code 306 + if(groupFlag[getTagByName("AccessPointNameNI")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"306"); + sprintf(message,"The file=%s miss tag=%d(AccessPointNameNI) in the GPRS group,recordNumber=%d,Error Code(306)\n",fileName,getTagByName("AccessPointNameNI"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //DataVolumeIncoming miss, Error Code 307 + if(groupFlag[getTagByName("DataVolumeIncoming")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"307"); + sprintf(message,"The file=%s miss tag=%d(DataVolumeIncoming) in the GPRS group,recordNumber=%d,Error Code(307)\n",fileName,getTagByName("DataVolumeIncoming"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //DataVolumeOutgoing miss, Error Code 308 + if(groupFlag[getTagByName("DataVolumeOutgoing")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"308"); + sprintf(message,"The file=%s miss tag=%d(DataVolumeOutgoing) in the GPRS group,recordNumber=%d,Error Code(308)\n",fileName,getTagByName("DataVolumeOutgoing"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //SgsnAddress miss, Error Code 309 + if(groupFlag[getTagByName("SgsnAddress")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"309"); + sprintf(message,"The file=%s miss tag=%d(SgsnAddress) in the GPRS group,recordNumber=%d,Error Code(309)\n",fileName,getTagByName("SgsnAddress"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //GgsnAddress miss, Error Code 310 + if(groupFlag[getTagByName("GgsnAddress")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"310"); + sprintf(message,"The file=%s miss tag=%d(GgsnAddress) in the GPRS group,recordNumber=%d,Error Code(310)\n",fileName,getTagByName("GgsnAddress"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + //ChargingId miss, Error Code 311 + if(groupFlag[getTagByName("ChargingId")] == 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"311"); + sprintf(message,"The file=%s miss tag=%d(ChargingId) in the GPRS group,recordNumber=%d,Error Code(311)\n",fileName,getTagByName("ChargingId"),recordNumber); + logMessage(message); + printfInColor(message,1); + } + break; + default: + break; + } +} + +/************************************************* +Function: // checkTag +Description: // Parse the tag value and check out the error +Calls: // +Called By: // checkTagDetail; +Table Accessed: // +Table Updated: // +Input: // groupType:1-NRTRDE; 2-MOC; 3-MTC; 4-GPRS; + recordNumber:the record number in the NRTRDE file; + fileName:the name of the NRTRDE file; + senderTadig:the tadig of the sender; + tag:the tag value; + len:the length of the value; + value:the byte value of the tag; +Output: // +Return: // +Others: // +*************************************************/ +void checkTag(int groupType,int recordNumber,char* fileName,char* senderTadig,int tag,int len,unsigned char* value) +{ + char message[512]; + char groupString[16]; + char tempStr[64]; + int i; + + /* + printf("groupType=%d\n",groupType); + printf("recordNumber=%d\n",recordNumber); + printf("fieldName=%s\n",fileName); + printf("senderTadig=%s\n",senderTadig); + printf("tag=%d(%s)\n",tag,tags[tag].fieldName); + printf("len=%d\n",len); + for(i=0;i tags[tag].maxSize) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"100"); + sprintf(message,"The file=%s tag=%d(AccessPointNameNI) has a syntax error(length out of(%d,%d)) in the GPRS group,recordNumber=%d,Error Code(100)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,recordNumber); + logMessage(message); + printfInColor(message,1); + } + } + //check the AccessPointNameOI + else if(tag == getTagByName("AccessPointNameOI")) + { + //Syntax error, length valid, Error Code 101 + if(len < tags[tag].minSize || len > tags[tag].maxSize) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"101"); + sprintf(message,"The file=%s tag=%d(AccessPointNameOI) has a syntax error(length out of(%d,%d)) in the GPRS group,recordNumber=%d,Error Code(101)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,recordNumber); + logMessage(message); + printfInColor(message,1); + } + } + //check the BearerServiceCode + else if(tag == getTagByName("BearerServiceCode")) + { + //the length is not 2, syntax error, Error Code 102 + if(len != 2) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"102"); + sprintf(message,"The file=%s tag=%d(BearerServiceCode) has a syntax error(length out of(%d,%d)) in the %s group,Error Code(102)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,groupString); + logMessage(message); + printfInColor(message,1); + } + else + { + //the value is not 0x00,0x20,0x21,0x22,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x30,0x32,0x34,0x35 + //0x36,0x37,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x50,0x54,0x55,0x56,0x57,0x60,0x70,0x80,0x90,0xA0,0xB0,0xC0,0xD0 + //value out of range, Error Code 200 + for(i=0;ig_maxCallDuration) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"800"); + sprintf(message,"The file=%s tag=%d(CallEventDuration) is greater than the Required Timescale in the %s group,recordNumber=%d,Error Code(800)\n",fileName,tag,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + } + //printf("callDuration=%d\n",callDuration); + } + //check the CallEventsCount + else if(tag == getTagByName("CallEventsCount")) + { + + } + //check the CallEventStartTimeStamp + else if(tag == getTagByName("CallEventStartTimeStamp")) + { + //the length is not 14, syntax error, 20071212032323, Error Code 104 + if(len != 14) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"104"); + sprintf(message,"The file=%s tag=%d(CallEventStartTimeStamp) has a syntax error(length out of(%d,%d)) in the %s group,recordNumber=%d,Error Code(104)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + } + else + { + //the value is out of(0x30,0x39), value out of the range, Error Code 202 + for(i=0;i0x39 || value[i]<0x30) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"202"); + sprintf(message,"The file=%s tag=%d(CallEventStartTimeStamp) has a value out of range error in the %s group,recordNumber=%d,Error Code(202)\n",fileName,tag,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + break; + } + } + } + } + //check the CallingNumber + else if(tag == getTagByName("CallingNumber")) + { + + } + //check the CallReference + else if(tag == getTagByName("CallReference")) + { + + } + //check the CauseForTermination + else if(tag == getTagByName("CauseForTermination")) + { + //the value is not 0-5 in MOC/MTC or not 0, 4, 5, 16, 17, 18, 19, 20 and 21 in GPRS, Error Code 204 + if(groupType == 2 || groupType == 3) + { + if(value[0] > 5) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"204"); + sprintf(message,"The file=%s tag=%d(CauseForTermination) has a value out of range error(0,1,2,3,4,5) in the %s group,recordNumber=%d,Error Code(204)\n",fileName,tag,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + } + } + else if(groupType == 4) + { + if(!(value[0] == 0 || value[0] == 4 || value[0] == 5 || + value[0] == 16 || value[0] == 17 || value[0] == 18 || + value[0] == 19 || value[0] == 20 || value[0] == 21)) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"204"); + sprintf(message,"The file=%s tag=%d(CauseForTermination) has a value out of range error(0,4,5,16,17,18,19,20,21) in the %s group,recordNumber=%d,Error Code(204)\n",fileName,tag,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + } + } + } + //check the ChargeAmount + else if(tag == getTagByName("ChargeAmount")) + { + + } + //check the ChargingId + else if(tag == getTagByName("ChargingId")) + { + + } + //check the ConnectedNumber + else if(tag == getTagByName("ConnectedNumber")) + { + + } + //check the DataVolumeIncoming + else if(tag == getTagByName("DataVolumeIncoming")) + { + + } + //check the DataVolumeOutgoing + else if(tag == getTagByName("DataVolumeOutgoing")) + { + + } + //check the DialledDigits + else if(tag == getTagByName("DialledDigits")) + { + + } + //check the FileAvailableTimeStamp + else if(tag == getTagByName("FileAvailableTimeStamp")) + { + //the length is not 14, syntax error, 20071212032323, Error Code 113 + if(len != 14) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"113"); + sprintf(message,"The file=%s tag=%d(FileAvailableTimeStamp) has a syntax error(length out of(%d,%d)) in the %s group,recordNumber=%d,Error Code(113)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + } + else + { + //the value is out of(0x30,0x39), value out of the range, Error Code 210 + for(i=0;i0x39 || value[i]<0x30) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"210"); + sprintf(message,"The file=%s tag=%d(FileAvailableTimeStamp) has a value out of range error in the %s group,recordNumber=%d,Error Code(210)\n",fileName,tag,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + break; + } + } + } + } + //check the GgsnAddress + else if(tag == getTagByName("GgsnAddress")) + { + + } + //check the Imei + else if(tag == getTagByName("Imei")) + { + + } + //check the Imsi + else if(tag == getTagByName("Imsi")) + { + unsigned char headByte; + unsigned char tailByte; + char mcc_mnc[8]; + char mcc_mnc_value[8]; + int tmp; + + tmp=0; + //the value is not coded in BCD string, syntax error, Error Code 116 + for(i=0;i>= 4; + tailByte=value[i] & 0x0F; + if(headByte > 9 || tailByte > 9) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"116"); + sprintf(message,"The file=%s tag=%d(Imsi) has a syntax error in the %s group,recordNumber=%d,Error Code(116)\n",fileName,tag,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + break; + } + if(tmp<5) + { + mcc_mnc_value[tmp]=0x30+headByte; + tmp++; + } + if(tmp<5) + { + mcc_mnc_value[tmp]=0x30+tailByte; + tmp++; + } + } + + mcc_mnc_value[tmp]='\0'; + + //the length is not (3,8), value out of range error, Error Code 211 + if(len < 3 || len > 8) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"211"); + sprintf(message,"The file=%s tag=%d(Imsi) has a syntax error(length out of(%d,%d)) in the %s group,recordNumber=%d,Error Code(211)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + } + + //First characters are different from home operator's MCC+MNC, Error Code 801 + sprintf(mcc_mnc,"%s%s",g_local_mcc,g_local_mnc); + //printf("mcc_mnc=%s,mcc_mnc_value=%s\n",mcc_mnc,mcc_mnc_value); + if(strcmp(mcc_mnc_value,mcc_mnc) != 0) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"801"); + sprintf(message,"The file=%s tag=%d(Imsi) first characters are different from home operator MCC+MNC in the %s group,recordNumber=%d,Error Code(801)\n",fileName,tag,groupString,recordNumber); + logMessage(message); + printfInColor(message,1); + } + } + //check the RecEntityId + else if(tag == getTagByName("RecEntityId")) + { + + } + //check the Recipient + else if(tag == getTagByName("Recipient")) + { + //the length is not 5, syntax error, Error Code 117 + if(len != 5) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"117"); + sprintf(message,"The file=%s tag=%d(Recipient) has a syntax error(length out of(%d,%d)) in the %s group,Error Code(117)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,groupString); + logMessage(message); + printfInColor(message,1); + } + else + { + //The item does not match the Recipient on the file name, Error Code 402 + for(i=7;i<12;i++) + { + + if(fileName[i] != value[i-7]) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"402"); + sprintf(message,"The file=%s tag=%d(Recipient) does not match the Recipient on the file name in the %s group,Error Code(402)\n",fileName,tag,groupString); + logMessage(message); + printfInColor(message,1); + break; + } + } + } + } + //check the ReleaseVersionNumber + else if(tag == getTagByName("ReleaseVersionNumber")) + { + + } + //check the Sender + else if(tag == getTagByName("Sender")) + { + //the length is not 5, syntax error, Error Code 121 + if(len != 5) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"121"); + sprintf(message,"The file=%s tag=%d(Sender) has a syntax error(length out of(%d,%d)) in the %s group,Error Code(121)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,groupString); + logMessage(message); + printfInColor(message,1); + } + else + { + //The item does not match the Sender on the file name, Error Code 404 + for(i=2;i<7;i++) + { + + if(fileName[i] != value[i-2]) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"404"); + sprintf(message,"The file=%s tag=%d(Sender) does not match the Sender on the file name in the %s group,Error Code(404)\n",fileName,tag,groupString); + logMessage(message); + printfInColor(message,1); + break; + } + } + } + } + //check the SequenceNumber + else if(tag == getTagByName("SequenceNumber")) + { + //the length is not 7, syntax error, 0000001, Error Code 120 + if(len != 7) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"120"); + sprintf(message,"The file=%s tag=%d(SequenceNumber) has a syntax error(length out of(%d,%d)) in the %s group,Error Code(120)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,groupString); + logMessage(message); + printfInColor(message,1); + } + else + { + //the value is out of(0x30,0x39), value out of the range, Error Code 214 + for(i=0;i0x39 || value[i]<0x30) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"214"); + sprintf(message,"The file=%s tag=%d(SequenceNumber) has a value out of range error in the %s group,Error Code(214)\n",fileName,tag,groupString); + logMessage(message); + printfInColor(message,1); + break; + } + } + //the value does not match the SequenceNumber on the file name, Error Code 403 + + for(i=12;i<19;i++) + { + if(fileName[i] != value[i-12]) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"403"); + sprintf(message,"The file=%s tag=%d(SequenceNumber) does not match the SequenceNumber on the file name in the %s group,Error Code(403)\n",fileName,tag,groupString); + logMessage(message); + printfInColor(message,1); + break; + } + } + } + } + //check the SgsnAddress + else if(tag == getTagByName("SgsnAddress")) + { + + } + //check the SpecificationVersionNumber + else if(tag == getTagByName("SpecificationVersionNumber")) + { + + } + //check the SupplementaryServiceCode + else if(tag == getTagByName("SupplementaryServiceCode")) + { + //the length is not 2, syntax error, Error Code 125 + if(len != 2) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"125"); + sprintf(message,"The file=%s tag=%d(SupplementaryServiceCode) has a syntax error(length out of(%d,%d)) in the %s group,Error Code(125)\n",fileName,tag,tags[tag].minSize,tags[tag].maxSize,groupString); + logMessage(message); + printfInColor(message,1); + } + else + { + //the value is not 0x29,0x2A,0x2B, value out of range, Error Code 217 + for(i=0;i 0x39 || value[i] < 0x30) + { + if(groupType == 1) + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"220"); + sprintf(message,"The file=%s tag=%d(UtcTimeOffset) has a value out of range error in the %s group,Error Code(220)\n",fileName,tag,groupString); + } + else + { + addNENodeInDB(senderTadig,fileName,groupType,recordNumber,"219"); + sprintf(message,"The file=%s tag=%d(UtcTimeOffset) has a value out of range error in the %s group,Error Code(219)\n",fileName,tag,groupString); + } + logMessage(message); + printfInColor(message,1); + break; + } + } + + } + } + +} + diff --git a/src/accountMgr/c_program/nrtrde/encodeASN.c b/src/accountMgr/c_program/nrtrde/encodeASN.c new file mode 100644 index 0000000..bd9af0f --- /dev/null +++ b/src/accountMgr/c_program/nrtrde/encodeASN.c @@ -0,0 +1,1954 @@ +/************************************************* +File name: encodeASN.c +Author: JianHui Zheng +Version: 9:00:00 +Date: 2007-11-09 +Description:This file defines the encode function to generate NRTRDE files + before to send them to the remote HPMNs. + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include +#include +#include +#include "nrtrde.h" + +/******************************************************/ +/****** Function Declaration ******/ +/******************************************************/ +/******** From encodeASN.c *******/ +int makeNRFile(HpmnServer* server); +int hasCdrForServer(HpmnServer* server); +long codeNRCdrHead(int type,long byteCount,DataNode* pCdrTail); +long codeNRHCallEvents(long byteCount); +long codeNRHTime(long byteCount); +long codeNRHseqNumber(long byteCount,char* squenceNumber); +long codeNRHRecvSend(HpmnServer* server,long byteCount); +long codeNRHRVN(long byteCount); +long codeNRHSVN(long byteCount); +long codeNRHead(long byteCount); +int writeDataToFile(char* filename); +int codeInBCD(char* data,int len,int tag); +int codeInAscii(char* data,int len,int tag); +int codeInInteger(long data,int tag); +int freeData(void); + +/******** From nrtrde.c ********/ +extern void printfInColor(char *message,int color); +extern void printfHPMNServer(HpmnServer* server); +extern void logMessage(char *message); +//extern void getSequenceNumber(char* squenceNumber,int type); + +/******* From seq_num_mng.c *******/ +extern int add_seq_obj(seq_buffer *seq_buf,seq_object *add_obj); +extern unsigned long find_seq_obj(seq_buffer *seq_buf,char *keyvalue); +extern int get_seq_num(char *tadig,int type,char *out_seq); +extern int init_seq(); +extern int store_seq(); + +/******************************************************/ +/****** Variable Declaration ******/ +/******************************************************/ +/******** From nrtrde.c ********/ +/* The tag configuration */ +extern TagNode tags[50]; +/* The OMC_PUB database connection */ +extern MYSQL *g_omcPubConn; +/* The CDR_DB database connection */ +extern MYSQL *g_cdrConn; +/* The local UTC timeOffset */ +extern char g_local_utc[8]; +/* The tadig of local server */ +extern char LOCAL_TADIG[8]; +/* The source directory to send the file */ +extern char SEND_DIR[256]; +/* The directory to receive the file */ +extern char RECV_DIR[256]; +/* The backup directory */ +extern char NR_RECV_BAK_DIR[256]; +extern char NR_SEND_BAK_DIR[256]; +extern char ND_RECV_BAK_DIR[256]; +extern char ND_SEND_BAK_DIR[256]; +extern char NE_RECV_BAK_DIR[256]; +extern char NE_SEND_BAK_DIR[256]; +extern char LOCAL_CSV_DIR[256]; + +/* The version of the NRTRDE Delivery report */ +extern char ND_VERSION[8]; +/* The version of the NRTRDE Error report */ +extern char NE_VERSION[8]; +/* The specificationVersionNumber of the NRTRDE file */ +extern int NR_SVN; +/* The ReleaseVersionNumber of the NRTRDE file */ +extern int NR_RVN; + +/******* From encodeASN.c *******/ +/* Use to create NRTRDE file */ +DataNode* pHead=NULL; +DataNode* pTail=NULL; + + +/************************************************* +Function: // makeNRFile +Description: // Generate the NRTRDE file +Calls: // +Called By: // +Table Accessed: // cdrFromMSCSend +Table Updated: // cdrFromMSCSend +Input: // server:which server to generate NRTRDE file +Output: // +Return: // +Others: // +*************************************************/ +int makeNRFile(HpmnServer* server) +{ + MYSQL_RES *res; + MYSQL_ROW row; + char sqlstr[10240]; + char message[256]; + char command[256]; + char fileName[512]; + int recordType; + long byteCount; //The total count of NRTRDE file bytes + int cdrCount; //The total count of CDR + int cdrByteCount; //The total count of one CDR bytes + char tempstr[64]; + char value[64]; + char squenceNumber[8]; + int i,tempi,j,tempCount; + DataNode* pCdrTail; //The tail cdr pointer + long cdrInstanceNo[1024]; + char where[10240]; + long startTime; + long searchCdrCount=0; + + sprintf(sqlstr,"SELECT instance,recordType,mcc,mnc,servedIMSI,servedIMEI,seizureTime,callDuration,calledNumber,callingNumber,servedMSISDN,recordingEntity,basicService,supplServicesUsed,causeForTerm,callReference,serviceCentre,releaseTime FROM CDR_DB.cdrFromMSCSend where mcc='%s' and mnc='%s'", + server->mcc,server->mnc); + + res=mysql_getres(g_cdrConn,sqlstr); + if(res == NULL) + { + sprintf(message,"[ERR %d][makeNRFile]:%s\n",mysql_errno(g_cdrConn),sqlstr); + logMessage(message); + return FAIL; + } + + searchCdrCount=mysql_num_rows(res); + sprintf(message,"Left searchCdrCount=%ld\n",searchCdrCount); + printfInColor(message,3); + + //Select the cdr from cdrFromMSCSend + cdrCount=0; + startTime=time(NULL); + //while(hasCdrForServer(server)==1) + while(searchCdrCount) + { + byteCount=0; + cdrCount=0; + pCdrTail=NULL; + while((row = mysql_fetch_row(res)) != NULL) + { + //instanceNo + //printf("instance=%s\n",row[0]); + + cdrInstanceNo[cdrCount]=atol(row[0]); + //mcc + //printf("mcc=%s\n",row[2]); + //mnc + //printf("mnc=%s\n",row[3]); + //recordType + recordType=atoi(row[1]); + //store the last tail cdr pointer + if(cdrCount>0) + { + pCdrTail=pTail; + } + //MOC CDR + if(recordType == 0 || recordType == 6) + { + cdrByteCount=0; + //servedIMSI BCDString + if(row[4] != NULL && strlen(row[4])>0) + { + cdrByteCount+=codeInBCD(row[4],strlen(row[4]),34); + } + + //servedIMEI DCDString + if(row[5] != NULL && strlen(row[5])>0) + { + cdrByteCount+=codeInBCD(row[5],strlen(row[5]),33); + } + + //seizureTime ASCII String, get rid of the '-' ' ' ':' from the string + if(recordType == 0) + { + if(row[6] != NULL && strlen(row[6])>0) + { + sprintf(tempstr,"%s",row[6]); + tempi=0; + for(i=0;i0) + { + sprintf(tempstr,"%s",row[17]); + tempi=0; + for(i=0;i0) + { + cdrByteCount+=codeInAscii(g_local_utc,strlen(g_local_utc),45); + } + + //callDuration Integer + if(recordType == 0) + { + if(row[7] != NULL && strlen(row[7])>0) + { + cdrByteCount+=codeInInteger(atol(row[7]),19); + } + } + else if(recordType == 6) + { + cdrByteCount+=codeInInteger(0,19); + } + + //causeForTerm + if(recordType == 0) + { + if(row[14] != NULL && strlen(row[14])>0) + { + cdrByteCount+=codeInInteger(atol(row[14]),24); + } + } + else if(recordType == 6) + { + if(row[14] != NULL && strlen(row[14])>0) + { + cdrByteCount+=codeInInteger(atol(row[14]),24); + } + else + { + cdrByteCount+=codeInInteger(0,24); + } + } + + //basicService + if(recordType == 0) + { + if(row[12] != NULL && strlen(row[12])>0) + { + cdrByteCount+=codeInAscii(row[12],strlen(row[12]),43); + } + } + else if(recordType == 6) + { + cdrByteCount+=codeInAscii("22",2,43); + } + + //supplServicesUsed,the value must be 29,2A,2B + if(row[13] == NULL || strcmp(row[13],"0") == 0 || strlen(row[13]) <= 0) + { + //no need to code supplServicesUsed + //printf("supplServicesUsed is zero or null\n"); + ; + } + else + { + sprintf(value,"%02x",atoi(row[13])); + //printf("supplServicesUsed=%s\n",value); + cdrByteCount+=codeInAscii(value,strlen(value),42); + + } + + //calledNumber(dialledDigits) ASCII String + if(row[8] != NULL && strlen(row[8])>0) + { + cdrByteCount+=codeInAscii(row[8],strlen(row[8]),30); + } + + //connectedNumber ASCII String,if the dialledDigits start with '00' then discard it + //msc mo + if(recordType == 0) + { + if(row[8] != NULL && strlen(row[8])>0) + { + char connectedNumber[128]; + int result; + //printf("pre-callednumber=%s\n",row[8]); + result=msisdnUnkToInt(row[8],connectedNumber); + //printf("aft-connectedNumber=%s,result=%d\n",connectedNumber,result); + /* + sprintf(tempstr,"%s",row[8]); + //printf("dialledDigits=%s\n",tempstr); + + if(tempstr[0] == 0x30 && tempstr[1] == 0x30) + { + sprintf(connectedNumber,"%s",&tempstr[2]); + } + else + { + sprintf(connectedNumber,"%s",tempstr); + } + */ + //printf("connectedNumber=%s\n",connectedNumber); + cdrByteCount+=codeInAscii(connectedNumber,strlen(connectedNumber),27); + + } + } + //sms mo + else if(recordType == 6) + { + //connectedNumber==serviceCentre + if(row[16] != NULL && strlen(row[16])>0) + { + cdrByteCount+=codeInAscii(row[16],strlen(row[16]),27); + } + } + + //servedMSISDN(ThirdPartyNumber),only when supplServicesUsed=0x21,0x29,0x2A,0x2B + if(row[13] != NULL && strlen(row[13])>0) + { + if(strcmp(value,"21") == 0 || strcmp(value,"29") == 0 || + strcmp(value,"2A") == 0 || strcmp(value,"2B") == 0) + { + if(row[10] != NULL && strlen(row[10])>0) + { + cdrByteCount+=codeInAscii(row[10],strlen(row[10]),44); + } + } + } + + //recordingEntity + if(row[11] != NULL && strlen(row[11])>0) + { + cdrByteCount+=codeInAscii(row[11],strlen(row[11]),35); + } + + //callReference + if(row[15] != NULL && strlen(row[15])>0) + { + cdrByteCount+=codeInInteger(atol(row[15]),23); + } + + + //code the moc cdr header + byteCount+=codeNRCdrHead(0,cdrByteCount,pCdrTail); + + cdrCount++; + } + //MTC CDR + else if(recordType == 1 || recordType == 7) + { + cdrByteCount=0; + + //servedIMSI BCDString + if(row[4] != NULL && strlen(row[4])>0) + { + cdrByteCount+=codeInBCD(row[4],strlen(row[4]),34); + } + + //servedIMEI BCDString + if(row[5] != NULL && strlen(row[5])>0) + { + cdrByteCount+=codeInBCD(row[5],strlen(row[5]),33); + } + + //seizureTime ASCII String, get rid of the '-' ' ' ':' from the string + if(recordType == 1) + { + if(row[6] != NULL && strlen(row[6])>0) + { + sprintf(tempstr,"%s",row[6]); + tempi=0; + for(i=0;i0) + { + sprintf(tempstr,"%s",row[17]); + tempi=0; + for(i=0;i0) + { + cdrByteCount+=codeInAscii(g_local_utc,strlen(g_local_utc),45); + } + + //callDuration Integer + if(recordType == 1) + { + if(row[7] != NULL && strlen(row[7])>0) + { + cdrByteCount+=codeInInteger(atol(row[7]),19); + } + } + else if(recordType == 7) + { + cdrByteCount+=codeInInteger(0,19); + } + + //causeForTerm + if(recordType == 1) + { + if(row[14] != NULL && strlen(row[14])>0) + { + cdrByteCount+=codeInInteger(atol(row[14]),24); + } + } + else if(recordType == 7) + { + if(row[14] != NULL && strlen(row[14])>0) + { + cdrByteCount+=codeInInteger(atol(row[14]),24); + } + else + { + cdrByteCount+=codeInInteger(0,24); + } + } + + //basicService + if(recordType == 1) + { + if(row[12] != NULL && strlen(row[12])>0) + { + cdrByteCount+=codeInAscii(row[12],strlen(row[12]),43); + } + } + else if(recordType == 7) + { + cdrByteCount+=codeInAscii("21",2,43); + } + + //callingNumber + //msc mt + if(recordType == 1) + { + if(row[9] != NULL && strlen(row[9])>0) + { + cdrByteCount+=codeInAscii(row[9],strlen(row[9]),22); + } + } + //sms mt,callingNumber==serviceCentre + else if(recordType == 7) + { + if(row[16] != NULL && strlen(row[16])>0) + { + cdrByteCount+=codeInAscii(row[16],strlen(row[16]),22); + } + } + + //recordingEntity + if(row[11] != NULL && strlen(row[11])>0) + { + cdrByteCount+=codeInAscii(row[11],strlen(row[11]),35); + } + + + + //callReference + if(row[15] != NULL && strlen(row[15])>0) + { + cdrByteCount+=codeInInteger(atol(row[15]),23); + } + + + + //code the MTC cdr header + byteCount+=codeNRCdrHead(1,cdrByteCount,pCdrTail); + cdrCount++; + } + + searchCdrCount--; + if(cdrCount >= 1000 ||cdrCount == 0) + break; + + } + if(cdrCount>0) + { + //get the SequenceNumber of the NRTRDE file + //getSequenceNumber(squenceNumber,0); + get_seq_num(server->tadig,0,squenceNumber); + + byteCount=codeNRHCallEvents(byteCount); + byteCount=codeNRHTime(byteCount); + byteCount=codeNRHseqNumber(byteCount,squenceNumber); + byteCount=codeNRHRecvSend(server,byteCount); + byteCount=codeNRHRVN(byteCount); + byteCount=codeNRHSVN(byteCount); + //code the CallEventsCount + byteCount+=codeInInteger(cdrCount,20); + byteCount=codeNRHead(byteCount); + + + sprintf(fileName,"./NR%s%s%s",LOCAL_TADIG,server->tadig,squenceNumber); + writeDataToFile(fileName); + + sprintf(message,"Generate the NRTRDE file=%s size=%ld byte(s),CDR count=%d\n",fileName,byteCount,cdrCount); + logMessage(message); + printfInColor(message,5); + + //send the NRTRDE file to the send directory for sending + sprintf(command,"mv %s %s",fileName,SEND_DIR); + system(command); + + sprintf(message,"Backup the NRTRDE file=%s in %s\n",fileName,NR_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,5); + + //clear the CDRs which have been got + tempCount=cdrCount/100; + if(cdrCount%100 != 0) + tempCount++; + for(i=0;idata); + temp=temp->next; + }while(temp != NULL); + printf("\n--------------------End data-------------------\n"); +} +#endif +*/ + //Free the data link + freeData(); + } + sprintf(message,"generate file cost time=%ld\n",time(NULL)-startTime); + printfInColor(message,4); + if(cdrCount == 0) + { + sprintf(message,"But there is no roaming CDRs in the database\n"); + logMessage(message); + printfInColor(message,6); + } + + mysql_free_result(res); + return SUCCESSFUL; +} + +/************************************************* +Function: // codeNRCdrHead +Description: // Code the MOC or MTC cdr header +Calls: // +Called By: // makeNRFile +Table Accessed: // +Table Updated: // +Input: // type:0-MOC,1-MTC; byteCount:the total byte count; +Output: // +Return: // the total byte count now +Others: // This is function will change the value 'pHead' and 'pTail' +*************************************************/ +long codeNRCdrHead(int type,long byteCount,DataNode* pCdrTail) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + unsigned char value; + unsigned char lenByteCount; + unsigned char vData[16]; + long temp; + int i; + + //MOC tag=3, MTC tag=4 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + if(type) + value=0x64; + else + value=0x63; + node->data=value; + node->next=NULL; + pH=node; + pT=node; + + + if(byteCount < 128) + { + + //length + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0xFF & byteCount; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + byteCount+=1+1; + + } + else + { + lenByteCount=0; + temp=byteCount; + do + { + if(temp > 0) + { + vData[lenByteCount]=(unsigned char)(temp & 0xFF); + lenByteCount++; + temp >>= 8; + } + else + break; + }while(1); + //printf("lenByteCount=%d\n",lenByteCount); + //length-1 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x80 | lenByteCount; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //length-2 + for(i=lenByteCount-1;i>=0;i--) + { + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=vData[i]; + node->next=NULL; + pT->next=node; + pT=node; + } + byteCount+=2+lenByteCount; + + } + + + //link the data to pHead + if(pCdrTail == NULL) + { + pT->next=pHead; + pHead=pH; + } + //link the data after the last cdr tail + else + { + pT->next=pCdrTail->next; + pCdrTail->next=pH; + } + + return byteCount; +} + +/************************************************* +Function: // codeNRHCallEvents +Description: // Code the callEvents of the NRTRDE file header +Calls: // +Called By: // makeNRFile; +Table Accessed: // +Table Updated: // +Input: // byteCount:the total byte count; +Output: // +Return: // the total byte count now +Others: // This is function will change the value 'pHead' and 'pTail' +*************************************************/ +long codeNRHCallEvents(long byteCount) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + unsigned char value; + unsigned char lenByteCount; + unsigned char vData[16]; + long temp; + int i; + + //tag=2 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x62; + node->data=value; + node->next=NULL; + pH=node; + pT=node; + + + if(byteCount < 128) + { + + //length + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0xFF & byteCount; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + byteCount+=1+1; + + } + else + { + lenByteCount=0; + temp=byteCount; + do + { + if(temp > 0) + { + vData[lenByteCount]=(unsigned char)(temp & 0xFF); + lenByteCount++; + temp >>= 8; + } + else + break; + }while(1); + //printf("lenByteCount=%d\n",lenByteCount); + //length-1 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x80 | lenByteCount; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //length-2 + for(i=lenByteCount-1;i>=0;i--) + { + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=vData[i]; + node->next=NULL; + pT->next=node; + pT=node; + } + byteCount+=2+lenByteCount; + + } + + + + //link the data the pHead + pT->next=pHead; + pHead=pH; + + return byteCount; +} + +/************************************************* +Function: // codeNRHTime +Description: // Code the fileAvailableTimeStamp and UTCTimeOffset + of the NRTRDE file header +Calls: // +Called By: // makeNRFile; +Table Accessed: // +Table Updated: // +Input: // byteCount:the total byte count; +Output: // +Return: // the total byte count now +Others: // This is function will change the value 'pHead' and 'pTail' +*************************************************/ +long codeNRHTime(long byteCount) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + unsigned char value; + struct tm *now; + time_t t; + char timestr[64]; + int i; + + //fileAvailableTimeStamp + //tag=31 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x5F; + node->data=value; + node->next=NULL; + pH=pT=node; + + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x1F; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //length,the value is constant=0x0E + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x0E; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //value + t=time(NULL); + now=localtime(&t); + sprintf(timestr,"%04d%02d%02d%02d%02d%02d", + now->tm_year+1900, + now->tm_mon+1, + now->tm_mday, + now->tm_hour, + now->tm_min, + now->tm_sec); + + for(i=0;idata=value; + node->next=NULL; + pT->next=node; + pT=node; + } + byteCount+=2+1+strlen(timestr); + + //UTCTimeOffset + //tag=45 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x5F; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x2D; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //length=5 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x05; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //value + for(i=0;idata=value; + node->next=NULL; + pT->next=node; + pT=node; + } + + byteCount+=2+1+strlen(g_local_utc); + + //link the data the pHead + pT->next=pHead; + pHead=pH; + + return byteCount; +} + +/************************************************* +Function: // codeNRHseqNumber +Description: // Code the sequenceNumber of the NRTRDE file header +Calls: // +Called By: // makeNRFile; +Table Accessed: // +Table Updated: // +Input: // byteCount:the total byte count; squenceNumber:squenceNumber of the NRTRDE file +Output: // +Return: // the total byte count now +Others: // This is function will change the value 'pHead' and 'pTail' +*************************************************/ +long codeNRHseqNumber(long byteCount,char* squenceNumber) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + unsigned char value; + int i; + + //printf("NR squenceNumber=%s\n",squenceNumber); + //tag=39 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x5F; + node->data=value; + node->next=NULL; + pH=pT=node; + + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x27; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //length=7,constant + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x07; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //value + for(i=0;idata=value; + node->next=NULL; + pT->next=node; + pT=node; + } + + //link the data to the pHead + pT->next=pHead; + pHead=pH; + + i=2+1+strlen(squenceNumber); + byteCount+=2+1+strlen(squenceNumber); + + return byteCount; +} + +/************************************************* +Function: // codeNRHRecvSend +Description: // Code the Sender and Recipient of the NRTRDE file header +Calls: // +Called By: // makeNRFile; +Table Accessed: // +Table Updated: // +Input: // byteCount:the total byte count; +Output: // +Return: // the total byte count now +Others: // This is function will change the value 'pHead' and 'pTail' +*************************************************/ +long codeNRHRecvSend(HpmnServer* server,long byteCount) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + unsigned char value; + char sender[8]; + int i; + + //Sender + //tag=38 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x5F; + node->data=value; + node->next=NULL; + pH=pT=node; + + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x26; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //length=5,constant + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x05; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //value + sprintf(sender,"%s",LOCAL_TADIG); + for(i=0;idata=value; + node->next=NULL; + pT->next=node; + pT=node; + } + + //Recipient + //tag=36 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x5F; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x24; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //length=5,constant + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x05; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //value + for(i=0;itadig);i++) + { + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=(unsigned char)(server->tadig[i]); + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + } + + //link the data the pHead + pT->next=pHead; + pHead=pH; + + byteCount+=16; + + return byteCount; +} + + +/************************************************* +Function: // codeNRHRVN +Description: // Code the ReleaseVersionNumber of the NRTRDE file header +Calls: // +Called By: // makeNRFile; +Table Accessed: // +Table Updated: // +Input: // byteCount:the total byte count; +Output: // +Return: // the total byte count now +Others: // This is function will change the value 'pHead' and 'pTail' +*************************************************/ +long codeNRHRVN(long byteCount) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + unsigned char value; + + //tag=37 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x5F; + node->data=value; + node->next=NULL; + pH=pT=node; + + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x25; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //length=1,constant + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x01; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //value=0x01 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0xFF & NR_RVN; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //link the data the pHead + pT->next=pHead; + pHead=pH; + + byteCount+=4; + + + return byteCount; +} + +/************************************************* +Function: // codeNRHSVN +Description: // Code the specificationVersionNumber of the NRTRDE file header +Calls: // +Called By: // makeNRFile; +Table Accessed: // +Table Updated: // +Input: // byteCount:the total byte count; +Output: // +Return: // the total byte count now +Others: // This is function will change the value 'pHead' and 'pTail' +*************************************************/ +long codeNRHSVN(long byteCount) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + unsigned char value; + + //tag=41 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x5F; + node->data=value; + node->next=NULL; + pH=pT=node; + + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x29; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //length=1,constant + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0x01; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //value=0x02 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + value=0xFF & NR_SVN; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + //link the data the pHead + pT->next=pHead; + pHead=pH; + + byteCount+=4; + + return byteCount; +} + +/************************************************* +Function: // codeNRHead +Description: // Code the NRTRDE file head +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // byteCount:the callEvents byte count; +Output: // +Return: // the total byte count now +Others: // This is function will change the value 'pHead' and 'pTail' +*************************************************/ +long codeNRHead(long byteCount) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + unsigned char value; + unsigned char lenByteCount; + unsigned char vData[16]; + long temp; + int i; + + //nrtrde + //tag=1 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return FAIL; + value=0x61; + node->data=value; + node->next=NULL; + pH=node; + pT=node; + + + + + if(byteCount < 128) + { + + //length + node=malloc(sizeof(DataNode)); + if(node == NULL) + return FAIL; + value=0xFF & byteCount; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + byteCount+=2; + + } + else + { + lenByteCount=0; + temp=byteCount; + do + { + if(temp > 0) + { + vData[lenByteCount]=(unsigned char)(temp & 0xFF); + lenByteCount++; + temp >>= 8; + } + else + break; + }while(1); + //printf("lenByteCount=%d\n",lenByteCount); + //length-1 + node=malloc(sizeof(DataNode)); + if(node == NULL) + return FAIL; + value=0x80 | lenByteCount; + node->data=value; + node->next=NULL; + pT->next=node; + pT=node; + + byteCount+=2; + + //length-2 + for(i=lenByteCount-1;i>=0;i--) + { + node=malloc(sizeof(DataNode)); + if(node == NULL) + return FAIL; + node->data=vData[i]; + node->next=NULL; + pT->next=node; + pT=node; + byteCount+=1; + } + } + + + //link the data the pHead + pT->next=pHead; + pHead=pH; + + return byteCount; +} + +/************************************************* +Function: // freeData +Description: // To free the resource of the link +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 0;failed; 1:successful +Others: // Use for creating NRTRDE file, change the value 'pHead' and 'pTail' +*************************************************/ +int freeData() +{ + DataNode* node; + DataNode* temp; + + node=pHead; + while(node != NULL) + { + temp=node->next; + //printf("free %d\n",node->data); + //free(node->next); + free(node); + node=temp; + } + pHead=NULL; + pTail=NULL; + return SUCCESSFUL; +} + +/************************************************* +Function: // writeDataToFile +Description: // Write the link data to the specific file +Calls: // +Called By: // makeNRFile; +Table Accessed: // +Table Updated: // +Input: // filename:the specific file to write +Output: // +Return: // 0:failed; 1:successful; +Others: // Use for creating NRTRDE file, use the value 'pHead' and 'pTail' +*************************************************/ +int writeDataToFile(char* filename) +{ + DataNode* node; + FILE* fp; + int fi; + + node=pHead; + if(node) + { + fp=fopen(filename,"wb+"); + fi=fileno(fp); + do + { + write(fi,&node->data,1); + //printf("%d\n",temp->data); + node=node->next; + }while(node != NULL); + close(fi); + fclose(fp); + return SUCCESSFUL; + } + else + { + return FAIL; + } +} + +/************************************************* +Function: // codeInBCD +Description: // Code the data to BSD string +Calls: // +Called By: // makeNRFile +Table Accessed: // +Table Updated: // +Input: // data:the data to code; len:the length of the data; tag:the tag value +Output: // +Return: // The count of the result byte +Others: // This function will change the value 'pHead' and 'pTail' +*************************************************/ +int codeInBCD(char* data,int len,int tag) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + int vLen; + int tLen; + int lLen; + unsigned char value; + int i,a,b; + + //code the tag + tLen=0; + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + + + value=0x00; + //If the tag is struct, the 2th bit is 1, else is 0, the tag is application + if(tags[tag].isStructed) + { + value |= 0x60; + } + else + { + value |= 0x40; + } + + //If the tag value is small then 31, the tag byte count is 1, else is 2 + if(tag < 31) + { + value |= tag; + node->data=value; + node->next=NULL; + pH=pT=node; + + tLen=1; + } + else + { + value |= 0x1F; + node->data=value; + node->next=NULL; + pH=pT=node; + + value=(unsigned char)(tag & 0xFF); + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + pT->next=node; + pT=node; + node->next=NULL; + + tLen=2; + } + + //code the length + vLen=(int)((len+1)/2); + lLen=0; + //If the result data length is small then 128 + if(vLen < 128) + { + value=(unsigned char)(vLen & 0xFF); + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + pT->next=node; + pT=node; + node->next=NULL; + + lLen=1; + } + else + { + //The data length will be smaller then 128 in this program + ; + } + + //code the value + value=0; + for(i=0;idata=value; + pT->next=node; + pT=node; + node->next=NULL; + //printf("code=%02x\n",temp); + } + if(i%2 && i!=0) + { + value=(unsigned char)(value & 0xFF); + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + pT->next=node; + pT=node; + node->next=NULL; + + value=0; + } + } + + //link the TLV to the pTail + if(pHead == NULL || pTail == NULL) + { + pHead=pH; + pTail=pT; + } + else + { + pTail->next=pH; + pTail=pT; + } + + return vLen+tLen+lLen; +} + +/************************************************* +Function: // codeInAscii +Description: // Code the data to ASCII string +Calls: // +Called By: // makeNRFile +Table Accessed: // +Table Updated: // +Input: // data:the data to code; len:the length of the data; tag:the tag value +Output: // +Return: // The count of the result byte +Others: // This function will change the value 'pHead' and 'pTail' +*************************************************/ +int codeInAscii(char* data,int len,int tag) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + int tLen; + int lLen; + unsigned char value; + int i; + + //code the tag + tLen=0; + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + + value=0x00; + //If the tag is struct, the 2th bit is 1, else is 0, the tag is application + if(tags[tag].isStructed) + { + value |= 0x60; + } + else + { + value |= 0x40; + } + + //If the tag value is small then 31, the tag byte count is 1, else is 2 + if(tag < 31) + { + value |= tag; + node->data=value; + node->next=NULL; + pH=pT=node; + + tLen=1; + } + else + { + value |= 0x1F; + node->data=value; + node->next=NULL; + pH=pT=node; + + value=(unsigned char)(tag & 0xFF); + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + pT->next=node; + pT=node; + node->next=NULL; + + tLen=2; + } + + //code the length + lLen=0; + //If the data length is small then 128 + if(len < 128) + { + value=(unsigned char)(len & 0xFF); + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + pT->next=node; + pT=node; + node->next=NULL; + + lLen=1; + } + else + { + //The data length will be smaller then 128 in this program + ; + } + + //code the value + for(i=0;idata=value; + pT->next=node; + pT=node; + node->next=NULL; + } + + //if the tag=43(TeleServiceCode),it must be surrounded by the serverCode choice,tag=46(7f 2e 05) + if(tag == 43) + { + value=0x05; + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + node->next=pH; + pH=node; + + value=0x2E; + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + node->next=pH; + pH=node; + + value=0x7F; + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + node->next=pH; + pH=node; + + tLen=tLen+3; + + } + + //link the TLV to the pTail + if(pHead == NULL || pTail == NULL) + { + pHead=pH; + pTail=pT; + } + else + { + pTail->next=pH; + pTail=pT; + } + + return len+tLen+lLen; +} + +/************************************************* +Function: // codeInInteger +Description: // Code the data to Integer +Calls: // +Called By: // makeNRFile +Table Accessed: // +Table Updated: // +Input: // data:the data to code; tag:the tag value; +Output: // +Return: // The count of the result byte +Others: // This function will change the value 'pHead' and 'pTail' +*************************************************/ +int codeInInteger(long data,int tag) +{ + DataNode* pH; + DataNode* pT; + DataNode* node; + int tLen; + int lLen; + int vLen; + unsigned char value; + int i; + int addZeroByte; + unsigned char vData[16]; + long tmpData; + + //code the tag + tLen=0; + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + + value=0x00; + //If the tag is struct, the 2th bit is 1, else is 0, the tag is application + if(tags[tag].isStructed) + { + value |= 0x60; + } + else + { + value |= 0x40; + } + + //If the tag value is small then 31, the tag byte count is 1, else is 2 + if(tag < 31) + { + value |= tag; + node->data=value; + node->next=NULL; + pH=pT=node; + + tLen=1; + } + else + { + value |= 0x1F; + node->data=value; + node->next=NULL; + pH=pT=node; + + value=(unsigned char)(tag & 0xFF); + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + pT->next=node; + pT=node; + node->next=NULL; + + tLen=2; + } + + //code the length + vLen=0; + memset(vData,0,16*sizeof(unsigned char)); + tmpData=data; + do + { + if(tmpData) + { + vData[vLen]=(unsigned char)(tmpData & 0xFF); + //printf("vData[%d]=%d\n",vLen,vData[vLen]); + vLen++; + } + else + { + break; + } + tmpData=tmpData >> 8; + }while(1); + + //get the 8th bit of the highest byte + tmpData=data; + for(i=0;i> 8; + } + //If the bit is 1, then must add 0x00 to the lLen + addZeroByte=0; + if(tmpData & 0x80) + { + vLen++; + addZeroByte=1; + } + if(data == 0) + { + vLen=1; + } + + lLen=0; + //If the data length is small then 128 + if(vLen < 128) + { + value=(unsigned char)(vLen & 0xFF); + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + pT->next=node; + pT=node; + node->next=NULL; + + lLen=1; + } + else + { + //The data length will be smaller then 128 in this program + ; + } + + //code the value + if(addZeroByte || data == 0) + { + value=0x00; + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + pT->next=node; + pT=node; + node->next=NULL; + } + + //printf("vLen=%d,addZeroByte=%d\n",vLen,addZeroByte); + if(data > 0) + { + for(i=vLen-1-addZeroByte;i>=0;i--) + { + //printf("byte-%d=%d\n",i,vData[i]); + value=vData[i]; + node=malloc(sizeof(DataNode)); + if(node == NULL) + return 0; + node->data=value; + pT->next=node; + pT=node; + node->next=NULL; + } + } + + //link the TLV to the pTail + if(pHead == NULL || pTail == NULL) + { + pHead=pH; + pTail=pT; + } + else + { + pTail->next=pH; + pTail=pT; + } + + + return lLen+vLen+tLen; +} + +/************************************************* +Function: // hasCdrForServer +Description: // Check whether there have CDRs for the server in cdrFromMSCSend table +Calls: // +Called By: // makeNRFile +Table Accessed: // CDR_DB.cdrFromMSCSend +Table Updated: // +Input: // server:which server to check +Output: // +Return: // 1-there have CDRs, 0-no CDRs +Others: // +*************************************************/ +int hasCdrForServer(HpmnServer* server) +{ + MYSQL_RES *res; + char sqlstr[256]; + char message[256]; + int cdrCount; + + + + sprintf(sqlstr,"SELECT * FROM cdrFromMSCSend WHERE mcc='%s' and mnc='%s' ", + server->mcc,server->mnc); + + res=mysql_getres(g_cdrConn,sqlstr); + if(res == NULL) + { + sprintf(message,"[ERR %d][hasCdrForServer]:%s\n",mysql_errno(g_cdrConn),sqlstr); + logMessage(message); + return FAIL; + } + + cdrCount=0; + cdrCount=mysql_num_rows(res); + mysql_free_result(res); + + if(cdrCount) + return 1; + else + return 0; +} diff --git a/src/accountMgr/c_program/nrtrde/init b/src/accountMgr/c_program/nrtrde/init new file mode 100644 index 0000000..b909763 --- /dev/null +++ b/src/accountMgr/c_program/nrtrde/init @@ -0,0 +1,19 @@ +#!/bin/bash + + +rm -rf *.log +rm -rf *.txt + +rm -rf ./NR_SEND_BAK/ +rm -rf ./NR_RECV_BAK/ + +rm -rf ./ND_SEND_BAK/ +rm -rf ./ND_RECV_BAK/ + +rm -rf ./NE_SEND_BAK/ +rm -rf ./NE_RECV_BAK/ +rm -rf ./LOCAL_CSV/ + +rm -rf ./SEND/ + +rm -rf ./RECV/ diff --git a/src/accountMgr/c_program/nrtrde/nrtrde.c b/src/accountMgr/c_program/nrtrde/nrtrde.c new file mode 100644 index 0000000..b5a05b6 --- /dev/null +++ b/src/accountMgr/c_program/nrtrde/nrtrde.c @@ -0,0 +1,2139 @@ +/************************************************* +File name: nrtrde.c +Author: JianHui Zheng +Version: 9:00:00 +Date: 2007-11-09 +Description:The application file about nrtrde.When the time slot is reached,it + generate the NRTRDE files in ASN format.Then it sends NRTRDE files + to the remote HPMNs and receives NRTDE files from the HPMNs. + + When it receives the NRTRDE files from HPMNs,it will generate the + NRTRDE File Delivery Report and NRTRDE Error Report if necessary. + Then it sends the reports to the remote HPMNs. + + It also receives reports from the remote HPMNs and backups them. + + Note:(1)This version not supports the GPRS CDR. + (2)When send files to the remote servers,it uses SFTP protocol. + (3)It supports 100 HPMNs. + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include +#include +#include +#include "nrtrde.h" + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,10}; +int PROC_HEARTBEAT_OIDLEN=11; + +/******************************************************/ +/****** Function Declaration ******/ +/******************************************************/ +/******* From conv_prefix.c ******/ +extern int readConvPrefixConf(); + +/******* From decodeASN.c *******/ +extern int parseAsnFile(char *fileName); +extern void makeNEFile(void); + +/******* From encodeASN.c *******/ +extern int hasCdrForServer(HpmnServer* server); +extern int makeNRFile(HpmnServer* server); + +/******* From seq_num_mng.c *******/ +extern seq_buffer seq_buf; +extern int add_seq_obj(seq_buffer *seq_buf,seq_object *add_obj); +extern unsigned long find_seq_obj(seq_buffer *seq_buf,char *keyvalue); +extern int get_seq_num(char *tadig,int type,char *out_seq); +extern int init_seq(); +extern int store_seq(); + +/******* From nrtrde.c ********/ +void nrtrdeInit(void); + +int getLocalUTCTimeOffset(char *timeOffset); +int hpmnServersInfoUpdate(void); +void checkBackupFile(char* directory); +void checkToRecv(void); +int initDatabase(void); +void initDirectory(void); +int initTagConf(void); +int initNRConf(void); +//void getLastSquence(void); +void logMessage(const char *fmt,...); +int isHour(int hour); +int getDate(int flag); +//void getSequenceNumber(char* squenceNumber,int type); +int getTagByName(char* name); +//2009-06-10 +int sendHeartbeat(); + + +/* Use for creating delivery reports */ +void makeNDFile(void); +int addNDNode(char* tadig,char* fileName); +int addNDNodeInDB(char* tadig,char* fileName); + +static struct itimerval itimer, old_itimer; +static void On_Timer(); +static void SetTimer(); + +/******************************************************/ +/****** For Test ******/ +/******************************************************/ +void printfInColor(char *message,int color); +void printfHPMNServer(HpmnServer* server); + +/******************************************************/ +/****** Public Parameter Declaration ******/ +/******************************************************/ +/* The hpmn servers info will be updated every minute */ +int g_hpmn_update_timeout; + +/* The total count of hpmn servers in the hpmnConf table */ +int g_hpmn_server_count; + +/* The OMC_PUB database connection */ +MYSQL *g_omcPubConn; + +/* The CDR_DB database connection */ +MYSQL *g_cdrConn; + +/* The local UTC timeOffset */ +char g_local_utc[8]; + +/* The local MCC */ +char g_local_mcc[6]; + +/* The local MNC */ +char g_local_mnc[6]; + +/* The max value of the CallEventDuration */ +int g_maxCallDuration; + +/* The tadig of local server */ +char LOCAL_TADIG[8]; + +/* The time to make NRTRDE Delivery Report and Error Report (Hour) */ +int MAKE_REPORT_TIME; + +/* The version of the NRTRDE Delivery report */ +char ND_VERSION[8]; +/* The version of the NRTRDE Error report */ +char NE_VERSION[8]; +/* The specificationVersionNumber of the NRTRDE file */ +int NR_SVN; +/* The ReleaseVersionNumber of the NRTRDE file */ +int NR_RVN; + +/* The source directory to send the file */ +char SEND_DIR[256]; +/* The directory to receive the file */ +char RECV_DIR[256]; + +/* The backup directory */ +char NR_RECV_BAK_DIR[256]; +char NR_SEND_BAK_DIR[256]; +char ND_RECV_BAK_DIR[256]; +char ND_SEND_BAK_DIR[256]; +char NE_RECV_BAK_DIR[256]; +char NE_SEND_BAK_DIR[256]; +char LOCAL_CSV_DIR[256]; + + +/* The hpmn servers array, now suport 100 servers */ +HpmnServer servers[HPMN_SERVER_COUNT]; + +/* The information of tag */ +TagNode tags[50]; + +/* The date of make report last time */ +int g_next_date_mk_rep; + +/* The Sequence Number of the NRTRDE file */ +//long g_nr_squence_number; +//long g_nd_squence_number; +//long g_ne_squence_number; + + +/* Use to create NRTRDE Delivery report */ +NDRepNode* pNDHead=NULL; +NDRepNode* pNDTail=NULL; + + +/* Use to check the receive files */ +long recvfileSize; +char recvFileName[512]="NoFile"; + +/************************************************* +Function: // sendHeartbeat +Description: // Send process heartbeat to beatProc +Calls: // snmp_send +Called By: // on_Timer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK; 0:Fail +Others: // +*************************************************/ +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"nrtrde"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + logMessage("Send heartbeat fail"); + return 0; + } + return 1; +} + + +/************************************************* +Function: // main +Description: // The main function of the module +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int main(int argc, char *argv[]) +{ + pid_t pid; + + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } + + nrtrdeInit(); + + SetTimer(); + while (1) { + usleep(50); + } + return 1; +} + +#define TEST_CDR_DECODE 0 +int test_func() +{ +#if TEST_CDR_DECODE == 1 + BYTE msg[1024]; + unsigned long msglen; + int pos=0; + char strmsg[2048]; + int len,i; + int high,low; + ASN_BUF asn_buf; + int errpos; + unsigned int tempint; + + sprintf(strmsg,"A081A18001008309916857950063F700008409916857950063F70000890A916857950210F2FFFFFF9608100701010355000897081007010103550008980810070101044900089904000000369E01909F230E3135352E3232362E3230322E37359F240E3135352E3232362E3230322E34359F250F3235352E3235352E3235352E3235359F2604000000139F8100018E9F810104000000029F81020400000F379F81030100"); + len=strlen(strmsg)/2; + for(i=0;i= 0) + printf("int=%d\n", tempint); + + + len=get_int_v2("0.30", &tempint, &asn_buf); + if(len > 0) + { + switch(len) + { + case 1: + printf("int=%u\n", 0x000000ff & tempint); + break; + case 2: + printf("int=%u\n", 0x0000ffff & tempint); + break; + case 3: + printf("int=%u\n", 0x00ffffff & tempint); + break; + case 4: + printf("int=%u\n",tempint); + break; + } + } + + + exit(1); +#endif + return 0; +} + +/************************************************* +Function: // nrtrdeInit +Description: // Initial the HPMN infomation +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void nrtrdeInit() +{ + + int i; + struct tm *now; + time_t t; + char message[256]; + + +#if TEST_CDR_DECODE == 1 + test_func(); +#endif + + + t=time(NULL); + now=localtime(&t); + + printfInColor("NRTRDE Module initial......\n",5); + sprintf(message,"NRTRDE Module is starting......\n"); + logMessage(message); + + //debug_init(1); + iptrans_init(); + snmp_init(4957); + //heartbeat_init(0); + + if(!readConvPrefixConf()) + { + printfInColor("Read ./conf/conv_prefix.conf error\n",1); + sprintf(message,"Read ./conf/conv_prefix.conf error\n"); + logMessage(message); + } + else + { + printfInColor("Read ./conf/conv_prefix.conf successfully\n",5); + sprintf(message,"Read ./conf/conv_prefix.conf successfully\n"); + logMessage(message); + } + + //Init the database connections + initDatabase(); + //Init the HPMN servers info update time + g_hpmn_update_timeout=HPMN_INFO_UPDATE_TIME; + //Init the HPMN servers information + hpmnServersInfoUpdate(); + //Init the tag information + initTagConf(); + //Init the NR.conf file + initNRConf(); + //Init the local utc timeOffset + getLocalUTCTimeOffset(g_local_utc); + sprintf(message,"The local UTCTimeOffset=%s\n",g_local_utc); + logMessage(message); + printfInColor(message,3); + + //Init the directory + initDirectory(); + + + //Init the HPMN send file timeout + for(i=0; itm_hour < MAKE_REPORT_TIME) + g_next_date_mk_rep=getDate(0); + else + g_next_date_mk_rep=getDate(1); + + //Get the last squence_number of NR,ND,NE + //getLastSquence(); + init_seq(); + +//for test +/* +{ + time_t start; + start=time(NULL); + + for(i=0;i<1;i++) + parseAsnFile("NRLZSHEFEAKE1000000"); + + makeNEFile(); + printf("The execute time is %ld\n",time(NULL)-start); + sleep(1); +} +*/ +} + +/************************************************* +Function: // getLastSquence +Description: // Get the last squence_number of NR,ND,NE +Calls: // +Called By: // nrtrdeInit +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +/* +void getLastSquence() +{ + char fullFileName[512]; + char message[256]; + char lastFile[256]; + struct dirent* pDirEnt; + struct stat fileStat; + DIR* srcDir; + time_t maxtime; + int res; + + g_nr_squence_number=0; + g_nd_squence_number=0; + g_ne_squence_number=0; + + //open the NR_SEND_BAK_DIR directory + srcDir = opendir(NR_SEND_BAK_DIR); + if(srcDir!=NULL) + { + maxtime=0; + memset(lastFile,0,sizeof(lastFile)); + while((pDirEnt = readdir(srcDir))!=NULL) + { + if(strlen(pDirEnt->d_name) != 19) + continue; + if(strstr(pDirEnt->d_name,"NR") == NULL) + continue; + + sprintf(fullFileName,"%s%s",NR_SEND_BAK_DIR,pDirEnt->d_name); + res=stat(fullFileName,&fileStat); + if(maxtime < fileStat.st_mtime) + { + maxtime=fileStat.st_mtime; + sprintf(lastFile,"%s",pDirEnt->d_name); + } + } + if(maxtime > 0) + { + sprintf(message,"The last NR file=%s\n",lastFile); + logMessage(message); + g_nr_squence_number=atol(&lastFile[12])+1; + g_nr_squence_number%=10000000; + } + closedir(srcDir); + } + + //open the ND_SEND_BAK_DIR directory + srcDir = opendir(ND_SEND_BAK_DIR); + if(srcDir!=NULL) + { + maxtime=0; + memset(lastFile,0,sizeof(lastFile)); + while((pDirEnt = readdir(srcDir))!=NULL) + { + if(strlen(pDirEnt->d_name) != 17) + continue; + if(strstr(pDirEnt->d_name,"ND") == NULL) + continue; + + sprintf(fullFileName,"%s%s",ND_SEND_BAK_DIR,pDirEnt->d_name); + res=stat(fullFileName,&fileStat); + if(maxtime < fileStat.st_mtime) + { + maxtime=fileStat.st_mtime; + sprintf(lastFile,"%s",pDirEnt->d_name); + } + } + if(maxtime > 0) + { + sprintf(message,"The last ND file=%s\n",lastFile); + logMessage(message); + g_nd_squence_number=atol(&lastFile[12])+1; + g_nd_squence_number%=100000; + } + closedir(srcDir); + } + + //open the NE_SEND_BAK_DIR directory + srcDir = opendir(NE_SEND_BAK_DIR); + if(srcDir!=NULL) + { + maxtime=0; + memset(lastFile,0,sizeof(lastFile)); + while((pDirEnt = readdir(srcDir))!=NULL) + { + if(strlen(pDirEnt->d_name) != 17) + continue; + if(strstr(pDirEnt->d_name,"NE") == NULL) + continue; + + sprintf(fullFileName,"%s%s",NE_SEND_BAK_DIR,pDirEnt->d_name); + res=stat(fullFileName,&fileStat); + if(maxtime < fileStat.st_mtime) + { + maxtime=fileStat.st_mtime; + sprintf(lastFile,"%s",pDirEnt->d_name); + } + } + if(maxtime > 0) + { + sprintf(message,"The last NE file=%s\n",lastFile); + logMessage(message); + g_ne_squence_number=atol(&lastFile[12])+1; + g_ne_squence_number%=100000; + } + closedir(srcDir); + } + +} +*/ +/************************************************* +Function: // On_Timer +Description: // Timer function for NRTRDE +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +long maxTime=0; +unsigned long heartbeat_timeout=0; +void On_Timer() +{ + int i; + char message[256]; + + + static struct timeval tv1, tv2; + struct timezone tz; + long elapse; + + + gettimeofday(&tv2, &tz); + tv1.tv_sec = tv2.tv_sec; + tv1.tv_usec = tv2.tv_usec; + + if(time(NULL) - heartbeat_timeout > 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + + //Begin to make NRTRDE Delivery Report and Error Report + if(isHour(MAKE_REPORT_TIME) && g_next_date_mk_rep == getDate(0)) + { + sprintf(message,"Now start to make reports\n"); + logMessage(message); + printfInColor(message,3); + //Make the NRTRDE reports,the makeNEFile must in the front of makeNDFile + makeNEFile(); + makeNDFile(); + + + g_next_date_mk_rep=getDate(1); + sprintf(message,"The next time to make report is %02d-%02d:00:00\n",g_next_date_mk_rep,MAKE_REPORT_TIME); + logMessage(message); + printfInColor(message,3); + + //check the backup directory and delete the overtime files + /* + checkBackupFile(NR_SEND_BAK_DIR); + checkBackupFile(NR_RECV_BAK_DIR); + checkBackupFile(ND_RECV_BAK_DIR); + checkBackupFile(ND_SEND_BAK_DIR); + checkBackupFile(NE_RECV_BAK_DIR); + checkBackupFile(NE_SEND_BAK_DIR); + checkBackupFile(LOCAL_CSV_DIR); + */ + } + + + + g_hpmn_update_timeout--; + sprintf(message,"Update the HPMN infomation timeout=%d\n",g_hpmn_update_timeout); + printfInColor(message,0); + //Start to update the HPMN servers info + if(g_hpmn_update_timeout < 0) + { + g_hpmn_update_timeout=HPMN_INFO_UPDATE_TIME; + hpmnServersInfoUpdate(); + + sprintf(message,"Update the HPMN infomation\n"); + logMessage(message); + printfInColor(message,3); + + sprintf(message,"Now the HPMN server count=%d\n",g_hpmn_server_count); + logMessage(message); + printfInColor(message,3); + + + + //check mysql connections + //Init the OMC_PUB database connection + if(mysql_ping(g_omcPubConn)) + { + logMessage("[ERR 2006][On_Timer]:mysql OMC_PUB has gone away,reconnect"); + mysql_close(g_omcPubConn); + g_omcPubConn=mysql_conn("localhost","OMC_PUB"); + if(g_omcPubConn == NULL) + { + logMessage("[ERR][On_Timer]:reconnect OMC_PUB"); + } + } + + //Init the CDR_DB database connection + if(mysql_ping(g_cdrConn)) + { + logMessage("[ERR 2006][On_Timer]:mysql CDR_DB has gone away,reconnect"); + mysql_close(g_cdrConn); + g_cdrConn=mysql_conn("localhost","CDR_DB"); + if(g_cdrConn == NULL) + { + logMessage("[ERR][On_Timer]:mysql_conn CDR_DB"); + } + } + + } + + //If the timeSlot is arrived, then generate the NRTRDE files + for(i=0; imaxTime) + { + maxTime=elapse; + sprintf(message,"The max time of timer is %.6f seconds\n",(double)(elapse/1000)/1000); + logMessage(message); + //printf("maxTime=%ld\n",elapse); + } + +} + +/************************************************* +Function: // getLocalUTCTimeOffset +Description: // Get the timezone of local system in string +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // timeOffset:the timezone in string +Return: // 0:failed; 1:successful +Others: // exe. +0200,-1200. The linux operate system must set the timezone +*************************************************/ +int getLocalUTCTimeOffset(char *timeOffset) +{ + struct tm *local,*utc; + time_t t; + long offset,t1,t2,d1,d2,m1,m2,y1,y2; + //For test + char message[256]; + + + if(timeOffset == NULL) + return FAIL; + + t=time(NULL); + local=localtime(&t); + t1=local->tm_hour; + d1=local->tm_mday; + m1=local->tm_mon; + y1=local->tm_year; + + //sprintf(message,"Local hour=%ld,date=%ld,month=%ld,year=%ld\n",t1,d1,m1,y1); + //printfInColor(message,5); + t=time(NULL); + utc=gmtime(&t); + t2=utc->tm_hour; + d2=utc->tm_mday; + m2=utc->tm_mon; + y2=utc->tm_year; + //sprintf(message,"UTC hour=%ld,date=%ld,month=%ld,year=%ld\n",t2,d2,m2,y2); + //printfInColor(message,5); + offset=y1*365*12*30*24+m1*30*24+d1*24+t1-(y2*365*12*30*24+m2*30*24+d2*24+t2); + + + if(offset >= 0) + { + if(offset >9) + sprintf(timeOffset,"+%ld00",offset); + else + sprintf(timeOffset,"+0%ld00",offset); + } + else + { + if(offset < -9) + sprintf(timeOffset,"-%ld00",-offset); + else + sprintf(timeOffset,"-0%ld00",-offset); + } + sprintf(message,"UTCoffset=%s\n",timeOffset); + printfInColor(message,5); + return SUCCESSFUL; +} + +/************************************************* +Function: // hpmnServersInfoUpdate +Description: // Update the HPMN servers information +Calls: // initDatabase; printfHPMNServer; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 0:failed; 1:successful; +Others: // This function will modify the 'g_hpmn_server_count' and 'servers' value +*************************************************/ +int hpmnServersInfoUpdate() +{ + MYSQL_RES *res; + MYSQL_ROW row; + char sqlstr[256]; + char message[256]; + int server_count; + int len; + + seq_buffer tmp_seq_buf; + seq_object tmp_seq_obj; + unsigned long find_index; + + sprintf(sqlstr,"SELECT mcc,mnc,tadig,serverIP,loginName,loginPass,timeslot,reportDir,nrtrdeDir FROM OMC_PUB.hpmnConf"); + + res=mysql_getres(g_omcPubConn,sqlstr); + if(res == NULL) + { + sprintf(message,"[ERR %d][hpmnServersInfoUpdate]:%s\n",mysql_errno(g_omcPubConn),sqlstr); + logMessage(message); + return FAIL; + } + + memcpy(&tmp_seq_buf,&seq_buf,sizeof(seq_buf)); + memset(&seq_buf,0,sizeof(seq_buf)); + memset(&tmp_seq_obj,0,sizeof(tmp_seq_obj)); + + //Update the HPMN servers information + server_count=0; + while((row = mysql_fetch_row(res)) != NULL) + { + //Get the mcc + sprintf(servers[server_count].mcc,"%s",row[0]); + //Get the mnc + sprintf(servers[server_count].mnc,"%s",row[1]); + //Get the tadig + sprintf(servers[server_count].tadig,"%s",row[2]); + + //---------------------- + sprintf(tmp_seq_obj.tadig,"%s",row[2]); + find_index=find_seq_obj(&tmp_seq_buf,tmp_seq_obj.tadig); + if(find_index != NO_FIND) + { + tmp_seq_obj.nr_seq_num=tmp_seq_buf.seq_obj[find_index].nr_seq_num; + tmp_seq_obj.nd_seq_num=tmp_seq_buf.seq_obj[find_index].nd_seq_num; + tmp_seq_obj.ne_seq_num=tmp_seq_buf.seq_obj[find_index].ne_seq_num; + } + if(add_seq_obj(&seq_buf,&tmp_seq_obj) == 0) + continue; + //---------------------- + + //Get the serverIP + sprintf(servers[server_count].serverIP,"%s",row[3]); + //Get the loginName + sprintf(servers[server_count].loginName,"%s",row[4]); + //Get the loginPass + sprintf(servers[server_count].loginPass,"%s",row[5]); + //Get the timeSlot + servers[server_count].timeSlot=atoi(row[6]); + //Get the reportDir + sprintf(servers[server_count].reportDir,"%s",row[7]); + //Get the nrtrdeDir + sprintf(servers[server_count].nrtrdeDir,"%s",row[8]); + + len = strlen(servers[server_count].reportDir); + if (servers[server_count].reportDir[len-1] != '/'&&len<127) + { + servers[server_count].reportDir[len]='/'; + servers[server_count].reportDir[len+1]='\0'; + } + + len = strlen(servers[server_count].nrtrdeDir); + if (servers[server_count].nrtrdeDir[len-1] != '/'&&len<127) + { + servers[server_count].nrtrdeDir[len]='/'; + servers[server_count].nrtrdeDir[len+1]='\0'; + } + printfHPMNServer(&servers[server_count]); + server_count++; + } + //Update the server count + g_hpmn_server_count=server_count; + //Free the database resource + mysql_free_result(res); + + + return SUCCESSFUL; +} + +/************************************************* +Function: // checkBackupFile +Description: // Check the files and delete the files when its store for more than 7 days +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void checkBackupFile(char* directory) +{ + struct dirent* pDirEnt; + struct stat fileStat; + DIR* srcDir; + char command[512]; + char message[512]; + char fullFileName[512]; + struct tm* file_tm,*now; + time_t file_t,temp_t; + long now_date,file_date; + + //check the NR files receive backup directory + srcDir = opendir(directory); + if(srcDir != NULL) + { + while((pDirEnt = readdir(srcDir))!=NULL) + { + if(strlen(pDirEnt->d_name)<3) + continue; + + temp_t=time(NULL); + now=localtime(&temp_t); + now_date=360*now->tm_year+30*now->tm_mon+now->tm_mday-MAX_BAK_DAY; + + sprintf(fullFileName,"%s%s",directory,pDirEnt->d_name); + stat(fullFileName,&fileStat); + file_t=fileStat.st_mtime; + file_tm=localtime(&file_t); + file_date=360*file_tm->tm_year+30*file_tm->tm_mon+file_tm->tm_mday; + + if(file_dated_name)<3) + continue; + + if(!(strlen(pDirEnt->d_name)==17 || strlen(pDirEnt->d_name)==19)) + continue; + + if(strcmp(recvFileName,"NoFile") == 0) + { + sprintf(recvFileName,"%s",pDirEnt->d_name); + sprintf(fullFileName,"%s%s",RECV_DIR,pDirEnt->d_name); + stat(fullFileName,&fileStat); + recvfileSize=fileStat.st_size; + break;; + } + else + { + if(strcmp(recvFileName,pDirEnt->d_name) == 0) + { + sprintf(fullFileName,"%s%s",RECV_DIR,pDirEnt->d_name); + stat(fullFileName,&fileStat); + if(recvfileSize == fileStat.st_size) + { + //printf("recvFileName=%s\n",recvFileName); + //printf("fullFileName=%s\n",fullFileName); + recvfileSize=0; + sprintf(recvFileName,"NoFile"); + + memset(tmpFileName,0,256); + sprintf(tmpFileName,"%s",pDirEnt->d_name); + + memset(recipientTadig,0,8); + for(i=7;i<12;i++) + { + recipientTadig[i-7]=tmpFileName[i]; + } + recipientTadig[i]='\0'; + + memset(senderTadig,0,8); + for(i=2;i<7;i++) + { + senderTadig[i-2]=tmpFileName[i]; + } + senderTadig[i]='\0'; + + //printf("recipientTadig=%s,senderTadig=%s\n",recipientTadig,senderTadig); + + if(tmpFileName[1] == 'R') + { + sprintf(message,"Receive the NR=%s from %s\n",tmpFileName,senderTadig); + logMessage(message); + printfInColor(message,3); + //parse the nrtrde file + parseAsnFile(tmpFileName); + + //add the record to the delivery report + addNDNodeInDB(senderTadig,tmpFileName); + //backup the NRTRDE files + sprintf(fullFileName,"%s%s",RECV_DIR,pDirEnt->d_name); + sprintf(command,"mv %s %s",fullFileName,NR_RECV_BAK_DIR); + system(command); + + } + //if the file is NRTRDE Delivery report, then backup it + else if(tmpFileName[1] == 'D') + { + sprintf(message,"Receive the ND=%s from %s\n",tmpFileName,senderTadig); + logMessage(message); + printfInColor(message,3); + //backup the delivery report + sprintf(fullFileName,"%s%s",RECV_DIR,pDirEnt->d_name); + sprintf(command,"mv %s %s",fullFileName,ND_RECV_BAK_DIR); + system(command); + } + //if the file is NRTRDE Error report, then backup it + else if(tmpFileName[1] == 'E') + { + sprintf(message,"Receive the NE=%s from %s\n",tmpFileName,senderTadig); + logMessage(message); + printfInColor(message,3); + //backup the error report + sprintf(fullFileName,"%s%s",RECV_DIR,pDirEnt->d_name); + sprintf(command,"mv %s %s",fullFileName,NE_RECV_BAK_DIR); + system(command); + } + + } + else + { + recvfileSize=fileStat.st_size; + } + } + } + + + + } + + closedir(srcDir); +} + +/************************************************* +Function: // getDate +Description: // Get today's date +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // flag:0-today,>0:tomorrow +Output: // +Return: // The date of today +Others: // +*************************************************/ +int getDate(int flag) +{ + struct tm *local; + time_t t; + int nowDate; + + t=time(NULL); + if(flag) + { + t=t+24*60*60; + } + local=localtime(&t); + nowDate=local->tm_mday; + return nowDate; +} + +/************************************************* +Function: // initDirectory +Description: // Make the directory for the module +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void initDirectory() +{ + char oldDir[512]; + char message[512]; + char command[512]; + + getcwd(oldDir,512); + //printf("nowDir=%s\n",oldDir); + //make SEND_DIR + if(chdir(SEND_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",SEND_DIR); + system(command); + sprintf(message,"Make directory SEND_DIR=%s\n",SEND_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(SEND_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory SEND_DIR=%s failed\n",SEND_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("nrtrde:initDirectory, Make directory SEND_DIR=%s failed",SEND_DIR); + exit(1); + } + } + + //make RECV_DIR + if(chdir(RECV_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",RECV_DIR); + system(command); + sprintf(message,"Make directory RECV_DIR=%s\n",RECV_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(RECV_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory RECV_DIR=%s failed\n",RECV_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("nrtrde:initDirectory, Make directory RECV_DIR=%s failed",RECV_DIR); + exit(1); + } + } + + //make NR_RECV_BAK_DIR + if(chdir(NR_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",NR_RECV_BAK_DIR); + system(command); + sprintf(message,"Make directory NR_RECV_BAK_DIR=%s\n",NR_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(NR_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory NR_RECV_BAK_DIR=%s failed\n",NR_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("nrtrde:initDirectory, Make directory NR_RECV_BAK_DIR=%s failed",NR_RECV_BAK_DIR); + exit(1); + } + } + + //make NR_SEND_BAK_DIR + if(chdir(NR_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",NR_SEND_BAK_DIR); + system(command); + sprintf(message,"Make directory NR_SEND_BAK_DIR=%s\n",NR_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(NR_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory NR_SEND_BAK_DIR=%s failed\n",NR_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("nrtrde:initDirectory, Make directory NR_SEND_BAK_DIR=%s failed",NR_SEND_BAK_DIR); + exit(1); + } + } + + //make ND_RECV_BAK_DIR + if(chdir(ND_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",ND_RECV_BAK_DIR); + system(command); + sprintf(message,"Make directory ND_RECV_BAK_DIR=%s\n",ND_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(ND_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory ND_RECV_BAK_DIR=%s failed\n",ND_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("nrtrde:initDirectory, Make directory ND_RECV_BAK_DIR=%s failed",ND_RECV_BAK_DIR); + exit(1); + } + } + + //make ND_SEND_BAK_DIR + if(chdir(ND_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",ND_SEND_BAK_DIR); + system(command); + sprintf(message,"Make directory ND_SEND_BAK_DIR=%s\n",ND_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(ND_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory ND_SEND_BAK_DIR=%s failed\n",ND_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("nrtrde:initDirectory, Make directory ND_SEND_BAK_DIR=%s failed",ND_SEND_BAK_DIR); + exit(1); + } + } + + //make NE_RECV_BAK_DIR + if(chdir(NE_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",NE_RECV_BAK_DIR); + system(command); + sprintf(message,"Make directory NE_RECV_BAK_DIR=%s\n",NE_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(NE_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory NE_RECV_BAK_DIR=%s failed\n",NE_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("nrtrde:initDirectory, Make directory NE_RECV_BAK_DIR=%s failed",NE_RECV_BAK_DIR); + exit(1); + } + } + + //make ND_SEND_BAK_DIR + if(chdir(NE_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",NE_SEND_BAK_DIR); + system(command); + sprintf(message,"Make directory NE_SEND_BAK_DIR=%s\n",NE_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(NE_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory NE_SEND_BAK_DIR=%s failed\n",NE_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("nrtrde:initDirectory, Make directory NE_SEND_BAK_DIR=%s failed",NE_SEND_BAK_DIR); + exit(1); + } + } + + //make SEND_DIR + if(chdir(LOCAL_CSV_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",LOCAL_CSV_DIR); + system(command); + sprintf(message,"Make directory LOCAL_CSV_DIR=%s\n",LOCAL_CSV_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(LOCAL_CSV_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory LOCAL_CSV_DIR=%s failed\n",LOCAL_CSV_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("nrtrde:initDirectory, Make directory LOCAL_CSV_DIR=%s failed",LOCAL_CSV_DIR); + exit(1); + } + } + + chdir(oldDir); + +} + +/************************************************* +Function: // initNRConf +Description: // Get the information in file NR.conf +Calls: // +Called By: // nrtrdeInit; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // SUCCESSFUL; FAIL; +Others: // +*************************************************/ +int initNRConf(void) +{ + char fileName[512]; + char message[512]; + unsigned char buf[4096]; + unsigned char param[32][512]; + char paramName[128]; + char paramValue[384]; + char* temp; + FILE* fp; + int fi; + int i; + //int j; + int paramCount; + int byteCount; + + paramCount=0; + byteCount=0; + memset(buf,0,4096); + memset(param,0,32*512); + sprintf(fileName,"./conf/NR.conf"); + fp=fopen(fileName,"r"); + if(fp) + { + sprintf(message,"Read the NR.conf\n"); + logMessage(message); + printfInColor(message,6); + + fi=fileno(fp); + if(read(fi,buf,4096)) + { + for(i=0;i<4096;i++) + { + + if(buf[i] == 0x0A) + { + //printf("\n"); + if(byteCount<512 && param[paramCount][0] != 0x00 && param[paramCount][0] != 0x23) + paramCount++; + else + memset(param[paramCount],0,512); + byteCount=0; + } + else + { + param[paramCount][byteCount]=buf[i]; + byteCount++; + } + + //printf("%02x ",buf[i]); + } + /*for test + printf("\n=================================\n"); + printf("paramCount=%d\n",paramCount); + for(i=0;i23) + { + return 0; + } + + t=time(NULL); + local=localtime(&t); + nowHour=local->tm_hour; + + if(nowHour == hour) + { + return 1; + } + else + { + return 0; + } +} + +/************************************************* +Function: // addNDNode +Description: // Add the NRTRDE delivery report node the link +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // tadig:the tadig of the record; + fileName:the file name of the record; + recvTime:the time when to receive the file; +Output: // +Return: // +Others: // This function change value 'pNDHead' and 'pNDTail' +*************************************************/ +int addNDNode(char* tadig,char* fileName) +{ + NDRepNode* node; + struct tm *now; + char recvTime[32]; + time_t t; + + t=time(NULL); + now=localtime(&t); + + //get the receive time + sprintf(recvTime,"%04d%02d%02d%02d%02d%02d%s", + now->tm_year+1900, + now->tm_mon+1, + now->tm_mday, + now->tm_hour, + now->tm_min, + now->tm_sec, + g_local_utc); + + //printf("recvTime=%s\n",recvTime); + + node=malloc(sizeof(NDRepNode)); + if(node) + { + sprintf(node->tadig,tadig); + sprintf(node->fileName,fileName); + sprintf(node->recvTime,recvTime); + node->next=NULL; + + if(pNDHead == NULL || pNDTail == NULL) + { + pNDHead=pNDTail=node; + } + else + { + pNDTail->next=node; + pNDTail=node; + } + return SUCCESSFUL; + } + else + { + return FAIL; + } +} + +/************************************************* +Function: // addNDNodeInDB +Description: // Add the delievery report info to the CDR_DB.reportNRInfo +Calls: // +Called By: // +Table Accessed: // CDR_DB.reportNRInfo +Table Updated: // CDR_DB.reportNRInfo +Input: // tadig:the tadig of the record; + fileName:the file name of the record; + recvTime:the time when to receive the file; +Output: // +Return: // +Others: // +*************************************************/ +int addNDNodeInDB(char* tadig,char* fileName) +{ + char sqlstr[512]; + + //printf("tadig=%s,fileName=%s,type=%d,recordNumber=%d,errorCode=%s\n",senderTadig,fileName,type,recordNumber,errorCode); + + sprintf(sqlstr,"INSERT INTO reportNRInfo (tadig, fileName, type, errorType, recordNumber, errorCode) VALUES ('%s', '%s', '%d', '0', '0', 'NULL')", + tadig,fileName,1); + mysql_getnores(g_cdrConn,sqlstr); + + + return SUCCESSFUL; +} + +/************************************************* +Function: // makeNDFile +Description: // Make the Delivery report for sending to VPMNs, then free the link of delivery report +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // The delivery reports +Output: // +Return: // +Others: // This function will change the value 'pNDHead' and 'pNDTail' +*************************************************/ +void makeNDFile() +{ + struct tm *now; + char createTime[32]; + char startTime[32]; + char endTime[32]; + char fileName[512]; + char squenceNumber[8]; + char command[512]; + char message[256]; + time_t t; + NDRepNode* tmpNode,*tmpN; + int recordCount; + int i; + + t=time(NULL); + now=localtime(&t); + + //get the create time + sprintf(createTime,"%04d%02d%02d%02d%02d%02d%s", + now->tm_year+1900, + now->tm_mon+1, + now->tm_mday, + now->tm_hour, + now->tm_min, + now->tm_sec, + g_local_utc); + + //get the start time + sprintf(endTime,"%04d%02d%02d%02d%02d%02d%s", + now->tm_year+1900, + now->tm_mon+1, + now->tm_mday, + now->tm_hour, + now->tm_min, + now->tm_sec, + g_local_utc); + + //get the start time + t=time(NULL)-24*60*60; + now=localtime(&t); + sprintf(startTime,"%04d%02d%02d%02d%02d%02d%s", + now->tm_year+1900, + now->tm_mon+1, + now->tm_mday, + now->tm_hour, + now->tm_min, + now->tm_sec, + g_local_utc); + + + for(i=0;i>%s", + ND_VERSION, + LOCAL_TADIG, + servers[i].tadig, + squenceNumber, + createTime,startTime,endTime, + fileName); + + system(command); + + sprintf(message,"Make Delivery report %s\n",fileName); + logMessage(message); + + tmpNode=pNDHead; + recordCount=0; + //write the content of the delivery report + while(tmpNode) + { + //printf("tadig=%s,fileName=%s,recvTime=%s\n",tmpNode->tadig,tmpNode->fileName,tmpNode->recvTime); + + if(strcmp(servers[i].tadig,tmpNode->tadig) == 0) + { + sprintf(command,"echo '%s,%s'>>%s",tmpNode->fileName,tmpNode->recvTime,fileName); + system(command); + recordCount++; + } + + tmpNode=tmpNode->next; + } + //write the tail of the delivery report + sprintf(command,"echo 'END,%d'>>%s",recordCount+2,fileName); + system(command); + + } + + //free the link + tmpNode=pNDHead; + while(tmpNode) + { + tmpN=tmpNode->next; + free(tmpNode); + tmpNode=tmpN; + } + pNDHead=NULL; + pNDTail=NULL; +} + +/************************************************* +Function: // getSequenceNumber +Description: // Get the squence number of NR, ND, NE +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // type:0-NR, 1-ND, 2-NE; +Output: // squenceNumber:store the squence number +Return: // +Others: // Change the value 'g_nr_squence_number' + 'g_nd_squence_number' + 'g_ne_squence_number' +*************************************************/ +/* +void getSequenceNumber(char* squenceNumber,int type) +{ + switch(type) + { + case 0: + if(g_nr_squence_number == 0) + { + g_nr_squence_number++; + } + sprintf(squenceNumber,"%07ld",g_nr_squence_number); + g_nr_squence_number++; + g_nr_squence_number%=10000000; + break; + + case 1: + if(g_nd_squence_number == 0) + { + g_nd_squence_number++; + } + sprintf(squenceNumber,"%05ld",g_nd_squence_number); + g_nd_squence_number++; + g_nd_squence_number%=100000; + break; + + case 2: + if(g_ne_squence_number == 0) + { + g_ne_squence_number++; + } + sprintf(squenceNumber,"%05ld",g_ne_squence_number); + g_ne_squence_number++; + g_ne_squence_number%=100000; + break; + + default: + break; + } +} +*/ +/************************************************* +Function: // getTagByName +Description: // Get the tag value by the field name +Calls: // +Called By: // +Table Accessed: // CDR_DB.roamCdrConf +Table Updated: // +Input: // name:field name; +Output: // +Return: // the tag value of the field +Others: // +*************************************************/ +int getTagByName(char* name) +{ + int i; + int tagValue; + + tagValue=0; + if(name == NULL) + { + return tagValue; + } + else + { + for(i=0;i<50;i++) + { + if(tags[i].fieldName && strcmp(tags[i].fieldName,name) == 0) + { + tagValue=i; + break; + } + } + } + + return tagValue; +} + +/************************************************* +Function: // logMessage +Description: // Write log message to the log file +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // fmt:the message to write +Output: // +Return: // +Others: // +*************************************************/ +void logMessage(const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/nrtrde%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + + +/************************************************* +Function: // printfHPMNServer +Description: // Print the information of the specific HPMN server +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // server:the HPMN server to print +Output: // +Return: // +Others: // This funtion is for test +*************************************************/ +void printfHPMNServer(HpmnServer* server) +{ +#if NRTRDE_DEBUG + printf("=======================================\n"); + printf("tadig=%s\n",server->tadig); + printf("mcc=%s\n",server->mcc); + printf("mnc=%s\n",server->mnc); + printf("serverIP=%s\n",server->serverIP); + printf("loginName=%s\n",server->loginName); + printf("loginPass=%s\n",server->loginPass); + printf("timeSlot=%d\n",server->timeSlot); + printf("reportDir=%s\n",server->reportDir); + printf("nrtrdeDir=%s\n",server->nrtrdeDir); + printf("\tsendFileTimeout=%d\n",server->sendFileTimeout); + printf("=======================================\n"); +#endif +} + +/************************************************* +Function: // printfInColor +Description: // Print the message in specific color to the standand output +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // message:the message to print; color:the color in printing +Output: // +Return: // +Others: // For test,only the NRTRDE_DEBUG flag is open when it show the debug infomation +*************************************************/ +void printfInColor(char *message,int color) +{ + +#if NRTRDE_DEBUG + + if(message==NULL) + return; + switch(color) + { + //white + case 0: + printf("\033[37m%s",message); + break; + //red + case 1: + printf("\033[31m%s",message); + break; + //green + case 2: + printf("\033[32m%s",message); + break; + //yellow + case 3: + printf("\033[33m%s",message); + break; + //blue + case 4: + printf("\033[34m%s",message); + break; + //light green + case 5: + printf("\033[36m%s",message); + break; + //pink + case 6: + printf("\033[35m%s",message); + break; + //white + default: + printf("\033[37m%s",message); + } + printf("\033[37m"); +#endif +} + +/************************************************* +Function: // SetTimer +Description: // Timer function +Calls: // On_Timer +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void SetTimer() +{ + struct sigaction act; + act.sa_handler = On_Timer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) + { + perror("Produce Sigaction"); + exitLog("nrtrde:SetTimer, sigaction function error"); + exit(1); + } + +// itimer.it_interval.tv_sec = 0; +// itimer.it_interval.tv_usec = 1000 * 1000; +// itimer.it_value.tv_sec = 0; +// itimer.it_value.tv_usec = 1000 * 1000; + + itimer.it_interval.tv_sec = 1; + itimer.it_interval.tv_usec = 0; + itimer.it_value.tv_sec = 1; + itimer.it_value.tv_usec = 0; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) + { + printf("Setting Timer error! \n"); + exitLog("nrtrde:SetTimer, setitimer function error"); + exit(1); + } +} + diff --git a/src/accountMgr/c_program/nrtrde/nrtrde.h b/src/accountMgr/c_program/nrtrde/nrtrde.h new file mode 100644 index 0000000..4daa0fa --- /dev/null +++ b/src/accountMgr/c_program/nrtrde/nrtrde.h @@ -0,0 +1,130 @@ +#ifndef nrtrde__H +#define nrtrde__H + +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include "./conv_prefix.h" +#include +#include + +#ifndef MYSQL_H + #include "mysql.h" +#endif + +#ifndef NRTRDE_DEBUG + #define NRTRDE_DEBUG 0 +#endif + +/********************************************************/ +/****** Constant Define ******/ +/********************************************************/ +/* The hpmn servers info update timeslot (Second) */ +#define HPMN_INFO_UPDATE_TIME 60 +/* The hpmn servers count which this version to support */ +#define HPMN_SERVER_COUNT 100 +/* The max time of the file backup (day) */ +#define MAX_BAK_DAY 7 + +#define SEQ_NUM_CONF "./conf/nrtrde_seq.conf" + +/* The return value of the function */ +#define SUCCESSFUL 1 +#define FAIL 0 +#define NO_FIND 0x7FFFFFFF + +/********************************************************/ +/****** Struct Define ******/ +/********************************************************/ +/* The information of the hpmn servers */ +typedef struct HpmnServer +{ + char mcc[8]; //The mcc of the HPMN server + char mnc[8]; //The mnc of the HPMN server + char tadig[8]; //The tadig of the HPMN server, length=5 + char serverIP[16]; //The remote IP address of the HPMN server, xxx.xxx.xxx.xxx + char loginName[64]; //The user name to login the remote HPMN server + char loginPass[64]; //The user password to login the remote HPMN server + int timeSlot; //The timeslot to send the nrtrde to the remote HPMN server + char reportDir[256]; //The directory to send the report files to the HPMN server + char nrtrdeDir[256]; //The directory to send the nrtrde files to the HPMN server + + int sendFileTimeout; //When the value<0, then send the nrtrde file to remote HPMN server +}HpmnServer; + +/* The config of the tag */ +typedef struct TagNode +{ + char fieldName[32]; //The field name of the tag + int tagValue; //The value of the tag, the tag is application + int isStructed; //Whether the tag is structed or not + int code; //How to code the field, 0-no code; 1-Integer; 2-Ascii; 3-HexString; 4-NumberString; 5-BCDString; + int minSize; //The min size of the field + int maxSize; //The max size of the field +}TagNode; + +/* Use for link struct */ +typedef struct DataNode +{ + struct DataNode* next; //The next data link to the data + unsigned char data; //The data in the node +}DataNode; + +/* Use for store the record of the NRTRDE Delivery report */ +typedef struct NDRepNode +{ + char tadig[8]; //The tadig of this record + char fileName[32]; //The fileName of this record + char recvTime[32]; //The time when to receive the file + struct NDRepNode* next; //The next node in the link +}NDRepNode; + +/* Use for store the record of the NRTRDE Error report */ +typedef struct NERepNode +{ + char tadig[8]; //The tadig of this record + char fileName[32]; //The fileName of the received NRTRDE file which is parsed + int type; //The type of this record, 1-NRTRDE file error, 2-MOC error, 3-MTC error + int recordNumber; //The number of this record in the NRTRDE file + char errorCode[8]; //The error code of this record + struct NERepNode* next; //The next node in the link +}NERepNode; + +/* Use for store the information of every CallEvents */ +typedef struct CallEvent +{ + int type; //1-MOC, 2-MTC, 3-GPRS + char imsi[32]; //Imsi + char imei[32]; //Imei + char startTime[32]; //CallEventStartTime + char utcTimeOff[32]; //utcTimeOffsef + long callDuration; //CallEventDuration + int causeForTerm; //CauseForTermination + char teleServCode[32]; //TeleServiceCode + char bearerServCode[32]; //BearerServCode + char supplServCode[32]; //SupplementaryServiceCode + char dialledDigits[32]; //DialledDigits + char connectedNumber[32]; //ConnectedNumber + char thirdPartyNumber[32]; //ThirdPartyNumber + char callingNumber[32]; //CallingNumber + char recEntityId[32]; //RecEntityId + long callReference; //CallReference + long chargeAmount; //ChargeAmount +}CallEvent; + +typedef struct seq_object +{ + char tadig[8]; + unsigned long nr_seq_num; + unsigned long nd_seq_num; + unsigned long ne_seq_num; +}seq_object; + +typedef struct seq_buffer +{ + int count; + seq_object seq_obj[HPMN_SERVER_COUNT]; +}seq_buffer; + +#endif + diff --git a/src/accountMgr/c_program/nrtrde/seq_num_mng.c b/src/accountMgr/c_program/nrtrde/seq_num_mng.c new file mode 100644 index 0000000..f922f3c --- /dev/null +++ b/src/accountMgr/c_program/nrtrde/seq_num_mng.c @@ -0,0 +1,204 @@ +#include +#include +#include +#include "nrtrde.h" + +seq_buffer seq_buf; + +int add_seq_obj(seq_buffer *seq_buf,seq_object *add_obj); +unsigned long find_seq_obj(seq_buffer *seq_buf,char *keyvalue); +int get_seq_num(char *tadig,int type,char *out_seq); +int init_seq(); +int store_seq(); + + +int add_seq_obj(seq_buffer *seq_buf,seq_object *add_obj) +{ + int unitlen; + int low,high,mid,last; + char tmpvalue[24]; + char keyfield[24]; + seq_object tmp_seq_obj_list[HPMN_SERVER_COUNT]; + + if(seq_buf->count >= HPMN_SERVER_COUNT) + return 0; + + unitlen=sizeof(seq_object); + mid=0; + low=0; + high=seq_buf->count-1; + + memset(keyfield,0,sizeof(keyfield)); + sprintf(keyfield,"%s",add_obj->tadig); + + memset(tmpvalue,0,sizeof(tmpvalue)); + memcpy(tmpvalue,seq_buf->seq_obj[high].tadig,8); + if(strcmp(keyfield,tmpvalue) == 0) + { + return 0; + } + else if(strcmp(keyfield,tmpvalue) > 0) + { + sprintf(seq_buf->seq_obj[seq_buf->count].tadig,"%s",keyfield); + seq_buf->seq_obj[seq_buf->count].nr_seq_num=add_obj->nr_seq_num; + seq_buf->seq_obj[seq_buf->count].nd_seq_num=add_obj->nd_seq_num; + seq_buf->seq_obj[seq_buf->count].ne_seq_num=add_obj->ne_seq_num; + } + else + { + while(low <= high) + { + mid=(low+high)/2; + memset(tmpvalue,0,sizeof(tmpvalue)); + memcpy(tmpvalue,seq_buf->seq_obj[mid].tadig,8); + if(strcmp(keyfield,tmpvalue) == 0) + return 0; + else if(strcmp(keyfield,tmpvalue) < 0) + high=mid-1; + else + low=mid+1; + } + if(low > high) + last=low; + else + last=mid; + + memcpy(tmp_seq_obj_list,seq_buf->seq_obj,sizeof(tmp_seq_obj_list)); + + memcpy(&seq_buf->seq_obj[last+1],&tmp_seq_obj_list[last],(HPMN_SERVER_COUNT-last-1)*unitlen); + sprintf(seq_buf->seq_obj[last].tadig,"%s",keyfield); + seq_buf->seq_obj[last].nr_seq_num=add_obj->nr_seq_num; + seq_buf->seq_obj[last].nd_seq_num=add_obj->nd_seq_num; + seq_buf->seq_obj[last].ne_seq_num=add_obj->ne_seq_num; + } + seq_buf->count++; + return 1; +} + +/* +return NO_FIND:can not find +*/ +unsigned long find_seq_obj(seq_buffer *seq_buf,char *keyvalue) +{ + char tmpvalue[24]; + char keyfield[24]; + int low,high,mid; + + mid=0; + low=0; + high=seq_buf->count-1; + + memset(keyfield,0,sizeof(keyfield)); + sprintf(keyfield,"%s",keyvalue); + + memset(tmpvalue,0,sizeof(tmpvalue)); + memcpy(tmpvalue,seq_buf->seq_obj[high].tadig,8); + if(strcmp(keyfield,tmpvalue) == 0) + return high; + else if(strcmp(keyfield,tmpvalue) > 0) + return NO_FIND; + else + { + while(low <= high) + { + mid=(low+high)/2; + memset(tmpvalue,0,sizeof(tmpvalue)); + memcpy(tmpvalue,seq_buf->seq_obj[mid].tadig,8); + if(strcmp(keyfield,tmpvalue) == 0) + return mid; + else if(strcmp(keyfield,tmpvalue) < 0) + high=mid-1; + else + low=mid+1; + } + } + + return NO_FIND; +} + +int init_seq() +{ + FILE *handle=NULL; + memset(&seq_buf,0,sizeof(seq_buf)); + handle=fopen(SEQ_NUM_CONF,"r+"); + if(handle == NULL) + { + FILE *tmpf; + tmpf=fopen(SEQ_NUM_CONF,"w+"); + if(tmpf == NULL) + { + printf("Can not create the %s\n",SEQ_NUM_CONF); + exit(0); + } + fwrite(&seq_buf,sizeof(seq_buf),1,tmpf); + fclose(tmpf); + handle=fopen(SEQ_NUM_CONF,"r+"); + } + fread(&seq_buf,sizeof(seq_buf),1,handle); + printf("Load sequence number conf from %s\n",SEQ_NUM_CONF); + fclose(handle); + + return 1; +} + +int store_seq() +{ + FILE *handle=NULL; + + handle=fopen(SEQ_NUM_CONF,"w+"); + if(handle == NULL) + { + printf("Can not write the %s\n",SEQ_NUM_CONF); + exit(0); + } + + fwrite(&seq_buf,sizeof(seq_buf),1,handle); + fclose(handle); + + return 1; +} + +//type:0-NR, 1-ND, 2-NE; +int get_seq_num(char *tadig,int type,char *out_seq) +{ + unsigned long find_index; + + find_index=find_seq_obj(&seq_buf,tadig); + if(find_index == NO_FIND) + { + if(type == 0) + sprintf(out_seq,"0000001"); + else + sprintf(out_seq,"00001"); + return 0; + } + + if(type == 0) + { + if(seq_buf.seq_obj[find_index].nr_seq_num == 0) + seq_buf.seq_obj[find_index].nr_seq_num++; + sprintf(out_seq,"%07ld",seq_buf.seq_obj[find_index].nr_seq_num); + seq_buf.seq_obj[find_index].nr_seq_num++; + seq_buf.seq_obj[find_index].nr_seq_num%=10000000; + } + else if(type == 1) + { + if(seq_buf.seq_obj[find_index].nd_seq_num == 0) + seq_buf.seq_obj[find_index].nd_seq_num++; + sprintf(out_seq,"%05ld",seq_buf.seq_obj[find_index].nd_seq_num); + seq_buf.seq_obj[find_index].nd_seq_num++; + seq_buf.seq_obj[find_index].nd_seq_num%=100000; + } + else + { + if(seq_buf.seq_obj[find_index].ne_seq_num == 0) + seq_buf.seq_obj[find_index].ne_seq_num++; + sprintf(out_seq,"%05ld",seq_buf.seq_obj[find_index].ne_seq_num); + seq_buf.seq_obj[find_index].ne_seq_num++; + seq_buf.seq_obj[find_index].ne_seq_num%=100000; + } + store_seq(); + return 1; +} + + diff --git a/src/accountMgr/c_program/sftpSend/Makefile b/src/accountMgr/c_program/sftpSend/Makefile new file mode 100644 index 0000000..5aa7cc6 --- /dev/null +++ b/src/accountMgr/c_program/sftpSend/Makefile @@ -0,0 +1,52 @@ +#/bin/bash + +CC=gcc +CFLAGS=-g -Wall -I/usr/include/mariadb +PROGS=sftpSend + + +LINK.c=$(CC) $(CFLAGS) + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lz \ +-L/usr/lib -lpthread -lz \ + +SFTPSEND_OBJ=sftpSend.o sftp.o + +default: linuxES + +all: + @echo "make clean -- Delete the target files" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linuxES: $(SFTPSEND_OBJ) + @$(LINK.c) -o $(PROGS) $(SFTPSEND_OBJ) $(LINKFLAG) -lm + ar r libsftpSend.a sftpSend.o sftp.o + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + cp -f parseResult ../../../../bin/ + cp -f initKeys ../../../../bin/ + cp -f sendfile ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + cp -f parseResult /usr/local/omc/bin/ + cp -f initKeys /usr/local/omc/bin/ + cp -f sendfile /usr/local/omc/bin/ + +installall: installbin installomc + +sftpSend.o: sftpSend.c + $(LINK.c) -c sftpSend.c + +sftp.o: sftp.c + $(LINK.c) -c sftp.c + +clean: + rm -rf *.o *.a $(PROGS) diff --git a/src/accountMgr/c_program/sftpSend/conf/NR.conf b/src/accountMgr/c_program/sftpSend/conf/NR.conf new file mode 100644 index 0000000..0a27d88 --- /dev/null +++ b/src/accountMgr/c_program/sftpSend/conf/NR.conf @@ -0,0 +1,45 @@ +# NR.conf + +# The local mcc +MCC=262 + +# The local mnc +MNC=09 + +# The local tag +LOCAL_TADIG=FEAKE + +# The time to make NRTRDE Delivery Report and Error Report +MAKE_REPORT_TIME=23 + +# The max value of CallEventDuration of a CDR +CallEventDurationMax=6000 + +# The version of the NRTRDE Delivery report +ND_VERSION=1.0 + +# The version of the NRTRDE Error report +NE_VERSION=1.0 + +# The specificationVersionNumber of the NRTRDE file +NR_SVN=2 + +# The ReleaseVersionNumber of the NRTRDE file +NR_RVN=1 + +# The backup directory +NR_RECV_BAK_DIR=/usr/local/omc/src/accountMgr/c_program/nrtrde/NR_RECV_BAK/ +NR_SEND_BAK_DIR=/usr/local/omc/src/accountMgr/c_program/nrtrde/NR_SEND_BAK/ +ND_RECV_BAK_DIR=/usr/local/omc/src/accountMgr/c_program/nrtrde/ND_RECV_BAK/ +ND_SEND_BAK_DIR=/usr/local/omc/src/accountMgr/c_program/nrtrde/ND_SEND_BAK/ +NE_RECV_BAK_DIR=/usr/local/omc/src/accountMgr/c_program/nrtrde/NE_RECV_BAK/ +NE_SEND_BAK_DIR=/usr/local/omc/src/accountMgr/c_program/nrtrde/NE_SEND_BAK/ +LOCAL_CSV_DIR=/usr/local/omc/src/accountMgr/c_program/nrtrde/LOCAL_CSV/ + +# The source directory to send the file +SEND_DIR=/usr/local/omc/src/accountMgr/c_program/nrtrde/SEND/ + +# The directory to receive the file +RECV_DIR=/usr/local/omc/src/accountMgr/c_program/nrtrde/RECV/ + + diff --git a/src/accountMgr/c_program/sftpSend/init b/src/accountMgr/c_program/sftpSend/init new file mode 100644 index 0000000..d6985a6 --- /dev/null +++ b/src/accountMgr/c_program/sftpSend/init @@ -0,0 +1,4 @@ +#!/bin/bash + +rm -rf *.txt +rm -rf *.log diff --git a/omc/bin/initKeys b/src/accountMgr/c_program/sftpSend/initKeys similarity index 100% rename from omc/bin/initKeys rename to src/accountMgr/c_program/sftpSend/initKeys diff --git a/omc/bin/parseResult b/src/accountMgr/c_program/sftpSend/parseResult similarity index 100% rename from omc/bin/parseResult rename to src/accountMgr/c_program/sftpSend/parseResult diff --git a/omc/bin/sendfile b/src/accountMgr/c_program/sftpSend/sendfile similarity index 91% rename from omc/bin/sendfile rename to src/accountMgr/c_program/sftpSend/sendfile index b608829..39b6b97 100644 --- a/omc/bin/sendfile +++ b/src/accountMgr/c_program/sftpSend/sendfile @@ -23,7 +23,7 @@ spawn sftp $username@$remoteip -expect "*(yes/no)?" {send "yes\n"; expect "*assword: "} "*assword: " +expect "yes/no" {send "yes\n"; expect "*assword: "} "*assword: " send "$userpass\n" expect "*sftp>*" send "cd $desdir\n" diff --git a/src/accountMgr/c_program/sftpSend/sftp.c b/src/accountMgr/c_program/sftpSend/sftp.c new file mode 100644 index 0000000..f69712a --- /dev/null +++ b/src/accountMgr/c_program/sftpSend/sftp.c @@ -0,0 +1,2032 @@ +/************************************************* +File name:sftp.c +Author: JianHui Zheng +Version: 9:00:00 +Date: 2007-10-9 +Description:该文件实现了向远端主机发送文件的功能 + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include +#include +#include +#include +#include +#include +#include "sftp.h" + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,11}; +int PROC_HEARTBEAT_OIDLEN=11; + +/******************************************************/ +/****** Function Declaration ******/ +/******************************************************/ +void sftp_init(void); +int initNRConf(void); +int sendFile(char *remoteip, char *username, char *userpass, char *srcdir, char *filename, char *desdir,int fileIndex); +void checkToSend(void); +void checkToTransfer(void); +int hpmnServersInfoUpdate(void); +void sftpsend_timer(void); +int initDatabase(void); +void initDirectory(void); +void printfHPMNServer(HpmnServer* server); +void printfFileObject(FileTransfer* ft); +void logMessage(const char *fmt,...); +void printfInColor(char *message,int color); + +void createSendTask(int fileIndex); +void sendTask(int fileIndex); + +void deleteFile(char* fileName); +int addFile(char* fileName); +int checkFile(char* fileName); + +//2009-06-10 +int sendHeartbeat(); + +int getCdrConf(FileTransfer *fileTransfer,int *file_object_count); +int getCstaConf(FileTransfer *fileTransfer,int *file_object_count); +/******************************************************/ +/****** Public Parameter Declaration ******/ +/******************************************************/ +/* The hpmn servers array, now suport 100 servers */ +HpmnServer servers[HPMN_SERVER_COUNT]; +/* The OMC_PUB database connection */ +MYSQL *g_omcPubConn; +/* The CDR_DB database connection */ +MYSQL *g_cdrConn; +/* The total count of hpmn servers in the hpmnConf table */ +int g_hpmn_server_count; +/* The hpmn servers info will be updated every minute */ +int g_hpmn_update_timeout; + +/* The file transfer array, now support 32 objects */ +FileTransfer file_transfers[MAX_FILE_TRANSFER_NUM]; + +/* The count of the file transfer object */ +int g_file_transfer_count; + +/* The source directory to send the file */ +char SEND_DIR[256]; +/* The directory to receive the file */ +char RECV_DIR[256]; + +/* The backup directory */ +char NR_RECV_BAK_DIR[256]; +char NR_SEND_BAK_DIR[256]; +char ND_RECV_BAK_DIR[256]; +char ND_SEND_BAK_DIR[256]; +char NE_RECV_BAK_DIR[256]; +char NE_SEND_BAK_DIR[256]; +char LOCAL_CSV_DIR[256]; + +/* Use to check the receive files */ +long recvfileSize; +char recvFileName[512]="NoFile"; + +char fileVector[MAX_THREAD_NUM][256]; +pthread_t threads[MAX_THREAD_NUM]; + + +unsigned long heartbeat_timeout=0; + +/************************************************* +Function: // sftp_init +Description: // 初始化 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void sftp_init() +{ + int i; + + logMessage("The sftp module is starting....\n"); + printfInColor("The sftp module is starting....\n",4); + + debug_init(1); + iptrans_init(); + snmp_init(4957); + //heartbeat_init(0); + + //Get the conf info from the NR.conf file + initNRConf(); + + //Init the database connection + initDatabase(); + + //Init the Directory + initDirectory(); + + //Init the server information update time + g_hpmn_update_timeout=HPMN_INFO_UPDATE_TIME; + + + //Init the server keys + hpmnServersInfoUpdate(); + + //Init the fileVector,these stand for 100 thread + for(i=0;ilocation + + len = strlen(serverinfo); + if(len>5) + { + if (serverinfo[len-1] != '/'&&len<127) + { + serverinfo[len]='/'; + serverinfo[len+1]='\0'; + } + + //ftp登陆用户名 + username = serverinfo; + if((pchr = strstr(serverinfo, ":"))==NULL){ + logMessage("[ERROR]cdr_store_server param error!\n"); + return 1; + } + *(pchr++) = '\0'; + + //ftp登陆密码 + pwd = pchr; + if((pchr = strstr(pwd, "@"))==NULL){ + logMessage("[ERROR]cdr_store_server param error!\n"); + return 1; + } + *(pchr++) = '\0'; + + //ftp服务器IP地址 + serverip = pchr;//get password + if((pchr = strstr(serverip, ">"))==NULL){ + logMessage("[ERROR]cdr_store_server param error!\n"); + return 1; + } + *(pchr++) = '\0'; + + //将要发送到远程服务器的目录 + remotepath = pchr; + + + //Get the srcDir + sprintf(file_transfers[*file_object_count].srcDir,"%s",cdr_local); + //Get the dstDir + sprintf(file_transfers[*file_object_count].dstDir,"%s",remotepath); + //Get the dstIP + sprintf(file_transfers[*file_object_count].dstIP,"%s",serverip); + //Get the filter + sprintf(file_transfers[*file_object_count].filter,"csv"); + //Get the loginName + sprintf(file_transfers[*file_object_count].logName,"%s",username); + //Get the loginPass + sprintf(file_transfers[*file_object_count].logPass,"%s",pwd); + + + printfFileObject(&file_transfers[*file_object_count]); + if(*file_object_count == (MAX_FILE_TRANSFER_NUM-1)) + logMessage("file_object_count is too much"); + (*file_object_count)++; + } + + return 0; +} + +// Zed baicells requirement, by simon --- +int getdailycdrConf(FileTransfer *fileTransfer, int *file_object_count) +{ + char sqlstr[512]; + int len; + MYSQL_RES *res; + MYSQL_ROW row; + char cdr_local[128]; + char cdr_sent[128]; + char serverinfo[128]; + char *username, *pwd, *serverip, *remotepath, *pchr; + + // 获得CDR_DB.cdrPubVarConf表中sending_directory的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM CDR_DB.cdrPubVarConf WHERE pubVarName='dailycdr_sending_directory'"); + + res = mysql_getres(g_omcPubConn, sqlstr); + if (res == NULL) + { + logMessage("[ERR %d][send_init]:%s", mysql_errno(g_omcPubConn), sqlstr); + return 1; + } + if ((row = mysql_fetch_row(res)) != NULL) + { + strcpy(cdr_local, row[0]); + } + mysql_free_result(res); + + len = strlen(cdr_local); + if (cdr_local[len - 1] != '/' && len < 127) + { + cdr_local[len] = '/'; + cdr_local[len + 1] = '\0'; + } + + // 获得CDR_DB.cdrPubVarConf表中sent_directory的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM CDR_DB.cdrPubVarConf WHERE pubVarName='dailycdr_sent_directory'"); + + res = mysql_getres(g_omcPubConn, sqlstr); + if (res == NULL) + { + logMessage("[ERR %d][send_init]:%s", mysql_errno(g_omcPubConn), sqlstr); + return 1; + } + if ((row = mysql_fetch_row(res)) != NULL) + { + strcpy(cdr_sent, row[0]); + } + mysql_free_result(res); + + len = strlen(cdr_sent); + if (cdr_sent[len - 1] != '/' && len < 127) + { + cdr_sent[len] = '/'; + cdr_sent[len + 1] = '\0'; + } + + //********************************************** + // 获取OMC_PUB.omcPubVarConf表中cdr_store_server的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='dailycdr_store_server'"); + + res = mysql_getres(g_omcPubConn, sqlstr); + if (res == NULL) + { + logMessage("[ERR %d][send_init]:%s", mysql_errno(g_omcPubConn), sqlstr); + return 1; + } + if ((row = mysql_fetch_row(res)) != NULL) + { + strcpy(serverinfo, row[0]); + } + mysql_free_result(res); + + // user:password@ip>location + + len = strlen(serverinfo); + if (len > 5) + { + if (serverinfo[len - 1] != '/' && len < 127) + { + serverinfo[len] = '/'; + serverinfo[len + 1] = '\0'; + } + + // ftp登陆用户名 + username = serverinfo; + if ((pchr = strstr(serverinfo, ":")) == NULL) + { + logMessage("[ERROR]cdr_store_server param error!\n"); + return 1; + } + *(pchr++) = '\0'; + + // ftp登陆密码 + pwd = pchr; + if ((pchr = strstr(pwd, "@")) == NULL) + { + logMessage("[ERROR]cdr_store_server param error!\n"); + return 1; + } + *(pchr++) = '\0'; + + // ftp服务器IP地址 + serverip = pchr; // get password + if ((pchr = strstr(serverip, ">")) == NULL) + { + logMessage("[ERROR]cdr_store_server param error!\n"); + return 1; + } + *(pchr++) = '\0'; + + // 将要发送到远程服务器的目录 + remotepath = pchr; + + // Get the srcDir + sprintf(file_transfers[*file_object_count].srcDir, "%s", cdr_local); + // Get the dstDir + sprintf(file_transfers[*file_object_count].dstDir, "%s", remotepath); + // Get the dstIP + sprintf(file_transfers[*file_object_count].dstIP, "%s", serverip); + // Get the filter + sprintf(file_transfers[*file_object_count].filter, "csv"); + // Get the loginName + sprintf(file_transfers[*file_object_count].logName, "%s", username); + // Get the loginPass + sprintf(file_transfers[*file_object_count].logPass, "%s", pwd); + + printfFileObject(&file_transfers[*file_object_count]); + if (*file_object_count == (MAX_FILE_TRANSFER_NUM - 1)) + logMessage("file_object_count is too much"); + (*file_object_count)++; + } + + return 0; +} +// ---end + +int getCstaConf(FileTransfer *fileTransfer,int *file_object_count) +{ + char sqlstr[512]; + int len; + MYSQL_RES *res; + MYSQL_ROW row; + char csta_local[128]; + char csta_sent[128]; + char serverinfo[128]; + char *username,*pwd,*serverip,*remotepath,*pchr; + + //获得CSTA_DB.cstaPubVarConf表中sending_directory的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM CSTA_DB.cstaPubVarConf WHERE pubVarName='sending_directory'"); + + res=mysql_getres(g_omcPubConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR %d][send_init]:%s",mysql_errno(g_omcPubConn),sqlstr); + return 1; + } + if((row = mysql_fetch_row(res)) != NULL) + { + strcpy(csta_local,row[0]); + } + mysql_free_result(res); + + len = strlen(csta_local); + + if (csta_local[len-1] != '/'&&len<127){ + csta_local[len]='/'; + csta_local[len+1]='\0'; + } + + //获得CSTA_DB.cstaPubVarConf表中sent_directory的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM CSTA_DB.cstaPubVarConf WHERE pubVarName='sent_directory'"); + + res=mysql_getres(g_omcPubConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR %d][send_init]:%s",mysql_errno(g_omcPubConn),sqlstr); + return 1; + } + if((row = mysql_fetch_row(res)) != NULL) + { + strcpy(csta_sent,row[0]); + } + mysql_free_result(res); + + len = strlen(csta_sent); + if (csta_sent[len-1] != '/'&&len<127){ + csta_sent[len]='/'; + csta_sent[len+1]='\0'; + } + + //获取OMC_PUB.omcPubVarConf表中csta_store_server的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='csta_store_server'"); + + res=mysql_getres(g_omcPubConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR %d][send_init]:%s",mysql_errno(g_omcPubConn),sqlstr); + return 1; + } + if((row = mysql_fetch_row(res)) != NULL) + { + strcpy(serverinfo,row[0]); + } + mysql_free_result(res); + + //user:password@ip>location + + len = strlen(serverinfo); + if(len>5) + { + if (serverinfo[len-1] != '/'&&len<127){ + serverinfo[len]='/'; + serverinfo[len+1]='\0'; + } + + //ftp登陆用户名 + username = serverinfo; + if((pchr = strstr(serverinfo, ":"))==NULL){ + logMessage("[ERROR]csta_store_server param error!\n"); + return 1; + } + *(pchr++) = '\0'; + + //ftp登陆密码 + pwd = pchr; + if((pchr = strstr(pwd, "@"))==NULL){ + logMessage("[ERROR]csta_store_server param error!\n"); + return 1; + } + *(pchr++) = '\0'; + + //ftp服务器IP地址 + serverip = pchr;//get password + if((pchr = strstr(serverip, ">"))==NULL){ + logMessage("[ERROR]csta_store_server param error!\n"); + return 1; + } + *(pchr++) = '\0'; + + //将要发送到远程服务器的目录 + remotepath = pchr; + + //Get the srcDir + sprintf(file_transfers[*file_object_count].srcDir,"%s",csta_local); + //Get the dstDir + sprintf(file_transfers[*file_object_count].dstDir,"%s",remotepath); + //Get the dstIP + sprintf(file_transfers[*file_object_count].dstIP,"%s",serverip); + //Get the filter + sprintf(file_transfers[*file_object_count].filter,"csv"); + //Get the loginName + sprintf(file_transfers[*file_object_count].logName,"%s",username); + //Get the loginPass + sprintf(file_transfers[*file_object_count].logPass,"%s",pwd); + + + printfFileObject(&file_transfers[*file_object_count]); + if(*file_object_count == (MAX_FILE_TRANSFER_NUM-1)) + logMessage("file_object_count is too much"); + (*file_object_count)++; + } + + return 0; +} +/************************************************* +Function: // logMessage +Description: // 往日志文件写信息 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // fmt:信息 +Output: // +Return: // +Others: // +*************************************************/ +void logMessage(const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/sftp%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + +/************************************************* +Function: // sendFile +Description: // Sent file to the remote HPMN server +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // remoteip: the ip of the remote server + username: the login name + userpass: the login password + srcdir: the source directory to send the files + filename: the file to be sent + desdir: the destination directory to send the files +Output: // +Return: // 0: successful; + 1: the remote server is unavaliable + 2: the login username or password is not fit + 3: the local don't have the key of the remote server + 4: the login user don't have the permission to access the directory +Others: // +*************************************************/ +int sendFile(char *remoteip, char *username, char *userpass, char *srcdir, char *filename, char *desdir,int fileIndex) +{ + char res; + FILE *fp; + char command[256]; + char message[256]; + char tempFile[16]; + + //Use the expect script to send the file by sftp + sprintf(command,"expect sendfile %s %s %s %s %s %s 1>/tmp/result%d.txt 2>/dev/null",remoteip,username,userpass,srcdir,filename,desdir,fileIndex); + system(command); + + //Use the parseResult script to parse the result of sending file + sprintf(command,"bash parseResult %d",fileIndex); + system(command); + + sprintf(tempFile,"/tmp/temp%d.txt",fileIndex); + fp=fopen(tempFile,"r"); + res=fgetc(fp)-48; + fclose(fp); + + sprintf(command,"rm -rf /tmp/result%d.txt",fileIndex); + system(command); + //printf("SendFile()---The result is %d\n",res); + + if(res==0) + { + sprintf(message,"Send the %s to server-%s successfully\n",filename,remoteip); + logMessage(message); + printfInColor(message,4); + } + else if(res==1) + { + sprintf(message,"Send the %s failed, the remote server-%s is unavaliable\n",filename,remoteip); + logMessage(message); + printfInColor(message,1); + } + else if(res==2) + { + sprintf(message,"Send the %s failed, the login name or password is not correct to login server-%s\n",filename,remoteip); + logMessage(message); + printfInColor(message,1); + } + else if(res==3) + { + sprintf(message,"Send the %s failed, the local don not have the key of the remote server-%s\n",filename,remoteip); + logMessage(message); + printfInColor(message,1); + } + else if(res==4) + { + sprintf(message,"Send the %s failed, the login user do not have the permission to access the remote server-%s destination directory\n",filename,remoteip); + logMessage(message); + printfInColor(message,1); + } + else + { + sprintf(message,"When send the %s to server-%s it happen to unrecognizable result\n",filename,remoteip); + logMessage(message); + printfInColor(message,1); + } + //printf("%s\n",message); + sprintf(command,"rm -rf /tmp/temp%d.txt",fileIndex); + system(command); + + return res; +} + +/************************************************* +Function: // sendHeartbeat +Description: // Send process heartbeat to beatProc +Calls: // snmp_send +Called By: // on_Timer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK; 0:Fail +Others: // +*************************************************/ +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"sftpSend"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + logMessage("Send heartbeat fail"); + return 0; + } + return 1; +} + +/************************************************* +Function: // sftpsend_timer +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void sftpsend_timer() +{ + char message[256]; + int i; + + + if(time(NULL) - heartbeat_timeout > 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + logMessage("Send HB"); + } + + //check and send the file to the remote server + checkToSend(); + + //check and send the normal file to the remote server + checkToTransfer(); + + //server information update time + g_hpmn_update_timeout--; + sprintf(message,"Update the HPMN infomation timeout=%d\n",g_hpmn_update_timeout); + printfInColor(message,0); + if(g_hpmn_update_timeout<0) + { + hpmnServersInfoUpdate(); + g_hpmn_update_timeout=HPMN_INFO_UPDATE_TIME; + } + + //update the servers timeslot + for(i=0;i= 0) + { + servers[i].timeSlot--; + } + } + + + + + +} + +/************************************************* +Function: // checkToSend +Description: // Check the directory and to send file to remote +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // The 'SEND_DIR' define the source directory in the head file +*************************************************/ +void checkToSend() +{ + int sendResult; //the result of sending a file to remote + char command[512]; //the command to send to the linux + char message[512]; + long fileSize; + int checkFlag; + struct dirent* pDirEnt; + struct stat fileStat; + DIR* srcDir; + char tmpFileName[512]; + char fullFileName[512]; + char recipientTadig[8]; + char senderTadig[8]; + int i; + int mustSend; + int fileIndex; + + + srcDir = opendir(SEND_DIR); + if(srcDir==NULL) + { + //printf("DIR NULL:%s\n",strerror(errno)); + return; + } + + while((pDirEnt = readdir(srcDir))!=NULL) + { + //printf("pDirEnt=%ld\n",pDirEnt); + if(strlen(pDirEnt->d_name)<3) + continue; + //check the file name + sprintf(tmpFileName,"%s",pDirEnt->d_name); + //printf("tmpFileName=%s\n",tmpFileName); + + //get the senderTadig + memset(senderTadig,0,8); + for(i=2;i<7;i++) + { + senderTadig[i-2]=tmpFileName[i]; + } + senderTadig[i-2]='\0'; + //printf("senderTadig=%s\n",senderTadig); + + //get the recipientTadig + memset(recipientTadig,0,8); + for(i=7;i<12;i++) + { + recipientTadig[i-7]=tmpFileName[i]; + } + recipientTadig[i-7]='\0'; + //printf("recipientTadig=%s\n",recipientTadig); + + checkFlag=0; + sprintf(fullFileName,"%s%s",SEND_DIR,tmpFileName); + do + { + stat(fullFileName,&fileStat); + + //the file size is stable + if(checkFlag && fileSize==fileStat.st_size) + { + //printf("fullFileName=%s,fileSize=%ld\n",fullFileName,fileSize); + //printf("tmpFileName=%s\n",tmpFileName); + + //if the file is NRTRDE file, then parse it + if(tmpFileName[1] == 'R') + { + //send file to remote server + sendResult=-1; + mustSend=0; + for(i=0;i= 0) + createSendTask(fileIndex); + } + } + break; + } + } + + //send successfully or the file is not identified + if(mustSend == 0) + { + //backup the NRTRDE files + //printf("senderTadig=%s,recipientTadig=%s,command=%s\n",senderTadig,recipientTadig,command); + sprintf(command,"mv %s %s",fullFileName,NR_SEND_BAK_DIR); + system(command); + sprintf(message,"%s",command); + logMessage(message); + printfInColor(message,3); + } + + + } + //if the file is NRTRDE Delivery report, then backup it + + else if(tmpFileName[1] == 'D') + { + //send file to remote server + sendResult=-1; + mustSend=0; + for(i=0;i= 0) + createSendTask(fileIndex); + } + } + break; + } + } + + //send successfully or the file is not identified + if(mustSend == 0) + { + //backup the NRTRDE files + //printf("senderTadig=%s,recipientTadig=%s,command=%s\n",senderTadig,recipientTadig,command); + sprintf(command,"mv %s %s",fullFileName,ND_SEND_BAK_DIR); + system(command); + + sprintf(message,"%s",command); + logMessage(message); + printfInColor(message,3); + } + + } + //if the file is NRTRDE Error report, then backup it + else if(tmpFileName[1] == 'E') + { + //send file to remote server + sendResult=-1; + mustSend=0; + for(i=0;i= 0) + createSendTask(fileIndex); + } + } + break; + } + } + + //send successfully or the file is not identified + if(mustSend == 0) + { + //backup the NRTRDE files + //printf("senderTadig=%s,recipientTadig=%s,command=%s\n",senderTadig,recipientTadig,command); + sprintf(command,"mv %s %s",fullFileName,NE_SEND_BAK_DIR); + system(command); + sprintf(message,"%s",command); + logMessage(message); + printfInColor(message,3); + } + + } + break; + } + if(fileSize != fileStat.st_size) + { + sleep(2); + } + fileSize=fileStat.st_size; + //printf("check the the file=%s,recipientTadig=%s,size=%ld\n",fullFileName,recipientTadig,fileSize); + checkFlag=1; + }while(stat(fullFileName,&fileStat)==0); + break; + } + closedir(srcDir); +} + +/************************************************* +Function: // checkToTransfer +Description: // Check the directory and to send file to remote, for normal files +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void checkToTransfer() +{ + char message[512]; + char fileName[64]; + char fullFileName[256]; + char filter[32]; + struct dirent* pDirEnt; + struct stat fileStat; + DIR* srcDir; + int fileIndex; + long fileSize; + int checkFlag; + int fileObjIndex; + + + for(fileObjIndex=0;fileObjIndex0) + { + if(file_transfers[fileObjIndex].curFileIndex!=-1) + { + file_transfers[fileObjIndex].failTimeout--; + if(file_transfers[fileObjIndex].failTimeout <= 0) + { + logMessage("%d,send %s consume too time\n",fileObjIndex,fileVector[file_transfers[fileObjIndex].curFileIndex]); + deleteFile(fileVector[file_transfers[fileObjIndex].curFileIndex]); + file_transfers[fileObjIndex].curFileIndex=-1; + } + } + continue; + } + file_transfers[fileObjIndex].waitTime=10; + srcDir=opendir(file_transfers[fileObjIndex].srcDir); + if(srcDir == NULL) + { + logMessage("[checkToTransfer]Can not open directory %s",file_transfers[fileObjIndex].srcDir); + continue; + } + + logMessage("check directory %s",file_transfers[fileObjIndex].srcDir); + + while((pDirEnt = readdir(srcDir))!=NULL) + { + if(strlen(pDirEnt->d_name)<3) + continue; + sprintf(fileName,"%s",pDirEnt->d_name); + if(strcmp("*",file_transfers[fileObjIndex].filter) != 0) + { + sprintf(filter,".%s",file_transfers[fileObjIndex].filter); + if(strstr(fileName,filter) == NULL) + continue; + } + + sprintf(fullFileName,"%s%s",file_transfers[fileObjIndex].srcDir,fileName); + + checkFlag=0; + + do + { + stat(fullFileName,&fileStat); + if(checkFlag && fileSize==fileStat.st_size) + { + if(checkFile(fullFileName) == 0) + { + if((fileIndex=addFile(fullFileName)) >= 0) + { + sprintf(message,"prepare to send normal file=%s\n",fullFileName); + logMessage(message); + createSendTask(fileIndex); + file_transfers[fileObjIndex].failTimeout=MAX_FAIL_TIMEOUT; + file_transfers[fileObjIndex].curFileIndex=fileIndex; + closedir(srcDir); + return; + } + } + break; + } + if(fileSize != fileStat.st_size) + sleep(2); + + fileSize=fileStat.st_size; + checkFlag=1; + }while(stat(fullFileName,&fileStat)==0); + + } + closedir(srcDir); + } + + +} + +/************************************************* +Function: // hpmnServersInfoUpdate +Description: // Update the HPMN servers information +Calls: // initDatabase; printfHPMNServer; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 0:failed; 1:successful; +Others: // This function will modify the 'g_hpmn_server_count' and 'servers' value +*************************************************/ +int hpmnServersInfoUpdate() +{ + MYSQL_RES *res; + MYSQL_ROW row; + char sqlstr[256]; + char message[256]; + int server_count; + int len; + + int file_object_count; + + + sprintf(sqlstr,"SELECT * FROM OMC_PUB.hpmnConf"); + + res=mysql_getres(g_omcPubConn,sqlstr); + if(res == NULL) + { + sprintf(message,"[ERR %d][hpmnServersInfoUpdate]:%s",mysql_errno(g_omcPubConn),sqlstr); + logMessage(message); + return FAIL; + } + + //Update the HPMN servers information + server_count=0; + while((row = mysql_fetch_row(res)) != NULL) + { + //Get the mcc + sprintf(servers[server_count].mcc,"%s",row[0]); + //Get the mnc + sprintf(servers[server_count].mnc,"%s",row[1]); + //Get the tadig + sprintf(servers[server_count].tadig,"%s",row[2]); + //Get the serverIP + sprintf(servers[server_count].serverIP,"%s",row[3]); + //Get the loginName + sprintf(servers[server_count].loginName,"%s",row[4]); + //Get the loginPass + sprintf(servers[server_count].loginPass,"%s",row[5]); + //Get the timeSlot,alway 0 + servers[server_count].timeSlot=0; + //Get the reportDir + sprintf(servers[server_count].reportDir,"%s",row[7]); + //Get the nrtrdeDir + sprintf(servers[server_count].nrtrdeDir,"%s",row[8]); + + len = strlen(servers[server_count].reportDir); + if (servers[server_count].reportDir[len-1] != '/'&&len<127) + { + servers[server_count].reportDir[len]='/'; + servers[server_count].reportDir[len+1]='\0'; + } + + len = strlen(servers[server_count].nrtrdeDir); + if (servers[server_count].nrtrdeDir[len-1] != '/'&&len<127) + { + servers[server_count].nrtrdeDir[len]='/'; + servers[server_count].nrtrdeDir[len+1]='\0'; + } + printfHPMNServer(&servers[server_count]); + server_count++; + } + //Update the server count + g_hpmn_server_count=server_count; + //Free the database resource + mysql_free_result(res); + + + + //Update the file transfer object from the OMC_PUB.fileTransConf + sprintf(sqlstr,"SELECT srcDir,dstDir,dstIP,filter,logName,logPass FROM OMC_PUB.fileTransConf where type=1"); + + res=mysql_getres(g_omcPubConn,sqlstr); + if(res == NULL) + { + sprintf(message,"[ERR %d][hpmnServersInfoUpdate]:%s",mysql_errno(g_omcPubConn),sqlstr); + logMessage(message); + return FAIL; + } + + //Update the HPMN servers information + file_object_count=0; + while((row = mysql_fetch_row(res)) != NULL) + { + //Get the srcDir + sprintf(file_transfers[file_object_count].srcDir,"%s",row[0]); + //Get the dstDir + sprintf(file_transfers[file_object_count].dstDir,"%s",row[1]); + //Get the dstIP + sprintf(file_transfers[file_object_count].dstIP,"%s",row[2]); + //Get the filter + sprintf(file_transfers[file_object_count].filter,"%s",row[3]); + //Get the loginName + sprintf(file_transfers[file_object_count].logName,"%s",row[4]); + //Get the loginPass + sprintf(file_transfers[file_object_count].logPass,"%s",row[5]); + + + len = strlen(file_transfers[file_object_count].srcDir); + if(file_transfers[file_object_count].srcDir[len-1] != '/'&&len<127) + { + file_transfers[file_object_count].srcDir[len]='/'; + file_transfers[file_object_count].srcDir[len+1]='\0'; + } + + len = strlen(file_transfers[file_object_count].dstDir); + if (file_transfers[file_object_count].dstDir[len-1] != '/'&&len<127) + { + file_transfers[file_object_count].dstDir[len]='/'; + file_transfers[file_object_count].dstDir[len+1]='\0'; + } + printfFileObject(&file_transfers[file_object_count]); + if(file_object_count == (MAX_FILE_TRANSFER_NUM-1)) + break; + file_object_count++; + + } + //get the csta and cdr send conf + getCdrConf(file_transfers,&file_object_count); + getCstaConf(file_transfers,&file_object_count); + // Zed baicells requirement, by simon --- + getdailycdrConf(file_transfers, &file_object_count); + // --- end + + // Update the server count + g_file_transfer_count = file_object_count; + //printf("g_file_transfer_count=%d\n",g_file_transfer_count); + //Free the database resource + mysql_free_result(res); + + return SUCCESSFUL; +} + +/************************************************* +Function: // initDatabase +Description: // Connection the OMC_PUB, CDR_DB databases +Calls: // +Called By: // hpmnServersInfoUpdate; +Table Accessed: // OMC_PUB.hpmnConf +Table Updated: // +Input: // +Output: // +Return: // 0:failed; 1:successful; +Others: // +*************************************************/ +int initDatabase() +{ + + //Init the OMC_PUB database connection + g_omcPubConn=mysql_conn("localhost","OMC_PUB"); + if(g_omcPubConn == NULL) + { + printf("[ERR][initDatabase]:mysql_conn OMC_PUB"); + return FAIL; + } + + g_cdrConn=mysql_conn("localhost","CDR_DB"); + if(g_cdrConn == NULL) + { + printf("[ERR][initDatabase]:mysql_conn CDR_DB"); + return FAIL; + } + + return SUCCESSFUL; +} + +/************************************************* +Function: // printfInColor +Description: // Print the message in specific color to the standand output +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // message:the message to print; color:the color in printing +Output: // +Return: // +Others: // For test,only the NRTRDE_DEBUG flag is open when it show the debug infomation +*************************************************/ +void printfInColor(char *message,int color) +{ + +#if SFTP_DEBUG + + if(message==NULL) + return; + switch(color) + { + //white + case 0: + printf("\033[37m%s",message); + break; + //red + case 1: + printf("\033[31m%s",message); + break; + //green + case 2: + printf("\033[32m%s",message); + break; + //yellow + case 3: + printf("\033[33m%s",message); + break; + //blue + case 4: + printf("\033[34m%s",message); + break; + //light green + case 5: + printf("\033[36m%s",message); + break; + //pink + case 6: + printf("\033[35m%s",message); + break; + //white + default: + printf("\033[37m%s",message); + } + printf("\033[37m"); +#endif +} + +/************************************************* +Function: // printfHPMNServer +Description: // Print the information of the specific HPMN server +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // server:the HPMN server to print +Output: // +Return: // +Others: // This funtion is for test +*************************************************/ +void printfHPMNServer(HpmnServer* server) +{ +#if SFTP_DEBUG + printf("=======================================\n"); + printf("tadig=%s\n",server->tadig); + printf("mcc=%s\n",server->mcc); + printf("mnc=%s\n",server->mnc); + printf("serverIP=%s\n",server->serverIP); + printf("loginName=%s\n",server->loginName); + printf("loginPass=%s\n",server->loginPass); + printf("timeSlot=%d\n",server->timeSlot); + printf("reportDir=%s\n",server->reportDir); + printf("nrtrdeDir=%s\n",server->nrtrdeDir); + printf("\tsendFileTimeout=%d\n",server->sendFileTimeout); + printf("=======================================\n"); +#endif +} + +/************************************************* +Function: // printfFileObject +Description: // Print the information of the specific file transfer object +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // ft:the file transfer object to print +Output: // +Return: // +Others: // This funtion is for test +*************************************************/ +void printfFileObject(FileTransfer* ft) +{ +#if SFTP_DEBUG + printf("=======================================\n"); + printf("srcDir=%s\n",ft->srcDir); + printf("dstDir=%s\n",ft->dstDir); + printf("dstIP=%s\n",ft->dstIP); + printf("filter=%s\n",ft->filter); + printf("logName=%s\n",ft->logName); + printf("logPass=%s\n",ft->logPass); + printf("=======================================\n"); +#endif +} + +/************************************************* +Function: // initDirectory +Description: // Make the directory for the module +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void initDirectory() +{ + char oldDir[512]; + char message[512]; + char command[512]; + + getcwd(oldDir,512); + + //make SEND_DIR + if(chdir(SEND_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",SEND_DIR); + system(command); + sprintf(message,"Make directory SEND_DIR=%s\n",SEND_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(SEND_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory SEND_DIR=%s failed\n",SEND_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("sftpSend:initDirectory, Make directory SEND_DIR=%s failed",SEND_DIR); + exit(1); + } + } + + //make RECV_DIR + if(chdir(RECV_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",RECV_DIR); + system(command); + sprintf(message,"Make directory RECV_DIR=%s\n",RECV_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(RECV_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory RECV_DIR=%s failed\n",RECV_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("sftpSend:initDirectory, Make directory RECV_DIR=%s failed\n",RECV_DIR); + exit(1); + } + } + + //make NR_RECV_BAK_DIR + if(chdir(NR_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",NR_RECV_BAK_DIR); + system(command); + sprintf(message,"Make directory NR_RECV_BAK_DIR=%s\n",NR_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(NR_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory NR_RECV_BAK_DIR=%s failed\n",NR_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("sftpSend:initDirectory, Make directory NR_RECV_BAK_DIR=%s failed",NR_RECV_BAK_DIR); + exit(1); + } + } + + //make NR_SEND_BAK_DIR + if(chdir(NR_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",NR_SEND_BAK_DIR); + system(command); + sprintf(message,"Make directory NR_SEND_BAK_DIR=%s\n",NR_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(NR_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory NR_SEND_BAK_DIR=%s failed\n",NR_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("sftpSend:initDirectory, Make directory NR_SEND_BAK_DIR=%s failed",NR_SEND_BAK_DIR); + exit(1); + } + } + + //make ND_RECV_BAK_DIR + if(chdir(ND_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",ND_RECV_BAK_DIR); + system(command); + sprintf(message,"Make directory ND_RECV_BAK_DIR=%s\n",ND_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(ND_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory ND_RECV_BAK_DIR=%s failed\n",ND_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("sftpSend:initDirectory, Make directory ND_RECV_BAK_DIR=%s failed",ND_RECV_BAK_DIR); + exit(1); + } + } + + //make ND_SEND_BAK_DIR + if(chdir(ND_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",ND_SEND_BAK_DIR); + system(command); + sprintf(message,"Make directory ND_SEND_BAK_DIR=%s\n",ND_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(ND_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory ND_SEND_BAK_DIR=%s failed\n",ND_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("sftpSend:initDirectory, Make directory ND_SEND_BAK_DIR=%s failed",ND_SEND_BAK_DIR); + exit(1); + } + } + + //make NE_RECV_BAK_DIR + if(chdir(NE_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",NE_RECV_BAK_DIR); + system(command); + sprintf(message,"Make directory NE_RECV_BAK_DIR=%s\n",NE_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(NE_RECV_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory NE_RECV_BAK_DIR=%s failed\n",NE_RECV_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("sftpSend:initDirectory, Make directory NE_RECV_BAK_DIR=%s failed",NE_RECV_BAK_DIR); + exit(1); + } + } + + //make ND_SEND_BAK_DIR + if(chdir(NE_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(command,"mkdir -p -m755 %s",NE_SEND_BAK_DIR); + system(command); + sprintf(message,"Make directory NE_SEND_BAK_DIR=%s\n",NE_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + if(chdir(NE_SEND_BAK_DIR) == -1) + { + chdir(oldDir); + sprintf(message,"Make directory NE_SEND_BAK_DIR=%s failed\n",NE_SEND_BAK_DIR); + logMessage(message); + printfInColor(message,3); + exitLog("sftpSend:initDirectory, Make directory NE_SEND_BAK_DIR=%s failed",NE_SEND_BAK_DIR); + exit(1); + } + } + chdir(oldDir); + +} + +/************************************************* +Function: // deleteFile +Description: // When the file is sent successfully, then delete the fileName in the fileVector +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // fileName:the file name to delete +Output: // +Return: // +Others: // This function will change the value 'fileVector' +*************************************************/ +void deleteFile(char* fileName) +{ + int i; + + if(fileName == NULL) + return; + + for(i=0;i=0) + { + sprintf(message,"Prepare to send file=%s to %s\n",tmpFileName,recipientTadig); + logMessage(message); + printfInColor(message,3); + + sendResult=-1; + sendResult=sendFile(servers[serverIndex].serverIP, + servers[serverIndex].loginName, + servers[serverIndex].loginPass, + SEND_DIR, + tmpFileName, + servers[serverIndex].nrtrdeDir, + fileIndex); + + + //send file successfully + if(sendResult == 0) + { + deleteFile(tmpFileName); + //back up the file + if(tmpFileName[1] == 'R') + { + sprintf(command,"mv %s%s %s",SEND_DIR,tmpFileName,NR_SEND_BAK_DIR); + } + else if(tmpFileName[1] == 'D') + { + sprintf(command,"mv %s%s %s",SEND_DIR,tmpFileName,ND_SEND_BAK_DIR); + } + else if(tmpFileName[1] == 'E') + { + sprintf(command,"mv %s%s %s",SEND_DIR,tmpFileName,NE_SEND_BAK_DIR); + } + + + //printf("command=%s\n",command); + system(command); + sprintf(message,"%s\n",command); + logMessage(message); + printfInColor(message,3); + + } + //send file failed + else + { + deleteFile(tmpFileName); + servers[i].timeSlot=WAIT_TIME; + } + } + } + + for(i=0;i +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#ifndef _T_DWORD +#define _T_DWORD +typedef unsigned int DWORD; +#endif + +#include "mysql.h" + +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/snmp/src/include/snmp.h" + +/********************************************************/ +/****** Constant Define ******/ +/********************************************************/ +/* The hpmn servers info update timeslot (Second) */ +#define HPMN_INFO_UPDATE_TIME 60 +/* The hpmn servers count which this version to support */ +#define HPMN_SERVER_COUNT 100 +/* Wait time when the server send file fail */ +#define WAIT_TIME 10 +/* The max number of thread */ +#define MAX_THREAD_NUM 8 + +#define MAX_FAIL_TIMEOUT 300 + +/* The max number of File Transfer object */ +#define MAX_FILE_TRANSFER_NUM 32 + + +/* The return value of the function */ +#define SUCCESSFUL 1 +#define FAIL 0 + +#ifndef SFTP_DEBUG + #define SFTP_DEBUG 0 +#endif + +/********************************************************/ +/****** Struct Define ******/ +/********************************************************/ +/* The information of the hpmn servers */ +typedef struct HpmnServer +{ + char mcc[8]; //The mcc of the HPMN server + char mnc[8]; //The mnc of the HPMN server + char tadig[8]; //The tadig of the HPMN server, length=5 + char serverIP[16]; //The remote IP address of the HPMN server, xxx.xxx.xxx.xxx + char loginName[64]; //The user name to login the remote HPMN server + char loginPass[64]; //The user password to login the remote HPMN server + int timeSlot; //The timeslot to send the nrtrde to the remote HPMN server + char reportDir[256]; //The directory to send the report files to the HPMN server + char nrtrdeDir[256]; //The directory to send the nrtrde files to the HPMN server + + int sendFileTimeout; //When the value<0, then send the nrtrde file to remote HPMN server +}HpmnServer; + +/* The information of the file transfer object */ +typedef struct FileTransfer +{ + char srcDir[128]; + char dstDir[128]; + char dstIP[16]; + char filter[16]; + char logName[32]; + char logPass[32]; + int curFileIndex; + int waitTime; + int failTimeout; +}FileTransfer; + +#endif diff --git a/src/accountMgr/c_program/sftpSend/sftpSend.c b/src/accountMgr/c_program/sftpSend/sftpSend.c new file mode 100644 index 0000000..244a52a --- /dev/null +++ b/src/accountMgr/c_program/sftpSend/sftpSend.c @@ -0,0 +1,126 @@ +/************************************************* +File name:sftpSend.c +Author: +Version: 9:00:00 +Date: 2007-10-9 +Description:定义sftp模块的定时器 + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include "sftp.h" + +extern void sftpsend_timer(); +extern void sftp_init(); +static struct itimerval itimer, old_itimer; +static void On_Timer(); +static void SetTimer(); + +/************************************************* +Function: // main +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int main(int argc, char *argv[]) +{ + pid_t pid; + + + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } + + sftp_init(); + + SetTimer(); + while (1) { + usleep(50); + } + return 1; +} + +/************************************************* +Function: // On_Timer +Description: // 定时器函数 +Calls: // sftpsend_timer +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void On_Timer() +{ + //long l_time; + //struct tm *t; + + //l_time = time(NULL); + //t = localtime(&l_time); + + sftpsend_timer(); + /*****test************/ + + //printf("timer-%02d\n",t->tm_sec); +} + +/************************************************* +Function: // SetTimer +Description: // 设置定时器函数 +Calls: // On_Timer +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void SetTimer() +{ + struct sigaction act; + act.sa_handler = On_Timer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exitLog("sftpSend:SetTimer, sigaction function error"); + exit(1); + } + +// itimer.it_interval.tv_sec = 0; +// itimer.it_interval.tv_usec = 1000 * 1000; +// itimer.it_value.tv_sec = 0; +// itimer.it_value.tv_usec = 20 * 1000; + + + itimer.it_interval.tv_sec = 1; + itimer.it_interval.tv_usec = 0; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exitLog("sftpSend:SetTimer, setitimer function error"); + exit(1); + } +} diff --git a/src/accountMgr/c_program/smcli/Makefile b/src/accountMgr/c_program/smcli/Makefile new file mode 100644 index 0000000..a0403a9 --- /dev/null +++ b/src/accountMgr/c_program/smcli/Makefile @@ -0,0 +1,92 @@ +#!/bin/sh + +# Makefile for smcli module. + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall + +dbINCLUDE_FLAGS = -I/usr/local/mysql/include +dbINCLUDE_FLAGS.ES = -I/usr/include/mariadb + +dbLib = -L/usr/local/mysql/lib -lmariadbclient -lz +dbLib.ES = -L/usr/lib/mysql -lmariadbclient -lm + +omcLib = -L../../../omcLib/c_program/omcLib -lomcLib + +LIB_FLAGS = $(omcLib) $(dbLib) + + +LIB_FLAGS.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lm + +CHECK_INDENT=indent -kr -ts4 *.c *.h + +LINK_SUFFIX = $(LIB_FLAGS) +LINK_SUFFIX.ES = $(LIB_FLAGS.ES) + +PROGS = smcli + +PROGS_OBJ = commands.o smcli.o pmcli.o +PROGS_OBJ.ES = commands.o.ES smcli.o.ES pmcli.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(PROGS_OBJ) + @cd ../../../omcLib/c_program/omcLib; make clean; make linux72; cd - + @cd ../../../accountMgr/c_program/smcli; + @echo Linking $(PROGS) + #$(CHECK_INDENT) + @$(CC) $(CFLAGS) -o $(PROGS) $(PROGS_OBJ) $(LINK_SUFFIX) + rm -f *.o core *~ + cp -f $(PROGS) ../../../bin + cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(PROGS_OBJ.ES) + @cd ../../../omcLib/c_program/omcLib; make linuxES; cd - + @cd ../../../accountMgr/c_program/smcli; + @echo Linking $(PROGS) + #$(CHECK_INDENT) + @$(CC) $(CFLAGS) -o $(PROGS) $(PROGS_OBJ) $(LINK_SUFFIX.ES) + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +commands.o: commands.c smcli.h + $(CC) $(CFLAGS) -c commands.c $(dbINCLUDE_FLAGS) + +smcli.o: smcli.c + $(CC) $(CFLAGS) -c smcli.c $(dbINCLUDE_FLAGS) + +#added for the configuration of parameters +pmcli.o: pmcli.c + $(CC) $(CFLAGS) -c pmcli.c $(dbINCLUDE_FLAGS) + +commands.o.ES: commands.c smcli.h + $(CC) $(CFLAGS) -c commands.c $(dbINCLUDE_FLAGS.ES) + +smcli.o.ES: smcli.c + $(CC) $(CFLAGS) -c smcli.c $(dbINCLUDE_FLAGS.ES) + +pmcli.o.ES: pmcli.c + $(CC) $(CFLAGS) -c pmcli.c $(dbINCLUDE_FLAGS.ES) + +clean: + rm -f *.o *.a $(PROGS) + @cd ../../../accountMgr/c_program/smcli; rm -f *.o *.a; cd .. + diff --git a/src/accountMgr/c_program/smcli/commands.c b/src/accountMgr/c_program/smcli/commands.c new file mode 100644 index 0000000..372781b --- /dev/null +++ b/src/accountMgr/c_program/smcli/commands.c @@ -0,0 +1,5068 @@ +/************************************************* +File name: command.c +Author: +Version: 9:00:00 +Date: 2007-8-4 +Description:该文件定义了命令的参数在数据库里的值与输入输出的值的相互转换模式 + + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include "smcli.h" + +/* by simon at 23/9/26 */ +extern CmdBuf *cmdBuf; +extern int OptNo_index; + +//hlr exchange mode define +#define exM_hlrImsi 1 +#define exM_hlrMsisdn 2 +#define exM_hlrCcNdcSn 3 +#define exM_hlrState 4 +#define exM_hlrNam 5 +#define exM_hlrClirpm 6 +#define exM_hlrCfuopt 7 +#define exM_hlrCfbopt 8 +#define exM_hlrCfnryopt 9 +#define exM_hlrCfnryTimer 10 +#define exM_hlrCfnrcopt 11 +#define exM_hlrSms 12 +#define exM_hlrCategory 13 +#define exM_hlrRszi 14 +#define exM_hlrCsrr 15 +#define exM_hlrCbsp 16 +#define exM_hlrCbwpa 17 +#define exM_hlrOCsi1 21 +#define exM_hlrOCsi2 22 +#define exM_hlrOCsi3 23 +#define exM_hlrOCsi4 24 +#define exM_hlrOCsi5 25 +#define exM_hlrOCsi6 26 +#define exM_hlrOCsi7 27 +#define exM_hlrOCsi8 28 +#define exM_hlrOCsi9 29 +#define exM_hlrOCsi10 30 +#define exM_hlrOCsi11 31 +#define exM_hlrOCsi12 32 +#define exM_hlrOCsi13 33 +#define exM_hlrOCsi14 34 +#define exM_hlrOCsi15 35 +#define exM_hlrOCsi16 36 +#define exM_hlrOCsi17 37 +#define exM_hlrOCsi18 38 +#define exM_hlrSsCsi 41 +#define exM_hlrSsCsi1 42 +#define exM_hlrPdp1 43 +#define exM_hlrPdp2 44 +#define exM_hlrPdp3 45 +#define exM_hlrPdp4 46 +#define exM_hlrPdp5 47 +#define exM_hlrPdp6 48 +#define exM_hlrPdp7 49 +#define exM_hlrPdp8 50 +#define exM_hlrPdp9 51 +#define exM_hlrPdp10 52 +#define exM_hlrPdp11 53 +#define exM_hlrPdp12 54 +#define exM_hlrPdp13 55 +#define exM_hlrPdp14 56 +#define exM_hlrPdp15 57 +#define exM_hlrPdp16 58 +#define exM_hlrPdp17 59 +#define exM_hlrPdp18 60 +#define exM_hlrPdp19 61 +#define exM_hlrPdp20 62 +#define exM_hlrPdp21 63 +#define exM_hlrPdp22 64 +#define exM_hlrPdp23 65 +#define exM_hlrPdp24 66 +#define exM_hlrPdp25 67 +#define exM_hlrPdp26 68 +#define exM_hlrPdp27 69 +#define exM_hlrPdp28 70 +#define exM_hlrPdp29 71 +#define exM_hlrPdp30 72 +#define exM_hlrPdp31 73 +#define exM_hlrPdp32 74 +#define exM_hlrPdp33 75 +#define exM_hlrPdp34 76 +#define exM_hlrPdp35 77 +#define exM_hlrUserNo 78 + +#define optNo_Rszi 31 +#define optNo_Sscsi 156 + +//pps exchange mode define +#define exM_ppsDate 1 +#define exM_ppsRentType 2 +#define exM_ppsCallType 3 +#define exM_ppsSM 4 +#define exM_ppsBalance 5 +#define exM_ppsCardStatus 6 +#define exM_ppsPoolAccountType 30 +#define exM_ppsFFPlanState 31 + +//vms exchange mode define +#define exM_vmsHexDec 1 //20041101 +#define exM_vmsGreetingType 2 //20041101 +#define exM_vmsMailboxId 3 //20041101 + +//mnp exchange mode define +#define exM_mnpStatus 1 +#define exM_mnpDate 2 + +//imdm exchange mode define +#define exM_imdmMsisdn 1 +#define exM_imdmImei 2 +#define exM_imdmImsi 3 +#define exM_imdmOprFlag 4 +#define exM_imdmClass 5 +#define exM_imdmUserType 6 +//#define exM_imdmType 5 +//#define exM_imdmStatus 6 + +//ipalim exchange mode define +#define exM_ipalimImsi 1 +#define exM_ipalimMsisdn 2 +#define exM_ipalimMsisdnExtern 3 +#define exM_ipalimTmsi 4 +#define exM_ipalimLai 5 +#define exM_ipalimType 6 + +//auc exchange mode define +#define exM_aucImsi 1 + +/* +CmdBuf defCmdBuf[CmdBufSize] = { + + {1, "omc", "account", "172.18.128.1", + 0, 0, 0, 0, "OMC_PUB.sysUser", "", "", "", + {2, 2, 2, 2, 9, 2, 9, 9, 9} + , 12, + { + //{{0,1,2,3,4,5,6,7,9}, 0=mandatory,1~8=privilege1.........privilege8,9=nouse + //{{0,re,mo,cr,de,co,ex,im,di} + //,"optName","exMode","fieldName","initFieldValue","optValue","fieldValue" + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "expfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "query", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "fields", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "max", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "", 0, "", "", "", ""} + , + {{0, 0, 0, 0, 0, 9, 9, 9, 9} + , "account_name", 9 * 10000000 + 1 * 100000 + 16 * 1000 + 0, + "userName", "", "", ""} + , + {{0, 9, 2, 0, 9, 9, 9, 9, 9} + , "password", 9 * 10000000 + 6 * 100000 + 16 * 1000 + 0, "password", + "", "", ""} + , + {{0, 1, 2, 0, 9, 9, 9, 9, 9} + , "real_name", 9 * 10000000 + 1 * 100000 + 16 * 1000 + 0, + "realName", "", "", ""} + , + {{0, 1, 2, 0, 9, 9, 9, 9, 9} + , "privilege", 0 * 10000000 + 1 * 100000 + 1 * 1000 + 0, + "privilege", "", "", ""} + } + } + , + + {0, "hlr", "subscriber", "172.18.98.1", + 330, 0, 0, 0, "HLR_DB.subscriberData", "OBJ_330.tmpSubsData_0", "", + "", + {1, 2, 2, 2, 1, 1, 2, 1, 9} + , 216, + { + //{{0,1,2,3,4,5,6,7,9}, 0=mandatory,1~8=privilege1.........privilege8,9=nouse + //{{0,re,mo,cr,de,co,ex,im,di} + //,"optName","exMode","fieldName","initFieldValue","optValue","fieldValue" + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "ipaddress", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 0, 9, 9, 9} + , "passwd", 0, "", "123456", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "expfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "query", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "fields", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "max", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 0, 9} + , "impfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 1, 9, 9, 9} + , "srvip", 0, "", "", "", ""} + , + {{0, 0, 0, 0, 0, 9, 9, 9, 9} + , "imsi", 0 * 10000000 + 15 * 100000 + 16 * 1000 + exM_hlrImsi, + "imsi", "0000000000000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "imsi_flag", exM_hlrState, "used_flag", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "nam", exM_hlrNam, "nam", "00", "", ""} + , + {{0, 1, 2, 0, 2, 9, 9, 9, 9} + , "msisdn", 0 * 10000000 + 6 * 100000 + 16 * 1000 + exM_hlrCcNdcSn, + "inter_msisdn", + "EEEEEEEEEEEEEEEEEE", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "category", exM_hlrCategory, "category", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "odb", exM_hlrState, "sub_status", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "baoc", exM_byte0_bit0, "odb_general", "00000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "boic", exM_byte0_bit1, "odb_general", "00000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "boic_hplmn", exM_byte0_bit2, "odb_general", "00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "bpric", exM_byte0_bit3, "odb_general", "00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "bprec", exM_byte0_bit4, "odb_general", "00000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "bass", exM_byte0_bit5, "odb_general", "00000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "osb1", exM_byte0_bit0, "odb_specific", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "osb2", exM_byte0_bit1, "odb_specific", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "baic", exM_byte2_bit0, "odb_general", "00000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "baic_hplmn", exM_byte2_bit1, "odb_general", "00000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "roaming", exM_byte2_bit3, "odb_general", "00000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "roaming_ct", exM_byte2_bit4, "odb_general", "00000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "mct", exM_byte0_bit2, "odb_specific", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "bearer_service", 1 * 10000000 + 8 * 100000 + 8 * 1000 + 0, + "bearer_data", "07FFFFFF", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "telephony", exM_byte0_bit0, "tele_data", "0F00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "emergency_call", exM_byte0_bit1, "tele_data", "0F00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "sms", exM_hlrSms, "tele_data", "0F00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi0", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi1", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi2", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi3", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi4", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi5", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi6", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi7", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi8", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "rszi9", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrRszi, + "rszi", "FFFFFFFFFFFFFFFFFFFF", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "csrr", exM_hlrCsrr, "csr_type", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "clip_a", exM_byte0_bit0, "clip_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "clip_r", exM_byte0_bit1, "clip_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "clip_p", exM_byte0_bit2, "clip_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "clip_q", exM_byte0_bit3, "clip_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "clip_o", exM_byte0_bit7, "clip_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "clir_a", exM_byte0_bit0, "clir_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "clir_r", exM_byte0_bit1, "clir_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "clir_p", exM_byte0_bit2, "clir_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "clir_q", exM_byte0_bit3, "clir_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "clir_pm", exM_hlrClirpm, "clir_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "colp_a", exM_byte0_bit0, "colp_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "colp_r", exM_byte0_bit1, "colp_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "colp_p", exM_byte0_bit2, "colp_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "colp_q", exM_byte0_bit3, "colp_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "colp_o", exM_byte0_bit7, "colp_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "colr_a", exM_byte0_bit0, "colr_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "colr_r", exM_byte0_bit1, "colr_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "colr_p", exM_byte0_bit2, "colr_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "colr_q", exM_byte0_bit3, "colr_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cbsp", exM_hlrCbsp, "subs_option", "01", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cbp", 0 * 10000000 + 4 * 100000 + 4 * 1000 + 0, "passwd", "12", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "cbwpa", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrCbwpa, + "attempt_count", "03", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "baoc_a", exM_byte0_bit0, "baoc_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "baoc_r", exM_byte0_bit1, "baoc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "baoc_p", exM_byte0_bit2, "baoc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "baoc_q", exM_byte0_bit3, "baoc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "boic_a", exM_byte0_bit0, "boic_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "boic_r", exM_byte0_bit1, "boic_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "boic_p", exM_byte0_bit2, "boic_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "boic_q", exM_byte0_bit3, "boic_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "boic_ex_a", exM_byte0_bit0, "boichc_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "boic_ex_r", exM_byte0_bit1, "boichc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "boic_ex_p", exM_byte0_bit2, "boichc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "boic_ex_q", exM_byte0_bit3, "boichc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "baic_a", exM_byte0_bit0, "baic_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "baic_r", exM_byte0_bit1, "baic_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "baic_p", exM_byte0_bit2, "baic_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "baic_q", exM_byte0_bit3, "baic_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "bicr_a", exM_byte0_bit0, "bicroam_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "bicr_r", exM_byte0_bit1, "bicroam_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "bicr_p", exM_byte0_bit2, "bicroam_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "bicr_q", exM_byte0_bit3, "bicroam_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfu_a", exM_byte0_bit0, "cfu_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfu_r", exM_byte0_bit1, "cfu_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfu_p", exM_byte0_bit2, "cfu_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfu_q", exM_byte0_bit3, "cfu_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "cfu_c", exM_byte0_bit5, "cfu_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfu_no", 0 * 10000000 + 0 * 100000 + 16 * 1000 + exM_hlrMsisdn, + "cfu_num", "EEEEEEEEEEEEEEEEEE", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfb_a", exM_byte0_bit0, "cfb_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfb_r", exM_byte0_bit1, "cfb_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfb_p", exM_byte0_bit2, "cfb_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfb_q", exM_byte0_bit3, "cfb_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "cfb_c", exM_byte0_bit5, "cfb_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "cfb_f", exM_byte0_bit7, "cfb_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfb_no", 0 * 10000000 + 1 * 100000 + 16 * 1000 + exM_hlrMsisdn, + "cfb_num", "EEEEEEEEEEEEEEEEEE", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnry_a", exM_byte0_bit0, "cfnry_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnry_r", exM_byte0_bit1, "cfnry_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnry_p", exM_byte0_bit2, "cfnry_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnry_q", exM_byte0_bit3, "cfnry_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "cfnry_c", exM_byte0_bit5, "cfnry_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "cfnry_f", exM_byte0_bit7, "cfnry_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnry_t", + 0 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrCfnryTimer, + "cfnry_time", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnry_no", 0 * 10000000 + 1 * 100000 + 16 * 1000 + exM_hlrMsisdn, + "cfnry_num", "EEEEEEEEEEEEEEEEEE", "", + ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnrc_a", exM_byte0_bit0, "cfnrc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnrc_r", exM_byte0_bit1, "cfnrc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnrc_p", exM_byte0_bit2, "cfnrc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnrc_q", exM_byte0_bit3, "cfnrc_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "cfnrc_c", exM_byte0_bit5, "cfnrc_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cfnrc_no", 0 * 10000000 + 1 * 100000 + 16 * 1000 + exM_hlrMsisdn, + "cfnrc_num", "EEEEEEEEEEEEEEEEEE", "", + ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "cw_a", exM_byte0_bit0, "callwait_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "cw_r", exM_byte0_bit1, "callwait_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cw_p", exM_byte0_bit2, "callwait_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cw_q", exM_byte0_bit3, "callwait_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ch_a", exM_byte0_bit0, "callhold_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ch_r", exM_byte0_bit1, "callhold_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "ch_p", exM_byte0_bit2, "callhold_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "ch_q", exM_byte0_bit3, "callhold_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ect_a", exM_byte0_bit0, "ect_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ect_r", exM_byte0_bit1, "ect_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "ect_p", exM_byte0_bit2, "ect_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "ect_q", exM_byte0_bit3, "ect_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "mpc_a", exM_byte0_bit0, "mtpy_state", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "mpc_r", exM_byte0_bit1, "mtpy_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "mpc_p", exM_byte0_bit2, "mtpy_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "mpc_q", exM_byte0_bit3, "mtpy_state", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "camel", exM_byte0_bit7, "camel_flag", "801F", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "o_csi", exM_byte1_bit0, "camel_flag", "801F", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "t_csi", exM_byte1_bit1, "camel_flag", "801F", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "ss_csi", exM_byte1_bit2, "camel_flag", "801F", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "sms_csi", exM_byte1_bit3, "camel_flag", "801F", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "gprs_csi", exM_byte1_bit4, "camel_flag", "801F", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_dpv", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi1, + "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_sk", 4 * 10000000 + 1 * 100000 + 8 * 1000 + exM_hlrOCsi2, + "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_scf_no", + 0 * 10000000 + 11 * 100000 + 18 * 1000 + exM_hlrOCsi3, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_dch", exM_hlrOCsi4, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_mtf", exM_hlrOCsi5, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_mt", exM_hlrOCsi6, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_dnlf", exM_hlrOCsi7, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_d_no0", + 0 * 10000000 + 11 * 100000 + 18 * 1000 + exM_hlrOCsi8, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_d_no1", + 0 * 10000000 + 11 * 100000 + 18 * 1000 + exM_hlrOCsi9, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_d_no2", + 0 * 10000000 + 11 * 100000 + 18 * 1000 + exM_hlrOCsi10, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_d_no3", + 0 * 10000000 + 11 * 100000 + 18 * 1000 + exM_hlrOCsi11, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_dnllf", exM_hlrOCsi12, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_dnl0", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi13, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_dnl1", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi14, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_dnl2", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi15, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_ctf", exM_hlrOCsi16, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_ct", exM_hlrOCsi17, "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "o_csi_dc", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi18, + "o_csi", + "020002918675557122010EEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "t_csi_dpv", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi1, + "t_csi", + "0C0000918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "t_csi_sk", 4 * 10000000 + 1 * 100000 + 8 * 1000 + exM_hlrOCsi2, + "t_csi", + "0C0000918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "t_csi_scf_no", + 0 * 10000000 + 11 * 100000 + 18 * 1000 + exM_hlrOCsi3, "t_csi", + "0C0000918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "t_csi_dch", exM_hlrOCsi4, "t_csi", + "0C0000918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "t_csi_dc", 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi18, + "t_csi", + "0C0000918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ss_csi_e0", exM_hlrSsCsi, "ss_csi", "00000000918675557122010EEE", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ss_csi_e1", exM_hlrSsCsi, "ss_csi", "00000000918675557122010EEE", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ss_csi_e2", exM_hlrSsCsi, "ss_csi", "00000000918675557122010EEE", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ss_csi_e3", exM_hlrSsCsi, "ss_csi", "00000000918675557122010EEE", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ss_csi_scf_no", + 4 * 10000000 + 11 * 100000 + 18 * 1000 + exM_hlrSsCsi1, "ss_csi", + "00000000918675557122010EEE", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "sms_csi_dpv", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi1, "sms_csi", + "010003918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "sms_csi_sk", 4 * 10000000 + 1 * 100000 + 8 * 1000 + exM_hlrOCsi2, + "sms_csi", + "010003918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "sms_csi_scf_no", + 0 * 10000000 + 11 * 100000 + 18 * 1000 + exM_hlrOCsi3, "sms_csi", + "010003918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "sms_csi_dch", exM_hlrOCsi4, "sms_csi", + "010003918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "sms_csi_dc", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi18, "sms_csi", + "010003918675557122010EEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "gprs_csi_dpv", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi1, "gprs_csi", + "000003EEEEEEEEEEEEEEEEEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "gprs_csi_sk", + 4 * 10000000 + 1 * 100000 + 8 * 1000 + exM_hlrOCsi2, "gprs_csi", + "000003EEEEEEEEEEEEEEEEEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "gprs_csi_scf_no", + 0 * 10000000 + 11 * 100000 + 18 * 1000 + exM_hlrOCsi3, "gprs_csi", + "000003EEEEEEEEEEEEEEEEEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "gprs_csi_dch", exM_hlrOCsi4, "gprs_csi", + "000003EEEEEEEEEEEEEEEEEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "gprs_csi_dc", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_hlrOCsi18, "gprs_csi", + "000003EEEEEEEEEEEEEEEEEE00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "gprs_flag", exM_hlrState, "gprs_flag", "00", "", ""} + , + + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_flag", exM_hlrPdp1, "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_type", exM_hlrPdp2, "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + //the pdpAddress must followed the pdpType + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_address", + 9 * 10000000 + 1 * 100000 + 39 * 1000 + exM_hlrPdp3, "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_rc", exM_hlrPdp4, "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_dc", exM_hlrPdp5, "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_pc", exM_hlrPdp6, "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_pt", exM_hlrPdp7, "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_mt", exM_hlrPdp8, "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_vaaf", exM_hlrPdp9, "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp1_apn", 9 * 10000000 + 1 * 100000 + 32 * 1000 + exM_hlrPdp10, + "pdp1", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_flag", exM_hlrPdp1, "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_type", exM_hlrPdp2, "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_address", + 9 * 10000000 + 1 * 100000 + 39 * 1000 + exM_hlrPdp3, "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_rc", exM_hlrPdp4, "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_dc", exM_hlrPdp5, "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_pc", exM_hlrPdp6, "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_pt", exM_hlrPdp7, "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_mt", exM_hlrPdp8, "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_vaaf", exM_hlrPdp9, "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp2_apn", 9 * 10000000 + 1 * 100000 + 32 * 1000 + exM_hlrPdp10, + "pdp2", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_flag", exM_hlrPdp1, "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_type", exM_hlrPdp2, "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_address", + 9 * 10000000 + 1 * 100000 + 39 * 1000 + exM_hlrPdp3, "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_rc", exM_hlrPdp4, "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_dc", exM_hlrPdp5, "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_pc", exM_hlrPdp6, "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_pt", exM_hlrPdp7, "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_mt", exM_hlrPdp8, "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_vaaf", exM_hlrPdp9, "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pdp3_apn", 9 * 10000000 + 1 * 100000 + 32 * 1000 + exM_hlrPdp10, + "pdp3", + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "user_name", 9 * 10000000 + 1 * 100000 + 24 * 1000 + 0, + "user_name", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "user_desc", 9 * 10000000 + 1 * 100000 + 16 * 1000 + 0, + "user_remark", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "user_id", 9 * 10000000 + 1 * 100000 + 16 * 1000 + 0, + "user_certifiacate", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "user_no", 0 * 10000000 + 1 * 100000 + 16 * 1000 + exM_hlrUserNo, + "user_number", "0000000000000000", "", + ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "lmsi", 0, "lmsi", "00000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "vlr_no", 0, "vlr_num", "000000000000000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "msc_no", 0, "msc_num", "000000000000000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pmf_gsm", exM_byte0_bit0, "purgems_flag", "03", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "pmf_gprs", exM_byte0_bit0, "purgems_flag", "03", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "sgsn_no", 0, "sgsn_num", "000000000000000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ggsn_no", 0, "ggsn_num", "000000000000000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "ggsn_ad", 0, "ggsn_addr", "000000000000000000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "msc_ar", 0, "mar_flag", "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "rrm", 0, "rruf_flag", "00", "", ""} + } + } + , + {0, "pps", "ppsuser", "172.18.98.1", + 360, 0, 0, 0, "PPS_DB.user_info", "OBJ_360.tmpSubsData_0", "ppsParam", + "smcliPpsParam", + {1, 2, 2, 2, 1, 1, 2, 1, 2} //20041010 + , 47, //20041010 + { + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 9} + , "ipaddress", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 0, 9, 9, 9, 9} + , "passwd", 0, "", "123456", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9, 9} + , "expfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9, 9} + , "query", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9, 9} + , "fields", 0, "", "" "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9, 9} + , "max", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 0, 9, 9} + , "impfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 1, 9, 9, 9, 9} + , "srvip", 0, "", "", "", ""} + , + {{0, 0, 0, 0, 0, 9, 9, 9, 9, 0} + , "msisdn", 0 * 10000000 + 6 * 100000 + 16 * 1000 + 0, "msisdn", + "FFFFFFFFFFFFFFFFFF", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "pin", 0 * 10000000 + 6 * 100000 + 6 * 1000 + 0, "PIN", "123456", + "", + ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "rent_type", exM_ppsRentType, "rent_type", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "status", 0 * 10000000 + 1 * 100000 + 2 * 1000 + 0, "status", + "00", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "balance", 2 * 10000000 + 7 * 100000 + 8 * 1000 + exM_ppsBalance, + "balance", "20000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "promotion_balance", + 0 * 10000000 + 1 * 100000 + 6 * 1000 + exM_ppsBalance, + "promo_balance", "0", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "cos_id", 4 * 10000000 + 1 * 100000 + 1 * 1000 + exM_ppsSM, + "cos_id", "0", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "home_location0", + 0 * 10000000 + 1 * 100000 + 2 * 1000 + exM_ppsSM, "home_location0", + "0", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "home_location1", + 0 * 10000000 + 1 * 100000 + 2 * 1000 + exM_ppsSM, "home_location1", + "1", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "home_location2", + 0 * 10000000 + 1 * 100000 + 2 * 1000 + exM_ppsSM, "home_location2", + "2", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "home_location3", + 0 * 10000000 + 1 * 100000 + 2 * 1000 + exM_ppsSM, "home_location3", + "3", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "recharge_failed_times", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_ppsSM, + "recharge_fail_counter", "0", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "overdraft", + 2 * 10000000 + 7 * 100000 + 6 * 1000 + exM_ppsBalance, "overdraft", + "0", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "access_day", 0 * 10000000 + 8 * 100000 + 8 * 1000 + exM_ppsDate, + "access_date", "20040201000000", + "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "mo_expiry_date", + 0 * 10000000 + 8 * 100000 + 8 * 1000 + exM_ppsDate, + "mo_expiration_date", + "20060701000000 ", "", + ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "mt_expiry_date", + 0 * 10000000 + 8 * 100000 + 8 * 1000 + exM_ppsDate, + "mt_expiration_date", + "20060701000000 ", "", + ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "promotion_date", + 0 * 10000000 + 8 * 100000 + 8 * 1000 + exM_ppsDate, + "promo_exp_date", + "20060701000000 ", "", + ""} + , +// {{0, 1, 2, 2, 9, 9, 9, 9, 9,9} +// , "mo_tariff_id", 0, "mo_tariff_id", "00", "", ""} +// , +// {{0, 1, 2, 2, 9, 9, 9, 9, 9,9} +// , "mt_tariff_id", 0, "mt_tariff_id", "00", "", ""} +// , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "close_user_group_id", 4 * 10000000 + 1 * 100000 + 4 * 1000 + 0, + "cug_id", "0", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "sm_inquiry_counter", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_ppsSM, + "sm_inquiry_counter", "0", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "prompt_language", 0 * 10000000 + 1 * 100000 + 1 * 1000 + 0, + "language_type", "0", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "favorite_no_flag", 0 * 10000000 + 1 * 100000 + 2 * 1000 + 0, + "fav_numbers", "0", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "favorite_no0", 0 * 10000000 + 0 * 100000 + 16 * 1000 + 0, + "favorite_number0", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "favorite_no1", 0 * 10000000 + 0 * 100000 + 16 * 1000 + 0, + "favorite_number1", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "favorite_no2", 0 * 10000000 + 0 * 100000 + 16 * 1000 + 0, + "favorite_number2", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "favorite_no3", 0 * 10000000 + 0 * 100000 + 16 * 1000 + 0, + "favorite_number3", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "favorite_no4", 0 * 10000000 + 0 * 100000 + 16 * 1000 + 0, + "favorite_number4", "", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9, 9} + , "favorite_change_counter", + 4 * 10000000 + 1 * 100000 + 2 * 1000 + exM_ppsSM, + "fav_change_counter", "0", + "", ""} + , + {{0, 1, 9, 9, 9, 9, 9, 9, 9, 9} + , "last_call_type", exM_ppsCallType, "last_call_type", "", "", ""} + , + {{0, 1, 9, 9, 9, 9, 9, 9, 9, 9} + , "last_call_time", 0 * 10000000 + 8 * 100000 + 8 * 1000 + 0, + "last_call_time", "", "", ""} + , + {{0, 1, 9, 9, 9, 9, 9, 9, 9, 9} + , "last_call_no", 0, "last_call_number", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "cap_sm_balance0", 0 * 10000000 + 0 * 100000 + 8 * 1000 + 0, + "cap_sm_balance0", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "cap_sm_counter0", 0 * 10000000 + 0 * 100000 + 8 * 1000 + 0, + "cap_sm_counter0", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "cap_sm_balance1", 0 * 10000000 + 0 * 100000 + 8 * 1000 + 0, + "cap_sm_balance1", "", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "cap_sm_counter1", 0 * 10000000 + 0 * 100000 + 8 * 1000 + 0, + "cap_sm_counter1", "", "", ""} + , + //20041010 start + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 2} + , "credit", 2 * 10000000 + 7 * 100000 + 8 * 1000 + 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 2} + , "promotion_credit", 2 * 10000000 + 7 * 100000 + 8 * 1000 + 0, "", + "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 2} + , "mo_vday", 2 * 10000000 + 9 * 100000 + 8 * 1000 + 0, "", "", "", + ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 2} + , "mt_vday", 2 * 10000000 + 9 * 100000 + 8 * 1000 + 0, "", "", "", + ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 2} + , "promotion_vday", 2 * 10000000 + 9 * 100000 + 8 * 1000 + 0, "", + "", "", ""} + //20041010 end + } + } + , + {0, "pps", "ppscard", "172.18.98.1", + 360, 0, 0, 1, "PPS_DB.card_info", "OBJ_360.tmpSubsData_1", "", "", + {1, 2, 9, 9, 9, 9, 9, 9, 9} + , 15, + { + //{{0,re,mo,cr,de,co,ex,im,di} + //,"optName","exMode","fieldName","initFieldValue","optValue","fieldValue" + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "ipaddress", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 0, 9, 9, 9} + , "passwd", 0, "", "123456", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "expfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "query", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "fields", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "max", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "impfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 2, 9, 9, 9} + , "srvip", 0, "", "", "", ""} + , + {{0, 0, 0, 9, 9, 9, 9, 9, 9} + , "cardno", 0 * 10000000 + 12 * 100000 + 18 * 1000 + 0, "card_no", + "0000000000000000", "", ""} + , + {{0, 1, 9, 9, 9, 9, 9, 9, 9} + , "facevalue", 0, "face_value", "00", "", ""} + , + {{0, 1, 3, 9, 9, 9, 9, 9, 9} + //, "status", exM_ppsCardStatus, "card_status", "00", "", ""} + , "status", 0, "card_status", "00", "", ""} + , + {{0, 1, 9, 9, 9, 9, 9, 9, 9} + , "expiry_date", exM_ppsDate, "expiry_date", "00000000", "", ""} + , + {{0, 1, 9, 9, 9, 9, 9, 9, 9} + , "valid_days", exM_ppsDate, "valid_time", "00", "", ""} + , + {{0, 1, 9, 9, 9, 9, 9, 9, 9} + , "recharge_date", exM_ppsDate, "updated_date", "00000000", "", ""} + , + {{0, 1, 9, 9, 9, 9, 9, 9, 9} + , "charged_to", 0 * 10000000 + 0 * 100000 + 16 * 1000 + 0, + "msisdn_used", "00", "", ""} + } + } + , + //20041101 start + {0, "vms", "vmsSubscriber", "172.18.98.1", + 390, 0, 0, 0, "VMS_DB.subscriberData_0", "OBJ_390.tmpSubsData_0", "", + "", + {1, 2, 2, 2, 1, 1, 2, 1, 9} + , 22, + { + //{{0,re,mo,cr,de,co,ex,im,di} + //,"optName","exMode","fieldName","initFieldValue","optValue","fieldValue" + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "ipaddress", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 0, 9, 9, 9} + , "passwd", 0, "", "123456", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "expfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "query", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "fields", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9} + , "max", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 0, 9} + , "impfile", 0, "", "", "", ""} + , + {{0, 0, 0, 0, 0, 0, 0, 0, 0} + , "srvip", 0, "", "", "", ""} + , + {{0, 0, 0, 0, 0, 9, 9, 9, 9} + , "msisdn", 0 * 10000000 + 6 * 100000 + 16 * 1000 + 0, "msisdn", + "FFFFFFFFFFFFFFFFFF", "", ""} + , + {{0, 1, 9, 2, 9, 9, 9, 9, 9} + , "system_id", + 0 * 10000000 + 1 * 100000 + 10 * 1000 + exM_vmsHexDec, "systemID", + "00", "", ""} + , + {{0, 1, 9, 2, 9, 9, 9, 9, 9} + , "mailbox_id", + 0 * 10000000 + 1 * 100000 + 4 * 1000 + exM_vmsMailboxId, + "mailboxID", "0", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "register_flag", exM_byte0_bit2, "status", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "active_flag", exM_byte0_bit1, "status", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "locked_flag", exM_byte0_bit0, "status", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "language", 0 * 10000000 + 1 * 100000 + 1 * 1000 + exM_vmsHexDec, + "promo_language", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "temporary_greeting", exM_byte0_bit7, "greeting", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "greeting_type", exM_vmsGreetingType, "greeting", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "password_flag", exM_byte0_bit0, "optionFlag", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "callback_flag", exM_byte0_bit1, "optionFlag", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "cli_flag", exM_byte0_bit2, "optionFlag", "00", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9} + , "password", 0 * 10000000 + 4 * 100000 + 4 * 1000 + 0, "pwdValue", + "0000", "", ""} + , + {{0, 1, 3, 2, 9, 9, 9, 9, 9} + , "callback_timeout", + 0 * 10000000 + 2 * 100000 + 2 * 1000 + exM_vmsHexDec, "acbTimeOut", + "10", "", ""} + } + } + , + //20041125 start + {0, "pps", "ppsesme", "172.18.98.1", + 360, 0, 0, 2, "PPS_DB.third_party", "OBJ_360.tmpSubsData_2", "", "", + {9, 9, 3, 9, 9, 9, 9, 9, 9} + , 14, + { + //{{0,re,mo,cr,de,co,ex,im,di} + //,"optName","exMode","fieldName","initFieldValue","optValue","fieldValue" + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 9} + , "ipaddress", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 0, 9, 9, 9, 9} + , "passwd", 0, "", "123456", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 9} + , "expfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 9} + , "query", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 9} + , "fields", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 9} + , "max", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 9} + , "impfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9, 9} + , "srvip", 0, "", "", "", ""} + , + {{0, 9, 9, 0, 9, 9, 9, 9, 9, 9} + , "no", 0, "service_number", "FFFFFFFFFFFFFFFFFF", "", ""} + , + {{0, 9, 9, 3, 9, 9, 9, 9, 9, 9} + , "id", 0, "service_id", "00000000", "", ""} + , + {{0, 9, 9, 3, 9, 9, 9, 9, 9, 9} + , "pwd", 0, "service_pwd", "00000000", "", ""} + , + {{0, 9, 9, 3, 9, 9, 9, 9, 9, 9} + , "type", 0, "service_type", "0", "", ""} + , + {{0, 9, 9, 3, 9, 9, 9, 9, 9, 9} + , "card_pwd", 0, "card_pwd", "00000000000000000000", "", ""} + , + {{0, 9, 9, 3, 9, 9, 9, 9, 9, 9} + , "amount", exM_ppsBalance, "charge_amount", "0", "", ""} + } + } + , + //20041125 end + {0, "hlr", "hlresme", "172.18.98.1", + 330, 0, 0, 1, "HLR_DB.subscriberData", "OBJ_330.tmpSubsData_0", "", + "", + {1, 9, 9, 9, 9, 9, 9, 9, 9} + , 10, + { + //{{0,1,2,3,4,5,6,7,9}, 0=mandatory,1~8=privilege1.........privilege8,9=nouse + //{{0,re,mo,cr,de,co,ex,im,di} + //,"optName","exMode","fieldName","initFieldValue","optValue","fieldValue" + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "ipaddress", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 0, 9, 9, 9} + , "passwd", 0, "", "123456", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "expfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "query", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "fields", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "max", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 9, 9} + , "impfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 1, 9, 9, 9} + , "srvip", 0, "", "", "", ""} + , + {{0, 0, 9, 9, 9, 9, 9, 9, 9} + , "msisdn", 0 * 10000000 + 6 * 100000 + 16 * 1000 + exM_hlrCcNdcSn, + "inter_msisdn", "0000000000000000", + "", ""} + , + {{0, 1, 9, 9, 9, 9, 9, 9, 9} + , "camel", exM_byte0_bit7, "camel_flag", "801F", "", ""} + } + } + , + {0, "mnp", "mnpSubscriber", "172.18.98.1", + 370, 0, 0, 0, "MNP_DB.subscriberData", "OBJ_370.tmpSubsData_0", "", + "", + {1, 2, 2, 2, 1, 1, 2, 1, 2} //20041010 + , 14, //20041010 + { + {{0, 9, 9, 9, 9, 9, 9, 9, 9, 9} + , "ipaddress", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 0, 9, 9, 9, 9} + , "passwd", 0, "", "123456", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9, 9} + , "expfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9, 9} + , "query", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9, 9} + , "fields", 0, "", "" "", ""} + , + {{0, 9, 9, 9, 9, 9, 1, 9, 9, 9} + , "max", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 9, 9, 0, 9, 9} + , "impfile", 0, "", "", "", ""} + , + {{0, 9, 9, 9, 9, 1, 9, 9, 9, 9} + , "srvip", 0, "", "", "", ""} + , + {{0, 0, 0, 0, 0, 9, 9, 9, 9, 9} + , "msisdn", 0 * 10000000 + 6 * 100000 + 16 * 1000 + 0, "msisdn", + "FFFFFFFFFFFFFFFFFF", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "status", exM_mnpStatus, "status", "02", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "routing_number", 0 * 10000000 + 1 * 100000 + 8 * 1000 + 0, + "routing_number", "0000000000000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "donor", 9 * 10000000 + 1 * 100000 + 16 * 1000 + 0, "donor", + "00000000000000000000000000000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "recipient", 9 * 10000000 + 1 * 100000 + 16 * 1000 + 0, + "recipient", "00000000000000000000000000000000", "", ""} + , + {{0, 1, 2, 2, 9, 9, 9, 9, 9, 9} + , "date", + 0 * 10000000 + 8 * 100000 + 8 * 1000 + exM_mnpDate, + "date", + "20060701000000 ", "", + ""} + } + } +}; +*/ + +////////////////////////follow two function are modifiable///////////////////// +/************************************************* +Function: // exValueFieldToOpt +Description: // 参数的值从数据库的格式转换成输入输出的格式 +Calls: // getBitValue +Called By: // doCmdExportAccount; doCmdRead; ...... +Table Accessed: // +Table Updated: // +Input: // optNo:the index of the parameter; +Output: // +Return: // +Others: // +*************************************************/ +int exValueFieldToOpt(int optNo) +{ + int i = 0; + int j = 0; + int tmpValue; + unsigned char tmpBitValue; + unsigned char tmpBitValue1; + unsigned char tmpBitValue2; + unsigned char tmpBitValue3; + unsigned char tmpBitValue4; + unsigned char tmpBitValue5; + unsigned char tmpBitValue6; + unsigned char tmpBitValue7; + char tmpStr[15]; + int tmpExMode; + + tmpExMode = cmdBuf->optDef[optNo].exMode % 1000; + //writeDebug("tmpExMode=%d,optNo=%d,cmdBuf->optDef[optNo].exMode=%d",tmpExMode,optNo,cmdBuf->optDef[optNo].exMode); + //account + if (cmdBuf->sysTypeNo == 0) { + i = strlen(cmdBuf->optDef[optNo].fieldValue); + if ((cmdBuf->optDef[optNo].fieldValue[i - 1] == '\n') + || (cmdBuf->optDef[optNo].fieldValue[i - 1] == '\r')) { + cmdBuf->optDef[optNo].fieldValue[i - 1] = '\0'; + i = i - 1; + } + if ((cmdBuf->optDef[optNo].fieldValue[i - 1] == '\n') + || (cmdBuf->optDef[optNo].fieldValue[i - 1] == '\r')) { + cmdBuf->optDef[optNo].fieldValue[i - 1] = '\0'; + } + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + cmdBuf->optDef[optNo].fieldValue); + return (0); + } + //hlr + if (cmdBuf->sysTypeNo == 330) { + switch (tmpExMode) { + case exM_hlrImsi: + //imsi + j = strlen(cmdBuf->optDef[optNo].fieldValue); + for (i = 0; i < j; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != '0') { + break; + } + } + sprintf(cmdBuf->optDef[optNo].optValue, "%.*s", j - i, + cmdBuf->optDef[optNo].fieldValue + i); + break; + case exM_hlrCcNdcSn: + //msisdn + for (i = 2; i < strlen(cmdBuf->optDef[optNo].fieldValue); i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != 'E') { + cmdBuf->optDef[optNo].optValue[i - 2] = + cmdBuf->optDef[optNo].fieldValue[i]; + } else { + cmdBuf->optDef[optNo].optValue[i - 2] = '\0'; + return (0); + } + } + break; + case exM_hlrMsisdn: + //cfu_num,cfb_num,cfnry_num,cfnrc_num + for (i = 0; i < strlen(cmdBuf->optDef[optNo].fieldValue); i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != 'E') { + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i]; + } else { + cmdBuf->optDef[optNo].optValue[i] = '\0'; + return (0); + } + } + if (strlen(cmdBuf->optDef[optNo].optValue) == 0) { + sprintf(cmdBuf->optDef[optNo].optValue, "\"\""); + } + break; + case exM_hlrNam: + //nam + if (strcmp(cmdBuf->optDef[optNo].fieldValue, "01") == 0) { + sprintf(cmdBuf->optDef[optNo].optValue, "gsm"); + } else if (strcmp(cmdBuf->optDef[optNo].fieldValue, "02") == 0) { + sprintf(cmdBuf->optDef[optNo].optValue, "gprs"); + } else { + sprintf(cmdBuf->optDef[optNo].optValue, "dual"); + } + break; + case exM_hlrState: + //imsi_flag,baoc,boic,boic_hplmn,baic,cfu,cfb + //cfnry,cfnrc,clip,clir,colp,colr,ch,cw + if (strcmp(cmdBuf->optDef[optNo].fieldValue, "01") == 0) { + sprintf(cmdBuf->optDef[optNo].optValue, "enable"); + } else { + sprintf(cmdBuf->optDef[optNo].optValue, "disable"); + } + break; + case exM_hlrClirpm: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 4, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, + &tmpBitValue1); + tmpBitValue2 = tmpBitValue1 * 2 + tmpBitValue; + switch (tmpBitValue2) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "Permanent"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, + "Temporary(Default:Restricted)"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, + "Temporary(Default:Allowed)"); + break; + default: + break; + } + break; + case exM_hlrSms: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 2, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 3, + &tmpBitValue1); + tmpBitValue2 = tmpBitValue1 * 2 + tmpBitValue; + switch (tmpBitValue2) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "None"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "Mobile_Term"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "Mobile_Org"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "Both"); + break; + default: + break; + } + break; + case exM_hlrCfuopt: + case exM_hlrCfnrcopt: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, + &tmpBitValue); + if (tmpBitValue) { + sprintf(cmdBuf->optDef[optNo].optValue, + "Calling_Party:ON"); + } else { + sprintf(cmdBuf->optDef[optNo].optValue, + "Calling_Party:OFF"); + } + break; + case exM_hlrCfbopt: + case exM_hlrCfnryopt: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 7, + &tmpBitValue1); + tmpBitValue2 = tmpBitValue * 2 + tmpBitValue1; + switch (tmpBitValue2) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, + "Calling_Party:OFF/Fwd_Party:OFF"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, + "Calling_Party:OFF/Fwd_Party:ON"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, + "Calling_Party:ON/Fwd_Party:OFF"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, + "Calling_Party:ON/Fwd_Party:ON"); + break; + default: + break; + } + break; + case exM_hlrCfnryTimer: + //cfnry_timer + hex2dec(cmdBuf->optDef[optNo].fieldValue, + cmdBuf->optDef[optNo].optValue); + //sprintf(cmdBuf->optDef[optNo].optValue, "%s", + // cmdBuf->optDef[optNo].fieldValue); + break; + case exM_hlrCategory: + hex2dec(cmdBuf->optDef[optNo].fieldValue, tmpStr); + i = atoi(tmpStr); + switch (i) { + case 00: + sprintf(cmdBuf->optDef[optNo].optValue, "Unknown"); + break; + case 01: + sprintf(cmdBuf->optDef[optNo].optValue, "French"); + break; + case 02: + sprintf(cmdBuf->optDef[optNo].optValue, "English"); + break; + case 03: + sprintf(cmdBuf->optDef[optNo].optValue, "German"); + break; + case 04: + sprintf(cmdBuf->optDef[optNo].optValue, "Russian"); + break; + case 05: + sprintf(cmdBuf->optDef[optNo].optValue, "Spanish"); + break; + case 10: + sprintf(cmdBuf->optDef[optNo].optValue, + "Ordinary_calling_subscriber"); + break; + case 11: + sprintf(cmdBuf->optDef[optNo].optValue, + "Priory_calling_suscriber"); + break; + default: + sprintf(cmdBuf->optDef[optNo].optValue, "Unknown"); + break; + } + break; + case exM_hlrRszi: + i = (optNo - optNo_Rszi); + tmpStr[0] = cmdBuf->optDef[optNo].fieldValue[i * 2]; + tmpStr[1] = cmdBuf->optDef[optNo].fieldValue[i * 2 + 1]; + tmpStr[2] = '\0'; + hex2dec(tmpStr, cmdBuf->optDef[optNo].optValue); + break; + case exM_hlrCsrr: + hex2dec(cmdBuf->optDef[optNo].fieldValue, + cmdBuf->optDef[optNo].optValue); + i = atoi(cmdBuf->optDef[optNo].optValue); + if (i > 7) + sprintf(cmdBuf->optDef[optNo].optValue, "No_restriction"); + break; + case exM_hlrCbsp: + i = atoi(cmdBuf->optDef[optNo].fieldValue); + switch (i) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, + "Control_provider"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "Control_sub_pwd"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, + "Control_sub_not_pwd"); + break; + } + break; + case exM_hlrCbwpa: + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + cmdBuf->optDef[optNo].fieldValue); + break; + case exM_hlrOCsi1: + tmpStr[0] = cmdBuf->optDef[optNo].fieldValue[0]; + tmpStr[1] = cmdBuf->optDef[optNo].fieldValue[1]; + tmpStr[2] = '\0'; + hex2dec(tmpStr, cmdBuf->optDef[optNo].optValue); + break; + case exM_hlrOCsi2: + tmpStr[0] = cmdBuf->optDef[optNo].fieldValue[24]; + tmpStr[1] = cmdBuf->optDef[optNo].fieldValue[25]; + tmpStr[2] = cmdBuf->optDef[optNo].fieldValue[26]; + tmpStr[3] = cmdBuf->optDef[optNo].fieldValue[27]; + tmpStr[4] = cmdBuf->optDef[optNo].fieldValue[28]; + tmpStr[5] = cmdBuf->optDef[optNo].fieldValue[29]; + tmpStr[6] = cmdBuf->optDef[optNo].fieldValue[30]; + tmpStr[7] = cmdBuf->optDef[optNo].fieldValue[31]; + tmpStr[8] = '\0'; + hex2dec(tmpStr, cmdBuf->optDef[optNo].optValue); + break; + case exM_hlrOCsi3: + for (i = 0; i < 18; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i + 6] == 'E') + break; + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i + 6]; + } + cmdBuf->optDef[optNo].optValue[i + 1] = '\0'; + break; + case exM_hlrOCsi4: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 1, 0, + &tmpBitValue); + if (tmpBitValue == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "Continue_call"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "Release_call"); + break; + case exM_hlrOCsi5: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 0, + &tmpBitValue); + if (tmpBitValue == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "Not_use"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "In_use"); + break; + case exM_hlrOCsi6: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 17, 0, + &tmpBitValue); + if (tmpBitValue == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "Inhabiting"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "Enabling"); + break; + case exM_hlrOCsi7: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 2, + &tmpBitValue); + if (tmpBitValue == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "Not_use"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "In_use"); + break; + case exM_hlrOCsi8: + for (i = 0; i < 18; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i + 38] == 'E') + break; + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i + 38]; + } + cmdBuf->optDef[optNo].optValue[i + 1] = '\0'; + break; + case exM_hlrOCsi9: + for (i = 0; i < 18; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i + 56] == 'E') + break; + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i + 56]; + } + cmdBuf->optDef[optNo].optValue[i + 1] = '\0'; + break; + case exM_hlrOCsi10: + for (i = 0; i < 18; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i + 74] == 'E') + break; + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i + 74]; + } + cmdBuf->optDef[optNo].optValue[i + 1] = '\0'; + break; + case exM_hlrOCsi11: + for (i = 0; i < 18; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i + 92] == 'E') + break; + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i + 92]; + } + cmdBuf->optDef[optNo].optValue[i + 1] = '\0'; + break; + case exM_hlrOCsi12: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 3, + &tmpBitValue); + if (tmpBitValue == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "Not_use"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "In_use"); + break; + case exM_hlrOCsi13: + tmpStr[0] = cmdBuf->optDef[optNo].fieldValue[110]; + tmpStr[1] = cmdBuf->optDef[optNo].fieldValue[111]; + tmpStr[2] = '\0'; + hex2dec(tmpStr, cmdBuf->optDef[optNo].optValue); + break; + case exM_hlrOCsi14: + tmpStr[0] = cmdBuf->optDef[optNo].fieldValue[112]; + tmpStr[1] = cmdBuf->optDef[optNo].fieldValue[113]; + tmpStr[2] = '\0'; + hex2dec(tmpStr, cmdBuf->optDef[optNo].optValue); + break; + case exM_hlrOCsi15: + tmpStr[0] = cmdBuf->optDef[optNo].fieldValue[114]; + tmpStr[1] = cmdBuf->optDef[optNo].fieldValue[115]; + tmpStr[2] = '\0'; + hex2dec(tmpStr, cmdBuf->optDef[optNo].optValue); + break; + case exM_hlrOCsi16: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 1, + &tmpBitValue); + if (tmpBitValue == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "Not_use"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "In_use"); + break; + case exM_hlrOCsi17: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 18, 0, + &tmpBitValue); + if (tmpBitValue == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "Forward"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "Not_forword"); + break; + case exM_hlrOCsi18: + tmpStr[0] = cmdBuf->optDef[optNo].fieldValue[4]; + tmpStr[1] = cmdBuf->optDef[optNo].fieldValue[5]; + tmpStr[2] = '\0'; + hex2dec(tmpStr, cmdBuf->optDef[optNo].optValue); + break; + case exM_hlrSsCsi: + i = optNo - optNo_Sscsi; + tmpStr[0] = cmdBuf->optDef[optNo].fieldValue[i * 2]; + tmpStr[1] = cmdBuf->optDef[optNo].fieldValue[i * 2 + 1]; + tmpStr[2] = '\0'; + if (strcmp(tmpStr, "24") == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "cd"); + else if (strcmp(tmpStr, "31") == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "ect"); + else if (strcmp(tmpStr, "51") == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "multiPTY"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "None"); + break; + case exM_hlrSsCsi1: + for (i = 0; i < 18; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i + 8] == 'E') + break; + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i + 8]; + } + cmdBuf->optDef[optNo].optValue[i + 1] = '\0'; + break; + case exM_hlrPdp1: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 0, + &tmpBitValue); + if (tmpBitValue == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "disable"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "enable"); + break; + case exM_hlrPdp2: + omc_AsciiToRbcd(&tmpBitValue1, + cmdBuf->optDef[optNo].fieldValue + 2, 2); + omc_AsciiToRbcd(&tmpBitValue2, + cmdBuf->optDef[optNo].fieldValue + 2 + 2, 2); + tmpValue = tmpBitValue1 * 256 + tmpBitValue2; + //printf("tmpValue=%d\n",tmpValue); + if (tmpValue == 289) + sprintf(cmdBuf->optDef[optNo].optValue, "IPv4"); + else if (tmpValue == 343) + sprintf(cmdBuf->optDef[optNo].optValue, "IPv6"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "X.25"); + break; + case exM_hlrPdp3: + omc_AsciiToRbcd(&tmpBitValue1, + cmdBuf->optDef[optNo].fieldValue + 2, 2); + omc_AsciiToRbcd(&tmpBitValue2, + cmdBuf->optDef[optNo].fieldValue + 2 + 2, 2); + tmpValue = tmpBitValue1 * 256 + tmpBitValue2; + cmdBuf->optDef[optNo].optValue[0] = 0; + if (tmpValue == 289) { + omc_AsciiToRbcd(&tmpBitValue1, + cmdBuf->optDef[optNo].fieldValue + 6, 2); + if(tmpBitValue1 == 0x04) + { + omc_AsciiToRbcd(&tmpBitValue1, + cmdBuf->optDef[optNo].fieldValue + 6 + 2 + + 0 * 2, 2); + omc_AsciiToRbcd(&tmpBitValue2, + cmdBuf->optDef[optNo].fieldValue + 6 + 2 + + 1 * 2, 2); + omc_AsciiToRbcd(&tmpBitValue3, + cmdBuf->optDef[optNo].fieldValue + 6 + 2 + + 2 * 2, 2); + omc_AsciiToRbcd(&tmpBitValue4, + cmdBuf->optDef[optNo].fieldValue + 6 + 2 + + 3 * 2, 2); + sprintf(cmdBuf->optDef[optNo].optValue, "%d.%d.%d.%d", + tmpBitValue1, tmpBitValue2, tmpBitValue3,tmpBitValue4); + } + else + { + sprintf(cmdBuf->optDef[optNo].optValue, "null"); + } + } else if (tmpValue == 343) { + for (i = 0; i < 8; i++) { + memcpy(tmpStr, + cmdBuf->optDef[optNo].fieldValue + 6 + 2 + + i * 4, 4); + tmpStr[4] = 0; + strcat(cmdBuf->optDef[optNo].optValue, tmpStr); + strcat(cmdBuf->optDef[optNo].optValue, ":"); + } + cmdBuf->optDef[optNo].optValue[39] = 0; + } else { + for (i = 0; i < 14; i++) { + if (isdigit + (cmdBuf->optDef[optNo].fieldValue[6 + 2 + i])) + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[6 + 2 + i]; + else + break; + } + cmdBuf->optDef[optNo].optValue[i] = 0; + } + break; + case exM_hlrPdp4: + /* sprintf(cmdBuf->optDef[optNo].optValue, "%c", + cmdBuf->optDef[optNo].fieldValue[41]); + break; + */ + getBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 0, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 1, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 2, + &tmpBitValue2); + tmpBitValue3 = + tmpBitValue2 * 4 + tmpBitValue1 * 2 + tmpBitValue; + sprintf(cmdBuf->optDef[optNo].optValue, "%d", tmpBitValue3); + break; + case exM_hlrPdp5: + /*sprintf(cmdBuf->optDef[optNo].optValue, "%c", + cmdBuf->optDef[optNo].fieldValue[40]); + + break; */ + getBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 3, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 4, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 5, + &tmpBitValue2); + tmpBitValue3 = + tmpBitValue2 * 4 + tmpBitValue1 * 2 + tmpBitValue; + sprintf(cmdBuf->optDef[optNo].optValue, "%d", tmpBitValue3); + break; + case exM_hlrPdp6: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 43, 1); + if (tmpBitValue == 1) + sprintf(cmdBuf->optDef[optNo].optValue, "High"); + else if (tmpBitValue == 2) + sprintf(cmdBuf->optDef[optNo].optValue, "Normal"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "Low"); + break; + case exM_hlrPdp7: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 42, 1); + switch (tmpBitValue) { + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "8Kbps"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "16Kbps"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "32Kbps"); + break; + case 4: + sprintf(cmdBuf->optDef[optNo].optValue, "64Kbps"); + break; + case 5: + sprintf(cmdBuf->optDef[optNo].optValue, "128Kbps"); + break; + case 6: + sprintf(cmdBuf->optDef[optNo].optValue, "256Kbps"); + break; + case 7: + sprintf(cmdBuf->optDef[optNo].optValue, "512Kbps"); + break; + case 8: + sprintf(cmdBuf->optDef[optNo].optValue, "1024Kbps"); + break; + case 9: + sprintf(cmdBuf->optDef[optNo].optValue, "2048Kbps"); + break; + } + break; + case exM_hlrPdp8: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 44, 2); + switch (tmpBitValue) { + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "100Bph"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "200Bph"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "500Bph"); + break; + case 4: + sprintf(cmdBuf->optDef[optNo].optValue, "1KBph"); + break; + case 5: + sprintf(cmdBuf->optDef[optNo].optValue, "2KBph"); + break; + case 6: + sprintf(cmdBuf->optDef[optNo].optValue, "5KBph"); + break; + case 7: + sprintf(cmdBuf->optDef[optNo].optValue, "10KBph"); + break; + case 8: + sprintf(cmdBuf->optDef[optNo].optValue, "20KBph"); + break; + case 9: + sprintf(cmdBuf->optDef[optNo].optValue, "50KBph"); + break; + case 10: + sprintf(cmdBuf->optDef[optNo].optValue, "100KBph"); + break; + case 11: + sprintf(cmdBuf->optDef[optNo].optValue, "200KBph"); + break; + case 12: + sprintf(cmdBuf->optDef[optNo].optValue, "500KBph"); + break; + case 13: + sprintf(cmdBuf->optDef[optNo].optValue, "1MBph"); + break; + case 14: + sprintf(cmdBuf->optDef[optNo].optValue, "2MBph"); + break; + case 15: + sprintf(cmdBuf->optDef[optNo].optValue, "5MBph"); + break; + case 16: + sprintf(cmdBuf->optDef[optNo].optValue, "10MBph"); + break; + case 17: + sprintf(cmdBuf->optDef[optNo].optValue, "20MBph"); + break; + case 18: + sprintf(cmdBuf->optDef[optNo].optValue, "50MBph"); + break; + case 31: + sprintf(cmdBuf->optDef[optNo].optValue, "Best_effort"); + break; + } + break; + case exM_hlrPdp9: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 46, 2); + if (tmpBitValue == 0) + sprintf(cmdBuf->optDef[optNo].optValue, "Not_allowed"); + else + sprintf(cmdBuf->optDef[optNo].optValue, "Allowed"); + break; + case exM_hlrPdp10: + for (i = 0; i < 32; i++) { + if (cmdBuf->optDef[optNo].fieldValue[48 + i * 2] == '0' + && cmdBuf->optDef[optNo].fieldValue[48 + i * 2 + 1] == + '0') + { + if(i==0) + sprintf(cmdBuf->optDef[optNo].optValue, "null"); + break; + + } + else { + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 48 + + i * 2, 2); + cmdBuf->optDef[optNo].optValue[i] = tmpBitValue; + } + } + if(i>0) + cmdBuf->optDef[optNo].optValue[i] = 0; + //writeDebug("optValue:%s,fieldValue:%s",cmdBuf->optDef[optNo].optValue,cmdBuf->optDef[optNo].fieldValue); + break; + case exM_hlrPdp11: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 112, 2); + //writeDebug("fied value:%s",cmdBuf->optDef[optNo].fieldValue); + switch(tmpBitValue) + { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "Non_included_Ext"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "Included_Ext"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "Included_Ext_and_Ext2_only_1_octet"); + break; + case 7: + sprintf(cmdBuf->optDef[optNo].optValue, "Included_Ext_Ext2"); + break; + case 15: + sprintf(cmdBuf->optDef[optNo].optValue, "Included_Ext_Ext2_Ext3"); + break; + } + break; + case exM_hlrPdp12: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 114, 2); + sprintf(cmdBuf->optDef[optNo].optValue, "%d", tmpBitValue); + break; + case exM_hlrPdp13: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 0, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 1, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 2, + &tmpBitValue2); + tmpBitValue3 = tmpBitValue2 * 4 + tmpBitValue1 * 2 + tmpBitValue; + //writeDebug("tmpBitValue3 =%d",tmpBitValue3); + switch(tmpBitValue3) + { + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "No_detect"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "Err_SDUs_delilvered"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "Err_SDUs_not_delivered"); + break; + case 7: + sprintf(cmdBuf->optDef[optNo].optValue, "Reserved"); + break; + } + break; + case exM_hlrPdp14: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 3, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 4, + &tmpBitValue1); + tmpBitValue2 = tmpBitValue1 * 2 + tmpBitValue; + switch(tmpBitValue2) + { + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "delivery_order"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "no_delivery_order"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "Reserved"); + break; + } + break; + case exM_hlrPdp15: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 5, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 6, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 7, + &tmpBitValue2); + tmpBitValue3 = tmpBitValue2 * 4 + tmpBitValue1 * 2 + tmpBitValue; + switch(tmpBitValue3) + { + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "Conversation_class"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "Streaming_class"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "Interactive_class"); + break; + case 4: + sprintf(cmdBuf->optDef[optNo].optValue, "Background_classs"); + break; + case 7: + sprintf(cmdBuf->optDef[optNo].optValue, "Reserved"); + break; + } + break; + case exM_hlrPdp16: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 118, 2); + switch (tmpBitValue) { + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "10_octets"); + break; + case 20: + sprintf(cmdBuf->optDef[optNo].optValue, "200_octets"); + break; + case 80: + sprintf(cmdBuf->optDef[optNo].optValue, "800_octets"); + break; + case 100: + sprintf(cmdBuf->optDef[optNo].optValue, "1000_octets"); + break; + case 148: + sprintf(cmdBuf->optDef[optNo].optValue, "1480_octets"); + break; + case 150: + sprintf(cmdBuf->optDef[optNo].optValue, "1500_octets"); + break; + case 151: + sprintf(cmdBuf->optDef[optNo].optValue, "1502_octets"); + break; + case 152: + sprintf(cmdBuf->optDef[optNo].optValue, "1510_octets"); + break; + case 153: + sprintf(cmdBuf->optDef[optNo].optValue, "1520_octets"); + break; + case 255: + sprintf(cmdBuf->optDef[optNo].optValue, "Reserved"); + break; + } + break; + case exM_hlrPdp17: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 0, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 1, + &tmpBitValue2); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 2, + &tmpBitValue3); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 3, + &tmpBitValue4); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 4, + &tmpBitValue5); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 5, + &tmpBitValue6); + tmpBitValue =tmpBitValue6 * 32 + tmpBitValue5 * 16 + tmpBitValue4 * 8 + + tmpBitValue3 * 4 + tmpBitValue2 * 2 + tmpBitValue1; + sprintf(cmdBuf->optDef[optNo].optValue, "%d", tmpBitValue); + break; + case exM_hlrPdp18: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 6, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 7, + &tmpBitValue2); + tmpBitValue = tmpBitValue2 * 2 + tmpBitValue1; + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "X*1Kbps"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "64Kbps+(X*8Kbps)"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "576Kbps+(X*64Kbps)"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "4672Kbps+(X*64Kbps)"); + break; + } + break; + case exM_hlrPdp19: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 0, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 1, + &tmpBitValue2); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 2, + &tmpBitValue3); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 3, + &tmpBitValue4); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 4, + &tmpBitValue5); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 5, + &tmpBitValue6); + tmpBitValue =tmpBitValue6 * 32 + tmpBitValue5 * 16 + tmpBitValue4 * 8 + + tmpBitValue3 * 4 + tmpBitValue2 * 2 + tmpBitValue1; + sprintf(cmdBuf->optDef[optNo].optValue, "%d", tmpBitValue); + break; + case exM_hlrPdp20: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 6, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 7, + &tmpBitValue2); + tmpBitValue = tmpBitValue2 * 2 + tmpBitValue1; + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "X*1Kbps"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "64Kbps+(X*8Kbps)"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "576Kbps+(X*64Kbps)"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "4672Kbps+(X*64Kbps)"); + break; + } + break; + case exM_hlrPdp21: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 125, 1); + switch (tmpBitValue) { + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_2"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "7E_3"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_3"); + break; + case 4: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_4"); + break; + case 5: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_5"); + break; + case 6: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_6"); + break; + case 7: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_1"); + break; + case 15: + sprintf(cmdBuf->optDef[optNo].optValue, "Reserved"); + break; + } + break; + case exM_hlrPdp22: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 124, 1); + switch (tmpBitValue) { + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "5E_2"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_2"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "5E_3"); + break; + case 4: + sprintf(cmdBuf->optDef[optNo].optValue, "4E_3"); + break; + case 5: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_3"); + break; + case 6: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_4"); + break; + case 7: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_5"); + break; + case 8: + sprintf(cmdBuf->optDef[optNo].optValue, "1E_6"); + break; + case 9: + sprintf(cmdBuf->optDef[optNo].optValue, "6E_8"); + break; + case 15: + sprintf(cmdBuf->optDef[optNo].optValue, "Reserved"); + break; + } + break; + case exM_hlrPdp23: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 0, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 1, + &tmpBitValue1); + tmpBitValue2 = tmpBitValue1 * 2 + tmpBitValue; + switch(tmpBitValue2) + { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "Reserved"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "Level_1"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "Level_2"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "Level_3"); + break; + } + break; + case exM_hlrPdp24: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 2, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 3, + &tmpBitValue2); + tmpBitValue = tmpBitValue2 * 2 + tmpBitValue1; + switch(tmpBitValue) + { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "X*10ms"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "200ms+X*50ms"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "1000ms+X*100ms"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "2600ms+X*100ms"); + break; + } + break; + case exM_hlrPdp25: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 0, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 1, + &tmpBitValue2); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 2, + &tmpBitValue3); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 3, + &tmpBitValue4); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 4, + &tmpBitValue5); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 5, + &tmpBitValue6); + tmpBitValue =tmpBitValue6 * 32 + tmpBitValue5 * 16 + tmpBitValue4 * 8 + + tmpBitValue3 * 4 + tmpBitValue2 * 2 + tmpBitValue1; + sprintf(cmdBuf->optDef[optNo].optValue, "%d", tmpBitValue); + break; + case exM_hlrPdp26: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 6, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 7, + &tmpBitValue2); + tmpBitValue = tmpBitValue2 * 2 + tmpBitValue1; + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "X*1Kbps"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "64Kbps+(X*8Kbps)"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "576Kbps+(X*64Kbps)"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "4672Kbps+(X*64Kbps)"); + break; + } + break; + case exM_hlrPdp27: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 0, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 1, + &tmpBitValue2); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 2, + &tmpBitValue3); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 3, + &tmpBitValue4); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 4, + &tmpBitValue5); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 5, + &tmpBitValue6); + tmpBitValue =tmpBitValue6 * 32 + tmpBitValue5 * 16 + tmpBitValue4 * 8 + + tmpBitValue3 * 4 + tmpBitValue2 * 2 + tmpBitValue1; + sprintf(cmdBuf->optDef[optNo].optValue, "%d", tmpBitValue); + break; + case exM_hlrPdp28: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 6, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 7, + &tmpBitValue2); + tmpBitValue = tmpBitValue2 * 2 + tmpBitValue1; + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "X*1Kbps"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "64Kbps+(X*8Kbps)"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "576Kbps+(X*64Kbps)"); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].optValue, "4672Kbps+(X*64Kbps)"); + break; + } + break; + case exM_hlrPdp29: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 0, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 1, + &tmpBitValue2); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 2, + &tmpBitValue3); + tmpBitValue = tmpBitValue3 * 4 + tmpBitValue2 * 2 + tmpBitValue1; + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "Spare"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "Speech"); + break; + } + break; + case exM_hlrPdp30: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 4, + &tmpBitValue); + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "Not_optimised"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "Optimised"); + break; + } + break; + case exM_hlrPdp32: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 134, 2); + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "<=8600kbps"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "8700kbps"); + break; + case 74: + sprintf(cmdBuf->optDef[optNo].optValue, "16000kbps"); + break; + case 75: + sprintf(cmdBuf->optDef[optNo].optValue, "17Mbps"); + break; + case 186: + sprintf(cmdBuf->optDef[optNo].optValue, "128Mbps"); + break; + case 187: + sprintf(cmdBuf->optDef[optNo].optValue, "130Mbps"); + break; + case 250: + sprintf(cmdBuf->optDef[optNo].optValue, "256Mbps"); + break; + } + break; + case exM_hlrPdp33: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 136, 2); + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "<=8600kbps"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "8700kbps"); + break; + case 74: + sprintf(cmdBuf->optDef[optNo].optValue, "16000kbps"); + break; + case 75: + sprintf(cmdBuf->optDef[optNo].optValue, "17Mbps"); + break; + case 186: + sprintf(cmdBuf->optDef[optNo].optValue, "128Mbps"); + break; + case 187: + sprintf(cmdBuf->optDef[optNo].optValue, "130Mbps"); + break; + case 250: + sprintf(cmdBuf->optDef[optNo].optValue, "256Mbps"); + break; + } + break; + case exM_hlrPdp34: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 138, 2); + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "<=8600kbps"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "8700kbps"); + break; + case 74: + sprintf(cmdBuf->optDef[optNo].optValue, "16000kbps"); + break; + case 75: + sprintf(cmdBuf->optDef[optNo].optValue, "17Mbps"); + break; + case 186: + sprintf(cmdBuf->optDef[optNo].optValue, "128Mbps"); + break; + case 187: + sprintf(cmdBuf->optDef[optNo].optValue, "130Mbps"); + break; + case 250: + sprintf(cmdBuf->optDef[optNo].optValue, "256Mbps"); + break; + } + break; + case exM_hlrPdp35: + omc_AsciiToRbcd(&tmpBitValue, + cmdBuf->optDef[optNo].fieldValue + 140, 2); + switch (tmpBitValue) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "<=8600kbps"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "8700kbps"); + break; + case 74: + sprintf(cmdBuf->optDef[optNo].optValue, "16000kbps"); + break; + case 75: + sprintf(cmdBuf->optDef[optNo].optValue, "17Mbps"); + break; + case 186: + sprintf(cmdBuf->optDef[optNo].optValue, "128Mbps"); + break; + case 187: + sprintf(cmdBuf->optDef[optNo].optValue, "130Mbps"); + break; + case 250: + sprintf(cmdBuf->optDef[optNo].optValue, "256Mbps"); + break; + } + break; + case exM_hlrUserNo: + //user_no + for (i = 0; i < strlen(cmdBuf->optDef[optNo].fieldValue); i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != 'E') { + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i]; + } else { + cmdBuf->optDef[optNo].optValue[i] = '\0'; + return (0); + } + } + if (strlen(cmdBuf->optDef[optNo].optValue) == 0) { + sprintf(cmdBuf->optDef[optNo].optValue, "\"\""); + } + break; + + default: + //printf("\n tmpSql=%s \n", cmdBuf->optDef[optNo].fieldValue); + if (tmpExMode >= 100 && tmpExMode < 200) { + int byteOffset = (int) ((tmpExMode - 100) / 10); + int bitOffset = tmpExMode % 10; + getBitValue(cmdBuf->optDef[optNo].fieldValue, byteOffset, + bitOffset, &tmpBitValue); + if (tmpBitValue > 0) { + sprintf(cmdBuf->optDef[optNo].optValue, "enable"); + } else { + sprintf(cmdBuf->optDef[optNo].optValue, "disable"); + } + } else { + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + cmdBuf->optDef[optNo].fieldValue); + } + break; + } + } //end of if(cmdBuf->sysTypeNo == 330) + if (cmdBuf->sysTypeNo == 360||cmdBuf->sysTypeNo == 395) { //pps + if (tmpExMode == exM_ppsRentType) { + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 0, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 1, + &tmpBitValue1); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 2, + &tmpBitValue2); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 3, + &tmpBitValue3); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 4, + &tmpBitValue4); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, + &tmpBitValue5); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 6, + &tmpBitValue6); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 7, + &tmpBitValue7); + sprintf(cmdBuf->optDef[optNo].optValue, "%d%d%d%d%d%d%d%d", + tmpBitValue7, tmpBitValue6, tmpBitValue5, tmpBitValue4, + tmpBitValue3, tmpBitValue2, tmpBitValue1, tmpBitValue); + } else if (tmpExMode == exM_ppsDate) { + sprintf(cmdBuf->optDef[optNo].optValue, "%.*s", 14, + cmdBuf->optDef[optNo].fieldValue); + } else if (tmpExMode == exM_ppsCallType) { + i = atoi(cmdBuf->optDef[optNo].fieldValue); + if (i == 0) + strcpy(cmdBuf->optDef[optNo].optValue, "mo_call"); + else if (i == 1) + strcpy(cmdBuf->optDef[optNo].optValue, "mt_call"); + else if (i == 2) + strcpy(cmdBuf->optDef[optNo].optValue, "mf_call"); + else + strcpy(cmdBuf->optDef[optNo].optValue, "mo_sms"); + } else if (tmpExMode == exM_ppsSM) { + hex2dec(cmdBuf->optDef[optNo].fieldValue, + cmdBuf->optDef[optNo].optValue); + } else if (tmpExMode == exM_ppsBalance) { + if (cmdBuf->optDef[optNo].fieldValue[0] == '-') + cmdBuf->optDef[optNo].fieldValue[0] = '~'; + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + cmdBuf->optDef[optNo].fieldValue); + } else if (tmpExMode == exM_ppsCardStatus) { + i = atoi(cmdBuf->optDef[optNo].fieldValue); + if (i == 0) + strcpy(cmdBuf->optDef[optNo].optValue, "Fresh"); + else + strcpy(cmdBuf->optDef[optNo].optValue, "Charged"); + } else if (tmpExMode == exM_ppsPoolAccountType) { + i = atoi(cmdBuf->optDef[optNo].fieldValue); + if (i == 0) + strcpy(cmdBuf->optDef[optNo].optValue, "normal"); + else if (i == 1) + strcpy(cmdBuf->optDef[optNo].optValue, "parent"); + else if (i == 2) + strcpy(cmdBuf->optDef[optNo].optValue, "child"); + } else if (tmpExMode == exM_ppsFFPlanState) { + i = atoi(cmdBuf->optDef[optNo].fieldValue); + if (i == 0) + strcpy(cmdBuf->optDef[optNo].optValue, "normal"); + else if (i == 1) + strcpy(cmdBuf->optDef[optNo].optValue, "suspend"); + } else { + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + cmdBuf->optDef[optNo].fieldValue); + } + } + //20041101 start + if (cmdBuf->sysTypeNo == 390) { //vms + switch (tmpExMode) { + case exM_vmsHexDec: + hex2dec(cmdBuf->optDef[optNo].fieldValue, + cmdBuf->optDef[optNo].optValue); + break; + case exM_vmsMailboxId: + hex2dec(cmdBuf->optDef[optNo].fieldValue, + cmdBuf->optDef[optNo].optValue); + break; + case exM_vmsGreetingType: + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 0, + &tmpBitValue); + getBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 1, + &tmpBitValue1); + tmpBitValue2 = tmpBitValue1 * 2 + tmpBitValue; + switch (tmpBitValue2) { + case 0: + sprintf(cmdBuf->optDef[optNo].optValue, "system"); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].optValue, "hostname"); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].optValue, "personal"); + break; + default: + break; + } + break; + default: + //printf("\n tmpSql=%s \n", cmdBuf->optDef[optNo].fieldValue); + if (tmpExMode >= 100 && tmpExMode < 200) { + int byteOffset = (int) ((tmpExMode - 100) / 10); + int bitOffset = tmpExMode % 10; + getBitValue(cmdBuf->optDef[optNo].fieldValue, byteOffset, + bitOffset, &tmpBitValue); + if (tmpBitValue > 0) { + sprintf(cmdBuf->optDef[optNo].optValue, "enable"); + } else { + sprintf(cmdBuf->optDef[optNo].optValue, "disable"); + } + } else { + //printf("%s=%s", cmdBuf->optDef[optNo].fieldName, + // cmdBuf->optDef[optNo].fieldValue); + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + cmdBuf->optDef[optNo].fieldValue); + //printf("%s=%s\n", cmdBuf->optDef[optNo].optName, + // cmdBuf->optDef[optNo].optValue); + } + break; + } + } + //20041101 end + + if (cmdBuf->sysTypeNo == 370) { //mnp + switch (tmpExMode) { + case exM_mnpStatus: + tmpValue = atoi(cmdBuf->optDef[optNo].fieldValue); + if (tmpValue == 2) { + sprintf(cmdBuf->optDef[optNo].optValue, "own_ported_out"); + } else if (tmpValue == 3) { + sprintf(cmdBuf->optDef[optNo].optValue, + "foreign_ported_in"); + } else { + sprintf(cmdBuf->optDef[optNo].optValue, + "foreign_ported_to_third_party"); + } + break; + case exM_mnpDate: + sprintf(cmdBuf->optDef[optNo].optValue, "%.*s", 8, + cmdBuf->optDef[optNo].fieldValue); + break; + default: + if (tmpExMode >= 100 && tmpExMode < 200) { + int byteOffset = (int) ((tmpExMode - 100) / 10); + int bitOffset = tmpExMode % 10; + getBitValue(cmdBuf->optDef[optNo].fieldValue, byteOffset, + bitOffset, &tmpBitValue); + if (tmpBitValue > 0) { + sprintf(cmdBuf->optDef[optNo].optValue, "enable"); + } else { + sprintf(cmdBuf->optDef[optNo].optValue, "disable"); + } + } else { + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + cmdBuf->optDef[optNo].fieldValue); + } + break; + } + } + + //opps + if (cmdBuf->sysTypeNo == 375) { + switch (tmpExMode) { + case exM_imdmMsisdn: + for (i = 0; i < strlen(cmdBuf->optDef[optNo].fieldValue); i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != 'E') { + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i]; + } else { + cmdBuf->optDef[optNo].optValue[i] = '\0'; + return (0); + } + } + break; + case exM_imdmImsi: + //imsi + j = strlen(cmdBuf->optDef[optNo].fieldValue); + //printf("exValueFieldToOpt,cmdBuf->optDef[optNo].fieldValue=+%s+,len=%d\n",cmdBuf->optDef[optNo].fieldValue[i],j); + for (i = 0; i < j; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != '0') { + break; + } + } + sprintf(cmdBuf->optDef[optNo].optValue, "%.*s", j - i, + cmdBuf->optDef[optNo].fieldValue + i); + if(j == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"000000000000000"); + break; + case exM_imdmImei: + //imei + j = strlen(cmdBuf->optDef[optNo].fieldValue); + for (i = 0; i < j; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != '0') { + break; + } + } + sprintf(cmdBuf->optDef[optNo].optValue, "%.*s", j - i, + cmdBuf->optDef[optNo].fieldValue + i); + if(j == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"000000000000000"); + break; + case exM_imdmOprFlag: + if(strcmp(cmdBuf->optDef[optNo].fieldValue,"0") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"OPR_0"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"1") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"OPR_1"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"2") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"OPR_2a"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"3") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"OPR_2b"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"4") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"IMDX_P1"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"5") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"IMDX_P2"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"6") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"IMDX_H"); + else + sprintf(cmdBuf->optDef[optNo].optValue,"Unknown"); + //printf("cmdBuf->optDef[optNo].fieldValue=%s\n",cmdBuf->optDef[optNo].fieldValue); + //sprintf(cmdBuf->optDef[optNo].optValue,"%s",cmdBuf->optDef[optNo].fieldValue); + break; + case exM_imdmClass: + if(strcmp(cmdBuf->optDef[optNo].fieldValue,"0") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"Ordinary"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"1") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"Premium"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"2") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"VIP"); + else + sprintf(cmdBuf->optDef[optNo].optValue,"Unknown"); + break; + case exM_imdmUserType: + if(strcmp(cmdBuf->optDef[optNo].fieldValue,"0") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"OPPS"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"1") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"Reserved"); + else if(strcasecmp(cmdBuf->optDef[optNo].fieldValue,"2") == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"iPALIM"); + else + sprintf(cmdBuf->optDef[optNo].optValue,"Unknown"); + break; + //case exM_imdmType: + // sprintf(cmdBuf->optDef[optNo].optValue,"%s",cmdBuf->optDef[optNo].fieldValue); + // break; + //case exM_imdmStatus: + // sprintf(cmdBuf->optDef[optNo].optValue,"%s",cmdBuf->optDef[optNo].fieldValue); + // break; + } + } + + //ipalim + if(cmdBuf->sysTypeNo == 378) { + switch(tmpExMode) { + case exM_ipalimImsi: + j = strlen(cmdBuf->optDef[optNo].fieldValue); + for(i = 0; i < j; i++) { + if(cmdBuf->optDef[optNo].fieldValue[i] != '0') + break; + } + sprintf(cmdBuf->optDef[optNo].optValue, "%.*s", j - i, cmdBuf->optDef[optNo].fieldValue + i); + if(j == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"000000000000000"); + break; + case exM_ipalimMsisdn: + for (i = 0; i < strlen(cmdBuf->optDef[optNo].fieldValue); i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != 'E') { + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i]; + } else { + cmdBuf->optDef[optNo].optValue[i] = '\0'; + return (0); + } + } + if (strlen(cmdBuf->optDef[optNo].optValue) == 0) { + sprintf(cmdBuf->optDef[optNo].optValue, " "); + } + break; + case exM_ipalimMsisdnExtern: + for (i = 0; i < strlen(cmdBuf->optDef[optNo].fieldValue); i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != 'E') { + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i]; + } else { + cmdBuf->optDef[optNo].optValue[i] = '\0'; + return (0); + } + } + if (strlen(cmdBuf->optDef[optNo].optValue) == 0) { + sprintf(cmdBuf->optDef[optNo].optValue, " "); + } + break; + case exM_ipalimTmsi: + for (i = 0; i < strlen(cmdBuf->optDef[optNo].fieldValue); i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != 'E') { + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i]; + } else { + cmdBuf->optDef[optNo].optValue[i] = '\0'; + return (0); + } + } + if (strlen(cmdBuf->optDef[optNo].optValue) == 0) { + sprintf(cmdBuf->optDef[optNo].optValue, " "); + } + break; + case exM_ipalimLai: + for (i = 0; i < strlen(cmdBuf->optDef[optNo].fieldValue); i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != 'E') { + cmdBuf->optDef[optNo].optValue[i] = + cmdBuf->optDef[optNo].fieldValue[i]; + } else { + cmdBuf->optDef[optNo].optValue[i] = '\0'; + return (0); + } + } + if (strlen(cmdBuf->optDef[optNo].optValue) == 0) { + sprintf(cmdBuf->optDef[optNo].optValue, " "); + } + break; + case exM_ipalimType: + i=atoi(cmdBuf->optDef[optNo].fieldValue); + if(i == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"Private"); + else if(i == 1) + sprintf(cmdBuf->optDef[optNo].optValue,"Public"); + else if(i == 2) + sprintf(cmdBuf->optDef[optNo].optValue,"Hybrid"); + else + sprintf(cmdBuf->optDef[optNo].optValue,"not_defined"); + break; + } + + } + + //auc + if (cmdBuf->sysTypeNo == 340) { + switch (tmpExMode) { + case exM_aucImsi: + //imsi + j = strlen(cmdBuf->optDef[optNo].fieldValue); + //printf("exValueFieldToOpt,cmdBuf->optDef[optNo].fieldValue=+%s+,len=%d\n",cmdBuf->optDef[optNo].fieldValue[i],j); + for (i = 0; i < j; i++) { + if (cmdBuf->optDef[optNo].fieldValue[i] != '0') { + break; + } + } + sprintf(cmdBuf->optDef[optNo].optValue, "%.*s", j - i, + cmdBuf->optDef[optNo].fieldValue + i); + if(j == 0) + sprintf(cmdBuf->optDef[optNo].optValue,"000000000000000"); + break; + } + } + + return (0); +} + +/************************************************* +Function: // exValueOptToField +Description: // 参数的值从输入输出的格式转换成数据库的格式 +Calls: // isxdigit; isdigit; +Called By: // changeDefaultValueProcInput; doCmdReadAccount; doCmdModifyAccount; ..... +Table Accessed: // +Table Updated: // +Input: // optNo:the index of the parameter; +Output: // +Return: // 0:successful; 1:failed; +Others: // +*************************************************/ +int exValueOptToField(int optNo) +{ + int i = 0; + int j = 0; + int optValueType; + float tmpField = 0; + char tmpStr[15]; + char tmpStr_1[15]; + char tmpValue[64]; + int tmp = 0; + + int tmpExMode; + + //general check the optValue + if (cmdBuf->optDef[optNo].exMode > 999) { + //printf("%ld\n",cmdBuf->optDef[optNo].exMode); + optValueType = cmdBuf->optDef[optNo].exMode / 10000000; + //writeDebug("%ld\n,optValueType:%d,:%s,%d",cmdBuf->optDef[optNo].exMode,optValueType,cmdBuf->optDef[optNo].optValue,strlen(cmdBuf->optDef[optNo].optValue)); + switch (optValueType) { + case 0: + if (strlen(cmdBuf->optDef[optNo].optValue) < + cmdBuf->optDef[optNo].exMode % 10000000 / 100000 + || strlen(cmdBuf->optDef[optNo].optValue) > + cmdBuf->optDef[optNo].exMode % 10000000 % 100000 / 1000) + return (1); + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); i++) { + if (isdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) { + return (1); + } + } + break; + case 1: + if (strlen(cmdBuf->optDef[optNo].optValue) < + cmdBuf->optDef[optNo].exMode % 10000000 / 100000 + || strlen(cmdBuf->optDef[optNo].optValue) > + cmdBuf->optDef[optNo].exMode % 10000000 % 100000 / 1000) + return (1); + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); i++) { + if (isxdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) + return (1); + } + break; + case 2: + if (cmdBuf->optDef[optNo].optValue[0] == '~') { + if (strlen(cmdBuf->optDef[optNo].optValue) < 2 + || strlen(cmdBuf->optDef[optNo].optValue) > + cmdBuf->optDef[optNo].exMode % 10000000 / 100000) + return (1); + for (i = 1; i < strlen(cmdBuf->optDef[optNo].optValue); + i++) { + if (isdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) + return (1); + } + } else { + if (strlen(cmdBuf->optDef[optNo].optValue) < 1 + || strlen(cmdBuf->optDef[optNo].optValue) > + cmdBuf->optDef[optNo].exMode % 10000000 % 100000 / + 1000) + return (1); + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); + i++) { + if (isdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) + return (1); + } + } + + break; + case 3: + if (cmdBuf->optDef[optNo].optValue[0] == '~') { + if (strlen(cmdBuf->optDef[optNo].optValue) < 2 + || strlen(cmdBuf->optDef[optNo].optValue) > + cmdBuf->optDef[optNo].exMode % 10000000 / 100000) + return (1); + for (i = 1; i < strlen(cmdBuf->optDef[optNo].optValue); + i++) { + if (isxdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) + return (1); + } + } else { + if (strlen(cmdBuf->optDef[optNo].optValue) < 1 + || strlen(cmdBuf->optDef[optNo].optValue) > + cmdBuf->optDef[optNo].exMode % 10000000 % 100000 / + 1000) + return (1); + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); + i++) { + if (isxdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) + return (1); + } + } + + break; + case 4: + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); i++) { + if (isdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) + return (1); + } + if (strlen(cmdBuf->optDef[optNo].optValue) <= 0) + return (1); + sprintf(tmpValue, "%lx", atol(cmdBuf->optDef[optNo].optValue)); + if (strlen(tmpValue) < + cmdBuf->optDef[optNo].exMode % 10000000 / 100000 + || strlen(tmpValue) > + cmdBuf->optDef[optNo].exMode % 10000000 % 100000 / 1000) + return (1); + break; + case 5: + if (cmdBuf->optDef[optNo].optValue[0] == '~') { + for (i = 1; i < strlen(cmdBuf->optDef[optNo].optValue); + i++) { + if (isdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) + return (1); + } + if (strlen(cmdBuf->optDef[optNo].optValue) <= 1) + return (1); + sprintf(tmpValue, "%lx", + atol(cmdBuf->optDef[optNo].optValue)); + if (strlen(tmpValue) < 2 + || strlen(tmpValue) > + cmdBuf->optDef[optNo].exMode % 10000000 / 100000) + return (1); + } else { + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); + i++) { + if (isxdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) + return (1); + } + if (strlen(cmdBuf->optDef[optNo].optValue) <= 0) + return (1); + sprintf(tmpValue, "%lx", + atol(cmdBuf->optDef[optNo].optValue)); + if (strlen(tmpValue) < 1 + || strlen(tmpValue) > + cmdBuf->optDef[optNo].exMode % 10000000 % 100000 / + 1000) + return (1); + } + break; + default: + if (strlen(cmdBuf->optDef[optNo].optValue) < + cmdBuf->optDef[optNo].exMode % 10000000 / 100000 + || strlen(cmdBuf->optDef[optNo].optValue) > + cmdBuf->optDef[optNo].exMode % 10000000 % 100000 / 1000) + return (1); + } + } + + if ((cmdBuf->sysTypeNo == 330) + && (!strcmp(cmdBuf->optDef[OptNo_index].fieldName, "inter_msisdn")) + && optNo == OptNo_index) + tmpExMode = 0; + else + tmpExMode = cmdBuf->optDef[optNo].exMode % 1000; + //writeDebug("optNo:%d,tmpExMode:%d,fieldName:%s",optNo,tmpExMode,cmdBuf->optDef[OptNo_index].fieldName); + if (cmdBuf->sysTypeNo == 0) { + i = strlen(cmdBuf->optDef[optNo].optValue); + if ((cmdBuf->optDef[optNo].optValue[i - 1] == '\n') + || (cmdBuf->optDef[optNo].optValue[i - 1] == '\r')) { + cmdBuf->optDef[optNo].optValue[i - 1] = '\0'; + i = i - 1; + } + if ((cmdBuf->optDef[optNo].optValue[i - 1] == '\n') + || (cmdBuf->optDef[optNo].optValue[i - 1] == '\r')) { + cmdBuf->optDef[optNo].optValue[i - 1] = '\0'; + } + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + return (0); + } + + if (cmdBuf->sysTypeNo == 330) { + switch (tmpExMode) { + case exM_hlrImsi: + //imsi + + if (strlen(cmdBuf->optDef[optNo].optValue) <= 15) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "0%s", + cmdBuf->optDef[optNo].optValue); + + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + + } + + break; + case exM_hlrCcNdcSn: + //cc_ndc_sn + sprintf(cmdBuf->optDef[optNo].fieldValue, "91%s", + cmdBuf->optDef[optNo].optValue); + for (i = strlen(cmdBuf->optDef[optNo].fieldValue); i < 18; i++) { + cmdBuf->optDef[optNo].fieldValue[i] = 'E'; + } + //cmdBuf->optDef[optNo].fieldValue[18] = '\0'; + break; + case exM_hlrMsisdn: + //basic_msisdn,cfu_num,cfb_num,cfnry_num,cfnrc_num + if (strcmp(cmdBuf->optDef[optNo].optValue, "\"\"") == 0) { + memset(cmdBuf->optDef[optNo].fieldValue, 0, + sizeof(cmdBuf->optDef[optNo].fieldValue)); + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + for (i = strlen(cmdBuf->optDef[optNo].fieldValue); i < 18; i++) { + cmdBuf->optDef[optNo].fieldValue[i] = 'E'; + } + break; + case exM_hlrNam: + //nam + if (strcmp(cmdBuf->optDef[optNo].optValue, "gsm") == 0) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "01"); + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "gprs") == 0) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "02"); + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "dual") == 0) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "00"); + } else { + return (1); + } + break; + case exM_hlrState: + //imsi_flag,baoc,boic,boic_hplmn,baic,cfu,cfb + //cfnry,cfnrc,clip,clir,colp,colr,ch,cw + //printf("optValue=%s\n",cmdBuf->optDef[optNo].optValue); + if (strcmp(cmdBuf->optDef[optNo].optValue, "enable") == 0) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "01"); + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "disable") == + 0) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "00"); + } else + return (1); + //printf("fieldValue=%s\n",cmdBuf->optDef[optNo].fieldValue); + break; + case exM_hlrClirpm: + if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Temporary(Default:Allowed)") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 4, 0); + } else + if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Temporary(Default:Restricted)") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 4, 1); + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "Permanent") == 0) { //Permanent + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 4, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, 0); + } else + return (1); + break; + case exM_hlrSms: + if (strcmp(cmdBuf->optDef[optNo].optValue, "None") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 2, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 3, 0); + } else + if (strcmp + (cmdBuf->optDef[optNo].optValue, "Mobile_Term") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 2, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 3, 0); + } else if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Mobile_Org") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 2, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 3, 1); + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "Both") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 2, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 3, 1); + } else + return (1); + break; +/* case exM_hlrCfuopt: + case exM_hlrCfnrcopt: + if (strcmp(cmdBuf->optDef[optNo].optValue, "Calling_Party:ON") + == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, 1); + } else { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, 0); + } + break; + case exM_hlrCfbopt: + case exM_hlrCfnryopt: + if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Calling_Party:ON/Fwd_Party:ON") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 7, 1); + } else + if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Calling_Party:ON/Fwd_Party:OFF") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 7, 0); + } else + if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Calling_Party:OFF/Fwd_Party:ON") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 7, 1); + } else { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 7, 0); + } + break; +*/ case exM_hlrCfnryTimer: + //cfnry_timer + //tmpInt = atoi(cmdBuf->optDef[optNo].optValue); + i = strlen(cmdBuf->optDef[optNo].optValue); + if ((cmdBuf->optDef[optNo].optValue[i - 1] == '\n') + || (cmdBuf->optDef[optNo].optValue[i - 1] == '\r')) { + cmdBuf->optDef[optNo].optValue[i - 1] = '\0'; + i = i - 1; + } + if ((cmdBuf->optDef[optNo].optValue[i - 1] == '\n') + || (cmdBuf->optDef[optNo].optValue[i - 1] == '\r')) + cmdBuf->optDef[optNo].optValue[i - 1] = '\0'; + sprintf(cmdBuf->optDef[optNo].fieldValue, "%X", + atoi(cmdBuf->optDef[optNo].optValue)); + break; + case exM_hlrCategory: + if (strcmp(cmdBuf->optDef[optNo].optValue, "Unknown") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "00"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "French") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "01"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "English") == + 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "02"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "German") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "03"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "Russian") == + 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "04"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "Spanish") == + 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "05"); + else if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Ordinary_calling_subscriber") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "0A"); + else if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Priory_calling_subscriber") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "0B"); + else + return (1); + break; + case exM_hlrRszi: + i = (optNo - optNo_Rszi); + sprintf(tmpStr, "%2X", atoi(cmdBuf->optDef[optNo].optValue)); + cmdBuf->optDef[optNo].fieldValue[i * 2] = tmpStr[0]; + cmdBuf->optDef[optNo].fieldValue[i * 2 + 1] = tmpStr[1]; + break; + case exM_hlrCsrr: + if (strcmp(cmdBuf->optDef[optNo].optValue, "No_restriction") == + 0) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "FF"); + break; + } + if (strlen(cmdBuf->optDef[optNo].optValue) > 2) + return (1); + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); i++) { + if (isdigit(cmdBuf->optDef[optNo].optValue[i]) <= 0) + return (1); + } + i = atoi(cmdBuf->optDef[optNo].optValue); + switch (i) { + case 0: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%2d", i); + break; + case 1: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%2d", i); + break; + case 2: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%2d", i); + break; + case 3: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%2d", i); + break; + case 4: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%2d", i); + break; + case 5: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%2d", i); + break; + case 6: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%2d", i); + break; + case 7: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%2d", i); + break; + default: + return (1); + } + break; + case exM_hlrCbsp: + if (strcmp(cmdBuf->optDef[optNo].optValue, "Control_provider") + == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "00"); + else if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Control_sub_pwd") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "01"); + else if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Control_sub_not_pwd") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "02"); + else + return (1); + break; + case exM_hlrCbwpa: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + break; + case exM_hlrOCsi1: + sprintf(tmpStr, "%2x", atoi(cmdBuf->optDef[optNo].optValue)); + for (i = 0; i < 2; i++) + cmdBuf->optDef[optNo].fieldValue[i + 0] = tmpStr[i]; + break; + case exM_hlrOCsi2: + sprintf(tmpStr, "%8lx", atol(cmdBuf->optDef[optNo].optValue)); + for (i = 0; i < 8; i++) + cmdBuf->optDef[optNo].fieldValue[i + 24] = tmpStr[i]; + break; + case exM_hlrOCsi3: + i = strlen(cmdBuf->optDef[optNo].optValue); + for (j = 0; j < i; j++) + cmdBuf->optDef[optNo].fieldValue[j + 6] = + cmdBuf->optDef[optNo].optValue[j]; + for (; j < 18; j++) + cmdBuf->optDef[optNo].fieldValue[j + 6] = 'E'; + break; + case exM_hlrOCsi4: + if (strcmp(cmdBuf->optDef[optNo].optValue, "Release_call") == + 0) + cmdBuf->optDef[optNo].fieldValue[3] = '1'; + else if (strcmp + (cmdBuf->optDef[optNo].optValue, + "Continue_call") == 0) + cmdBuf->optDef[optNo].fieldValue[3] = '0'; + else + return (1); + break; + case exM_hlrOCsi5: + if (strcmp(cmdBuf->optDef[optNo].optValue, "In_use") == 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 0, 1); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "Not_use") == + 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 0, 0); + else + return (1); + break; + case exM_hlrOCsi6: + if (strcmp(cmdBuf->optDef[optNo].optValue, "Enabling") == 0) + cmdBuf->optDef[optNo].fieldValue[35] = '1'; + else if (strcmp(cmdBuf->optDef[optNo].optValue, "Inhabiting") + == 0) + cmdBuf->optDef[optNo].fieldValue[35] = '0'; + else + return (1); + break; + case exM_hlrOCsi7: + if (strcmp(cmdBuf->optDef[optNo].optValue, "In_use") == 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 2, 1); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "Not_use") == + 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 2, 0); + else + return (1); + break; + case exM_hlrOCsi8: + i = strlen(cmdBuf->optDef[optNo].optValue); + for (j = 0; j < i; j++) + cmdBuf->optDef[optNo].fieldValue[j + 38] = + cmdBuf->optDef[optNo].optValue[j]; + for (; j < 18; j++) + cmdBuf->optDef[optNo].fieldValue[j + 38] = 'E'; + break; + case exM_hlrOCsi9: + i = strlen(cmdBuf->optDef[optNo].optValue); + for (j = 0; j < i; j++) + cmdBuf->optDef[optNo].fieldValue[j + 56] = + cmdBuf->optDef[optNo].optValue[j]; + for (; j < 18; j++) + cmdBuf->optDef[optNo].fieldValue[j + 56] = 'E'; + break; + case exM_hlrOCsi10: + i = strlen(cmdBuf->optDef[optNo].optValue); + for (j = 0; j < i; j++) + cmdBuf->optDef[optNo].fieldValue[j + 74] = + cmdBuf->optDef[optNo].optValue[j]; + for (; j < 18; j++) + cmdBuf->optDef[optNo].fieldValue[j + 74] = 'E'; + break; + case exM_hlrOCsi11: + i = strlen(cmdBuf->optDef[optNo].optValue); + for (j = 0; j < i; j++) + cmdBuf->optDef[optNo].fieldValue[j + 92] = + cmdBuf->optDef[optNo].optValue[j]; + for (; j < 18; j++) + cmdBuf->optDef[optNo].fieldValue[j + 92] = 'E'; + break; + case exM_hlrOCsi12: + if (strcmp(cmdBuf->optDef[optNo].optValue, "In_use") == 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 3, 1); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "Not_use") == + 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 3, 0); + else + return (1); + break; + case exM_hlrOCsi13: + sprintf(tmpStr, "%2x", atoi(cmdBuf->optDef[optNo].optValue)); + for (i = 0; i < 2; i++) + cmdBuf->optDef[optNo].fieldValue[i + 110] = tmpStr[i]; + break; + case exM_hlrOCsi14: + sprintf(tmpStr, "%2x", atoi(cmdBuf->optDef[optNo].optValue)); + for (i = 0; i < 2; i++) + cmdBuf->optDef[optNo].fieldValue[i + 112] = tmpStr[i]; + break; + case exM_hlrOCsi15: + sprintf(tmpStr, "%2x", atoi(cmdBuf->optDef[optNo].optValue)); + for (i = 0; i < 2; i++) + cmdBuf->optDef[optNo].fieldValue[i + 114] = tmpStr[i]; + break; + case exM_hlrOCsi16: + if (strcmp(cmdBuf->optDef[optNo].optValue, "In_use") == 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 1, 1); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "Not_use") == + 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 16, 1, 0); + else + return (1); + break; + case exM_hlrOCsi17: + if (strcmp(cmdBuf->optDef[optNo].optValue, "Not_forward") == 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 18, 0, 1); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "Forward") == + 0) + setBitValue(cmdBuf->optDef[optNo].fieldValue, 18, 0, 0); + else + return (1); + break; + case exM_hlrOCsi18: + sprintf(tmpStr, "%2x", atoi(cmdBuf->optDef[optNo].optValue)); + for (i = 0; i < 2; i++) + cmdBuf->optDef[optNo].fieldValue[i + 4] = tmpStr[i]; + break; + case exM_hlrSsCsi: + j = optNo - optNo_Sscsi; + if (strcmp(cmdBuf->optDef[optNo].optValue, "cd") == 0) { + cmdBuf->optDef[optNo].fieldValue[0 + j * 2] = '2'; + cmdBuf->optDef[optNo].fieldValue[0 + j * 2 + 1] = '4'; + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "ect") == 0) { + cmdBuf->optDef[optNo].fieldValue[0 + j * 2] = '3'; + cmdBuf->optDef[optNo].fieldValue[0 + j * 2 + 1] = '1'; + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "multiPTY") + == 0) { + cmdBuf->optDef[optNo].fieldValue[0 + j * 2] = '5'; + cmdBuf->optDef[optNo].fieldValue[0 + j * 2 + 1] = '1'; + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "None") + == 0) { + cmdBuf->optDef[optNo].fieldValue[0 + j * 2] = '0'; + cmdBuf->optDef[optNo].fieldValue[0 + j * 2 + 1] = '0'; + } else + return (1); + break; + case exM_hlrSsCsi1: + i = strlen(cmdBuf->optDef[optNo].optValue); + if(i < 11 || i > 18) + return 1; + for (j = 0; j < i; j++) + cmdBuf->optDef[optNo].fieldValue[j + 8] = + cmdBuf->optDef[optNo].optValue[j]; + for (; j < 18; j++) + cmdBuf->optDef[optNo].fieldValue[j + 8] = 'E'; + break; + case exM_hlrPdp1: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "enable")) { + cmdBuf->optDef[optNo].fieldValue[0] = '0'; + cmdBuf->optDef[optNo].fieldValue[1] = '1'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "disable")) { + cmdBuf->optDef[optNo].fieldValue[0] = '0'; + cmdBuf->optDef[optNo].fieldValue[1] = '0'; + } else + return (1); + break; + case exM_hlrPdp2: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "IPv4")) { + sprintf(tmpStr, "%4X", 289); + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "IPv6")) { + sprintf(tmpStr, "%4X", 343); + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "X.25")) { + sprintf(tmpStr, "%4X", 0); + } else + return (1); + for (i = 0; i < 4; i++) + cmdBuf->optDef[optNo].fieldValue[2 + i] = tmpStr[i]; + break; + case exM_hlrPdp3: + if (cmdBuf->optDef[optNo - 1].optFlag[0] == 1) { + if (!strcmp(cmdBuf->optDef[optNo - 1].optValue, "IPv4")) { + if(strcasecmp(cmdBuf->optDef[optNo].optValue,"null") == 0) + { + sprintf(tmpValue, "0000000000"); + strcat(tmpValue, "EEEEEEEEEEEEEEEEEEEEEEEE"); + for (i = 0; i < 34; i++) + cmdBuf->optDef[optNo].fieldValue[6 + i] = + tmpValue[i]; + } + else + { + + sprintf(tmpValue, "04"); + j = 0; + tmpStr[0] = 0; + for (i = 0; + i < strlen(cmdBuf->optDef[optNo].optValue) + 1; + i++) { + if (isdigit(cmdBuf->optDef[optNo].optValue[i])) { + tmpStr[j] = cmdBuf->optDef[optNo].optValue[i]; + j++; + } else if (cmdBuf->optDef[optNo].optValue[i] == '.' + || cmdBuf->optDef[optNo].optValue[i] == + 0) { + if (j > 3 || j < 1) + return (1); + tmpStr[j] = 0; + if (atoi(tmpStr) > 255) + return (1); + sprintf(tmpStr_1, "%02X", atoi(tmpStr)); + strcat(tmpValue, tmpStr_1); + j = 0; + tmpStr[0] = 0; + } else + return (1); + } + if (strlen(tmpValue) != 10) + return (1); + strcat(tmpValue, "EEEEEEEEEEEEEEEEEEEEEEEE"); + for (i = 0; i < 34; i++) + cmdBuf->optDef[optNo].fieldValue[6 + i] = + tmpValue[i]; + } + } else + if (!strcmp + (cmdBuf->optDef[optNo - 1].optValue, "IPv6")) { + sprintf(tmpValue, "10"); + j = 0; + tmpStr[0] = 0; + for (i = 0; + i < strlen(cmdBuf->optDef[optNo].optValue) + 1; + i++) { + if (isxdigit(cmdBuf->optDef[optNo].optValue[i])) { + tmpStr[j] = cmdBuf->optDef[optNo].optValue[i]; + j++; + } else if (cmdBuf->optDef[optNo].optValue[i] == ':' + || cmdBuf->optDef[optNo].optValue[i] == + 0) { + if (j != 4) { + return (1); + } + tmpStr[j] = 0; + strcat(tmpValue, tmpStr); + j = 0; + tmpStr[0] = 0; + } else { + return (1); + } + } + + if (strlen(tmpValue) != 34) { + return (1); + } + for (i = 0; i < 34; i++) + cmdBuf->optDef[optNo].fieldValue[6 + i] = + tmpValue[i]; + } else + if (!strcmp + (cmdBuf->optDef[optNo - 1].optValue, "X.25")) { + if (strlen(cmdBuf->optDef[optNo].optValue) != 14 + && strlen(cmdBuf->optDef[optNo].optValue) != 12) + return (1); + sprintf(tmpValue, "%02X", + strlen(cmdBuf->optDef[optNo].optValue) / 2); + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); + i++) { + if (!isdigit(cmdBuf->optDef[optNo].optValue[i])) + return (1); + } + strcat(tmpValue, cmdBuf->optDef[optNo].optValue); + for (i = strlen(tmpValue); i < 34; i++) + tmpValue[i] = 'E'; + for (i = 0; i < 34; i++) + cmdBuf->optDef[optNo].fieldValue[6 + i] = + tmpValue[i]; + } else + return (1); + } else { + if (strchr(cmdBuf->optDef[optNo].optValue, '.')) { + sprintf(tmpValue, "04"); + j = 0; + tmpStr[0] = 0; + for (i = 0; + i < strlen(cmdBuf->optDef[optNo].optValue) + 1; + i++) { + if (isdigit(cmdBuf->optDef[optNo].optValue[i])) { + tmpStr[j] = cmdBuf->optDef[optNo].optValue[i]; + j++; + } else if (cmdBuf->optDef[optNo].optValue[i] == '.' + || cmdBuf->optDef[optNo].optValue[i] == + 0) { + if (j > 3 || j < 1) + return (1); + tmpStr[j] = 0; + if (atoi(tmpStr) > 255) + return (1); + sprintf(tmpStr_1, "%02X", atoi(tmpStr)); + strcat(tmpValue, tmpStr_1); + j = 0; + tmpStr[0] = 0; + } else + return (1); + } + if (strlen(tmpValue) != 10) + return (1); + strcat(tmpValue, "EEEEEEEEEEEEEEEEEEEEEEEE"); + for (i = 0; i < 34; i++) + cmdBuf->optDef[optNo].fieldValue[6 + i] = + tmpValue[i]; + } else if (strchr(cmdBuf->optDef[optNo].optValue, ':')) { + sprintf(tmpValue, "10"); + j = 0; + tmpStr[0] = 0; + for (i = 0; + i < strlen(cmdBuf->optDef[optNo].optValue) + 1; + i++) { + if (isxdigit(cmdBuf->optDef[optNo].optValue[i])) { + tmpStr[j] = cmdBuf->optDef[optNo].optValue[i]; + j++; + } else if (cmdBuf->optDef[optNo].optValue[i] == ':' + || cmdBuf->optDef[optNo].optValue[i] == + 0) { + if (j != 4) { + return (1); + } + tmpStr[j] = 0; + strcat(tmpValue, tmpStr); + j = 0; + tmpStr[0] = 0; + } else { + return (1); + } + } + + if (strlen(tmpValue) != 34) { + return (1); + } + for (i = 0; i < 34; i++) + cmdBuf->optDef[optNo].fieldValue[6 + i] = + tmpValue[i]; + } else { + if (strlen(cmdBuf->optDef[optNo].optValue) != 14 + && strlen(cmdBuf->optDef[optNo].optValue) != 12) + return (1); + sprintf(tmpValue, "%02X", + strlen(cmdBuf->optDef[optNo].optValue) / 2); + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); + i++) { + if (!isdigit(cmdBuf->optDef[optNo].optValue[i])) + return (1); + } + strcat(tmpValue, cmdBuf->optDef[optNo].optValue); + for (i = strlen(tmpValue); i < 34; i++) + tmpValue[i] = 'E'; + for (i = 0; i < 34; i++) + cmdBuf->optDef[optNo].fieldValue[6 + i] = + tmpValue[i]; + } + } + break; + case exM_hlrPdp4: + if (strlen(cmdBuf->optDef[optNo].optValue) > 1) + return (1); + if (cmdBuf->optDef[optNo].optValue[0] < '1' + || cmdBuf->optDef[optNo].optValue[0] > '5') + return (1); + /*cmdBuf->optDef[optNo].fieldValue[41] = + cmdBuf->optDef[optNo].optValue[0]; + */ + tmp = atoi(cmdBuf->optDef[optNo].optValue); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 0, tmp % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 1, + tmp % 4 / 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 2, tmp / 4); + break; + case exM_hlrPdp5: + if (strlen(cmdBuf->optDef[optNo].optValue) > 1) + return (1); + if (cmdBuf->optDef[optNo].optValue[0] < '1' + || cmdBuf->optDef[optNo].optValue[0] > '4') + return (1); + /* cmdBuf->optDef[optNo].fieldValue[40] = + cmdBuf->optDef[optNo].optValue[0]; + */ + tmp = atoi(cmdBuf->optDef[optNo].optValue); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 3, tmp % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 4, + tmp % 4 / 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 20, 5, tmp / 4); + break; + case exM_hlrPdp6: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "High")) + cmdBuf->optDef[optNo].fieldValue[43] = '1'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Normal")) + cmdBuf->optDef[optNo].fieldValue[43] = '2'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Low")) + cmdBuf->optDef[optNo].fieldValue[43] = '3'; + else + return (1); + break; + case exM_hlrPdp7: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "8Kbps")) + cmdBuf->optDef[optNo].fieldValue[42] = '1'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "16Kbps")) + cmdBuf->optDef[optNo].fieldValue[42] = '2'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "32Kbps")) + cmdBuf->optDef[optNo].fieldValue[42] = '3'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "64Kbps")) + cmdBuf->optDef[optNo].fieldValue[42] = '4'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "128Kbps")) + cmdBuf->optDef[optNo].fieldValue[42] = '5'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "256Kbps")) + cmdBuf->optDef[optNo].fieldValue[42] = '6'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "512Kbps")) + cmdBuf->optDef[optNo].fieldValue[42] = '7'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1024Kbps")) + cmdBuf->optDef[optNo].fieldValue[42] = '8'; + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "2048Kbps")) + cmdBuf->optDef[optNo].fieldValue[42] = '9'; + else + return (1); + break; + case exM_hlrPdp8: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "100Bph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = '1'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "200Bph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = '2'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "500Bph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = '3'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1KBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = '4'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "2KBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = '5'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "5KBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = '6'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "10KBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = '7'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "20KBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = '8'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "50KBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = '9'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "100KBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = 'A'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "200KBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = 'B'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "500KBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = 'C'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1MBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = 'D'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "2MBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = 'E'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "5MBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '0'; + cmdBuf->optDef[optNo].fieldValue[45] = 'F'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "10MBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '1'; + cmdBuf->optDef[optNo].fieldValue[45] = '0'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "20MBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '1'; + cmdBuf->optDef[optNo].fieldValue[45] = '1'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "50MBph")) { + cmdBuf->optDef[optNo].fieldValue[44] = '1'; + cmdBuf->optDef[optNo].fieldValue[45] = '2'; + } else + if (!strcmp(cmdBuf->optDef[optNo].optValue, "Best_effort")) + { + cmdBuf->optDef[optNo].fieldValue[44] = '1'; + cmdBuf->optDef[optNo].fieldValue[45] = 'F'; + } else + return (1); + break; + case exM_hlrPdp9: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "Not_allowed")) { + cmdBuf->optDef[optNo].fieldValue[46] = '0'; + cmdBuf->optDef[optNo].fieldValue[47] = '0'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Allowed")) { + cmdBuf->optDef[optNo].fieldValue[46] = '0'; + cmdBuf->optDef[optNo].fieldValue[47] = '1'; + } else + return (1); + break; + case exM_hlrPdp10: + for (i = 0; i < strlen(cmdBuf->optDef[optNo].optValue); i++) { + sprintf(tmpStr, "%02X", cmdBuf->optDef[optNo].optValue[i]); + cmdBuf->optDef[optNo].fieldValue[48 + i * 2 + 0] = + tmpStr[0]; + cmdBuf->optDef[optNo].fieldValue[48 + i * 2 + 1] = + tmpStr[1]; + } + for (j = 0; + j < 64 - strlen(cmdBuf->optDef[optNo].optValue) * 2; + j++) { + cmdBuf->optDef[optNo].fieldValue[48 + i * 2 + j] = '0'; + } + break; + case exM_hlrPdp11: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "Non_included_Ext")) { + cmdBuf->optDef[optNo].fieldValue[112] = '0'; + cmdBuf->optDef[optNo].fieldValue[113] = '0'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Included_Ext")) { + cmdBuf->optDef[optNo].fieldValue[112] = '0'; + cmdBuf->optDef[optNo].fieldValue[113] = '1'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Included_Ext_and_Ext2_only_1_octet")) { + cmdBuf->optDef[optNo].fieldValue[112] = '0'; + cmdBuf->optDef[optNo].fieldValue[113] = '3'; + }else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Included_Ext_Ext2")) { + cmdBuf->optDef[optNo].fieldValue[112] = '0'; + cmdBuf->optDef[optNo].fieldValue[113] = '7'; + }else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Included_Ext_Ext2_EXt3")) { + cmdBuf->optDef[optNo].fieldValue[112] = '0'; + cmdBuf->optDef[optNo].fieldValue[113] = 'F'; + }else + return (1); + break; + case exM_hlrPdp12: + if (strlen(cmdBuf->optDef[optNo].optValue) > 1) + return (1); + if (cmdBuf->optDef[optNo].optValue[0] < '0' + || cmdBuf->optDef[optNo].optValue[0] > '4') + return (1); + tmp = atoi(cmdBuf->optDef[optNo].optValue); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 57, 0, tmp % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 57, 1, + tmp % 4 / 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 57, 2, tmp / 4); + break; + case exM_hlrPdp13: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "No_detect")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 1, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 2, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Err_SDUs_delilvered")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 0, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 1, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 2, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Err_SDUs_not_delivered")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 1, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 2, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Reserved")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 1, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 2, 1); + } + else + return (1); + break; + case exM_hlrPdp14: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "delivery_order")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 3, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 4, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "no_delivery_order")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 3, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 4, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Reserved")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 3, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 4, 1); + } + else + return (1); + break; + case exM_hlrPdp15: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "Conversation_class")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Streaming_class")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Interactive_class")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Background_class")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 7, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Reserved")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 58, 7, 1); + } + else + return (1); + break; + case exM_hlrPdp16: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "10_octets")) { + cmdBuf->optDef[optNo].fieldValue[118] = '0'; + cmdBuf->optDef[optNo].fieldValue[119] = '1'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "200_octets")) { + cmdBuf->optDef[optNo].fieldValue[118] = '1'; + cmdBuf->optDef[optNo].fieldValue[119] = '4'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "800_octets")) { + cmdBuf->optDef[optNo].fieldValue[118] = '5'; + cmdBuf->optDef[optNo].fieldValue[119] = '0'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1000_octets")) { + cmdBuf->optDef[optNo].fieldValue[118] = '6'; + cmdBuf->optDef[optNo].fieldValue[119] = '4'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1480_octets")) { + cmdBuf->optDef[optNo].fieldValue[118] = '9'; + cmdBuf->optDef[optNo].fieldValue[119] = '4'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1500_octets")) { + cmdBuf->optDef[optNo].fieldValue[118] = '9'; + cmdBuf->optDef[optNo].fieldValue[119] = '6'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1502_octets")) { + cmdBuf->optDef[optNo].fieldValue[118] = '9'; + cmdBuf->optDef[optNo].fieldValue[119] = '7'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1510_octets")) { + cmdBuf->optDef[optNo].fieldValue[118] = '9'; + cmdBuf->optDef[optNo].fieldValue[119] = '8'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1520_octets")) { + cmdBuf->optDef[optNo].fieldValue[118] = '9'; + cmdBuf->optDef[optNo].fieldValue[119] = '9'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Reserved")) + { + cmdBuf->optDef[optNo].fieldValue[118] = 'F'; + cmdBuf->optDef[optNo].fieldValue[119] = 'F'; + } else + return (1); + break; + case exM_hlrPdp17: + tmp = atoi(cmdBuf->optDef[optNo].optValue); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 0, tmp % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 1, + tmp /2%2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 2, tmp /2/2 % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 3, tmp /2/2/2 % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 4, tmp /2/2/2/2 %2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 5, tmp /2/2/2/2/2 %2); + break; + case exM_hlrPdp18: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "X*1Kbps")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "64Kbps+(X*8Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "576Kbps+(X*64Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 7, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "4672Kbps+(X*64Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 60, 7, 1); + } + else + return (1); + break; + case exM_hlrPdp19: + tmp = atoi(cmdBuf->optDef[optNo].optValue); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 0, tmp % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 1, + tmp % 4 / 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 2, tmp %2%2%2 % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 3, tmp %2%2%2%2 % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 4, tmp %2%2%2%2%2 %2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 5, tmp %2%2%2%2%2%2 %2); + break; + case exM_hlrPdp20: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "X*1Kbps")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "64Kbps+(X*8Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "576Kbps+(X*64Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 7, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "4672Kbps+(X*64Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 61, 7, 1); + } + else + return (1); + break; + case exM_hlrPdp21: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_2")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 1, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 2, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 3, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "7E_3")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 0, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 1, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 2, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 3, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_3")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 1, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 2, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 3, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_4")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 0, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 1, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 2, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 3, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_5")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 1, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 2, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 3, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_6")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 0, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 1, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 2, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 3, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_1")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 1, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 2, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 3, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Reserved")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 1, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 2, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 3, 1); + } + else + return (1); + break; + case exM_hlrPdp22: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "5E_2")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_2")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 0); + } + else if(!strcmp(cmdBuf->optDef[optNo].optValue, "5E_3")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "4E_3")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_3")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_4")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_5")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1E_6")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "6E_8")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Reserved")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 4, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 5, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 62, 7, 1); + } + else + return (1); + break; + case exM_hlrPdp23: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "Level_1")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 1, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Level_2")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 0, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 1, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Level_3")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 1, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Reserved")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 0, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 1, 0); + } + else + return (1); + break; + case exM_hlrPdp24: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "X*10ms")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 2, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 3, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "200ms+X*50ms")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 2, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 3, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "1000ms+X*100ms")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 2, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 3, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "2600ms+X*100ms")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 2, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 63, 3, 1); + } + else + return (1); + break; + case exM_hlrPdp25: + tmp = atoi(cmdBuf->optDef[optNo].optValue); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 0, tmp % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 1, + tmp % 4 / 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 2, tmp %2%2%2 % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 3, tmp %2%2%2%2 % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 4, tmp %2%2%2%2%2 %2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 5, tmp %2%2%2%2%2%2 %2); + break; + case exM_hlrPdp26: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "X*1Kbps")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "64Kbps+(X*8Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "576Kbps+(X*64Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 7, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "4672Kbps+(X*64Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 64, 7, 1); + } + else + return (1); + break; + case exM_hlrPdp27: + tmp = atoi(cmdBuf->optDef[optNo].optValue); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 0, tmp % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 1, + tmp % 4 / 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 2, tmp %2%2%2 % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 3, tmp %2%2%2%2 % 2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 4, tmp %2%2%2%2%2 %2); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 5, tmp %2%2%2%2%2%2 %2); + break; + case exM_hlrPdp28: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "X*1Kbps")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "64Kbps+(X*8Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 7, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "576Kbps+(X*64Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 6, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 7, 1); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "4672Kbps+(X*64Kbps)")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 6, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 65, 7, 1); + } + else + return (1); + break; + case exM_hlrPdp29: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "Spare")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 0, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 1, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Speech")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 1, 0); + } + else + return (1); + break; + case exM_hlrPdp30: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "Not_optimised")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 4, 0); + } + else if (!strcmp(cmdBuf->optDef[optNo].optValue, "Optimised")) + { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 66, 4, 1); + } + else + return (1); + break; + case exM_hlrPdp32: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "<=8600kbps")) { + cmdBuf->optDef[optNo].fieldValue[134] = '0'; + cmdBuf->optDef[optNo].fieldValue[135] = '0'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "8700kbps")) { + cmdBuf->optDef[optNo].fieldValue[134] = '0'; + cmdBuf->optDef[optNo].fieldValue[135] = '1'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "16000kbps")) { + cmdBuf->optDef[optNo].fieldValue[134] = '4'; + cmdBuf->optDef[optNo].fieldValue[135] = 'A'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "17Mbps")) { + cmdBuf->optDef[optNo].fieldValue[134] = '4'; + cmdBuf->optDef[optNo].fieldValue[135] = 'B'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "128Mbps")) { + cmdBuf->optDef[optNo].fieldValue[134] = 'B'; + cmdBuf->optDef[optNo].fieldValue[135] = 'A'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "130Mbps")) { + cmdBuf->optDef[optNo].fieldValue[134] = 'B'; + cmdBuf->optDef[optNo].fieldValue[135] = 'B'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "256Mbps")) { + cmdBuf->optDef[optNo].fieldValue[134] = 'F'; + cmdBuf->optDef[optNo].fieldValue[135] = 'A'; + }else + return (1); + break; + case exM_hlrPdp33: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "<=8600kbps")) { + cmdBuf->optDef[optNo].fieldValue[136] = '0'; + cmdBuf->optDef[optNo].fieldValue[137] = '0'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "8700kbps")) { + cmdBuf->optDef[optNo].fieldValue[136] = '0'; + cmdBuf->optDef[optNo].fieldValue[137] = '1'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "16000kbps")) { + cmdBuf->optDef[optNo].fieldValue[136] = '4'; + cmdBuf->optDef[optNo].fieldValue[137] = 'A'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "17Mbps")) { + cmdBuf->optDef[optNo].fieldValue[136] = '4'; + cmdBuf->optDef[optNo].fieldValue[137] = 'B'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "128Mbps")) { + cmdBuf->optDef[optNo].fieldValue[136] = 'B'; + cmdBuf->optDef[optNo].fieldValue[137] = 'A'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "130Mbps")) { + cmdBuf->optDef[optNo].fieldValue[136] = 'B'; + cmdBuf->optDef[optNo].fieldValue[137] = 'B'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "256Mbps")) { + cmdBuf->optDef[optNo].fieldValue[136] = 'F'; + cmdBuf->optDef[optNo].fieldValue[137] = 'A'; + }else + return (1); + break; + case exM_hlrPdp34: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "<=8600kbps")) { + cmdBuf->optDef[optNo].fieldValue[138] = '0'; + cmdBuf->optDef[optNo].fieldValue[139] = '0'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "8700kbps")) { + cmdBuf->optDef[optNo].fieldValue[138] = '0'; + cmdBuf->optDef[optNo].fieldValue[139] = '1'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "16000kbps")) { + cmdBuf->optDef[optNo].fieldValue[138] = '4'; + cmdBuf->optDef[optNo].fieldValue[139] = 'A'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "17Mbps")) { + cmdBuf->optDef[optNo].fieldValue[138] = '4'; + cmdBuf->optDef[optNo].fieldValue[139] = 'B'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "128Mbps")) { + cmdBuf->optDef[optNo].fieldValue[138] = 'B'; + cmdBuf->optDef[optNo].fieldValue[139] = 'A'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "130Mbps")) { + cmdBuf->optDef[optNo].fieldValue[138] = 'B'; + cmdBuf->optDef[optNo].fieldValue[139] = 'B'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "256Mbps")) { + cmdBuf->optDef[optNo].fieldValue[138] = 'F'; + cmdBuf->optDef[optNo].fieldValue[139] = 'A'; + }else + return (1); + break; + case exM_hlrPdp35: + if (!strcmp(cmdBuf->optDef[optNo].optValue, "<=8600kbps")) { + cmdBuf->optDef[optNo].fieldValue[140] = '0'; + cmdBuf->optDef[optNo].fieldValue[141] = '0'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "8700kbps")) { + cmdBuf->optDef[optNo].fieldValue[140] = '0'; + cmdBuf->optDef[optNo].fieldValue[141] = '1'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "16000kbps")) { + cmdBuf->optDef[optNo].fieldValue[140] = '4'; + cmdBuf->optDef[optNo].fieldValue[141] = 'A'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "17Mbps")) { + cmdBuf->optDef[optNo].fieldValue[140] = '4'; + cmdBuf->optDef[optNo].fieldValue[141] = 'B'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "128Mbps")) { + cmdBuf->optDef[optNo].fieldValue[140] = 'B'; + cmdBuf->optDef[optNo].fieldValue[141] = 'A'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "130Mbps")) { + cmdBuf->optDef[optNo].fieldValue[140] = 'B'; + cmdBuf->optDef[optNo].fieldValue[141] = 'B'; + } else if (!strcmp(cmdBuf->optDef[optNo].optValue, "256Mbps")) { + cmdBuf->optDef[optNo].fieldValue[140] = 'F'; + cmdBuf->optDef[optNo].fieldValue[141] = 'A'; + }else + return (1); + break; + case exM_hlrUserNo: + //user_no + if (strcmp(cmdBuf->optDef[optNo].optValue, "\"\"") == 0) { + memset(cmdBuf->optDef[optNo].fieldValue, 0, + sizeof(cmdBuf->optDef[optNo].fieldValue)); + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + for (i = strlen(cmdBuf->optDef[optNo].fieldValue); i < 16; i++) { + cmdBuf->optDef[optNo].fieldValue[i] = 'E'; + } + break; + default: + if (tmpExMode >= 100 && tmpExMode < 200) { + int byteOffset = (int) ((tmpExMode - 100) / 10); + int bitOffset = tmpExMode % 10; + if (strcmp(cmdBuf->optDef[optNo].optValue, "enable") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, + byteOffset, bitOffset, 1); + } else + if (strcmp(cmdBuf->optDef[optNo].optValue, "disable") + == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, + byteOffset, bitOffset, 0); + } else + return (1); + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + break; + } + } //end of if(cmdBuf->sysTypeNo == 330) + + if (cmdBuf->sysTypeNo == 360||cmdBuf->sysTypeNo == 395) { + if (tmpExMode == exM_ppsRentType) { + if (strlen(cmdBuf->optDef[optNo].optValue) != 8) + return (1); + for (i = 0; i < 8; i++) { + if (cmdBuf->optDef[optNo].optValue[i] == '\0') + break; + else if (cmdBuf->optDef[optNo].optValue[i] == '1') + tmpField = tmpField + ldexp(1, (7 - i)); + else if (cmdBuf->optDef[optNo].optValue[i] == '0') + continue; + else + return (1); + } + sprintf(cmdBuf->optDef[optNo].fieldValue, "%3.0f", tmpField); + sprintf(cmdBuf->optDef[optNo].fieldValue, "%2x", + atoi(cmdBuf->optDef[optNo].fieldValue)); + } else if (tmpExMode == exM_ppsDate) { + if(strlen(cmdBuf->optDef[optNo].optValue) == 8) + { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s000000", cmdBuf->optDef[optNo].optValue); + } + else if(strlen(cmdBuf->optDef[optNo].optValue) == 10) + { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s0000", cmdBuf->optDef[optNo].optValue); + } + else if(strlen(cmdBuf->optDef[optNo].optValue) == 12) + { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s00", cmdBuf->optDef[optNo].optValue); + } + else if(strlen(cmdBuf->optDef[optNo].optValue) == 14) + { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", cmdBuf->optDef[optNo].optValue); + } + else + { + return 1; + } + } else if (tmpExMode == exM_ppsCallType) { + if (strcmp(cmdBuf->optDef[optNo].optValue, "mo_call") == 0) + strcpy(cmdBuf->optDef[optNo].fieldValue, "00"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "mt_call") == + 0) + strcpy(cmdBuf->optDef[optNo].fieldValue, "01"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "mf_call") == + 0) + strcpy(cmdBuf->optDef[optNo].optValue, "02"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "mo_sms") == 0) + strcpy(cmdBuf->optDef[optNo].optValue, "03"); + else + return (1); + } else if (tmpExMode == exM_ppsPoolAccountType) { + if (strcmp(cmdBuf->optDef[optNo].optValue, "normal") == 0) + strcpy(cmdBuf->optDef[optNo].fieldValue, "00"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "parent") == 0) + strcpy(cmdBuf->optDef[optNo].fieldValue, "01"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "child") == 0) + strcpy(cmdBuf->optDef[optNo].optValue, "02"); + else + return 1; + } else if (tmpExMode == exM_ppsSM) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%X", + atoi(cmdBuf->optDef[optNo].optValue)); + } else if (tmpExMode == exM_ppsBalance) { + if (cmdBuf->optDef[optNo].optValue[0] == '~') + cmdBuf->optDef[optNo].optValue[0] = '-'; + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } else if (tmpExMode == exM_ppsCardStatus) { + if (strcmp(cmdBuf->optDef[optNo].optValue, "Fresh") == 0) + strcpy(cmdBuf->optDef[optNo].fieldValue, "00"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "Charged") == + 0) + strcpy(cmdBuf->optDef[optNo].fieldValue, "01"); + else + return (1); + } else if (tmpExMode == exM_ppsFFPlanState) { + if (strcmp(cmdBuf->optDef[optNo].optValue, "normal") == 0) + strcpy(cmdBuf->optDef[optNo].fieldValue, "00"); + else if (strcmp(cmdBuf->optDef[optNo].optValue, "suspend") == 0) + strcpy(cmdBuf->optDef[optNo].fieldValue, "01"); + else + return (1); + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + } + //20041101 start + if (cmdBuf->sysTypeNo == 390) { //vms + switch (tmpExMode) { + case exM_vmsHexDec: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%X", + atoi(cmdBuf->optDef[optNo].optValue)); + break; + case exM_vmsMailboxId: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%8X", + atoi(cmdBuf->optDef[optNo].optValue)); + break; + case exM_vmsGreetingType: + if (strcmp(cmdBuf->optDef[optNo].optValue, "system") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 0, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 1, 0); + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "hostname") + == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 0, 1); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 1, 0); + } else if (strcmp(cmdBuf->optDef[optNo].optValue, "personal") + == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 0, 0); + setBitValue(cmdBuf->optDef[optNo].fieldValue, 0, 1, 1); + } else + return (1); + + break; + default: + if (tmpExMode >= 100 && tmpExMode < 200) { + int byteOffset = (int) ((tmpExMode - 100) / 10); + int bitOffset = tmpExMode % 10; + if (strcmp(cmdBuf->optDef[optNo].optValue, "enable") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, + byteOffset, bitOffset, 1); + } else + if (strcmp(cmdBuf->optDef[optNo].optValue, "disable") + == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, + byteOffset, bitOffset, 0); + } else + return (1); + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + break; + } + } + //20041101 end + if (cmdBuf->sysTypeNo == 370) { //mnp + switch (tmpExMode) { + case exM_mnpStatus: + if (strcmp(cmdBuf->optDef[optNo].optValue, "own_ported_out") == + 0) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "02"); + } else + if (strcmp + (cmdBuf->optDef[optNo].optValue, + "foreign_ported_in") == 0) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "03"); + } else + if (strcmp + (cmdBuf->optDef[optNo].optValue, + "foreign_ported_to_third_party") == 0) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "04"); + } else + return (1); + //printf("fieldValue=%s\n",cmdBuf->optDef[optNo].fieldValue); + break; + case exM_mnpDate: + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s000000", + cmdBuf->optDef[optNo].optValue); + default: + if (tmpExMode >= 100 && tmpExMode < 200) { + int byteOffset = (int) ((tmpExMode - 100) / 10); + int bitOffset = tmpExMode % 10; + if (strcmp(cmdBuf->optDef[optNo].optValue, "enable") == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, + byteOffset, bitOffset, 1); + } else + if (strcmp(cmdBuf->optDef[optNo].optValue, "disable") + == 0) { + setBitValue(cmdBuf->optDef[optNo].fieldValue, + byteOffset, bitOffset, 0); + } else + return (1); + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + break; + } + } + + //opps + if (cmdBuf->sysTypeNo == 375) { + switch (tmpExMode) { + case exM_imdmMsisdn: + if (strcmp(cmdBuf->optDef[optNo].optValue, "\"\"") == 0) { + memset(cmdBuf->optDef[optNo].fieldValue, 0, + sizeof(cmdBuf->optDef[optNo].fieldValue)); + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + /*for (i = strlen(cmdBuf->optDef[optNo].fieldValue); i < 16; i++) { + cmdBuf->optDef[optNo].fieldValue[i] = '0'; + }*/ + break; + case exM_imdmImei: + //imei + if (strlen(cmdBuf->optDef[optNo].optValue) < 15) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "0%s", + cmdBuf->optDef[optNo].optValue); + + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + if(strlen(cmdBuf->optDef[optNo].optValue) == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"000000000000000"); + break; + case exM_imdmImsi: + //imsi + if (strlen(cmdBuf->optDef[optNo].optValue) < 15) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "0%s", + cmdBuf->optDef[optNo].optValue); + + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + if(strlen(cmdBuf->optDef[optNo].optValue) == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"000000000000000"); + break; + case exM_imdmOprFlag: + if(strcasecmp(cmdBuf->optDef[optNo].optValue,"OPR_0") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"0"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"OPR_1") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"1"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"OPR_2a") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"2"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"OPR_2b") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"3"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"IMDX_P1") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"4"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"IMDX_P2") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"5"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"IMDX_H") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"6"); + else + return 1; + + //sprintf(cmdBuf->optDef[optNo].fieldValue,"%s",cmdBuf->optDef[optNo].optValue); + break; + case exM_imdmClass: + if(strcasecmp(cmdBuf->optDef[optNo].optValue,"Ordinary") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"0"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"Premium") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"1"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"VIP") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"2"); + else + return 1; + break; + case exM_imdmUserType: + if(strcasecmp(cmdBuf->optDef[optNo].optValue,"OPPS") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"0"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"Reserved") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"1"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue,"iPALIM") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"2"); + else + return 1; + break; + //case exM_imdmType: + // sprintf(cmdBuf->optDef[optNo].fieldValue,"%s",cmdBuf->optDef[optNo].optValue); + // break; + //case exM_imdmStatus: + // sprintf(cmdBuf->optDef[optNo].fieldValue,"%s",cmdBuf->optDef[optNo].optValue); + // break; + } + } + + //ipalim + if(cmdBuf->sysTypeNo == 378) { + switch(tmpExMode) { + case exM_ipalimImsi: + if(strlen(cmdBuf->optDef[optNo].optValue) < 15) + sprintf(cmdBuf->optDef[optNo].fieldValue, "0%s", cmdBuf->optDef[optNo].optValue); + else + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", cmdBuf->optDef[optNo].optValue); + if(strlen(cmdBuf->optDef[optNo].optValue) == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "000000000000000"); + break; + case exM_ipalimMsisdn: + if(strcmp(cmdBuf->optDef[optNo].optValue, "") == 0) + memset(cmdBuf->optDef[optNo].fieldValue, 0, sizeof(cmdBuf->optDef[optNo].fieldValue)); + else + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", cmdBuf->optDef[optNo].optValue); + break; + case exM_ipalimMsisdnExtern: + if(strcmp(cmdBuf->optDef[optNo].optValue, "") == 0) + memset(cmdBuf->optDef[optNo].fieldValue, 0, sizeof(cmdBuf->optDef[optNo].fieldValue)); + else + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", cmdBuf->optDef[optNo].optValue); + break; + case exM_ipalimTmsi: + if(strcmp(cmdBuf->optDef[optNo].optValue, "") == 0) + memset(cmdBuf->optDef[optNo].fieldValue, 0, sizeof(cmdBuf->optDef[optNo].fieldValue)); + else + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", cmdBuf->optDef[optNo].optValue); + break; + case exM_ipalimLai: + if(strcmp(cmdBuf->optDef[optNo].optValue, "") == 0) + memset(cmdBuf->optDef[optNo].fieldValue, 0, sizeof(cmdBuf->optDef[optNo].fieldValue)); + else + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", cmdBuf->optDef[optNo].optValue); + break; + case exM_ipalimType: + if(strcasecmp(cmdBuf->optDef[optNo].optValue,"Private") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "0"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue, "Public") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "1"); + else if(strcasecmp(cmdBuf->optDef[optNo].optValue, "Hybrid") == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue, "2"); + else + sprintf(cmdBuf->optDef[optNo].fieldValue, "0"); + break; + } + + } + //auc + if (cmdBuf->sysTypeNo == 340) { + switch (tmpExMode) { + case exM_aucImsi: + //imsi + if (strlen(cmdBuf->optDef[optNo].optValue) <= 15) { + sprintf(cmdBuf->optDef[optNo].fieldValue, "0%s", + cmdBuf->optDef[optNo].optValue); + + } else { + sprintf(cmdBuf->optDef[optNo].fieldValue, "%s", + cmdBuf->optDef[optNo].optValue); + } + if(strlen(cmdBuf->optDef[optNo].optValue) == 0) + sprintf(cmdBuf->optDef[optNo].fieldValue,"000000000000000"); + break; + } + } + + + fieldSync(optNo); + return (0); +} + diff --git a/src/accountMgr/c_program/smcli/pmcli.c b/src/accountMgr/c_program/smcli/pmcli.c new file mode 100644 index 0000000..5a197d3 --- /dev/null +++ b/src/accountMgr/c_program/smcli/pmcli.c @@ -0,0 +1,1226 @@ +/************************************************* +File name: pmcli.c +Author: +Version: 9:00:00 +Date: 2007-8-4 +Description:由于修改PPS用户参数要修改到PPS的系统参数,该文件实现了向系统参数命令表保存命令记录 + 再由paramComm模块处理该命令 + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include "smcli.h" + +void pmcli(char *inputBuf, int loop); +//int pmcliProcInput(char *inputBuf, int loop, int keyNo, int instance); +//int doCmdReadParam(int loop, int keyNo, int instance); +//int doCmdModifyParam(int loop, int keyNo); +//int fillParamOptValue(int loop, char *onePart, int keyNo, int instance); +//int paramSendCommand(int loop, int keyNo, int commType, int commId); +int pmcliProcInput(char *inputBuf, int loop); +int doCmdReadParam(int loop); +int doResultReadParam(int loop); +int valueToOpt(const char *value,const char *optArr,char *outDes); +int doCmdModifyParam(int loop); +int fillParamOptValue(int loop, char *onePart); +int paramSendCommand(int loop, int commType, int commId); +int paramScanCommand(int loop, int commId); +int chkComm(int commId, char *remark); +void deleteParamComm(); + +extern int CloseTcpConn(int sock); +extern void CheckDbConnection(); + +extern MYSQL *dbConn; + +int COMM_ID; +char REMARK[256]; +int keyNo, instance; + +extern unsigned char CmdTypeNo; +extern char OutputBuf[OutputBufSize]; +extern int OutputLen; +extern CmdBuf defCmdBuf[CmdBufSize]; +extern char CmdList[MaxCmdTypeNum][16]; + +/* by simon at 23/9/26 */ +extern _PORT_STATUS port_status[MAX_CLIENTS]; +extern CmdBuf *cmdBuf; + +/************************************************* +Function: // pmcli +Description: // 分析命令行,判断是否需要修改系统参数 +Calls: // pmcliProcInput +Called By: // smcli.c:ReceiveTCP +Table Accessed: // OMC_PUB.sysOperLog +Table Updated: // OMC_PUB.sysOperLog +Input: // inputBuf:命令缓冲区; loop:the index of port_status; +Output: // +Return: // +Others: // +*************************************************/ +void pmcli(char *inputBuf, int loop) +{ + //int keyNo = 0, instance = 0; + //int keyNo = 0, instance = 0; + int sock; + + long l_time; + struct tm *t; + char tmpSql[1024]; + + CheckDbConnection(); + + sock = port_status[loop].connfd; + + if (0 == pmcliProcInput(inputBuf, loop)) { + switch (CmdTypeNo) { + case CMD_READ: + doCmdReadParam(loop); + break; + case CMD_MODIFY: + doCmdModifyParam(loop); + break; + default: + break; + } + } + + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Command:%s,Result:%s\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, port_status[loop].tmpInputBuf, OutputBuf, + port_status[loop].username, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); + mysql_getnores(dbConn, tmpSql); + usleep(delayTime); + sprintf(OutputBuf, "%s", "CLI>"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + port_status[loop].time = time(NULL); + return; +} + +/************************************************* +Function: // pmcliProcInput +Description: // 分析命令,判断是否要改系统参数 +Calls: // send; CloseTcpConn; fillParamOptValue; +Called By: // pmcli +Table Accessed: // parameterComm +Table Updated: // +Input: // input:命令缓冲区; loop:the index of port_status; +Output: // +Return: // 0:successful: 1:failed; +Others: // +*************************************************/ +int pmcliProcInput(char *inputBuf, int loop) +{ + char *paramPart = NULL; + char *onePart = NULL; + char *tmpStr = NULL; + int i = 0; + int j = 0; + int k = 0; + int sock; + + char tmpSql[256]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + + CheckDbConnection(); + + sock = port_status[loop].connfd; + + for (i = 0; i < CmdBufSize; i++) + defCmdBuf[i].isConnected = port_status[loop].isConnected[i]; + i = 0; + + if (strstr(inputBuf, "exit") || strstr(inputBuf, "quit")) { + sprintf(OutputBuf, "%s", "Good bye\n\r"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + CloseTcpConn(sock); + sprintf(OutputBuf, "%s", "Login out"); + return (1); + } + + while ((paramPart = strsep(&(inputBuf), "-"))) { + //printf("paramPart=%s\n", paramPart); + if (strlen(paramPart) < 2) { + sprintf(OutputBuf, "%s:%s\n\r", ERR_0001, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + switch (i) { + case 0: //command and object + //first part is command name + if ((onePart = strsep(&(paramPart), " "))) { + //printf("onePart=%s\n",onePart); + //printf("lastPart=%s\n",paramPart); + //try to find + for (j = 0; j < MaxCmdTypeNum; j++) { + if (strcmp(CmdList[j], onePart) == 0) { + CmdTypeNo = j + 1; + break; + } + } + //cannot find + if (j == MaxCmdTypeNum) { + sprintf(OutputBuf, "%s:%s\n\r", ERR_0001, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //if (CmdTypeNo != CMD_MODIFY) { + if (CmdTypeNo != CMD_MODIFY && CmdTypeNo != CMD_READ) { + sprintf(OutputBuf, "%s:%s\n\r", ERR_0001, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } else { + sprintf(OutputBuf, "%s\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + //second part is command object + if (paramPart != NULL) { + k = strlen(paramPart); + while (' ' == *(paramPart + k - 1)) { + k = k - 1; + if (k == 0) + break; + } + *(paramPart + k) = '\0'; + } + if (paramPart != NULL) { + onePart = paramPart; + for (j = 0; j < CmdBufSize; j++) { + if (strcmp(onePart, defCmdBuf[j].paramStr) == 0) { + if (defCmdBuf[j].isConnected == 0) { + sprintf(OutputBuf, "%s\n\r", ERR_0254); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + cmdBuf = &defCmdBuf[j]; + if (cmdBuf->cmdFlag[CmdTypeNo - 1] > + port_status[loop].privilege) { + sprintf(OutputBuf, "%s:%s %s\n\r", + ERR_0005, CmdList[CmdTypeNo - 1], + onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + break; + } + } + if (j == CmdBufSize) { + sprintf(OutputBuf, "%s:%s\n\r", ERR_0003, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } else { + sprintf(OutputBuf, "%s\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + break; + default: + //case 1: //parameters name and value + //parameter name + if ((onePart = strsep(&(paramPart), " "))) { + //printf("onePart=%s\n", onePart); + //printf("lastPart=%s\n", paramPart); + if (!(tmpStr = strrchr(onePart, '.'))) { + sprintf(OutputBuf, "%s\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + instance = atoi(tmpStr+1); + tmpStr[0] = 0; + + sprintf(tmpSql, + "SELECT keyNo,writePrivilege FROM OMC_PUB.%s WHERE fieldName='%s'", + cmdBuf->paramTable, onePart); + //printf("tmpSql=%s\n", tmpSql); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + //cannot find + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); + sprintf(OutputBuf, "%s:%s\n\r", ERR_0010, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } else { + tmpRow = mysql_fetch_row(tmpResult); + if (atoi(tmpRow[1]) > port_status[loop].privilege) { + mysql_free_result(tmpResult); + sprintf(OutputBuf, "%s:%s\n\r", ERR_0012, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + keyNo = atoi(tmpRow[0]); + mysql_free_result(tmpResult); + } + + } else { + sprintf(OutputBuf, "%s\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + if (CmdTypeNo == CMD_MODIFY) { + //parameter value + if (paramPart != NULL) { + k = strlen(paramPart); + while (' ' == *(paramPart + k - 1)) { + k = k - 1; + if (k == 0) + break; + } + *(paramPart + k) = '\0'; + } else { + sprintf(OutputBuf, "%s\n\r", ERR_0003); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + if (paramPart != NULL) { + onePart = paramPart; + if (0 != fillParamOptValue(loop, onePart)) + return (1); + } else { + sprintf(OutputBuf, "%s\n\r", ERR_0003); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + break; + //default: + // break; + } //end of switch + i++; + } //end of while + + return (0); +} + +/************************************************* +Function: // doCmdReadParam +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // 未实现 +*************************************************/ +int doCmdReadParam(int loop) +{ + int commType = 0; + int commId = 0; + int result; + + + result = paramSendCommand(loop, commType, commId); + if (0 != result) + return (0); + result = paramScanCommand(loop, commId); + + return (0); +} + +/************************************************* +Function: // doResultReadParam +Description: // show the result after read the parameter +Calls: // +Called By: // paramScanCommand +Table Accessed: // OMC_PUB.parameterComm +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int doResultReadParam(int loop) +{ + char selSql[512]; + MYSQL_RES *selResult = NULL; + MYSQL_ROW selRow = NULL; + int sock; + char levelstr[256]; + char objIdStr[64]; + char tmpstr[64]; + char initValue[256],paramTable[32],paramName[64]; + char limitValue[256]; + char outputValue[128]; + char unitDefArr[6][32]; + char selectType[2048]; + int instanceNo; + int commType; + int i; + char *c; + char tmpStr[2048]; + //char *part = NULL; + char *tmpPart = NULL; + char *onePart = NULL; + int bgnByte, bgnBit, endByte, endBit, byteLen; + + CheckDbConnection(); + + sock = port_status[loop].connfd; + + sprintf(selSql, "SELECT objId,instanceNo,commType FROM %s WHERE commId = '%d'", + paramCommandTable, COMM_ID); + selResult = (MYSQL_RES *) mysql_getres(dbConn, selSql); + if (selResult == NULL || mysql_num_rows(selResult) == 0) { + //mysql_free_result(selResult); + return 0; + } + + selRow = mysql_fetch_row(selResult); + //make the parameter level + sprintf(objIdStr,"%s",selRow[0]); + instanceNo = atoi(selRow[1]); + commType = atoi(selRow[2]); + mysql_free_result(selResult); + //only fix read operation + if(commType != 0) + return 0; + c=strtok(objIdStr,"."); + sprintf(levelstr," level_1=%s ",c); + i=2; + while((c=strtok(NULL,"."))) + { + sprintf(tmpstr,"and level_%d=%s ",i++,c); + strcat(levelstr,tmpstr); + } + while(i<=10) + { + sprintf(tmpstr,"and level_%d=0 ",i++); + strcat(levelstr,tmpstr); + } + + + + //------------get the define of parameter------------------- + sprintf(selSql, "SELECT * FROM OMC_PUB.%s WHERE keyNo='%d'", + cmdBuf->paramTable, keyNo); + selResult = (MYSQL_RES *) mysql_getres(dbConn, selSql); + if (selResult == NULL || mysql_num_rows(selResult) == 0) { + mysql_free_result(selResult); + sprintf(OutputBuf, "%s\n\r", ERR_0010); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //paramTable + selRow = mysql_fetch_row(selResult); + strcpy(paramName,selRow[1]); + if (2 == atoi(selRow[2])) + sprintf(paramTable, "param_99"); + else + sprintf(paramTable, "param_%d", cmdBuf->sysNo); + + //selectType + sprintf(tmpStr, "%s", selRow[4]); + i = 0; + tmpPart = &(tmpStr[0]); + for (i = 0; i < 6; i++) + { + onePart = strsep(&(tmpPart), "-"); + strcpy(unitDefArr[i], onePart); + } + sprintf(selectType, "%s", tmpPart); + mysql_free_result(selResult); + + tmpPart = &(unitDefArr[0][0]); + onePart = strsep(&(tmpPart), "."); + bgnByte = atoi(onePart); + bgnBit = atoi(tmpPart); + tmpPart = &(unitDefArr[1][0]); + onePart = strsep(&(tmpPart), "."); + endByte = atoi(onePart); + endBit = atoi(tmpPart); + byteLen = endByte - bgnByte + 1; + //printf("bgnByte=%d,bgnBit=%d,endByte=%d,endBit=%d,byteLen=%d\n",bgnByte,bgnBit,endByte,endBit,byteLen); + + //printf("selectType=%s\n",selectType); + + //-----------get the readValue in parameter table--------------- + //ISSUE-2 + sprintf(selSql, + "SELECT initValue FROM OBJ_%d.%s WHERE %s AND instanceNo=%d ", + cmdBuf->sysTypeNo, paramTable, levelstr, instanceNo); + selResult = (MYSQL_RES *) mysql_getres(dbConn, selSql); + if (selResult == NULL || mysql_num_rows(selResult) == 0) + { + mysql_free_result(selResult); + sprintf(OutputBuf, "%s\n\r", ERR_0010); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + selRow = mysql_fetch_row(selResult); + sprintf(initValue, "%s", selRow[0]); + //printf("initValue=+%s+\n",initValue); + mysql_free_result(selResult); + + memset(outputValue,0,128); + + //only support entire byte + if(endByte == bgnByte) + { + sprintf(limitValue,"%s",initValue+bgnByte*2); + limitValue[bgnByte*2+2]='\0'; + } + else + { + sprintf(limitValue,"%s",initValue+bgnByte*2); + limitValue[(endByte-bgnByte+1)*2]='\0'; + } + //printf("limitValue=%s\n",limitValue); + //-----------------show the value----------------------- + if(strcasecmp(unitDefArr[3], "toDec") == 0) + { + //select + if(strcasecmp(unitDefArr[2], "select") == 0) + { + valueToOpt(limitValue,selectType,outputValue); + } + //input + else + { + long decValue=0; + sscanf(limitValue,"%x",(unsigned int*)&decValue); + sprintf(outputValue,"%ld",decValue); + } + } + else if(strcasecmp(unitDefArr[3], "keepDec") == 0) + { + sprintf(outputValue,"%s",limitValue); + } + else if(strcasecmp(unitDefArr[3], "keepHex") == 0) + { + sprintf(outputValue,"%s",limitValue); + } + else if(strcasecmp(unitDefArr[3], "toAscii") == 0) + { + int hb,lb,tb,zeroN=0; + for(i=bgnByte;i<=endByte;i++) + { + hb=initValue[i*2]-'0'; + lb=initValue[i*2+1]-'0'; + tb=hb*16+lb; + if(tb == 0) + zeroN++; + sprintf(tmpstr,"%c",tb); + strcat(outputValue,tmpstr); + } + if(zeroN == (endByte-bgnByte+1)) + sprintf(outputValue,"(null)"); + } + else + { + sprintf(outputValue,"%s",limitValue); + } + + sprintf(OutputBuf, "%s -%s %s\n", cmdBuf->paramStr,paramName,outputValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + + return 0; +} + +/************************************************* +Function: // valueToOpt +Description: // transform the value to label in select +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1: failed; 0: successful +Others: // +*************************************************/ +int valueToOpt(const char *value,const char *optArr,char *outDes) +{ + int iValue; + char *c=NULL,*p=NULL,*q=NULL; + char tmpOptArr[2048]; + char sOpt[64][64]; + int iOpt[64]; + int optLen; + int i; + + for(i=0;i<64;i++) + { + sprintf(sOpt[i],"(undefined)"); + iOpt[i]=-1; + } + + sprintf(outDes,"(undefined)"); + sprintf(tmpOptArr,"%s",optArr); + iValue=atoi(value); + if(optArr == NULL || strlen(optArr) == 0) + return 1; + optLen=0; + c=strstr(tmpOptArr,";"); + if(c == NULL) + { + p=strtok(tmpOptArr,"."); + iOpt[optLen]=atoi(p); + p=strtok(NULL,"."); + if(p == NULL) + return 1; + sprintf(sOpt[optLen],"%s",p); + optLen++; + } + else + { + q=strtok(tmpOptArr,";"); + iOpt[optLen]=atoi(q); + p=strstr(q,"."); + if(p == NULL) + return 1; + sprintf(sOpt[optLen],"%s",p+1); + optLen++; + while((q=strtok(NULL,";"))) + { + if(optLen >= 64) + return 1; + iOpt[optLen]=atoi(q); + p=strstr(q,"."); + if(p == NULL) + return 1; + sprintf(sOpt[optLen],"%s",p+1); + optLen++; + } + } + + for(i=0;iparamTable, keyNo); + selResult = (MYSQL_RES *) mysql_getres(dbConn, selSql); + if (selResult == NULL || mysql_num_rows(selResult) == 0) { + mysql_free_result(selResult); + sprintf(OutputBuf, "%s\n\r", ERR_0010); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + selRow = mysql_fetch_row(selResult); + if (2 == atoi(selRow[2])) + sprintf(paramTable, "param_99"); + else + sprintf(paramTable, "param_%d", cmdBuf->sysNo); + //ISSUE-2 + sprintf(tmpSql, + "SELECT initValue FROM OBJ_%d.%s WHERE level_1='%s' AND level_2='%s' AND level_3='%s' AND level_4='%s' AND level_5='%s' AND level_6='%s' AND level_7='%s' AND level_8='%s' AND level_9='%s' AND level_10='%s' AND instanceNo=%d ", + cmdBuf->sysTypeNo, paramTable, selRow[5], selRow[6], selRow[7], + selRow[8], selRow[9], selRow[10], selRow[11], selRow[12], + selRow[13], selRow[14], instance); + //printf("tmpSql=%s\n",tmpSql); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); + sprintf(OutputBuf, "%s\n\r", ERR_0010); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + tmpRow = mysql_fetch_row(tmpResult); + sprintf(initValue, "%s", tmpRow[0]); + mysql_free_result(tmpResult); + + sprintf(tmpStr, "%s", selRow[4]); + i = 0; + tmpPart = &(tmpStr[0]); + for (i = 0; i < 6; i++) { + onePart = strsep(&(tmpPart), "-"); + strcpy(unitDefArr[i], onePart); + //printf("unitDefArr[%d]=%s\n",i,unitDefArr[i]); + } + + sprintf(selectType, "%s", tmpPart); + +/* + bgnOffset = unitDefArr[0]; + endOffset = unitDefArr[1]; + operType = unitDefArr[2]; + valueType = unitDefArr[3]; + fillWay = unitDefArr[4]; + fillChar = unitDefArr[5]; + +*/ + tmpPart = &(unitDefArr[0][0]); + onePart = strsep(&(tmpPart), "."); + //printf("onePart=%s\n",onePart); + bgnByte = atoi(onePart); + bgnBit = atoi(tmpPart); + tmpPart = &(unitDefArr[1][0]); + onePart = strsep(&(tmpPart), "."); + //printf("onePart=%s\n",onePart); + endByte = atoi(onePart); + endBit = atoi(tmpPart); + byteLen = endByte - bgnByte + 1; + if (!strcmp(unitDefArr[2], "select")) { + part = &(selectType[0]); + while ((tmpPart = strsep(&(part), ";"))) { + if ((onePart = strsep(&(tmpPart), "."))) { + if (!strcmp(tmpPart, value)) { + strcpy(value, onePart); + existFlag = 1; + } + } + } + if (existFlag != 1) { + sprintf(OutputBuf, "%s:%s\n\r", ERR_0203, value); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + //printf("unitDefArr[3]=%s\n",unitDefArr[3]); + //printf("bgnByte=%d,bgnBit=%d,endByte=%d,endBit=%d\n",bgnByte,bgnBit,endByte,endBit); + //printf("before initValue=%s\n",initValue); + //printf("value=%s\n",value); + + + if (!strcmp(unitDefArr[3], "toDec")) { + if (bgnBit > 0 || endBit < 7) { + //tmpDecValue=atoi(value); + sprintf(tmpHexValue, "%X", atoi(value)); + for (j = 0; j < endBit - bgnBit + 1; j++) { + getBitValue(tmpHexValue, 0, j, &bitValue); + setBitValue(initValue, bgnByte, bgnBit + j, bitValue); + } + } else { + //tmpDecValue=atoi(value); + sprintf(tmpHexValue, "%X", atoi(value)); + //printf("tmpHexValue=%s\n",tmpHexValue); + //printf("byteLen=%d\n",byteLen); + jj = byteLen * 2 - strlen(tmpHexValue); + for (j = 0; j < jj; j++) { + if (!strcmp(unitDefArr[4], "high")) { + strcpy(tmpStr, unitDefArr[5]); + strcat(tmpStr, tmpHexValue); + strcpy(tmpHexValue, tmpStr); + //printf("%d=%s\n",j,tmpHexValue); + } else + strcat(tmpHexValue, unitDefArr[5]); + } + + //printf("tmpHexValue=%s\n",tmpHexValue); + memcpy(initValue + bgnByte * 2, tmpHexValue, byteLen * 2); + //printf("after initValue=%s\n",initValue); + } + //break; + + } else if (!strcmp(unitDefArr[3], "keepDec")) { + // case "keepDec": + jj = byteLen * 2 - strlen(value); + for (j = 0; j < jj; j++) { + if (!strcmp(unitDefArr[4], "high")) { + strcpy(tmpStr, unitDefArr[5]); + strcat(tmpStr, value); + strcpy(value, tmpStr); + } else + strcat(value, unitDefArr[5]); + } + memcpy(initValue + bgnByte * 2, value, byteLen * 2); + // break; + } else if (!strcmp(unitDefArr[3], "keepHex")) { + // case "keepHex": + if (bgnBit > 0 || endBit < 7) { + for (j = 0; j < endBit - bgnBit + 1; j++) { + getBitValue(value, 0, j, &bitValue); + setBitValue(initValue, bgnByte, bgnBit + j, bitValue); + } + } else { + jj = byteLen * 2 - strlen(value); + for (j = 0; j < jj; j++) { + if (!strcmp(unitDefArr[4], "high")) { + strcpy(tmpStr, unitDefArr[5]); + strcat(tmpStr, value); + strcpy(value, tmpStr); + } else + strcat(value, unitDefArr[5]); + } + memcpy(initValue + bgnByte * 2, value, byteLen * 2); + } + // break; + } else if (!strcmp(unitDefArr[3], "toAscii")) { + // case "toAscii": + tmpHexValue[0] = 0; + for (i = 0; i < strlen(value); i++) { + sprintf(tmpStr, "%02X", value[i]); + strcat(tmpHexValue, tmpStr); + } + jj = byteLen * 2 - strlen(tmpHexValue); + for (i = 0; i < jj; i++) { + if (!strcmp(unitDefArr[4], "high")) { + strcpy(tmpStr, unitDefArr[5]); + strcat(tmpStr, tmpHexValue); + strcpy(tmpHexValue, tmpStr); + } else + strcat(tmpHexValue, unitDefArr[5]); + } + memcpy(initValue + bgnByte * 2, tmpHexValue, byteLen * 2); + } + // break; + // default: + // break; + //} + //ISSUE-2 + sprintf(tmpSql, + "UPDATE OBJ_%d.%s SET `initValue`='%s',`readValue`='%s' WHERE level_1='%s' AND level_2='%s' AND level_3='%s' AND level_4='%s' AND level_5='%s' AND level_6='%s' AND level_7='%s' AND level_8='%s' AND level_9='%s' AND level_10='%s' AND instanceNo=%d ", + cmdBuf->sysTypeNo, paramTable, initValue, initValue, selRow[5], + selRow[6], selRow[7], selRow[8], selRow[9], selRow[10], + selRow[11], selRow[12], selRow[13], selRow[14], instance); + mysql_getnores(dbConn, tmpSql); + + mysql_free_result(selResult); + return (0); +} + +/************************************************* +Function: // paramSendCommand +Description: // 往系统参数命令表里插入命令 +Calls: // mysql_getres; mysql_num_rows; +Called By: // doCmdModifyParam +Table Accessed: // parameterComm +Table Updated: // parameterComm +Input: // loop:the index of port_status; commType:命令类型; commId:命令索引; +Output: // +Return: // 0:successful; 1:failed; +Others: // +*************************************************/ +int paramSendCommand(int loop, int commType, int commId) +{ + int i; + char chkSql[512]; + MYSQL_RES *chkResult = NULL; + //MYSQL_ROW chkRow = NULL; + + int existNum; + int paramType; + + char selSql[512]; + MYSQL_RES *selResult = NULL; + MYSQL_ROW selRow = NULL; + + char objIdStr[256]; + + char sendSql[512]; + int sock; + + CheckDbConnection(); + + sock = port_status[loop].connfd; + + //step 1: delete overtime and imcompetent command(have not done) , check the exist command num + //check the exist command num + sprintf(chkSql, "SELECT commId FROM %s", paramCommandTable); + + chkResult = (MYSQL_RES *) mysql_getres(dbConn, chkSql); + if (chkResult == NULL) { + mysql_free_result(chkResult); + sprintf(OutputBuf, "%s:Mysql have been stopped\n\r", ERR_0205); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + existNum = mysql_num_rows(chkResult); + mysql_free_result(chkResult); + + if (existNum > 15) { + sprintf(OutputBuf, + "%s:The system is busy,please wait a moment.\n\r", + ERR_0205); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + //step 2: check the command(...........) + if (commType == 0) { //0=Get,2=response,3=Set + sprintf(chkSql, + "SELECT commId FROM %s WHERE sysTypeNo='%d' AND sysNo='%d' AND commType ='0' AND remark not like '0000:%%' ", + paramCommandTable, cmdBuf->sysTypeNo, cmdBuf->sysNo); + } else { + sprintf(chkSql, + "SELECT commId FROM %s WHERE sysTypeNo='%d' AND commType ='0' AND remark not like '0000:%%' ", + paramCommandTable, cmdBuf->sysTypeNo); + } + + chkResult = (MYSQL_RES *) mysql_getres(dbConn, chkSql); + if (chkResult == NULL) { + mysql_free_result(chkResult); + sprintf(OutputBuf, "%s:Mysql have been stopped\n\r", ERR_0205); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + existNum = mysql_num_rows(chkResult); + + if (existNum > 0) { + mysql_free_result(chkResult); + sprintf(OutputBuf, + "%s:The system is busy,please wait a moment.\n\r", + ERR_0205); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + mysql_free_result(chkResult); + + sprintf(selSql, "SELECT * FROM OMC_PUB.%s WHERE keyNo='%d'", + cmdBuf->paramTable, keyNo); + + selResult = (MYSQL_RES *) mysql_getres(dbConn, selSql); + if (selResult == NULL || mysql_num_rows(selResult) == 0) { + mysql_free_result(selResult); + sprintf(OutputBuf, "%s\n\r", ERR_0010); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + selRow = mysql_fetch_row(selResult); + + objIdStr[0] = 0; + for (i = 0; i < 10; i++) { + if (atoi(selRow[5 + i]) != 0) { + strcat(objIdStr, selRow[5 + i]); + strcat(objIdStr, "."); + } else + break; + } + + i = strlen(objIdStr); + objIdStr[i - 1] = 0; + + //step 3:insert commands into command table + sprintf(sendSql, "INSERT INTO %s " + "(commType,sysTypeNo,sysNo,subSysNo,paramType,objId,InstanceNo,commState,sendTime)" + "VALUES" + "('%d','%d','%d','%d','%d','%s','%d','1',CURRENT_TIMESTAMP)", + paramCommandTable, + commType, + cmdBuf->sysTypeNo, + cmdBuf->sysNo, cmdBuf->subSysNo, atoi(selRow[2]), objIdStr, instance); + mysql_getnores(dbConn, sendSql); + + paramType=atoi(selRow[2]); + mysql_free_result(selResult); + + //check to send command to another plat + if(commType == 3 && cmdBuf->sysTypeNo/100 == 3) + { + int ano_sysNo=!cmdBuf->sysNo; + sprintf(selSql,"select * from OMC_PUB.sysInfo where sysTypeNo=%d and sysNo=%d and baseStat=1 ",cmdBuf->sysTypeNo,ano_sysNo); + selResult = (MYSQL_RES *) mysql_getres(dbConn, selSql); + if(mysql_num_rows(selResult) == 1) + { + sprintf(sendSql, "INSERT INTO %s " + "(commType,sysTypeNo,sysNo,subSysNo,paramType,objId,InstanceNo,commState,sendTime)" + "VALUES" + "('%d','%d','%d','%d','%d','%s','%d','1',CURRENT_TIMESTAMP)", + paramCommandTable, + commType, + cmdBuf->sysTypeNo, + ano_sysNo, cmdBuf->subSysNo, paramType, objIdStr, instance); + mysql_getnores(dbConn, sendSql); + } + mysql_free_result(selResult); + } + + + + //step 4:Return commIdStr + sprintf(selSql, + "SELECT commId FROM %s WHERE sysTypeNo='%d' AND sysNo='%d' AND subSysNo='%d'", + paramCommandTable, cmdBuf->sysTypeNo, cmdBuf->sysNo, + cmdBuf->subSysNo); + selResult = (MYSQL_RES *) mysql_getres(dbConn, selSql); + + if (selResult == NULL || mysql_num_rows(selResult) == 0) { + mysql_free_result(selResult); + sprintf(OutputBuf, "%s:Mysql have been stopped\n\r", ERR_0205); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + selRow = mysql_fetch_row(selResult); + COMM_ID = atoi(selRow[0]); + mysql_free_result(selResult); + + return (0); +} + +/************************************************* +Function: // paramScanCommand +Description: // 扫描系统参数命令表,获得命令的执行结果 +Calls: // deleteParamComm; chkComm; send; +Called By: // doCmdModifyParam +Table Accessed: // parameterComm +Table Updated: // +Input: // loop:the index of port_status; commId:命令索引 +Output: // +Return: // +Others: // +*************************************************/ +int paramScanCommand(int loop, int commId) +{ + int i = 0, maxNum = 10000; + int chRes; + char remark[256]; + int sock; + + sock = port_status[loop].connfd; + + + while (1) { + if (i > maxNum) { + deleteParamComm(); + sprintf(OutputBuf, "%s\n\r", ERR_0255); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return 1; + } + chRes = chkComm(commId, remark); + if (chRes == nProcFail) { + deleteParamComm(); + //sprintf(OutputBuf, "%s:%s\n\r", ERR_0205, REMARK); + sprintf(OutputBuf, "%s\n\r", ERR_0205); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return 1; + } + if (chRes == nOutProc) { + //if the cmd is read,then show the result + if(doResultReadParam(loop) == 1) + return 1; + deleteParamComm(); + sprintf(OutputBuf, "%s\n\r", ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return 0; + } + + usleep(1000); + i++; + } + return 0; +} + +/************************************************* +Function: // chkComm +Description: // 检查命令执行的状态 +Calls: // mysql_getres +Called By: // paramScanCommand +Table Accessed: // parameterComm +Table Updated: // +Input: // commId:命令索引; remark:命令的描述; +Output: // +Return: // commState +Others: // +*************************************************/ +int chkComm(int commId, char *remark) +{ + char selSql[256]; + MYSQL_RES *selResult = NULL; + MYSQL_ROW selRow = NULL; + + int result; + + CheckDbConnection(); + + sprintf(selSql, "SELECT commState,remark FROM %s WHERE commId = '%d'", + paramCommandTable, COMM_ID); + selResult = (MYSQL_RES *) mysql_getres(dbConn, selSql); + if (selResult == NULL || mysql_num_rows(selResult) == 0) { + mysql_free_result(selResult); + return 0; + } + + selRow = mysql_fetch_row(selResult); + + //if (strlen(selRow[1]) > 0) + // sprintf(REMARK, "%s", selRow[1]); + result = atoi(selRow[0]); + mysql_free_result(selResult); + return (result); +} + +/************************************************* +Function: // deleteParamComm +Description: // 删除已经执行的命令或者错误的命令 +Calls: // mysql_getnores +Called By: // paramScanCommand +Table Accessed: // parameterComm +Table Updated: // parameterComm +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void deleteParamComm() +{ + char tmpSql[1024]; + + if (COMM_ID >= 50000) { + //先删除表 + //sprintf(tmpSql, "DROP TABLE %s", paramCommandTable); + sprintf(tmpSql, "TRUNCATE TABLE %s", paramCommandTable); + CheckDbConnection(); + mysql_getnores(dbConn, tmpSql); + /* + //再建一个结构相同的新表 + sprintf(tmpSql, "CREATE TABLE parameterComm (" + "commId int(6) NOT NULL auto_increment," + "commType tinyint(1) NOT NULL default '0'," + "sysTypeNo smallint(3) NOT NULL default '0'," + "sysNo smallint(3) NOT NULL default '0'," + "subSysNo smallint(3) NOT NULL default '0'," + "instanceNo varchar(32) unsigned NOT NULL default '0'," + "paramType tinyint(1) NOT NULL default '0'," + "objId varchar(30) NOT NULL default ''," + "commState tinyint(1) NOT NULL default '0'," + "totalNum int(6) NOT NULL default '0'," + "finishNum int(6) NOT NULL default '0'," + "sendTime datetime NOT NULL default '0000-00-00 00:00:00'," + "bgnTime datetime default '0000-00-00 00:00:00'," + "endTime datetime default '0000-00-00 00:00:00'," + "remark varchar(200) binary default NULL," + "PRIMARY KEY ( commId )," + "KEY commType ( commType )," + "KEY sysTypeNo ( sysTypeNo )," + "KEY sysNo ( sysNo )," + "KEY subSysNo ( subSysNo )," + "KEY paramType ( paramType )," + "KEY objId ( objId )," "KEY commState ( commState )" ")"); + // printf("tmpSql=%s\n",tmpSql); + mysql_getnores(dbConn, tmpSql); + */ + } else { + sprintf(tmpSql, "DELETE FROM %s WHERE commId='%d'", + paramCommandTable, COMM_ID); + CheckDbConnection(); + mysql_getnores(dbConn, tmpSql); + } + +} diff --git a/src/accountMgr/c_program/smcli/smcli.c b/src/accountMgr/c_program/smcli/smcli.c new file mode 100644 index 0000000..8f6e899 --- /dev/null +++ b/src/accountMgr/c_program/smcli/smcli.c @@ -0,0 +1,5203 @@ +/************************************************* +File name: smcli.c +Author: +Version: 9:00:00 +Date: 2007-8-4 +Description:该文件实现了命令行用户数据管理模块的主要功能,主要有分析用户输入的命令,然后 + 把命令转化为合适的格式保存到用户数据命令表,再由subsComm模块处理命令 + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include "smcli.h" +extern CmdBuf defCmdBuf[CmdBufSize]; + +//must match the command type number define +char CmdList[MaxCmdTypeNum][16] = + { {"read"}, {"modify"}, {"create"}, {"delete"}, {"connect"}, +{"export"}, {"import"}, {"disconnect"}, {"recharge"} +}; //20041010 + +char anotherCmdList[MaxCmdTypeNum][16] = + { {"read"}, {"modify"}, {"create"}, {"delete"}, +{"export"}, {"import"}, {"disconnect"}, {"connect"}, {"recharge"} +}; + +char smcliTable[CmdBufSize][32] = + { {""}, {"OMC_PUB.smcliHLR"}, {"OMC_PUB.smcliPPS"}, +{"OMC_PUB.smcliCard"}, {"OMC_PUB.smcliVMS"}, {""}, {""}, +{"OMC_PUB.smcliMNP"} +}; + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,5}; +int PROC_HEARTBEAT_OIDLEN=11; +int sendHeartbeat(); + +/* by simon at 23/9/26 */ +CmdBuf defCmdBuf[CmdBufSize]; +extern struct sockaddr_in cliaddr; +extern _PORT_STATUS port_status[MAX_CLIENTS]; +CmdBuf *cmdBuf; +int OptNo_index; + +// function +int procInput(char *inputBuf, unsigned char importFlag, int sock, + int loop); +int sendCmd(int sock, int loop); +int scanCmd(int sock); +void showCmdBuf(CmdBuf * thisCmdBuf, int sock); +void initCmdBuf(CmdBuf * thisCmdBuf); + +int doCmdConnect(int sock, int loop); +int doCmdRead(unsigned char exportFlag, int sock, int loop); +int doCmdModify(int sock, int loop); +int doCmdCreate(unsigned char importFlag, int sock, int loop); +int doCmdDelete(int sock, int loop); +int doCmdExport(int sock, int loop); +int doingCmdExport(int sock, int loop); +int doCmdImport(char *inputBuf, int sock, int loop); +int doingCmdImport(char *inputBuf, int sock, int loop); +int doCmdDisconnect(int sock, int loop); +int doCmdRecharge(int sock, int loop); //20041010 +int doCmdAlive(int sock); +int doCmdHelp(int sock); + +void writeDebug(const char *fmt,...); +void CheckDbConnection(); +int procAccount(int sock, int loop); + +int doCmdReadAccount(unsigned char exportFlag, int sock, int loop); +int doCmdModifyAccount(int sock, int loop); +int doCmdCreateAccount(int sock, int loop); +int doCmdDeleteAccount(int sock, int loop); +int doCmdExportAccount(int sock, int loop); + +int getOptNoByName(char *optName); + +int ReceiveTCP(int loop, int sock, unsigned char loginFlag); +int CloseTcpConnect(int sock); +int CheckTcpConnect(); +int InitialSocket(); +void ReceiveMsg(); +int CheckPwd(int loop, int sock); +int getServerStat(char *ip); +char *opt_date(char *org_date,char *opt_value,char *result_date); + +void changeDefaultValue(); +void changeDefaultValueProcInput(char *inputBuf); + +extern void pmcli(); + +int InitDefCmdBuf(); + +//public var +//static MYSQL *dbConn; +MYSQL *dbConn; + +unsigned char CmdTypeNo; +int CmdId; +int ModifyFlag; +char FieldNameList[4096]; +int ErrorCode; //default is 0000 +char ErrorMsg[256]; //default is null,if errorCode > 0,print it +char InputBuf[InputBufSize]; +char OutputBuf[OutputBufSize]; +int OutputLen; +unsigned char usernameFlag; +unsigned char pwdFlag; + +char ExportQueryStr[128]; +char ExportFieldsStr[1024]; + +extern int errno; +int sockfd; + +int timeOut; +/************************************************* +Function: // main +Description: // 模块主函数,初始化命令缓冲区,初始化套接字,初始化参数权限和初始值 +Calls: // mysql_conn; InitialSocket; changeDefaultValue; ReceiveMsg; CheckTcpConnect; +Called By: // +Table Accessed: // OMC_PUB.omcPubVarConf, OMC_PUB.smcliXXX, OBJ_XXX.subsParamConf_X +Table Updated: // +Input: // smcliDefaultValue.txt +Output: // +Return: // >0:errorCode +Others: // +*************************************************/ +unsigned long heartbeat_timeout=0; +int main(int argc, char *argv[]) +{ + pid_t pid; + int i; + int j; + char tmpSql[256]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + + + + writeDebug("smcli is starting ...\n"); + //作为精灵进程运行 + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } + + debug_init(1); + iptrans_init(); + snmp_init(4957); + //heartbeat_init(0); + + + //连接OMC_PUB数据库 + dbConn = mysql_conn("localhost", "OMC_PUB"); + if (dbConn == NULL) { + exitLog("[ERR][main]:Connect OMC_PUB"); + exit(1); + } + +#ifdef SMCLI_DEBUG + // for (i = 0; i < CmdBufSize; i++) { + // showCmdBuf(&defCmdBuf[i]); + // } +#endif + + //初始化port_status + for (i = 0; i < MAX_CLIENTS; i++) { + port_status[i].failNo = 0; + port_status[i].loginFlag = 0; + port_status[i].isConnected[0] = 1; + for (j = 1; j < CmdBufSize; j++) + port_status[i].isConnected[j] = 0; + } + + //由于omc没有专门的参数配置表,所有把command.c的参数定义直接导入 + cmdBuf = &defCmdBuf[0]; + + if (InitialSocket() < 0) + { + exitLog("smcli:main, InitialSocket function error"); + exit(2); + } + + //获取公共参数,连接超时最大时间值 + sprintf(tmpSql, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='SMCLI_timeout'"); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + +#ifdef SMCLI_DEBUG + printf("tmpSql= %s\n", tmpSql); +#endif + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) + { + mysql_free_result(tmpResult); + timeOut = 15; + } + else { + tmpRow = mysql_fetch_row(tmpResult); + timeOut = atoi(tmpRow[0]); + mysql_free_result(tmpResult); + } + if (timeOut < 1 || timeOut > 720) + timeOut = 15; + + if (InitDefCmdBuf() < 0) { + printf + ("\nRead SMCLI configuration error, please check the database.\n"); + exitLog("smcli:main, InitDefCmdBuf function error"); + exit(1); + } +#ifdef SMCLI_DEBUG +{ + CmdBuf *buf; + unitOptDef *un; + int ii,jj; + for(ii=0;iisysTypeNo==375) + { + for(jj=0;jjoptDefNum;jj++) + { + un=&buf->optDef[jj]; + printf("optName=%s\n",un->optName); + printf("exMode=%ld\n",un->exMode); + printf("fieldName=%s\n",un->fieldName); + } + printf("--------\n"); + } + } +} +#endif + //从数据库OMC_PUB.smcliHLR等表里获取每种设备的命令操作参数的read,modify,create权限, + //从第九个开始,因为前八个参数都是固定的,在command.c里初始化过了 + for (i = 0; i < CmdBufSize; i++) { + if (strlen(smcliTable[i]) > 0) { + //printf("smcliTable_%d=%s\n",i,smcliTable[i]); + sprintf(tmpSql, + "SELECT optionalName,readPrivilege,writePrivilege,createPrivilege FROM %s ORDER BY number", + smcliTable[i]); + //printf("tmpSql=%s\n",tmpSql); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); + exitLog("smcli:main, InitDefCmdBuf function error"); + exit(3); + } + j = 9; + while ((tmpRow = mysql_fetch_row(tmpResult))) { + //printf("%d-\n",j); + strcpy(defCmdBuf[i].optDef[j].optName, tmpRow[0]); + //read操作权限 + defCmdBuf[i].optDef[j].optFlag[1] = atoi(tmpRow[1]); + //modify操作权限 + defCmdBuf[i].optDef[j].optFlag[2] = atoi(tmpRow[2]); + //create操作权限 + defCmdBuf[i].optDef[j].optFlag[3] = atoi(tmpRow[3]); + j++; + } + //printf("j=%d\n",j); + mysql_free_result(tmpResult); + } + } + + // for the recharge command + //添加recharge命令,optFlag数组多了一位 + for (j = 42; j < 47; j++) { + defCmdBuf[2].optDef[j].optFlag[9] = + defCmdBuf[2].optDef[j].optFlag[2]; + defCmdBuf[2].optDef[j].optFlag[2] = 9; + } + + //init cmdbuf->optDef[]->initFieldValue + //初始化每个参数在数据库里的值 + for (i = 0; i < CmdBufSize; i++) { + if (strlen(smcliTable[i]) > 0) { + for (j = 9; j < defCmdBuf[i].optDefNum; j++) { + if (strlen(defCmdBuf[i].optDef[j].fieldName) > 0) { + sprintf(tmpSql, + "SELECT initValue FROM OBJ_%d.subsParamConf_%d WHERE fieldName=\'%s\'", + defCmdBuf[i].sysTypeNo, + defCmdBuf[i].dataTypeNo, + defCmdBuf[i].optDef[j].fieldName); + //printf("tmpSql=%s\n", tmpSql); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + if (tmpResult == NULL + || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); + exitLog("smcli:main, Initial defCmdBuf error, sql=%s",tmpSql); + exit(4); + } + if ((tmpRow = mysql_fetch_row(tmpResult))) { + // printf("len=%d\n",strlen(tmpRow[0])); + // printf("initValue=%s\n", tmpRow[0]); + strcpy(defCmdBuf[i].optDef[j].initFieldValue, + tmpRow[0]); + } + mysql_free_result(tmpResult); + } + } + } + } + + //再次从/usr/local/apache/htdocs/smcliDefaultValue.txt文件中获得参数初始化的值,并初始化之 + changeDefaultValue(); + + sprintf(tmpSql, "DELETE FROM %s", smcliIndexTable); + mysql_getnores(dbConn, tmpSql); + + printf("smcli module %s start running..........\n", SMCLI_VERSION); + + while (1) { + if(time(NULL) - heartbeat_timeout > 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + ReceiveMsg(); + CheckTcpConnect(); + usleep(100000); + } +} + +/************************************************* +Function: // sendHeartbeat +Description: // Send process heartbeat to beatProc +Calls: // snmp_send +Called By: // main +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK; 0:Fail +Others: // +*************************************************/ +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"smcli"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + writeDebug("Send heartbeat fail"); + return 0; + } + return 1; +} + +/************************************************* +Function: // InitialSocket +Description: // 初始化TCP套接字 +Calls: // socket; bind; listen; +Called By: // main +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int InitialSocket() +{ + int port; + int on = 1; + struct sockaddr_in sin_addr; + + port = SMCLI_PORT; + memset(&sin_addr, 0, sizeof(struct sockaddr)); + sin_addr.sin_family = AF_INET; + sin_addr.sin_port = htons(port); + sin_addr.sin_addr.s_addr = INADDR_ANY; + bzero(&(sin_addr.sin_zero), 8); + + //创建套接字 + sockfd = socket(AF_INET, SOCK_STREAM, 0); + + if (sockfd < 0) { + printf("Socket() failed\n"); + return -3; + } + + //关掉套接字数据流缓冲区 + if (fcntl(sockfd, F_SETFL, O_NONBLOCK) < 0) { + printf("set nonblock failed\n"); + return -7; + } + + if(setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR, + &on,sizeof(on)) !=0){ + fprintf(stderr,"set addr reusable failed\n"); + return -9; + } + + //绑定套接字 + if (bind + (sockfd, (struct sockaddr *) &sin_addr, + sizeof(struct sockaddr)) < 0) { + sleep(60); + if (bind + (sockfd, (struct sockaddr *) &sin_addr, + sizeof(struct sockaddr)) < 0) { + printf("bind failed,port:%d,%s\n", htons(sin_addr.sin_port), + strerror(errno)); + close(sockfd); + return -2; + } + } + + //等待客户端的连接 + listen(sockfd, MAX_CLIENTS); + return sockfd; +} + +/************************************************* +Function: // CheckTcpConnect +Description: // 处理客户端的telnet连接,发送欢迎信息 +Calls: // send; accept; +Called By: // main +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 0:successful; >0:failed +Others: // +*************************************************/ +int CheckTcpConnect() +{ + int connfdtmp = 0, index = 0; + socklen_t clilen; + for (index = 0; index < MAX_CLIENTS; index++) { + if (port_status[index].connfd <= 0) { + //初始化客户端套接字 + memset(&cliaddr, 0, (clilen = sizeof(struct sockaddr))); + //如果客户端发出连接请求,则分配套接字ID给该连接 + connfdtmp = + accept(sockfd, (struct sockaddr *) &cliaddr, &clilen); + if (connfdtmp > 0) { + port_status[index].connfd = connfdtmp; + //获得客户端的IP地址和端口号 + port_status[index].peerip = cliaddr.sin_addr.s_addr; + port_status[index].peerport = ntohs(cliaddr.sin_port); + fcntl(port_status[index].connfd, F_SETFL, O_NONBLOCK); + //发送欢迎信息 + sprintf(OutputBuf, "%s", "Welcome to WXCII SMCLI...\n\r"); + OutputLen = strlen(OutputBuf); + send(connfdtmp, OutputBuf, OutputLen, 0); + port_status[index].time = time(NULL); + } + } + } + return 0; +} + +/************************************************* +Function: // ReceiveMsg +Description: // +Calls: // send; CheckPwd; doingCmdExport; doingCmdImport; CloseTcpConnect; +Called By: // main +Table Accessed: // OMC_PUB.sysOperLog +Table Updated: // OMC_PUB.sysOperLog +Input: // +Output: // 接收客户端的命令输入 +Return: // +Others: // +*************************************************/ +void ReceiveMsg() +{ + int loop; + long l_time; + struct tm *t; + char tmpSql[1024]; + + CheckDbConnection(); + + //循环每个客户端连接 + for (loop = 0; loop < MAX_CLIENTS; loop++) { + //客户端已用telnet连接 + if (port_status[loop].connfd > 0) { + //客户端连接还未用用户名和密码登陆 + if (!port_status[loop].loginFlag) { + if (time(NULL) - port_status[loop].time > timeOut * 60) { + sprintf(OutputBuf, "%s\n\r", ERR_0300); + OutputLen = strlen(OutputBuf); + //连接时间超过限定时间,发送提示信息给相应的客户端 + send(port_status[loop].connfd, OutputBuf, OutputLen, + 0); + sleep(3); + //关闭该连接 + CloseTcpConnect(port_status[loop].connfd); + + l_time = time(NULL); + t = localtime(&l_time); + //插入操作记录 + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Time out\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, port_status[loop].username, + t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, + t->tm_hour, t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + } else + CheckPwd(loop, port_status[loop].connfd); + } + //客户端连接已经登陆 + else + { + //正在进行导入导出操作 + if (port_status[loop].expDoingFlag + || port_status[loop].impDoingFlag) { + OptNo_index = 8; + if (port_status[loop].expDoingFlag) + doingCmdExport(port_status[loop].connfd, loop); + else + doingCmdImport(InputBuf, port_status[loop].connfd, + loop); + } else { + //判断是否等待超时 + if (time(NULL) - port_status[loop].time > timeOut * 60) { + sprintf(OutputBuf, "%s\n\r", ERR_0300); + OutputLen = strlen(OutputBuf); + send(port_status[loop].connfd, OutputBuf, + OutputLen, 0); + sleep(3); + CloseTcpConnect(port_status[loop].connfd); + + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Time out\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, + port_status[loop].username, + t->tm_year + 1900, t->tm_mon + 1, + t->tm_mday, t->tm_hour, t->tm_min, + t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + } else { + //gettimeofday(&tpstart, NULL); + ReceiveTCP(loop, port_status[loop].connfd, + port_status[loop].loginFlag); + //gettimeofday(&tpend, NULL); + //timeuse = 1000000 * (tpend.tv_sec - tpstart.tv_sec) + tpend.tv_usec - tpstart.tv_usec; + //printf("Used Time:%f\n", timeuse); + } + } + } + } + } +} + +/************************************************* +Function: // CheckPwd +Description: // 检查客户端的密码是否正确 +Calls: // ReceiveTCP; +Called By: // ReceiveMsg; +Table Accessed: // OMC_PUB.sysUser +Table Updated: // +Input: // loop:the index of port_status; sock:the sockID of the client +Output: // +Return: // 0:successful; >0:failed +Others: // +*************************************************/ +int CheckPwd(int loop, int sock) +{ + long l_time; + struct tm *t; + char selSql[1024] = "\0"; + MYSQL_RES *selRes = NULL; + MYSQL_ROW selRow; + char tmpSql[1024]; + + CheckDbConnection(); + + //telnet连接后,向客户端提示输入用户名 + if (1 != port_status[loop].usernameFlag) { + port_status[loop].usernameFlag = 1; + port_status[loop].username[0] = '\0'; + port_status[loop].passwd[0] = '\0'; + sprintf(OutputBuf, "%s", "username:"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + //开始计算等待时间 + port_status[loop].time = time(NULL); + } + + if (!ReceiveTCP(loop, sock, port_status[loop].loginFlag)) { + //如未输入用户名,则输入用户名 + if (strlen(port_status[loop].username) <= 0) { + snprintf(port_status[loop].username, + sizeof(port_status[loop].username), "%s", InputBuf); + sprintf(OutputBuf, "%s", "password:\33[30m"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } else { + sprintf(OutputBuf, "%s", "\33[0m"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + //保存密码 + snprintf(port_status[loop].passwd, + sizeof(port_status[loop].passwd), "%s", InputBuf); + sprintf(selSql, + "SELECT count(*) FROM %s WHERE userName = '%s' AND password=md5('%s')", + sysUserTable, port_status[loop].username, + port_status[loop].passwd); + CheckDbConnection(); + selRes = mysql_getres(dbConn, selSql); + //check mysql gone away + /* + if(selRes == NULL) + { + selRes = Reconnect(selSql, "localhost", "OMC_PUB"); + } + */ + selRow = mysql_fetch_row(selRes); + mysql_free_result(selRes); + //验证用户名和密码的正确性 + //密码正确 + if (atoi(selRow[0]) > 0) { + sprintf(selSql, + "SELECT privilege FROM %s WHERE userName = '%s' AND password=md5('%s')", + sysUserTable, port_status[loop].username, + port_status[loop].passwd); + CheckDbConnection(); + selRes = mysql_getres(dbConn, selSql); + /* + if(selRes == NULL) + { + selRes = Reconnect(selSql, "localhost", "OMC_PUB"); + } + */ + selRow = mysql_fetch_row(selRes); + mysql_free_result(selRes); + port_status[loop].privilege = atoi(selRow[0]); + port_status[loop].loginFlag = 1; + usleep(delayTime); + sprintf(OutputBuf, "%s", "CLI>"); + port_status[loop].time = time(NULL); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + l_time = time(NULL); + t = localtime(&l_time); + //插入操作记录 + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Login succeed\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, port_status[loop].username, + t->tm_year + 1900, + t->tm_mon + 1, + t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + } + //密码错误 + else { + sprintf(OutputBuf, "%s", "Login incorrect\n\r"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Login failed\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, port_status[loop].username, + t->tm_year + 1900, + t->tm_mon + 1, + t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + port_status[loop].usernameFlag = 0; + port_status[loop].failNo++; + port_status[loop].username[0] = '\0'; + } + } + + + } + if (3 == port_status[loop].failNo) + CloseTcpConnect(sock); + return 0; +} + +/************************************************* +Function: // ReceiveTCP +Description: // 解析命令,分析命令类型,并且执行相应的操作 +Calls: // procAccount; procInput; doCmdDisconnect; doCmdExport; ...... +Called By: // ReceiveMsg +Table Accessed: // OMC_PUB.sysUser +Table Updated: // +Input: // loop:the index of port_status; sock:the sockID of the client; loginFlag:login or not +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int ReceiveTCP(int loop, int sock, unsigned char loginFlag) +{ + int i, j, nbytes; + socklen_t len; + struct sockaddr_in sin; + char tmpSql[2048]; + long l_time; + struct tm *t; + + char tmpString[32]; + + char *tmpStr; + + CheckDbConnection(); + + //初始化输入缓冲区 + memset(InputBuf, 0, InputBufSize); + + if (port_status[loop].multiPacketFlag != 1) { + len = sizeof(struct sockaddr); + nbytes = + recvfrom(sock, InputBuf, 1600, 0, (struct sockaddr *) &sin, + &len); + if (nbytes < 0) { + return 1; + } + + //printf("\n==============================\n"); + char *lastR; + static int flowFlag=0,needCut=0; + static char lastInput[512]; + static char tmpIn[8192]; + + if(nbytes == 1600 && InputBuf[nbytes-2] != 0x0d && InputBuf[nbytes-1] != 0x0a) + needCut=1; + //printf("l3=%02x,l2=%02x,l1=%02x\n",InputBuf[nbytes-3],InputBuf[nbytes-2],InputBuf[nbytes-1]); + if(flowFlag == 1) + { + //printf("lastInput=%s\n",lastInput); + memset(tmpIn,0,8192); + sprintf(tmpIn,"%s%s",lastInput,InputBuf); + memcpy(InputBuf,tmpIn,8192); + nbytes+=strlen(lastInput); + flowFlag=0; + } + + if(needCut) + { + + if((lastR=strrchr(InputBuf,0x0d)) != NULL) + { + sprintf(lastInput,"%s",lastR+2); + //printf("lastR=%s\n",lastR+2); + *lastR='\0'; + nbytes=strlen(InputBuf); + //printf("len=%d\n",nbytes); + flowFlag=1; + } + } + needCut=0; + + //连接错误 + if (nbytes == 0) { + //printf("tcp link error : %d\n", errno); + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'tcp link error : %d\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, errno, port_status[loop].username, + t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, + t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + CloseTcpConnect(sock); + } +#ifdef SMCLI_DEBUG + printf("Recv bytes:%d\n", nbytes); + printf("Recv Content:%s \n", InputBuf); +#endif + port_status[loop].multiPacketFlag = 0; + for (i = 0; i < MaxCmdTypeNum; i++) { + if ((tmpStr = strstr(InputBuf + 16, anotherCmdList[i]))&&(*(tmpStr-1)!='-')) { + if (port_status[loop].multiPacketFlag == 0) + strcpy(port_status[loop].secondPacket, tmpStr); + else { + strcat(tmpStr, port_status[loop].secondPacket); + strcpy(port_status[loop].secondPacket, tmpStr); + } + *tmpStr = 0; + port_status[loop].multiPacketFlag = 1; + } + } + } else { + strcpy(InputBuf, port_status[loop].secondPacket); + port_status[loop].multiPacketFlag = 0; + for (i = 0; i < MaxCmdTypeNum; i++) { + if ((tmpStr = strstr(InputBuf + 16, anotherCmdList[i]))&&(*(tmpStr-1)!='-')) { + if (port_status[loop].multiPacketFlag == 0) + strcpy(port_status[loop].secondPacket, tmpStr); + else { + strcat(tmpStr, port_status[loop].secondPacket); + strcpy(port_status[loop].secondPacket, tmpStr); + } + *tmpStr = 0; + port_status[loop].multiPacketFlag = 1; + } + } + } + i = strlen(InputBuf); + /* + if (InputBuf[0] < ' ' || InputBuf[0] > '~') + return 1; + while (' ' > InputBuf[i - 1] || InputBuf[i - 1] > '~') { + i = i - 1; + } + */ + if (!loginFlag && (InputBuf[0] < ' ' || InputBuf[0] > '~')) + return 1; + while ('\n' == InputBuf[i - 1] || InputBuf[i - 1] == '\r') { + i = i - 1; + } + InputBuf[i] = '\0'; + for (j = 0; j < i; j++) { + if (' ' > InputBuf[j] || InputBuf[j] > '~') + InputBuf[j] = ' '; + } + + strcpy(port_status[loop].tmpInputBuf, InputBuf); + + if (!loginFlag) + return 0; + + i = 0; + tmpString[0]=0; + while (InputBuf[i] != ' ' && InputBuf[i] != 0) + i++; + while (InputBuf[i] == ' ') + i++; + if (i != strlen(InputBuf)) { + for (j = 0; j < 32; j++) { + if (InputBuf[i + j] == ' ' || InputBuf[i + j] == 0) + break; + tmpString[j] = InputBuf[i + j]; + } + tmpString[j] = 0; + } + //added for the configuration of parameters + if ((!strcmp(tmpString, "hlrParam")) + || (!strcmp(tmpString, "ppsParam")) + || (!strcmp(tmpString, "vmsParam")) + || (!strcmp(tmpString, "oppsParam"))) { + pmcli(InputBuf, loop); + return (0); + } + + //解析命令的操作类型 + if (procInput(InputBuf, 0, sock, loop) == 0) { //check command passed + if (cmdBuf == &defCmdBuf[0]) { + procAccount(sock, loop); + return (0); + } + switch (CmdTypeNo) { + case CMD_CONNECT: + doCmdConnect(sock, loop); + break; + case CMD_READ: + doCmdRead(0, sock, loop); + break; + case CMD_MODIFY: + CmdTypeNo = CMD_READ; + ModifyFlag = 1; + //2008-09-22, register the opr don't need read operation + if(strcmp(cmdBuf->objectStr,"registerOpr")!=0) + { + if (1 == doCmdRead(0, sock, loop)) { + ModifyFlag = 0; + break; + } + } + CmdTypeNo = CMD_MODIFY; + ModifyFlag = 0; + doCmdModify(sock, loop); + break; + case CMD_CREATE: + doCmdCreate(0, sock, loop); + break; + case CMD_DELETE: + CmdTypeNo = CMD_READ; + ModifyFlag = 1; + if (1 == doCmdRead(0, sock, loop)) { + ModifyFlag = 0; + break; + } + CmdTypeNo = CMD_DELETE; + ModifyFlag = 0; + doCmdDelete(sock, loop); + break; + case CMD_EXPORT: + doCmdExport(sock, loop); + break; + case CMD_IMPORT: + doCmdImport(InputBuf, sock, loop); + break; + case CMD_DISCONNECT: + doCmdDisconnect(sock, loop); + break; + case CMD_RECHARGE: + CmdTypeNo = CMD_READ; + ModifyFlag = 1; + if (1 == doCmdRead(0, sock, loop)) { + ModifyFlag = 0; + break; + } + CmdTypeNo = CMD_RECHARGE; + ModifyFlag = 0; + doCmdRecharge(sock, loop); //20041010 + break; + case CMD_ALIVE: + doCmdAlive(sock); + break; + case CMD_HELP: + doCmdHelp(sock); + break; + default: + sprintf(OutputBuf, "%s:%d\n\r", ERR_0001, CmdTypeNo); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + } else { + //printf("Check Command Error!!\n"); + } + //printf("%s\n",OutputBuf); + //writeDebug("port_status[loop].expDoingFlag:%d,port_status[loop].impDoingFlag:%d!",port_status[loop].expDoingFlag,port_status[loop].impDoingFlag); + if (!port_status[loop].expDoingFlag && !port_status[loop].impDoingFlag) { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Command:%s,Result:%s\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, port_status[loop].tmpInputBuf, OutputBuf, + port_status[loop].username, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, + t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + usleep(delayTime); + //继续等待下一条命令的输入 + sprintf(OutputBuf, "%s", "CLI>"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + port_status[loop].time = time(NULL); + } + + return 0; +} + +/************************************************* +Function: // CloseTcpConnect +Description: // 关闭客户端连接 +Calls: // close; +Called By: // ReceiveMsg; procInput; +Table Accessed: // +Table Updated: // +Input: // sock:the sock want to be closed +Output: // +Return: // 0:successful; >0:failed +Others: // +*************************************************/ +int CloseTcpConnect(int sock) +{ + int loop; + int i; + for (loop = 0; loop < MAX_CLIENTS; loop++) { + //关闭指定的套接字 + if (sock == port_status[loop].connfd) { + close(sock); + port_status[loop].connfd = -1; + port_status[loop].peerip = 0; + port_status[loop].peerport = 0; + // port_status[loop].username[0] = '\0'; + // port_status[loop].passwd[0] = '\0'; + port_status[loop].loginFlag = 0; + port_status[loop].failNo = 0; + port_status[loop].usernameFlag = 0; + for (i = 1; i < CmdBufSize; i++) + port_status[loop].isConnected[i] = 0; + break; + } + } + return 0; +} + +/************************************************* +Function: // procInput +Description: // 解析出输入命令的类型 +Calls: // CloseTcpConnect; send; +Called By: // doingCmdImport; changeDefaultValue; ReceiveTCP; +Table Accessed: // +Table Updated: // +Input: // inputBuf:输入缓冲区; importFlag:是否有import操作; sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int procInput(char *inputBuf, unsigned char importFlag, int sock, int loop) +{ + char *paramPart = NULL; + char *onePart = NULL; + char tmpStr[32]; + int i = 0; + int j = 0; + int k = 0; + int optNo; + + OptNo_index = 8; + + for (i = 0; i < CmdBufSize; i++) + defCmdBuf[i].isConnected = port_status[loop].isConnected[i]; + i = 0; + + //断开连接的命令 + if (strstr(InputBuf, "exit") || strstr(InputBuf, "quit")) { + sprintf(OutputBuf, "%s", "Good bye\n\r"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + CloseTcpConnect(sock); + sprintf(OutputBuf, "%s", "Login out"); + return (1); + + } + + + while ((paramPart = strsep(&(inputBuf), "-"))) { + //writeDebug("paramPart=%s,inputBuf=%s",paramPart,inputBuf); + if (strlen(paramPart) < 2) { + sprintf(OutputBuf, "%s:%s\n\r", ERR_0001, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + switch (i) { + case 0: //command and object + if (importFlag == 0) { + //first part is command name + if ((onePart = strsep(&(paramPart), " "))) { + if (strcasecmp("help", onePart) == 0) { + CmdTypeNo = CMD_HELP; + return (0); + } else if (strcasecmp("?Alive", onePart) == 0) { + CmdTypeNo = CMD_ALIVE; + return (0); + } + //try to find + for (j = 0; j < MaxCmdTypeNum; j++) { + if (strcmp(CmdList[j], onePart) == 0) { + CmdTypeNo = j + 1; + break; + } + } + //cannot find + if (j == MaxCmdTypeNum) { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s:%s\n\r", ERR_0001, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } else { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } //end of if(importFlag == 0) + //second part is command object + //if ((onePart = strsep(&(paramPart), " "))) { + if (paramPart != NULL) { + k = strlen(paramPart); + while (' ' == *(paramPart + k - 1)) { + k = k - 1; + if (k == 0) + break; + } + *(paramPart + k) = '\0'; + } + if (paramPart != NULL) { + onePart = paramPart; + if (CmdTypeNo == CMD_CONNECT || CmdTypeNo == CMD_DISCONNECT) { //object string like "hlr" or "pps" + for (j = 0; j < CmdBufSize; j++) { + if (strcmp(onePart, defCmdBuf[j].serverStr) == 0) { + cmdBuf = &defCmdBuf[j]; + if (cmdBuf->cmdFlag[CmdTypeNo - 1] > + port_status[loop].privilege) { + sprintf(OutputBuf, "%s:%s %s\n\r", + ERR_0005, CmdList[CmdTypeNo - 1], + onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + initCmdBuf(cmdBuf); + break; + } + } + if (j == CmdBufSize) { + sprintf(OutputBuf, "%s:%s\n\r", ERR_0003, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } else { //object string like "subscriber" or "pdpcontext" or "ppscard" ... + for (j = 0; j < CmdBufSize; j++) { + if (strcmp(onePart, defCmdBuf[j].objectStr) == 0) { + if (defCmdBuf[j].isConnected == 0) { + sprintf(OutputBuf, "%s\n\r", ERR_0254); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + cmdBuf = &defCmdBuf[j]; + if (cmdBuf->cmdFlag[CmdTypeNo - 1] > + port_status[loop].privilege) { + sprintf(OutputBuf, "%s:%s %s\n\r", + ERR_0005, CmdList[CmdTypeNo - 1], + onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + initCmdBuf(cmdBuf); +#ifdef SMCLI_DEBUG + printf("initing %s\n", cmdBuf->objectStr); +#endif + break; + } + } + if (j == CmdBufSize) { + /*if (cmdBuf->isConnected == 0) { + sprintf(OutputBuf, + "%s:You must connect to server first\n\r", + ERR_0200); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } else */ { + //unknown object string +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s:%s\n\r", ERR_0003, + onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + } + } else { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + break; + default: //parameters name and value + //parameter name + if(!strstr(paramPart," ")) + { + sprintf(OutputBuf, + "%s.\n",ERR_0003); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + + } + if ((onePart = strsep(&(paramPart), " "))) { + //writeDebug("paramPart1:%s,onePart:%s",paramPart,onePart); + if(!strlen(paramPart)) + { + sprintf(OutputBuf, + "%s.\n",ERR_0003); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + + } + //try find from cmdBuf(command define array) + for (optNo = 0; optNo < cmdBuf->optDefNum; optNo++) { + if (strcmp(onePart, cmdBuf->optDef[optNo].optName) == + 0) { + //check option define + if (cmdBuf->optDef[optNo].optFlag[CmdTypeNo] <= + port_status[loop].privilege) { + cmdBuf->optDef[optNo].optFlag[0] = 1; + break; + } else { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s:%s\n\r", ERR_0012, + onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + } + //cannot find + if (optNo == cmdBuf->optDefNum) { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s:%s\n\r", ERR_0010, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } else { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + //parameter value + if (CmdTypeNo == CMD_EXPORT + && (strcmp(onePart, "query") == 0 + || strcmp(onePart, "fields") == 0)) { + //writeDebug("paramPart2:%s,onePart:%s",paramPart,onePart); + if (strcmp(onePart, "query") == 0) { + onePart = strsep(&(paramPart), "\""); //front of first\" + //writeDebug("paramPart3:%s,onePart:%s",paramPart,onePart); + if(!strlen(paramPart)||!strlen(onePart)&&inputBuf==NULL) + { + sprintf(OutputBuf,"%s.\n",ERR_0003); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + onePart = strsep(&(paramPart), "\""); //behind of first \" and front of second \" + paramPart = onePart; + onePart = strsep(&(paramPart), " "); + if (strcmp + (onePart, + cmdBuf->optDef[OptNo_index].optName) == 0) { + + char queryList[7][16] = + { {"contains"}, {"doesntcontain"}, + {"beginswith"}, + {"endswith"}, {"like"}, {"is"}, {"isnt"} + }; + + strcpy(tmpStr, + cmdBuf->optDef[OptNo_index].fieldName); + optNo = OptNo_index; + onePart = strsep(&(paramPart), " "); + + for (j = 0; j < 7; j++) { + if (strcmp(onePart, queryList[j]) == 0) { + break; + } + } + if (j == 7) { + sprintf(OutputBuf, + "%s:unknown comparator \"%s\"\n\r", + ERR_0003, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + //writeDebug("j:%d,onePart:%s,cmdBuf->optDef[OptNo_index].fieldName:%s",j,onePart,cmdBuf->optDef[OptNo_index].fieldName); + switch (j) { + case 0: //contains + case 4: //like + sprintf(ExportQueryStr, "%s LIKE ", tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(tmpStr, "\'%%%s%%\'", onePart); + strcat(ExportQueryStr, tmpStr); + break; + case 1: //doesntcontains + sprintf(ExportQueryStr, "%s NOT LIKE ", + tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(tmpStr, "\'%%%s%%\'", onePart); + strcat(ExportQueryStr, tmpStr); + break; + case 2: //beginswith + sprintf(ExportQueryStr, "%s LIKE ", tmpStr); + onePart = strsep(&(paramPart), " "); + if (cmdBuf->sysTypeNo == 330) { + sprintf(tmpStr, "\'0%s%%\'", onePart); + } else { + sprintf(tmpStr, "\'%s%%\'", onePart); + } + strcat(ExportQueryStr, tmpStr); + break; + case 3: //endswith + sprintf(ExportQueryStr, "%s LIKE ", tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(tmpStr, "\'%%%s\'", onePart); + strcat(ExportQueryStr, tmpStr); + break; + case 5: //is + sprintf(ExportQueryStr, "%s = ", tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + onePart); + if (exValueOptToField(optNo) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", + ERR_0203, + cmdBuf->optDef[optNo].optName, + cmdBuf->optDef[optNo].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + //writeDebug("1:%s",OutputBuf); + return (1); + } + + sprintf(tmpStr, "\'%s\'", + cmdBuf->optDef[optNo].fieldValue); + strcat(ExportQueryStr, tmpStr); + break; + case 6: //isn't + sprintf(ExportQueryStr, "%s != ", tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + onePart); + if (exValueOptToField(optNo) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", + ERR_0203, + cmdBuf->optDef[optNo].optName, + cmdBuf->optDef[optNo].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + //writeDebug("2:%s",OutputBuf); + return (1); + } + sprintf(tmpStr, "\'%s\'", + cmdBuf->optDef[optNo].fieldValue); + strcat(ExportQueryStr, tmpStr); + break; + } + + } else if (cmdBuf->sysTypeNo == 330 + && strcmp(onePart, "msisdn") == 0) { + + char queryList[7][16] = + { {"contains"}, {"doesntcontain"}, + {"beginswith"}, + {"endswith"}, {"like"}, {"is"}, {"isnt"} + }; + + strcpy(tmpStr, + cmdBuf->optDef[OptNo_index + 3].fieldName); + optNo = OptNo_index + 3; + + onePart = strsep(&(paramPart), " "); + + for (j = 0; j < 7; j++) { + if (strcmp(onePart, queryList[j]) == 0) { + break; + } + } + if (j == 7) { + sprintf(OutputBuf, + "%s:unknown comparator \"%s\"\n\r", + ERR_0003, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + switch (j) { + case 0: //contains + case 4: //like + sprintf(ExportQueryStr, "%s LIKE ", tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(tmpStr, "\'%%%s%%\'", onePart); + strcat(ExportQueryStr, tmpStr); + break; + case 1: //doesntcontains + sprintf(ExportQueryStr, "%s NOT LIKE ", + tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(tmpStr, "\'%%%s%%\'", onePart); + strcat(ExportQueryStr, tmpStr); + break; + case 2: //beginswith + sprintf(ExportQueryStr, "%s LIKE ", tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(tmpStr, "\'91%s%%\'", onePart); + strcat(ExportQueryStr, tmpStr); + break; + case 3: //endswith + sprintf(ExportQueryStr, "%s LIKE ", tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(tmpStr, "\'%%%sE%%\'", onePart); + strcat(ExportQueryStr, tmpStr); + break; + case 5: //is + sprintf(ExportQueryStr, "%s = ", tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + onePart); + if (exValueOptToField(optNo) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", + ERR_0203, + cmdBuf->optDef[optNo].optName, + cmdBuf->optDef[optNo].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + //writeDebug("3:%s",OutputBuf); + return (1); + } + + sprintf(tmpStr, "\'%s\'", + cmdBuf->optDef[optNo].fieldValue); + strcat(ExportQueryStr, tmpStr); + break; + case 6: //isn't + sprintf(ExportQueryStr, "%s != ", tmpStr); + onePart = strsep(&(paramPart), " "); + sprintf(cmdBuf->optDef[optNo].optValue, "%s", + onePart); + if (exValueOptToField(optNo) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", + ERR_0203, + cmdBuf->optDef[optNo].optName, + cmdBuf->optDef[optNo].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + //writeDebug("4:%s",OutputBuf); + return (1); + } + sprintf(tmpStr, "\'%s\'", + cmdBuf->optDef[optNo].fieldValue); + strcat(ExportQueryStr, tmpStr); + break; + } + } else { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s:%s\n\r", ERR_0002, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + sprintf(cmdBuf->optDef[OptNo_query].optValue, + "ExportQueryStr"); + cmdBuf->optDef[OptNo_query].optFlag[0] = 1; +#ifdef SMCLI_DEBUG + printf("ExportQueryStr=%s\n", ExportQueryStr); +#endif + } else { //strcmp(onePart,"fields") == 0 + + onePart = strsep(&(paramPart), "\""); //front of first\" + onePart = strsep(&(paramPart), "\""); //behind of first \" and front of second \" + paramPart = onePart; + + memset(FieldNameList, 0, sizeof(FieldNameList)); + memset(ExportFieldsStr, 0, sizeof(ExportFieldsStr)); + + while ((onePart = strsep(&(paramPart), " "))) { + optNo = getOptNoByName(onePart); + if (optNo <= 0) { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, + "%s:Unknown field name \"%s\"\n\r", + ERR_0002, onePart); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + cmdBuf->optDef[optNo].optFlag[0] = 1; + sprintf(ExportFieldsStr, "%s %s", ExportFieldsStr, + cmdBuf->optDef[optNo].optName); + sprintf(FieldNameList, "%s,%s", FieldNameList, + cmdBuf->optDef[optNo].fieldName); + } + strcat(ExportFieldsStr, " "); + sprintf(cmdBuf->optDef[OptNo_fields].optValue, + "ExportFieldsStr"); + cmdBuf->optDef[OptNo_fields].optFlag[0] = 1; +#ifdef SMCLI_DEBUG + printf("ExportFieldsStr=%s\n", ExportFieldsStr); + printf("FieldNameList=%s\n", FieldNameList); +#endif + } + } else { + //if ((onePart = strsep(&(paramPart), " "))) { + if (paramPart != NULL) { + k = strlen(paramPart); + while (' ' == *(paramPart + k - 1)) { + k = k - 1; + if (k == 0) + break; + } + *(paramPart + k) = '\0'; + } + if (paramPart != NULL) { + onePart = paramPart; + if (strlen(onePart) >= + sizeof(cmdBuf->optDef[optNo].optValue)) { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s:%s's length error\n\r", + ERR_0003, cmdBuf->optDef[optNo].optName); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + //when you operate the VMS subscriber,you must input the server ip + if (cmdBuf->sysTypeNo == 390) { + if (strcmp(cmdBuf->optDef[optNo].optName, "srvip") + == 0) { + if (cmdBuf->isConnected == 1) { + if (CmdTypeNo == CMD_CONNECT) { + if (strcmp + (cmdBuf->optDef[optNo].optValue, + onePart) != 0) { + sprintf(OutputBuf, "%s\n\r", + ERR_0261); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, + 0); + return (1); + } + } else { + if (strcmp + (cmdBuf->optDef[optNo].optValue, + onePart) != 0) { + sprintf(OutputBuf, "%s\n\r", + ERR_0254); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, + 0); + return (1); + } + } + } + } + } + + sprintf(cmdBuf->optDef[optNo].optValue, "%s", onePart); + } else { + sprintf(OutputBuf, "%s:-%s's value zero\n\r", ERR_0003, + cmdBuf->optDef[optNo].optName); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } +#ifdef SMCLI_DEBUG + printf("%s=%s\n", cmdBuf->optDef[optNo].optName, + cmdBuf->optDef[optNo].optValue); +#endif + break; + } //end of switch + i++; + } //end of while + + //check mandatory flag + //if (importFlag == 0) { + for (i = 0; i < cmdBuf->optDefNum; i++) { + if ((cmdBuf->optDef[i].optFlag[CmdTypeNo] == 0) + && (cmdBuf->optDef[i].optFlag[0] == 0)) { + if (cmdBuf == &defCmdBuf[1] && i == OptNo_index + && (CmdTypeNo == CMD_READ || CmdTypeNo == CMD_MODIFY + || CmdTypeNo == CMD_DELETE) + && cmdBuf->optDef[HLR_OptNo_indexSec].optFlag[0] == 1) { + OptNo_index = HLR_OptNo_indexSec; + continue; + } + sprintf(OutputBuf, + "%s:Mandatory parameter \"-%s\" no supplied\n\r", + ERR_0002, cmdBuf->optDef[i].optName); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + //} + + return (0); +} + +/************************************************* +Function: // sendCmd +Description: // 把客户端的命令发送到用户数据命令表里,以便让subsComm进行处理 +Calls: // mysql_free_result; mysql_getnores; send; +Called By: // doCmdConnect; doCmdDisconnect; ..... +Table Accessed: // OMC_PUB.subscriberComm +Table Updated: // OMC_PUB.subscriberComm +Input: // sock:the sockId of the client; loop:the index of port_status; +Output: // +Return: // 0:successful; 1:failed; +Others: // +*************************************************/ +int sendCmd(int sock, int loop) +{ + char tmpSql[4096]; + int i; + + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + int cmdTypeNo; + int tmpDataTypeNo; + + CheckDbConnection(); + + if ((cmdBuf->sysTypeNo == 330) + && + (!strcmp(cmdBuf->optDef[OptNo_index].fieldName, "inter_msisdn"))) + tmpDataTypeNo = 1; + else + tmpDataTypeNo = cmdBuf->dataTypeNo; + + for (i = 1; i < CmdBufSize; i++) { + defCmdBuf[i].sysNo = port_status[loop].sysNo[i]; + defCmdBuf[i].subSysNo = port_status[loop].subSysNo[i]; + } + +/* + //delete older command 30 minutes ago + sprintf(tmpSql,"DELETE %s WHERE sendTime < FROM_UNIXTIME(UNIX_TIMESTAMP() - 1800)", + CommandTable); +//#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n",tmpSql); +//#endif + mysql_getnores(dbConn,tmpSql); +*/ + //check command + sprintf(tmpSql, "SELECT commId FROM %s " + " WHERE sysTypeNo=\'%d\' AND ( commState=\'1\' OR commState=\'2\')" + " AND dataTypeNo=\'%d\' " + " AND indexValueList=\'%s\'", + CommandTable, + cmdBuf->sysTypeNo, + tmpDataTypeNo, cmdBuf->optDef[OptNo_index].fieldValue); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + //if(tmpResult == NULL) + //tmpResult = Reconnect(tmpSql, "localhost", "OMC_PUB"); + //等待另外的命令执行完毕 + if (tmpResult != NULL && mysql_num_rows(tmpResult) > 0) { + mysql_free_result(tmpResult); + //Please wait this command finished + sprintf(OutputBuf, "%s\n\r", ERR_0252); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + mysql_free_result(tmpResult); + + if (CmdId > 50000) { + //sprintf(tmpSql, "DROP TABLE %s", CommandTable); + sprintf(tmpSql, "TRUNCATE TABLE %s", CommandTable); + CheckDbConnection(); + mysql_getnores(dbConn, tmpSql); + /* + sprintf(tmpSql, "CREATE TABLE %s" + "(commId smallint(5) unsigned NOT NULL auto_increment," + "commType tinyint(1) DEFAULT '0' NOT NULL," + "dataTypeNo tinyint(4) DEFAULT '0' NOT NULL," + "sysTypeNo smallint(5) unsigned DEFAULT '0' NOT NULL," + "sysNo smallint(5) unsigned DEFAULT '0' NOT NULL," + "subSysNo smallint(5) unsigned DEFAULT '0' NOT NULL," + "indexValueList varchar(255) NOT NULL," + "fieldNameList text NOT NULL," + "paramType tinyint(4) DEFAULT '0' NOT NULL," + "commState tinyint(3) unsigned DEFAULT '0' NOT NULL," + "totalNum smallint(5) unsigned DEFAULT '0' NOT NULL," + "finishNum smallint(5) unsigned DEFAULT '0' NOT NULL," + "sendTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL," + "bgnTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL," + "endTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL," + "remark varchar(200) binary NOT NULL," + "PRIMARY KEY (commId)," + "KEY sysTypeNo (sysTypeNo)," + "KEY sysNo (sysNo)," + "KEY subSysNo (subSysNo)," + "KEY bufferKey (indexValueList));", CommandTable); + CheckDbConnection(); + mysql_getnores(dbConn, tmpSql); + */ + } + + switch (CmdTypeNo) { + case CMD_READ: + cmdTypeNo = 1; + break; + case CMD_MODIFY: + cmdTypeNo = 2; + break; + case CMD_CREATE: + cmdTypeNo = 3; + break; + case CMD_DELETE: + cmdTypeNo = 4; + break; + case CMD_EXPORT: + cmdTypeNo = 1; + break; + case CMD_IMPORT: + cmdTypeNo = 3; + break; + case CMD_RECHARGE: + cmdTypeNo = 2; + break; + default: +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s:%d\n\r", ERR_0001, CmdTypeNo); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //把输入命令插入用户数据命令表 + //2008-09-22, register opr must specil the all fields + if(strcmp(cmdBuf->objectStr,"registerOpr") == 0) + { + sprintf(tmpSql, "INSERT INTO %s " + "(commType,dataTypeNo,sysTypeNo,sysNo,subSysNo,indexValueList," + "fieldNameList,paramType,commState,sendTime,remark)" + "VALUES" + "(\'%d\',\'%d\',\'%d\',\'%d\',\'%d\',\'%s\',\'ALL\'," + "\'0\',\'1\',CURRENT_TIMESTAMP,\'by smcli\')", + CommandTable, + cmdTypeNo, + tmpDataTypeNo, + cmdBuf->sysTypeNo, + cmdBuf->sysNo, + cmdBuf->subSysNo, + cmdBuf->optDef[OptNo_index].fieldValue); + } + else + { + sprintf(tmpSql, "INSERT INTO %s " + "(commType,dataTypeNo,sysTypeNo,sysNo,subSysNo,indexValueList," + "fieldNameList,paramType,commState,sendTime,remark)" + "VALUES" + "(\'%d\',\'%d\',\'%d\',\'%d\',\'%d\',\'%s\',\'%s\'," + "\'0\',\'1\',CURRENT_TIMESTAMP,\'by smcli\')", + CommandTable, + cmdTypeNo, + tmpDataTypeNo, + cmdBuf->sysTypeNo, + cmdBuf->sysNo, + cmdBuf->subSysNo, + cmdBuf->optDef[OptNo_index].fieldValue, FieldNameList); + } + +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + + //get commId + sprintf(tmpSql, "SELECT commId FROM %s " + " WHERE sysTypeNo=\'%d\' " + " AND dataTypeNo=\'%d\' " + " AND indexValueList=\'%s\'", + CommandTable, + cmdBuf->sysTypeNo, + tmpDataTypeNo, cmdBuf->optDef[OptNo_index].fieldValue); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); + return (1); + } + tmpRow = mysql_fetch_row(tmpResult); + CmdId = atoi(tmpRow[0]); + mysql_free_result(tmpResult); +#ifdef SMCLI_DEBUG + printf("CmdId=%d ", CmdId); +#endif + return (0); +} + +/************************************************* +Function: // scanCmd +Description: // 扫描用户数据命令表,查看命令的执行进度 +Calls: // mysql_getnores; send; +Called By: // doCmdConnect; doCmdDisconnect; ..... +Table Accessed: // OMC_PUB.subscriberComm +Table Updated: // +Input: // sock:the sockId of the client; +Output: // +Return: // 0:successful; 1:failed; +Others: // +*************************************************/ +int scanCmd(int sock) +{ + int count = 0; + int cmdState = 0; + char tmpSql[1024]; + int i; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; +#ifdef SMCLI_DEBUG + int progressFlag = 0; +#endif + + CheckDbConnection(); + + if (CmdId <= 0) + return (1); + + while (1) { + sprintf(tmpSql, "SELECT commState,remark " + " FROM %s WHERE commId=\'%d\'", CommandTable, CmdId); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); +#ifdef SMCLI_DEBUG + if (count == 0) { + printf(" \n tmpSql = %s \n", tmpSql); + } +#endif + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); +#ifdef SMCLI_DEBUG + printf("%s: Cannot find %d 's info\n", ERR_0200, CmdId); +#endif + return (1); + } + tmpRow = mysql_fetch_row(tmpResult); + cmdState = atoi(tmpRow[0]); + strcpy(ErrorMsg, tmpRow[1]); + mysql_free_result(tmpResult); + + //printf("cmdState=%d\n", cmdState); + //printf("ErrorMsg=%s\n", ErrorMsg); + + switch (cmdState) { + case nProcFail: + sprintf(tmpSql, "DELETE FROM %s WHERE commId=\'%d\'", + CommandTable, CmdId); + mysql_getnores(dbConn, tmpSql); +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + //printf("ErrorMsg=%s\n", ErrorMsg); + //if (CmdTypeNo == CMD_READ || CmdTypeNo == CMD_DELETE) { + if (CmdTypeNo == CMD_READ) { + if (!strcmp(ErrorMsg, "response timeout")) + sprintf(OutputBuf, "%s\n\r", ERR_0255); + else + sprintf(OutputBuf, + "%s:Cannot get this object value record!\n\r", + ERR_0200); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + for (i = 0; i < strlen(ErrorMsg); i++) { + if (ErrorMsg[i] == ':') + break; + } + + if (i == 1) + sprintf(OutputBuf, "020%s\n\r", ErrorMsg); + else if (i == 2) + sprintf(OutputBuf, "02%s\n\r", ErrorMsg); + else if (!strcmp(ErrorMsg, "response timeout")) + sprintf(OutputBuf, "%s\n\r", ERR_0255); + else + sprintf(OutputBuf, + "%s:Cannot get this object value record!\n\r", + ERR_0200); + + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); +#ifdef SMCLI_DEBUG + printf("\n tmpSql = %s \n", tmpSql); + if (progressFlag == 1) { + printf("\n"); + } +#endif + return (1); + case nWaitProc: +#ifdef SMCLI_DEBUG + if (count == 0) + printf("\n"); + if (count % 2 == 0) { + printf("."); + progressFlag = 1; + } +#endif + break; + case nInProc: +#ifdef SMCLI_DEBUG + if (count == 0) + printf("\n"); + if (count % 4 == 0) { + printf(">"); + progressFlag = 1; + } +#endif + break; + case nOutProc: + sprintf(tmpSql, "DELETE FROM %s WHERE commId=\'%d\'", + CommandTable, CmdId); + mysql_getnores(dbConn, tmpSql); + +#ifdef SMCLI_DEBUG + printf("ErrorMsg = %s \n", ErrorMsg); + printf(" \n tmpSql = %s \n", tmpSql); + + if (progressFlag == 1) { + printf("\n"); + } +#endif + //printf("count=%d\n",count); + return (0); + default: + break; + } //end of switch + count++; + + if (count >= 100) { + sprintf(OutputBuf, "%s\n\r", ERR_0255); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + sprintf(tmpSql, "DELETE FROM %s WHERE commId=\'%d\'", + CommandTable, CmdId); + mysql_getnores(dbConn, tmpSql); +#ifdef SMCLI_DEBUG + if (progressFlag == 1) { + printf("\n"); + } +#endif + return (1); + } + + fflush(NULL); + usleep(200000); //sleep 0.2 second + } //end of while(1) +} + +/************************************************* +Function: // showCmdBuf +Description: // 显示八种命令的权限,和命令后面的参数 +Calls: // send +Called By: // +Table Accessed: // +Table Updated: // +Input: // thisCmdBuf:命令缓冲区; sock:the sockId of the client; +Output: // +Return: // +Others: // 作为调试用的 +*************************************************/ +void showCmdBuf(CmdBuf * thisCmdBuf, int sock) +{ + int i, cmdTypeNo, optType; + + for (cmdTypeNo = 1; cmdTypeNo <= 8; cmdTypeNo++) { + sprintf(OutputBuf, "======================\n%s\n\r", + CmdList[cmdTypeNo - 1]); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + for (optType = 1; optType < 4; optType++) { + switch (optType) { + case Op_M: + sprintf(OutputBuf, "mandtory: "); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + break; + case Op_O: + sprintf(OutputBuf, "optional: "); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + break; + case Op_S: + sprintf(OutputBuf, "subjoin: "); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + break; + } + + for (i = 0; i < thisCmdBuf->optDefNum; i++) { + if (thisCmdBuf->optDef[i].optFlag[cmdTypeNo] == optType) { + printf("-%s ", thisCmdBuf->optDef[i].optName); + } + } + sprintf(OutputBuf, "\n\r"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + } +} + +/************************************************* +Function: // initCmdBuf +Description: // 初始化命令缓冲区的参数的值 +Calls: // memset +Called By: // changeDefaultValueProcInput; +Table Accessed: // +Table Updated: // +Input: // thisCmdBuf:命令缓冲区 +Output: // +Return: // +Others: // +*************************************************/ +void initCmdBuf(CmdBuf * thisCmdBuf) +{ + int i; + //char tableName[32]; + //char privilege[32]; + //int cmdNo; + //char tmpSql[4096]; + //MYSQL_RES *tmpResult = NULL; + //MYSQL_ROW tmpRow = NULL; + + for (i = 0; i < thisCmdBuf->optDefNum; i++) { + thisCmdBuf->optDef[i].optFlag[0] = 0; + memset(thisCmdBuf->optDef[i].fieldValue, 0, + sizeof(thisCmdBuf->optDef[i].fieldValue)); + if(i==OptNo_srvip) + continue; + memset(thisCmdBuf->optDef[i].optValue, 0, + sizeof(thisCmdBuf->optDef[i].optValue)); + } +/* + if (thisCmdBuf == &defCmdBuf[0]) + return; + for (i = 1; i < CmdBufSize; i++) { + if (thisCmdBuf == &defCmdBuf[i]) { + break; + } + } + + switch (i) { + case 1: + sprintf(tableName, "%s", smcliTable_1); + break; + case 2: + sprintf(tableName, "%s", smcliTable_2); + break; + case 3: + sprintf(tableName, "%s", smcliTable_3); + break; + case 4: + sprintf(tableName, "%s", smcliTable_4); + break; + default: + return; + } + + if (CmdTypeNo == CMD_DELETE || CmdTypeNo == CMD_CONNECT + || CmdTypeNo == CMD_DISCONNECT) + return; + + if (CmdTypeNo == CMD_READ || CmdTypeNo == CMD_EXPORT) { + sprintf(privilege, "readPrivilege"); + cmdNo = 1; + } else if (CmdTypeNo == CMD_MODIFY || CmdTypeNo == CMD_RECHARGE) { + sprintf(privilege, "writePrivilege"); + cmdNo = 2; + } else if (CmdTypeNo == CMD_CREATE || CmdTypeNo == CMD_IMPORT) { + sprintf(privilege, "createPrivilege"); + cmdNo = 3; + } else + return; + + sprintf(tmpSql, + "SELECT optionalName,%s,initFieldValue FROM %s ORDER BY number", + privilege, tableName); + +#ifdef SMCLI_DEBUG + printf("tmpSql= %s\n", tmpSql); +#endif + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); + return; + } + i = 0; + while ((tmpRow = mysql_fetch_row(tmpResult))) { + strcpy(thisCmdBuf->optDef[i + 9].optName, tmpRow[0]); + thisCmdBuf->optDef[i + 9].optFlag[cmdNo] = atoi(tmpRow[1]); + strcpy(thisCmdBuf->optDef[i + 9].initFieldValue, tmpRow[2]); + i++; + } + mysql_free_result(tmpResult); + + sprintf(tmpSql, "SELECT %s FROM %s ORDER BY number", privilege, + tableName); + +#ifdef SMCLI_DEBUG + printf("tmpSql= %s\n", tmpSql); +#endif + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); + return; + } + + i = 0; + while ((tmpRow = mysql_fetch_row(tmpResult))) { + thisCmdBuf->optDef[i + 9].optFlag[cmdNo] = atoi(tmpRow[0]); + i++; + } + mysql_free_result(tmpResult); + + if (CmdTypeNo == CMD_RECHARGE && thisCmdBuf == &defCmdBuf[2]) { + for (i = 42; i < 47; i++) { + thisCmdBuf->optDef[i].optFlag[9] = + thisCmdBuf->optDef[i].optFlag[2]; + thisCmdBuf->optDef[i].optFlag[2] = 9; + } + }*/ + + return; +} + +/************************************************* +Function: // doCmdConnect +Description: // 执行connect到设备服务器的操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // OMC_PUB.sysInfo; +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdConnect(int sock, int loop) +{ + char tmpSql[1024]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + int i = 0; + int connect[2]; + + CheckDbConnection(); + + if (cmdBuf->optDef[OptNo_srvip].optFlag[0] > 0 + && strlen(cmdBuf->optDef[OptNo_srvip].optValue) > 0) { + sprintf(tmpSql, + "SELECT sysNo,subSysNo,ip FROM %s WHERE ip=\'%s\' AND sysTypeNo =\'%d\'", + sysInfoTable, cmdBuf->optDef[OptNo_srvip].optValue, + cmdBuf->sysTypeNo); + } else { + sprintf(tmpSql, "SELECT baseStat FROM %s WHERE sysTypeNo =\'%d\' ", + sysInfoTable, cmdBuf->sysTypeNo); + + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + //if(tmpResult == NULL) + //tmpResult=Reconnect(tmpSql, "localhost", "OMC_PUB"); + if (mysql_num_rows(tmpResult) > 1) { + tmpRow = mysql_fetch_row(tmpResult); + connect[0] = atoi(tmpRow[0]); + tmpRow = mysql_fetch_row(tmpResult); + if (tmpRow != NULL) + connect[1] = atoi(tmpRow[0]); + + if (connect[0] == connect[1]) + sprintf(tmpSql, + "SELECT sysNo,subSysNo,ip FROM %s WHERE sysTypeNo =\'%d\' AND sysNo=\'0\'", + sysInfoTable, cmdBuf->sysTypeNo); + else + sprintf(tmpSql, + "SELECT sysNo,subSysNo,ip FROM %s WHERE sysTypeNo =\'%d\' ORDER BY baseStat DESC", + sysInfoTable, cmdBuf->sysTypeNo); + } else if (mysql_num_rows(tmpResult) == 1) { + sprintf(tmpSql, + "SELECT sysNo,subSysNo,ip FROM %s WHERE sysTypeNo =\'%d\'", + sysInfoTable, cmdBuf->sysTypeNo); + } else + sprintf(OutputBuf, "%s\n\r", ERR_0256); + } + + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { +#ifdef SMCLI_DEBUG + printf("tmpSql= %s\n", tmpSql); + printf("%d-", __LINE__); +#endif + mysql_free_result(tmpResult); + sprintf(OutputBuf, "%s\n\r", ERR_0256); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + tmpRow = mysql_fetch_row(tmpResult); + for (i = 0; i < CmdBufSize; i++) { + if (strcmp(cmdBuf->serverStr, defCmdBuf[i].serverStr) == 0) { + defCmdBuf[i].sysNo = atoi(tmpRow[0]); + defCmdBuf[i].subSysNo = atoi(tmpRow[1]); + sprintf(defCmdBuf[i].optDef[OptNo_ipaddress].optValue, "%s", + tmpRow[2]); + sprintf(defCmdBuf[i].optDef[OptNo_srvip].optValue, "%s", + tmpRow[2]); + if (strcmp(cmdBuf->serverStr, "vms") == 0) { + sprintf(tmpSql, + "SELECT subsDataTable,tmpDataTable FROM %s WHERE sysTypeNo =\'%d\' AND sysNo=\'%d\'", + sysSubsConfTable, cmdBuf->sysTypeNo, + cmdBuf->sysNo); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); + sprintf(OutputBuf, "%s\n\r", ERR_0256); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + tmpRow = mysql_fetch_row(tmpResult); + sprintf(defCmdBuf[i].srcTable, "%s", tmpRow[0]); + sprintf(defCmdBuf[i].tmpTable, "%s", tmpRow[1]); + } + } + } + mysql_free_result(tmpResult); + + if (strcmp + (cmdBuf->optDef[OptNo_passwd].optValue, + cmdBuf->optDef[OptNo_passwd].initFieldValue) != 0) { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + sprintf(OutputBuf, "%s\n\r", ERR_0257); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + if (getServerStat(cmdBuf->optDef[OptNo_ipaddress].optValue) != 0) { + sprintf(OutputBuf, "%s %s\n\r", ERR_0260, cmdBuf->serverStr); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + + for (i = 0; i < CmdBufSize; i++) { + if (strcmp(cmdBuf->serverStr, defCmdBuf[i].serverStr) == 0) { + port_status[loop].isConnected[i] = 1; + strcpy(port_status[loop].ip[i], + cmdBuf->optDef[OptNo_ipaddress].optValue); + port_status[loop].sysNo[i] = cmdBuf->sysNo; + port_status[loop].subSysNo[i] = cmdBuf->subSysNo; + strcpy(port_status[loop].serverStr[i], cmdBuf->serverStr); + } + } + + sprintf(OutputBuf, "%s:Connected ip = %s\n\r", ERR_0000, + cmdBuf->optDef[OptNo_ipaddress].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // doCmdRead +Description: // 执行read操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdRead(unsigned char exportFlag, int sock, int loop) +{ + int i = 0; + int j = 0; + char tmpStr[256]; + char tmpSql[4096]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + char tmpBuf[8192]; + + CheckDbConnection(); + + //把一个关键参数的值从输入输出格式转换成数据库格式 + if (exValueOptToField(OptNo_index) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + sprintf(FieldNameList, "ALL"); + //把命令发送到用户数据命令表里 + if (sendCmd(sock, loop) == 0) { +#ifdef SMCLI_DEBUG + printf("Send command ok \n"); +#endif + //获得命令执行结果 + if (scanCmd(sock) == 0) { + memset(FieldNameList, 0, sizeof(FieldNameList)); + //构造SQL语句 + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0) { + sprintf(tmpStr, " %s,", cmdBuf->optDef[i].fieldName); + strcat(FieldNameList, tmpStr); + } + } + + i = strlen(FieldNameList); + FieldNameList[i - 1] = '\0'; //delete the lastest ',' + if ((cmdBuf->sysTypeNo == 330) + && + (!strcmp + (cmdBuf->optDef[OptNo_index].fieldName, "inter_msisdn"))) + {sprintf(tmpSql, + "SELECT %s FROM %s " "WHERE %s LIKE \'91%sE%%\'", + FieldNameList, cmdBuf->srcTable, + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + //writeDebug("sql:%s",tmpSql); + } + else + sprintf(tmpSql, "SELECT %s FROM %s " + "WHERE %s=\'%s\'", + FieldNameList, + cmdBuf->srcTable, + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); +#ifdef SMCLI_DEBUG + printf("tmpSql=%s\n", tmpSql); +#endif + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + + + //数据库里没有记录 + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + sprintf(OutputBuf, + "%s:Cannot get this object value record!\n\r", + ERR_0200); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + mysql_free_result(tmpResult); + return (1); + } else { + //获取数据库里记录的值 + tmpRow = mysql_fetch_row(tmpResult); + j = 0; + for (i = 0; i < cmdBuf->optDefNum; i++) { + //writeDebug("i=%d fieldName's strlen:%d",i,strlen(cmdBuf->optDef[i].fieldName)); + if (strlen(cmdBuf->optDef[i].fieldName) > 0 && tmpRow[j] != NULL) { + strcpy(cmdBuf->optDef[i].fieldValue, tmpRow[j]); + //exchange fieldValue for optValue + //writeDebug("tmpRow[j]=%s,privilege=%d,cmdBuf->optDef[i].optFlag[CMD_READ]=%d,port_status[loop].privilege-cmdBuf->optDef[i].optFlag[CMD_READ]=%d",tmpRow[j],port_status[loop].privilege,cmdBuf->optDef[i].optFlag[CMD_READ],port_status[loop].privilege-cmdBuf->optDef[i].optFlag[CMD_READ]); + if (cmdBuf->optDef[i].optFlag[CMD_READ] <= + port_status[loop].privilege) { + if (1 != ModifyFlag) { + exValueFieldToOpt(i); + } +#ifdef SMCLI_DEBUG + printf("%s, %s <- %s \n", + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue, + cmdBuf->optDef[i].fieldValue); +#endif + } + j++; + + } + } + mysql_free_result(tmpResult); + } + //display + if (1 != ModifyFlag) { + if (exportFlag != 0) { + return (0); + } + + sprintf(tmpBuf, "%s", cmdBuf->objectStr); + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (cmdBuf->optDef[i].optFlag[CMD_READ] <= + port_status[loop].privilege) { + sprintf(tmpStr, " -%s %s", + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + strcat(tmpBuf, tmpStr); + } + } + //把结果输出到客户端 + sprintf(tmpStr, "\n\r%s\n\r", ERR_0000); + strcat(tmpBuf, tmpStr); + //writeDebug("tmpBuf=%s",tmpBuf); + OutputLen = strlen(tmpBuf); + send(sock, tmpBuf, OutputLen, 0); + } + } else { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); + printf("%s:when scan command\n\r", ERR_0200); +#endif + return (1); + } + } else { +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); + printf("%s:when send command \n", ERR_0200); +#endif + return (1); + } + sprintf(OutputBuf, "%s", ERR_0000); + return (0); +} + +/************************************************* +Function: // doCmdModify +Description: // 执行modify操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdModify(int sock, int loop) +{ + int i = 0; + char tmpSql[4096]; + char tmpStr[512]; + char where[256]; + + CheckDbConnection(); + + memset(FieldNameList, 0, sizeof(FieldNameList)); + + sprintf(tmpSql, "UPDATE %s SET ", cmdBuf->tmpTable); + //把命令中要修改的参数的值转换为数据库的格式 + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0 + && cmdBuf->optDef[i].optFlag[0] > 0 && i != OptNo_index) { + if (exValueOptToField(i) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + } + + //构造更新记录的sql + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0 + && cmdBuf->optDef[i].optFlag[0] > 0 && i != OptNo_index) { + sprintf(tmpStr, " %s =\'%s\',", cmdBuf->optDef[i].fieldName, + cmdBuf->optDef[i].fieldValue); + if (!strstr(FieldNameList, cmdBuf->optDef[i].fieldName)) { + strcat(tmpSql, tmpStr); + strcat(FieldNameList, cmdBuf->optDef[i].fieldName); + strcat(FieldNameList, ","); + } + } + } + + //printf("\n tmpSql=%s \n", tmpSql); + //return (0); + //没有输入要更新的参数 + if (strlen(FieldNameList) < 2) { + sprintf(OutputBuf, "%s:Cannot find fields!\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + i = strlen(tmpSql); + tmpSql[i - 1] = '\0'; //delete the lastest ',' + i = strlen(FieldNameList); + FieldNameList[i - 1] = '\0'; + + if (exValueOptToField(OptNo_index) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + if ((cmdBuf->sysTypeNo == 330) + && + (!strcmp(cmdBuf->optDef[OptNo_index].fieldName, "inter_msisdn"))) + sprintf(where, " WHERE %s LIKE \'91%sE%%\'", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + else + sprintf(where, " WHERE %s =\'%s\'", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + + strcat(tmpSql, where); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + + //2008-09-22, update the registerOpr record in the DB + if(strcmp(cmdBuf->serverStr,"pps") ==0 && strcmp(cmdBuf->objectStr,"registerOpr") == 0) + { + char updateRegOpr[4096]; + //first,delete the record with the imei + sprintf(updateRegOpr,"delete from %s where imei='%s' ",cmdBuf->tmpTable,cmdBuf->optDef[8].optValue); + mysql_getnores(dbConn, updateRegOpr); + sprintf(updateRegOpr,"delete from %s where imei='%s' ",cmdBuf->srcTable,cmdBuf->optDef[8].optValue); + mysql_getnores(dbConn, updateRegOpr); + + //then,insert the record with the imei + sprintf(updateRegOpr,"insert into %s (imei,ppCardPasswd) values('%s','%s');",cmdBuf->tmpTable,cmdBuf->optDef[8].optValue,cmdBuf->optDef[9].optValue); + mysql_getnores(dbConn, updateRegOpr); + sprintf(updateRegOpr,"insert into %s (imei,ppCardPasswd) values('%s','%s');",cmdBuf->srcTable,cmdBuf->optDef[8].optValue,cmdBuf->optDef[9].optValue); + mysql_getnores(dbConn, updateRegOpr); + } + else + { + mysql_getnores(dbConn, tmpSql); + } + + //把命令发送到用户数据命令表里 + if (sendCmd(sock, loop) != 0) { + return (1); + } + + //获取命令执行的结果 + if (scanCmd(sock) != 0) { + return (1); + } + + //2008-09-22, output the response of the register opr + if(strcmp(cmdBuf->serverStr,"pps") ==0 && strcmp(cmdBuf->objectStr,"registerOpr") == 0) + { + char updateRegOpr[4096]; + char tmpstrs[256]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + + sprintf(updateRegOpr,"select * from %s where imei='%s' ",cmdBuf->srcTable,cmdBuf->optDef[8].optValue); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, updateRegOpr); + if(tmpResult == NULL || mysql_num_rows(tmpResult) == 0) + { + sprintf(OutputBuf,"Register Opr Error!\n\r"); + } + else + { + tmpRow = mysql_fetch_row(tmpResult); + + sprintf(OutputBuf,"IMEI\t%s\n\rPasswd\t%s\n\rResult\t%s\n\r", + tmpRow[0],tmpRow[1],tmpRow[2]); + + if(tmpRow[3]!=NULL && strlen(tmpRow[3])>0) + { + sprintf(tmpstrs,"MSISDN\t%s\n\r",tmpRow[3]); + strcat(OutputBuf,tmpstrs); + } + if(tmpRow[4]!=NULL && strlen(tmpRow[4])>0) + { + sprintf(tmpstrs,"PIN\t%s\n\r",tmpRow[4]); + strcat(OutputBuf,tmpstrs); + } + if(tmpRow[5]!=NULL && strlen(tmpRow[5])>0) + { + sprintf(tmpstrs,"Balance\t%d\n\r",atoi(tmpRow[5])); + strcat(OutputBuf,tmpstrs); + } + if(tmpRow[6]!=NULL && strlen(tmpRow[6])>0) + { + sprintf(tmpstrs,"Expiry\t%s\n\r",tmpRow[6]); + strcat(OutputBuf,tmpstrs); + } + if(tmpRow[7]!=NULL && strlen(tmpRow[7])>0) + { + sprintf(tmpstrs,"Cause\t%s\n\r",tmpRow[7]); + strcat(OutputBuf,tmpstrs); + } + } + mysql_free_result(tmpResult); + + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + + //成功执行命令 + sprintf(OutputBuf, "%s \n\r", ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // doCmdCreate +Description: // 执行create操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdCreate(unsigned char importFlag, int sock, int loop) +{ + int i = 0; + char tmpSql[4096]; + char tmpStr[512]; + + CheckDbConnection(); + + memset(FieldNameList, 0, sizeof(FieldNameList)); + + sprintf(tmpSql, "REPLACE %s SET ", cmdBuf->tmpTable); + //把参数值都设为默认值 + for (i = 0; i < cmdBuf->optDefNum; i++) { + //if (cmdBuf->optDef[i].optFlag[0] > 0) { + //if (cmdBuf->optDef[i].optFlag[3] < 9) { + strcpy(cmdBuf->optDef[i].fieldValue, + cmdBuf->optDef[i].initFieldValue); + //} + } + + + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0) { + if (cmdBuf->optDef[i].optFlag[0] > 0) { + if (exValueOptToField(i) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + //writeDebug("5:%s,i:%d,optValue:%s",OutputBuf,i,cmdBuf->optDef[i].optValue); + return (1); + } + } + } + } + //构造sql语句 + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0) { + //if (cmdBuf->optDef[i].optFlag[0] > 0) { + //if (cmdBuf->optDef[i].optFlag[3] < 9) { + sprintf(tmpStr, " %s =\'%s\',", + cmdBuf->optDef[i].fieldName, + cmdBuf->optDef[i].fieldValue); + if (!strstr(FieldNameList, cmdBuf->optDef[i].fieldName)) { + strcat(tmpSql, tmpStr); + strcat(FieldNameList, cmdBuf->optDef[i].fieldName); + strcat(FieldNameList, ","); + } + //} + } + } + i = strlen(tmpSql); + tmpSql[i - 1] = '\0'; //delete the lastest ',' + i = strlen(FieldNameList); + FieldNameList[i - 1] = '\0'; +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + + if (sendCmd(sock, loop) != 0) { + return (1); + } + if (scanCmd(sock) != 0) { + return (1); + } + if (importFlag > 0) { + return (0); + } + + //创建命令执行成功 + sprintf(OutputBuf, "%s\n\r", ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // doCmdDelete +Description: // 执行delete操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdDelete(int sock, int loop) +{ + int i = 0; + char tmpSql[4096]; + + CheckDbConnection(); + + memset(FieldNameList, 0, sizeof(FieldNameList)); + + //权限不够,未能删除 + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0 + && cmdBuf->optDef[i].optFlag[0] > 0 + && cmdBuf->optDef[i].optFlag[CMD_DELETE] <= + port_status[loop].privilege) { + if (exValueOptToField(i) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + strcpy(FieldNameList, cmdBuf->optDef[i].fieldName); + } + } + + //发送命令到用户数据命令表 + if (sendCmd(sock, loop) != 0) { + return (1); + } + + //检查命令的执行状态 + if (scanCmd(sock) != 0) { + return (1); + } + + if ((cmdBuf->sysTypeNo == 330) + && + (!strcmp(cmdBuf->optDef[OptNo_index].fieldName, "inter_msisdn"))) + sprintf(tmpSql, "Delete FROM %s WHERE %s LIKE \'91%sE%%\'", + cmdBuf->tmpTable, cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + else + sprintf(tmpSql, "Delete FROM %s WHERE %s=\'%s\'", cmdBuf->tmpTable, + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + mysql_getnores(dbConn, tmpSql); + + if ((cmdBuf->sysTypeNo == 330) + && + (!strcmp(cmdBuf->optDef[OptNo_index].fieldName, "inter_msisdn"))) + sprintf(tmpSql, "Delete FROM %s WHERE %s LIKE \'91%sE%%\'", + cmdBuf->srcTable, cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + else + sprintf(tmpSql, "Delete FROM %s WHERE %s=\'%s\'", cmdBuf->srcTable, + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + mysql_getnores(dbConn, tmpSql); + + sprintf(OutputBuf, "%s\n\r", ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // doCmdExport +Description: // 执行export操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdExport(int sock, int loop) +{ + long int i = 0; + int j; + //long int len; + long int maxNum = 10; + char insSql[256]; + //char tmpBuf[256]; + char tmpSql[1024]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + + CheckDbConnection(); + + port_status[loop].expFile = NULL; + port_status[loop].exportedNum = 0; + port_status[loop].exportNum = 0; + + //sprintf(insSql, "INSERT INTO %s (number,loop,exportIndex) VALUES ", + // smcliIndexTable); + //writeDebug("cmdBuf->optDef[OptNo_max].optFlag[0]:%d,cmdBuf->optDef[OptNo_max].optValue:%s",cmdBuf->optDef[OptNo_max].optFlag[0],cmdBuf->optDef[OptNo_max].optValue); + if (cmdBuf->optDef[OptNo_max].optFlag[0] > 0 && + strlen(cmdBuf->optDef[OptNo_max].optValue) > 0) { + if (strcmp(cmdBuf->optDef[OptNo_max].optValue, "all") != 0) { + if (strlen(cmdBuf->optDef[OptNo_max].optValue) > 6) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_max].optName, + cmdBuf->optDef[OptNo_max].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + for (i = 0; i < strlen(cmdBuf->optDef[OptNo_max].optValue); + i++) { + if (isdigit(cmdBuf->optDef[OptNo_max].optValue[i]) <= 0) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_max].optName, + cmdBuf->optDef[OptNo_max].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + maxNum = atol(cmdBuf->optDef[OptNo_max].optValue); + } + } + //writeDebug("cmdBuf->optDef[OptNo_max].optValue:%s",cmdBuf->optDef[OptNo_max].optValue); + i = 0; + if (strcmp(cmdBuf->optDef[OptNo_max].optValue, "all") == 0) { + //try to find -query 's value + if (cmdBuf->optDef[OptNo_query].optFlag[0] > 0 && + strlen(cmdBuf->optDef[OptNo_query].optValue) > 0) { + sprintf(tmpSql, + "SELECT %s FROM %s WHERE %s ORDER BY %s", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->srcTable, ExportQueryStr, + cmdBuf->optDef[OptNo_index].fieldName); + } else { + sprintf(tmpSql, "SELECT %s FROM %s ORDER BY %s", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->srcTable, + cmdBuf->optDef[OptNo_index].fieldName); + } + } else { + //try to find -query 's value + if (cmdBuf->optDef[OptNo_query].optFlag[0] > 0 && + strlen(cmdBuf->optDef[OptNo_query].optValue) > 0) { + sprintf(tmpSql, + "SELECT %s FROM %s WHERE %s ORDER BY %s LIMIT 0,%ld", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->srcTable, ExportQueryStr, + cmdBuf->optDef[OptNo_index].fieldName, maxNum); + } else { + sprintf(tmpSql, "SELECT %s FROM %s ORDER BY %s LIMIT 0,%ld", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->srcTable, + cmdBuf->optDef[OptNo_index].fieldName, maxNum); + + } + } + + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + +#ifdef SMCLI_DEBUG + printf("tmpSql= %s\n", tmpSql); +#endif + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + mysql_free_result(tmpResult); + sprintf(OutputBuf, "%s:Cannot get this object value record!\n\r", + ERR_0200); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + return (1); + } + + while ((tmpRow = mysql_fetch_row(tmpResult))) { + sprintf(insSql, + "INSERT INTO %s (number,newloop,exportIndex) VALUES (\'%ld\',\'%d\',\'%s\')", + smcliIndexTable, i, loop, tmpRow[0]); + mysql_getnores(dbConn, insSql); + i++; + } + + port_status[loop].exportMaxNum = i - 1; + + mysql_free_result(tmpResult); + + //try to find -expfile 's value + if (cmdBuf->optDef[OptNo_expfile].optFlag[0] > 0 && + strlen(cmdBuf->optDef[OptNo_expfile].optValue) > 0) { + //open file + port_status[loop].expFile = + fopen(cmdBuf->optDef[OptNo_expfile].optValue, "w"); + if (port_status[loop].expFile == NULL) { + perror("fopen"); + sprintf(OutputBuf, "%s:%s\n\r", ERR_0258, + cmdBuf->optDef[OptNo_expfile].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + + for (j = 0; j < CmdBufSize; j++) { + if (cmdBuf == &defCmdBuf[j]) { + port_status[loop].cmdBufNum = j; + break; + } + } + port_status[loop].fieldNameFlag = + cmdBuf->optDef[OptNo_fields].optFlag[0]; + strcpy(port_status[loop].fieldNameList, FieldNameList); + strcpy(port_status[loop].exportFieldsStr, ExportFieldsStr); + port_status[loop].expDoingFlag = 1; + return (0); +} + +/************************************************* +Function: // doCmdExport +Description: // 执行export操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doingCmdExport(int sock, int loop) +{ + int i = 0; + char tmpStr[256]; + char tmpSql[1024]; + char tmpBuf[8192]; + char selSql[1024]; + MYSQL_RES *selResult = NULL; + MYSQL_ROW selRow = NULL; + long l_time; + struct tm *t; + + CheckDbConnection(); + + CmdTypeNo = CMD_EXPORT; + cmdBuf = &defCmdBuf[port_status[loop].cmdBufNum]; + cmdBuf->optDef[OptNo_index].optFlag[0] = 1; + cmdBuf->optDef[OptNo_fields].optFlag[0] = + port_status[loop].fieldNameFlag; + strcpy(FieldNameList, port_status[loop].fieldNameList); + strcpy(ExportFieldsStr, port_status[loop].exportFieldsStr); + + sprintf(selSql, + "SELECT exportIndex,number From %s WHERE number>=\'%ld\' AND newloop='\%d\' ORDER BY number LIMIT 0,10", + smcliIndexTable, port_status[loop].exportNum, loop); + selResult = (MYSQL_RES *) mysql_getres(dbConn, selSql); + +#ifdef SMCLI_DEBUG + printf("selSql= %s\n", selSql); +#endif + + if (selResult == NULL || mysql_num_rows(selResult) == 0) { + mysql_free_result(selResult); + sprintf(OutputBuf, "%s:Cannot get this object value record!\n\r", + ERR_0200); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + return (1); + } + + if (port_status[loop].expFile != NULL) { + while ((selRow = mysql_fetch_row(selResult))) { + port_status[loop].exportNum++; + if (atol(selRow[1]) == port_status[loop].exportMaxNum) + port_status[loop].expDoingFlag = 0; + sprintf(cmdBuf->optDef[OptNo_index].fieldValue, "%s", + selRow[0]); + exValueFieldToOpt(OptNo_index); + if (doCmdRead(1, sock, loop) == 0) { + fputs(cmdBuf->objectStr, port_status[loop].expFile); + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (cmdBuf->optDef[i].optFlag[CMD_READ] <= + port_status[loop].privilege) { + if (cmdBuf->optDef[OptNo_fields].optFlag[0] > 0) { + sprintf(tmpStr, "%s ", + cmdBuf->optDef[i].optName); + if (strstr + (port_status[loop].exportFieldsStr, + tmpStr) == 0) { + continue; + } + } + sprintf(tmpStr, " -%s %s", + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + fputs(tmpStr, port_status[loop].expFile); + } + } + fputs("\n", port_status[loop].expFile); + sprintf(OutputBuf, "Export %s=%s ok\n\r", + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + port_status[loop].exportedNum++; + } else { + sprintf(OutputBuf, "Export %s=%s failed\n\r", + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + } + if (port_status[loop].expDoingFlag == 0) { + fclose(port_status[loop].expFile); + sprintf(OutputBuf, "%s:Exported %ld %s(s) in %s\n\r", + ERR_0000, port_status[loop].exportedNum, + cmdBuf->objectStr, + cmdBuf->optDef[OptNo_expfile].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + } else { + while ((selRow = mysql_fetch_row(selResult))) { + port_status[loop].exportNum++; + if (atol(selRow[1]) == port_status[loop].exportMaxNum) + port_status[loop].expDoingFlag = 0; + sprintf(cmdBuf->optDef[OptNo_index].fieldValue, "%s", + selRow[0]); + exValueFieldToOpt(OptNo_index); + if (doCmdRead(1, sock, loop) == 0) { + sprintf(tmpBuf, "%s", cmdBuf->objectStr); + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (cmdBuf->optDef[i].optFlag[CMD_READ] <= + port_status[loop].privilege) { + if (cmdBuf->optDef[OptNo_fields].optFlag[0] > 0) { + sprintf(tmpStr, "%s ", + cmdBuf->optDef[i].optName); + if (strstr + (port_status[loop].exportFieldsStr, + tmpStr) == 0) { + continue; + } + } + sprintf(tmpStr, " -%s %s", + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + strcat(tmpBuf, tmpStr); + } + } + sprintf(tmpStr, "\n\r"); + strcat(tmpBuf, tmpStr); + OutputLen = strlen(tmpBuf); + send(sock, tmpBuf, OutputLen, 0); + port_status[loop].exportedNum++; + } else { + sprintf(OutputBuf, "Export %s=%s failed\n\r", + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + } + if (port_status[loop].expDoingFlag == 0) { + sprintf(OutputBuf, "%s:Exported %ld %s(s)\n\r", ERR_0000, + port_status[loop].exportedNum, cmdBuf->objectStr); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + } + mysql_free_result(selResult); + if (port_status[loop].expDoingFlag == 0) { + sprintf(tmpSql, "DELETE FROM %s WHERE newloop='\%d\'", + smcliIndexTable, loop); + mysql_getnores(dbConn, tmpSql); + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Command:%s,Result:%s\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, port_status[loop].tmpInputBuf, + OutputBuf, port_status[loop].username, + t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, + t->tm_hour, t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + usleep(delayTime); + sprintf(OutputBuf, "%s", "CLI>"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + port_status[loop].time = time(NULL); + } + return (0); +} + +/************************************************* +Function: // doCmdImport +Description: // 执行import操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdImport(char *inputBuf, int sock, int loop) +{ + int i; + char tmpStr[128]; + + CheckDbConnection(); + + port_status[loop].impFile = NULL; + port_status[loop].impLogFile = NULL; + port_status[loop].importNum = 0; + port_status[loop].importedNum = 0; + + //open the export file + if (cmdBuf->optDef[OptNo_impfile].optFlag[0] > 0 && + strlen(cmdBuf->optDef[OptNo_impfile].optValue) > 0) { + //open import file + port_status[loop].impFile = + fopen(cmdBuf->optDef[OptNo_impfile].optValue, "r"); + if (port_status[loop].impFile == NULL) { + //perror("fopen"); + sprintf(OutputBuf, "%s:%s\n\r", ERR_0258, + cmdBuf->optDef[OptNo_impfile].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + //open import log file + sprintf(tmpStr, "%s.implog", + cmdBuf->optDef[OptNo_impfile].optValue); + port_status[loop].impLogFile = fopen(tmpStr, "w"); + if (port_status[loop].impLogFile == NULL) { + perror("fopen"); + sprintf(OutputBuf, "%s:%s\n\r", ERR_0258, tmpStr); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + + for (i = 0; i < CmdBufSize; i++) { + if (cmdBuf == &defCmdBuf[i]) { + port_status[loop].cmdBufNum = i; + break; + } + } + port_status[loop].impDoingFlag = 1; + return (0); +} + +/************************************************* +Function: // doCmdImport +Description: // 执行import操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doingCmdImport(char *inputBuf, int sock, int loop) +{ + int i; + int optNo; + long int m, n; + char tmpStr[128]; + char tmpSql[1024]; + long l_time; + struct tm *t; + + CheckDbConnection(); + + CmdTypeNo = CMD_IMPORT; + cmdBuf = &defCmdBuf[port_status[loop].cmdBufNum]; + m = port_status[loop].importNum; + n = port_status[loop].importNum + 10; + + //get one line and fill to inputBuf and exchange to cmdBuf + for (; m < n; m++, port_status[loop].importNum++) { + memset(inputBuf, 0, InputBufSize); + memset(FieldNameList, 0, sizeof(FieldNameList)); + if (fgets(inputBuf, InputBufSize, port_status[loop].impFile) == + NULL) { + fclose(port_status[loop].impFile); + fclose(port_status[loop].impLogFile); + sprintf(OutputBuf, + "%s:Total imported %ld %s(s).Import log is in %s.implog\n\r", + ERR_0000, port_status[loop].importedNum, + cmdBuf->objectStr, + cmdBuf->optDef[OptNo_impfile].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Command:%s,Result:%s\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, port_status[loop].tmpInputBuf, + OutputBuf, port_status[loop].username, + t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, + t->tm_hour, t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + usleep(delayTime); + sprintf(OutputBuf, "%s", "\rCLI>"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + port_status[loop].time = time(NULL); + port_status[loop].impDoingFlag = 0; + break; + } +#ifdef SMCLI_DEBUG + printf("%s \n", inputBuf); +#endif + if (inputBuf[0] == '#') { + continue; + } + i = strlen(inputBuf); + if (inputBuf[i - 1] == '\n') + inputBuf[i - 1] = '\0'; + //init all optFlage[0] + for (optNo = 0; optNo < cmdBuf->optDefNum; optNo++) { + if (strlen(cmdBuf->optDef[optNo].fieldName) > 0) { + cmdBuf->optDef[optNo].optFlag[0] = 0; + } + } + + CmdTypeNo = CMD_CREATE; + if (procInput(inputBuf, 1, sock, loop) != 0) { + sprintf(OutputBuf, "\rImport %s=%s failed\n\r", + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + fputs(OutputBuf, port_status[loop].impLogFile); + fputs("\n", port_status[loop].impLogFile); + CmdTypeNo = CMD_IMPORT; + continue; + } + CmdTypeNo = CMD_IMPORT; + + if (doCmdCreate(1, sock, loop) == 0) { + sprintf(tmpStr, "\rImport %s=%s ok\n\r", + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + port_status[loop].importedNum++; + } else { + sprintf(tmpStr, "\rImport %s=%s failed\n\r", + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + } + sprintf(OutputBuf, "%s", tmpStr); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + fputs(tmpStr, port_status[loop].impLogFile); + fputs("\n", port_status[loop].impLogFile); + } + return (0); +} + +/************************************************* +Function: // doCmdDisconnect +Description: // 执行disconnect操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdDisconnect(int sock, int loop) +{ + int i = 0; + int j = 0; + int findFlag = 0; + + CheckDbConnection(); + + for (i = 1; i < CmdBufSize; i++) + defCmdBuf[i].isConnected = port_status[loop].isConnected[i]; + + for (i = 1; i < CmdBufSize; i++) { + if (strcmp(cmdBuf->serverStr, defCmdBuf[i].serverStr) == 0) { + if (defCmdBuf[i].isConnected > 0) { + defCmdBuf[i].isConnected = 0; + port_status[loop].isConnected[i] = 0; + findFlag = 1; + j = i; + } + } + } + + if (findFlag) { + sprintf(OutputBuf, "%s:Disconnected from %s\n\r", ERR_0000, + port_status[loop].ip[j]); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } else { + sprintf(OutputBuf, "%s:No server has been connected yet.\n\r", + ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + return (0); +} + +/************************************************* +Function: // doCmdRecharge +Description: // 执行recharge操作 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdRecharge(int sock, int loop) +{ + int i, tmpValue; + char tmpSql[4096]; + char tmpStr[512]; + char tmpStr1[512]; + char where[256]; + char outField[1024]; + char tmpOutField[256]; + long l_time; + struct tm *t; + + int balance_pos=-1; + int mo_vday_pos=-1; + int mt_vday_pos=-1; + int credit_pos=-1; + int mo_expiration_date_pos=-1; + int mt_expiration_date_pos=-1; + int promotion_balance_pos=-1; + int promotion_credit_pos=-1; + int promotion_date_pos=-1; + int promotion_vday_pos=-1; + + CheckDbConnection(); + + l_time = time(NULL); + t = localtime(&l_time); //init t + + memset(FieldNameList, 0, sizeof(FieldNameList)); + + + for(i=0;ioptDefNum;i++) + { + if(strcmp(cmdBuf->optDef[i].fieldName,"balance") == 0) + balance_pos=i; + else if(strcmp(cmdBuf->optDef[i].fieldName,"mo_expiration_date") == 0) + mo_expiration_date_pos=i; + else if(strcmp(cmdBuf->optDef[i].fieldName,"mt_expiration_date") == 0) + mt_expiration_date_pos=i; + else if(strcmp(cmdBuf->optDef[i].optName,"mo_vday") == 0) + mo_vday_pos=i; + else if(strcmp(cmdBuf->optDef[i].optName,"mt_vday") == 0) + mt_vday_pos=i; + else if(strcmp(cmdBuf->optDef[i].optName,"credit") == 0) + credit_pos=i; + else if(strcmp(cmdBuf->optDef[i].optName,"promotion_balance") == 0) + promotion_balance_pos=i; + else if(strcmp(cmdBuf->optDef[i].optName,"promotion_credit") == 0) + promotion_credit_pos=i; + else if(strcmp(cmdBuf->optDef[i].optName,"promotion_date") == 0) + promotion_date_pos=i; + else if(strcmp(cmdBuf->optDef[i].optName,"promotion_vday") == 0) + promotion_vday_pos=i; + } + + if(credit_pos == -1 || + balance_pos == -1 || + mo_vday_pos == -1 || + mt_vday_pos == -1 || + mo_expiration_date_pos == -1 || + mt_expiration_date_pos == -1 || + promotion_balance_pos == -1 || + promotion_credit_pos == -1 || + promotion_date_pos == -1 || + promotion_vday_pos == -1 + ) + { + sprintf(OutputBuf, "%s:configuration error\n\r",ERR_0010); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + if (atoi(cmdBuf->optDef[11].fieldValue) > 2) { + sprintf(OutputBuf, "%s:status is %s!\n\r", ERR_0259, + cmdBuf->optDef[11].fieldValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + sprintf(tmpSql, "UPDATE %s SET ", cmdBuf->tmpTable); + sprintf(outField, "-msisdn %s", cmdBuf->optDef[OptNo_index].optValue); + + if(strlen(cmdBuf->optDef[mo_vday_pos].optValue) > 0) + { + if(opt_date(cmdBuf->optDef[mo_expiration_date_pos].fieldValue,cmdBuf->optDef[mo_vday_pos].optValue,tmpStr) == NULL) + { + sprintf(OutputBuf, "%s:time value %s invalid\n\r", ERR_0203,cmdBuf->optDef[mo_vday_pos].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + else + { + sprintf(tmpStr1,"%s = \'%s\',",cmdBuf->optDef[mo_expiration_date_pos].fieldName,tmpStr); + strcat(tmpSql, tmpStr1); + strcat(FieldNameList,cmdBuf->optDef[mo_expiration_date_pos].fieldName); + strcat(FieldNameList,","); + sprintf(tmpOutField," -%s %s",cmdBuf->optDef[mo_expiration_date_pos].optName,tmpStr); + strcat(outField, tmpOutField); + } + } + + if(strlen(cmdBuf->optDef[mt_vday_pos].optValue) > 0) + { + if(opt_date(cmdBuf->optDef[mt_expiration_date_pos].fieldValue,cmdBuf->optDef[mt_vday_pos].optValue,tmpStr) == NULL) + { + sprintf(OutputBuf, "%s:time value %s invalid\n\r", ERR_0203,cmdBuf->optDef[mt_vday_pos].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + else + { + sprintf(tmpStr1,"%s = \'%s\',",cmdBuf->optDef[mt_expiration_date_pos].fieldName,tmpStr); + strcat(tmpSql, tmpStr1); + strcat(FieldNameList,cmdBuf->optDef[mt_expiration_date_pos].fieldName); + strcat(FieldNameList,","); + sprintf(tmpOutField," -%s %s",cmdBuf->optDef[mt_expiration_date_pos].optName,tmpStr); + strcat(outField, tmpOutField); + } + } + + if(strlen(cmdBuf->optDef[promotion_vday_pos].optValue) > 0) + { + if(opt_date(cmdBuf->optDef[promotion_date_pos].fieldValue,cmdBuf->optDef[promotion_vday_pos].optValue,tmpStr) == NULL) + { + sprintf(OutputBuf,"%s:time value %s invalid\n\r", ERR_0203,cmdBuf->optDef[promotion_vday_pos].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + else + { + sprintf(tmpStr1,"%s = \'%s\',",cmdBuf->optDef[promotion_date_pos].fieldName,tmpStr); + strcat(tmpSql, tmpStr1); + strcat(FieldNameList,cmdBuf->optDef[promotion_date_pos].fieldName); + strcat(FieldNameList,","); + sprintf(tmpOutField," -%s %s",cmdBuf->optDef[promotion_date_pos].optName,tmpStr); + strcat(outField, tmpOutField); + } + } + + if(cmdBuf->optDef[credit_pos].optValue[0] == '~') + { + tmpValue=atol(cmdBuf->optDef[balance_pos].fieldValue) - atol(&cmdBuf->optDef[credit_pos].optValue[1]); + } + else + { + tmpValue=atol(cmdBuf->optDef[balance_pos].fieldValue) + atol(cmdBuf->optDef[credit_pos].optValue); + } + sprintf(tmpStr,"%s = \'%d\',",cmdBuf->optDef[balance_pos].fieldName,tmpValue); + strcat(tmpSql, tmpStr); + if(tmpValue < 0) + { + sprintf(tmpOutField," %s ~%d",cmdBuf->optDef[balance_pos].optName,-tmpValue); + } + else + { + sprintf(tmpOutField," %s %d",cmdBuf->optDef[balance_pos].optName,tmpValue); + } + strcat(outField, tmpOutField); + strcat(FieldNameList,cmdBuf->optDef[balance_pos].fieldName); + strcat(FieldNameList,","); + + if(cmdBuf->optDef[promotion_credit_pos].optValue[0] == '~') + { + tmpValue=atol(cmdBuf->optDef[promotion_balance_pos].fieldValue) - atol(&cmdBuf->optDef[promotion_credit_pos].optValue[1]); + } + else + { + tmpValue=atol(cmdBuf->optDef[promotion_balance_pos].fieldValue) + atol(cmdBuf->optDef[promotion_credit_pos].optValue); + } + sprintf(tmpStr,"%s = \'%d\'",cmdBuf->optDef[promotion_balance_pos].fieldName,tmpValue); + strcat(tmpSql, tmpStr); + if(tmpValue < 0) + { + sprintf(tmpOutField," %s ~%d",cmdBuf->optDef[promotion_balance_pos].optName,-tmpValue); + } + else + { + sprintf(tmpOutField," %s %d",cmdBuf->optDef[promotion_balance_pos].optName,tmpValue); + } + strcat(outField, tmpOutField); + strcat(FieldNameList,cmdBuf->optDef[promotion_balance_pos].fieldName); + + if (strlen(FieldNameList) < 2) { + sprintf(OutputBuf, "%s:Cannot find fields!\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + if (exValueOptToField(OptNo_index) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + sprintf(where, " WHERE %s =\'%s\'", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + strcat(tmpSql, where); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + + if (sendCmd(sock, loop) != 0) { + return (1); + } + + if (scanCmd(sock) != 0) { + return (1); + } + + sprintf(OutputBuf, "ppsuser %s\n\r%s\n\r", outField, ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // procAccount +Description: // 处理account对象 +Calls: // mysql_num_rows; mysql_free_result; send; +Called By: // +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int procAccount(int sock, int loop) +{ + char tmpSql[1024]; + char *tmpAddr; + long l_time; + struct tm *t; + + CheckDbConnection(); + + if (strcmp(port_status[loop].username, "accountManager") == 0) + port_status[loop].privilege = 4; + switch (CmdTypeNo) { + case CMD_READ: + doCmdReadAccount(0, sock, loop); + break; + case CMD_MODIFY: + doCmdModifyAccount(sock, loop); + break; + case CMD_CREATE: + doCmdCreateAccount(sock, loop); + break; + case CMD_DELETE: + doCmdDeleteAccount(sock, loop); + break; + case CMD_EXPORT: + doCmdExportAccount(sock, loop); + break; + case CMD_ALIVE: + doCmdAlive(sock); + break; + case CMD_HELP: + doCmdHelp(sock); + break; + default: + sprintf(OutputBuf, "%s:%d\n\r", ERR_0001, CmdTypeNo); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + if ((tmpAddr = + strstr(port_status[loop].tmpInputBuf, "-password")) != 0) { + tmpAddr = tmpAddr + 10; + while ((*(tmpAddr + 1) != '-') && (*tmpAddr != '\0')) { + *tmpAddr = '*'; + tmpAddr++; + } + } + + + + + + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Command:%s,Result:%s\',\'smcli:%s\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, port_status[loop].tmpInputBuf, OutputBuf, + port_status[loop].username, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + usleep(delayTime); + sprintf(OutputBuf, "%s", "CLI>"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + port_status[loop].time = time(NULL); + if (strcmp(port_status[loop].username, "accountManager") == 0) + port_status[loop].privilege = 3; + return 0; +} + +/************************************************* +Function: // doCmdReadAccount +Description: // 执行read account操作 +Calls: // +Called By: // procAccount +Table Accessed: // +Table Updated: // +Input: // exportFlag:是否export; sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdReadAccount(unsigned char exportFlag, int sock, int loop) +{ + int i = 0; + int j = 0; + char tmpStr[512]; + char tmpSql[1024]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + char tmpBuf[1024]; + + CheckDbConnection(); + + if (exValueOptToField(OptNo_index) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + memset(FieldNameList, 0, sizeof(FieldNameList)); + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0) { + sprintf(tmpStr, " %s,", cmdBuf->optDef[i].fieldName); + strcat(FieldNameList, tmpStr); + } + } + i = strlen(FieldNameList); + FieldNameList[i - 1] = '\0'; //delete the lastest ',' + + sprintf(tmpSql, "SELECT %s FROM %s " + "WHERE %s=\'%s\'", + FieldNameList, + cmdBuf->srcTable, + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); +#ifdef SMCLI_DEBUG + printf("tmpSql=%s\n", tmpSql); +#endif + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + sprintf(OutputBuf, "%s:Cannot get this object value record!\n\r", + ERR_0200); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + mysql_free_result(tmpResult); + return (1); + } else { + //get record's value and fill to fieldValue + j = 0; + tmpRow = mysql_fetch_row(tmpResult); + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0) { + sprintf(cmdBuf->optDef[i].fieldValue, "%s", tmpRow[j]); + //exchange fieldValue for optValue + exValueFieldToOpt(i); + //writeDebug("i=%d",i); + +#ifdef SMCLI_DEBUG + printf("%s, %s <- %s \n", cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue, + cmdBuf->optDef[i].fieldValue); +#endif + j++; + } + } + mysql_free_result(tmpResult); + if (exportFlag == 0) { + if (port_status[loop].privilege <= + atoi(cmdBuf->optDef[OptNo_privilege].fieldValue)) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0012, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } else { + if (port_status[loop].privilege <= + atoi(cmdBuf->optDef[OptNo_privilege].fieldValue)) { + return (2); + } + } + + //display + if (exportFlag != 0) { + return (0); + } + sprintf(tmpBuf, "%s", cmdBuf->objectStr); + for (i = 0; i < cmdBuf->optDefNum; i++) { + if ((cmdBuf->optDef[i].optFlag[CMD_READ] <= + port_status[loop].privilege) && (i != OptNo_password)) { + sprintf(tmpStr, " -%s %s", cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + strcat(tmpBuf, tmpStr); + } + } + sprintf(tmpStr, "\n\r%s\n\r", ERR_0000); + strcat(tmpBuf, tmpStr); + //writeDebug("tmpBuf=%s",tmpBuf); + + OutputLen = strlen(tmpBuf); + send(sock, tmpBuf, OutputLen, 0); + return (0); + } +} + +/************************************************* +Function: // doCmdModifyAccount +Description: // 执行modify account操作 +Calls: // +Called By: // procAccount +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdModifyAccount(int sock, int loop) +{ + int i = 0; + char tmpSql[1024]; + char tmpStr[512]; + char where[256]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + + CheckDbConnection(); + + //把输入的account_name参数的值从输入输出格式转换成数据库格式 + if (exValueOptToField(OptNo_index) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //获得被修改帐户的权限 + sprintf(tmpSql, "SELECT privilege FROM %s " + "WHERE %s=\'%s\'", + cmdBuf->srcTable, + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); +#ifdef SMCLI_DEBUG + printf("tmpSql=%s\n", tmpSql); +#endif + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + //数据库中不存在被修改的用户 + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + sprintf(OutputBuf, "%s:Cannot get this object value record!\n\r", + ERR_0200); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + mysql_free_result(tmpResult); + return (1); + } else { + //get record's value and fill to fieldValue + tmpRow = mysql_fetch_row(tmpResult); + //被修改的帐户的权限比修改帐户的权限大 + if (port_status[loop].privilege <= atoi(tmpRow[0])) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0012, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + mysql_free_result(tmpResult); + return (1); + } + mysql_free_result(tmpResult); + } + + //帐户修改者要修改被修改帐户者的权限 + if (cmdBuf->optDef[OptNo_privilege].optFlag[0] > 0) { + //权限值是两位数,非法权限 + if (strlen(cmdBuf->optDef[OptNo_privilege].optValue) > 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0010, + cmdBuf->optDef[OptNo_privilege].optName, + cmdBuf->optDef[OptNo_privilege].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //权限值不在0和9之内,非法权限 + if ((cmdBuf->optDef[OptNo_privilege].optValue[0] < '0') + || (cmdBuf->optDef[OptNo_privilege].optValue[0] > '9')) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0010, + cmdBuf->optDef[OptNo_privilege].optName, + cmdBuf->optDef[OptNo_privilege].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //非法权限值 + if (exValueOptToField(OptNo_privilege) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_privilege].optName, + cmdBuf->optDef[OptNo_privilege].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //修改帐户者的权限小于最后要修改的权限值 + if (port_status[loop].privilege <= + atoi(cmdBuf->optDef[OptNo_privilege].fieldValue)) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0012, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + + memset(FieldNameList, 0, sizeof(FieldNameList)); + sprintf(tmpSql, "UPDATE %s SET ", cmdBuf->srcTable); + //对命令中输入的参数值转换成数据库格式的值 + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0 + && cmdBuf->optDef[i].optFlag[0] > 0 && i != OptNo_index) { + if (exValueOptToField(i) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + } + + //构造命令所携带的所有参数的sql语句,以便更新数据库 + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0 + && cmdBuf->optDef[i].optFlag[0] > 0 && i != OptNo_index) { + if (i == OptNo_password) + sprintf(tmpStr, " %s = password(\'%s\'),", + cmdBuf->optDef[i].fieldName, + cmdBuf->optDef[i].fieldValue); + else + sprintf(tmpStr, " %s =\'%s\',", + cmdBuf->optDef[i].fieldName, + cmdBuf->optDef[i].fieldValue); + if (!strstr(FieldNameList, cmdBuf->optDef[i].fieldName)) { + strcat(tmpSql, tmpStr); + strcat(FieldNameList, cmdBuf->optDef[i].fieldName); + strcat(FieldNameList, ","); + } + } + } + + //没有指定修改的参数 + if (strlen(FieldNameList) < 2) { + sprintf(OutputBuf, "%s:Cannot find fields!\n\r", ERR_0002); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //删除最后一个逗号 + i = strlen(tmpSql); + tmpSql[i - 1] = '\0'; + i = strlen(FieldNameList); + FieldNameList[i - 1] = '\0'; + + //构造语句条件 + sprintf(where, " WHERE %s =\'%s\'", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + strcat(tmpSql, where); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + + //成功执行命令 + sprintf(OutputBuf, "%s \n\r", ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // doCmdCreateAccount +Description: // 执行create account操作 +Calls: // +Called By: // procAccount +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdCreateAccount(int sock, int loop) +{ + int i = 0; + char tmpSql[1024]; + char tmpStr[512]; + + CheckDbConnection(); + + //被创建帐户的权限值是两位数,非法权限 + if (strlen(cmdBuf->optDef[OptNo_privilege].optValue) > 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0010, + cmdBuf->optDef[OptNo_privilege].optName, + cmdBuf->optDef[OptNo_privilege].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //被创建帐户的权限值不在0和9之间,非法权限 + if ((cmdBuf->optDef[OptNo_privilege].optValue[0] < '0') + || (cmdBuf->optDef[OptNo_privilege].optValue[0] > '9')) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0010, + cmdBuf->optDef[OptNo_privilege].optName, + cmdBuf->optDef[OptNo_privilege].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //创建帐户者的权限比被创建帐户者的权限小 + if (port_status[loop].privilege <= + atoi(cmdBuf->optDef[OptNo_privilege].optValue)) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0012, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //把命令的每个参数值转换成数据库存储的形式 + sprintf(tmpSql, "REPLACE %s SET ", cmdBuf->srcTable); + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0) { + if (cmdBuf->optDef[i].optFlag[0] > 0) { + if (exValueOptToField(i) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + } + } + + //构造创建帐户的SQL语句 + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strlen(cmdBuf->optDef[i].fieldName) > 0) { + if (cmdBuf->optDef[i].optFlag[0] > 0) { + if (i == OptNo_password) + sprintf(tmpStr, " %s =password(\'%s\'),", + cmdBuf->optDef[i].fieldName, + cmdBuf->optDef[i].fieldValue); + else + sprintf(tmpStr, " %s =\'%s\',", + cmdBuf->optDef[i].fieldName, + cmdBuf->optDef[i].fieldValue); + strcat(tmpSql, tmpStr); + } + } + } + + i = strlen(tmpSql); + tmpSql[i - 1] = '\0'; //delete the lastest ',' +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + + //成功创建帐户执行命令 + sprintf(OutputBuf, "%s\n\r", ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // doCmdDeleteAccount +Description: // 执行delete account操作 +Calls: // +Called By: // procAccount +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdDeleteAccount(int sock, int loop) +{ + char tmpSql[1024]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + + CheckDbConnection(); + //把命令中的参数的值转换成数据库存储的格式 + if (exValueOptToField(OptNo_index) == 1) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + + //获取被删除帐户的权限 + sprintf(tmpSql, "SELECT privilege FROM %s " + "WHERE %s=\'%s\'", + cmdBuf->srcTable, + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); +#ifdef SMCLI_DEBUG + printf("tmpSql=%s\n", tmpSql); +#endif + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + //被删除的帐户不存在 + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + sprintf(OutputBuf, "%s:Cannot get this object value record!\n\r", + ERR_0200); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + mysql_free_result(tmpResult); + return (1); + } else { + //get record's value and fill to fieldValue + tmpRow = mysql_fetch_row(tmpResult); + //被删除帐户的权限大于操作帐户者的权限 + if (port_status[loop].privilege <= atoi(tmpRow[0])) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0012, + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + mysql_free_result(tmpResult); + return (1); + } + } + + //删除帐户 + sprintf(tmpSql, "Delete FROM %s WHERE %s=\'%s\'", cmdBuf->srcTable, + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->optDef[OptNo_index].fieldValue); + mysql_getnores(dbConn, tmpSql); + + //成功执行删除帐户的命令 + sprintf(OutputBuf, "%s\n\r", ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // doCmdExportAccount +Description: // 执行export account的操作 +Calls: // +Called By: // procAccount +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client; loop:the index of the port_status; +Output: // +Return: // 0:successful; >0:failed; +Others: // +*************************************************/ +int doCmdExportAccount(int sock, int loop) +{ + int i = 0; + int j = 0; + int exportedNum = 0; + int maxNum; + int result; + char tmpStr[128]; + char tmpSql[1024]; + char tmpBuf[1024]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + FILE *expFile = NULL; + + CheckDbConnection(); + + //如果命令里有带query参数,并且值不为空 + if (cmdBuf->optDef[OptNo_query].optFlag[0] > 0 + && strlen(cmdBuf->optDef[OptNo_query].optValue) > 0) { + sprintf(tmpSql, "SELECT %s FROM %s WHERE %s ORDER BY %s", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->srcTable, ExportQueryStr, + cmdBuf->optDef[OptNo_index].fieldName); + } + //如果没有query参数,则查询数据库就不带条件限制 + else { + sprintf(tmpSql, "SELECT %s FROM %s ORDER BY %s", + cmdBuf->optDef[OptNo_index].fieldName, + cmdBuf->srcTable, cmdBuf->optDef[OptNo_index].fieldName); + } + + + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + +#ifdef SMCLI_DEBUG + printf("tmpSql= %s\n\r", tmpSql); +#endif + + //数据库没有任何记录 + if (tmpResult == NULL || (maxNum = mysql_num_rows(tmpResult)) == 0) { + mysql_free_result(tmpResult); + sprintf(OutputBuf, "%s:Cannot get this object value record!\n\r", + ERR_0200); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); +#ifdef SMCLI_DEBUG + printf("%d-", __LINE__); +#endif + return (1); + } + + //如果命令里有参数max,并且值不为空 + if (cmdBuf->optDef[OptNo_max].optFlag[0] > 0 + && strlen(cmdBuf->optDef[OptNo_max].optValue) > 0) { + if (strcmp(cmdBuf->optDef[OptNo_max].optValue, "all") != 0) + if (strlen(cmdBuf->optDef[OptNo_max].optValue) > 6) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_max].optName, + cmdBuf->optDef[OptNo_max].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + //判断max参数的值是否合法 + for (i = 0; i < strlen(cmdBuf->optDef[OptNo_max].optValue); i++) { + if (isdigit(cmdBuf->optDef[OptNo_max].optValue[i]) <= 0) { + sprintf(OutputBuf, "%s:%s %s\n\r", ERR_0203, + cmdBuf->optDef[OptNo_max].optName, + cmdBuf->optDef[OptNo_max].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (1); + } + } + //获取max参数的值 + maxNum = atoi(cmdBuf->optDef[OptNo_max].optValue); + } else + maxNum = 10; + + + + cmdBuf->optDef[OptNo_index].optFlag[0] = 1; + //如果有expfile参数并且值不为空的话 + if (cmdBuf->optDef[OptNo_expfile].optFlag[0] > 0 && + strlen(cmdBuf->optDef[OptNo_expfile].optValue) > 0) { + //打开指定的导出文件 + expFile = fopen(cmdBuf->optDef[OptNo_expfile].optValue, "w"); + if (expFile == NULL) { + perror("fopen"); + sprintf(OutputBuf, "%s:%s\n\r", ERR_0258, + cmdBuf->optDef[OptNo_expfile].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + mysql_free_result(tmpResult); + return (1); + } + //在数据库里获取指定个数的记录 + while ((tmpRow = mysql_fetch_row(tmpResult)) && j < maxNum) { + strcpy(cmdBuf->optDef[OptNo_index].fieldValue, tmpRow[0]); + exValueFieldToOpt(OptNo_index); + result = doCmdReadAccount(1, sock, loop); + if (result == 2) + continue; + else if (result == 0) { + //把每一条记录写进指定的文件 + fputs(cmdBuf->objectStr, expFile); + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (cmdBuf->optDef[i].optFlag[CMD_READ] <= + port_status[loop].privilege) { + if (cmdBuf->optDef[OptNo_fields].optFlag[0] > 0) { + sprintf(tmpStr, "%s ", + cmdBuf->optDef[i].optName); + if (strstr(ExportFieldsStr, tmpStr) == 0) { + continue; + } + } + sprintf(tmpStr, " -%s %s", + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + fputs(tmpStr, expFile); + } + } + fputs("\n", expFile); + //在客户端输出提示信息 + sprintf(OutputBuf, "Export %s=%s ok\n\r", + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + exportedNum++; + j++; + } else { + sprintf(OutputBuf, "Export %s=%s failed\n\r", + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + j++; + } + } + fclose(expFile); + sprintf(OutputBuf, "%s:Exported %d %s(s) in %s \n\r", ERR_0000, + exportedNum, cmdBuf->objectStr, + cmdBuf->optDef[OptNo_expfile].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + //如果未指定导出文件,则把记录直接输出到客户端上 + else { + while ((tmpRow = mysql_fetch_row(tmpResult)) && j < maxNum) { + strcpy(cmdBuf->optDef[OptNo_index].fieldValue, tmpRow[0]); + exValueFieldToOpt(OptNo_index); + result = doCmdReadAccount(1, sock, loop); + if (result == 2) + continue; + else if (result == 0) { + sprintf(OutputBuf, "%s", cmdBuf->objectStr); + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (cmdBuf->optDef[i].optFlag[CMD_READ] <= + port_status[loop].privilege) { + if (cmdBuf->optDef[OptNo_fields].optFlag[0] > 0) { + sprintf(tmpStr, "%s ", + cmdBuf->optDef[i].optName); + if (strstr(ExportFieldsStr, tmpStr) == 0) { + continue; + } + } + sprintf(tmpBuf, " -%s %s", + cmdBuf->optDef[i].optName, + cmdBuf->optDef[i].optValue); + strcat(OutputBuf, tmpBuf); + } + } + strcat(OutputBuf, "\n\r"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + exportedNum++; + j++; + } else { + sprintf(OutputBuf, "Export %s=%s failed\n\r", + cmdBuf->optDef[OptNo_index].optName, + cmdBuf->optDef[OptNo_index].optValue); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + j++; + } + } + sprintf(OutputBuf, "%s:Exported %d %s(s) \n\r", ERR_0000, + exportedNum, cmdBuf->objectStr); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + } + mysql_free_result(tmpResult); + return (0); +} + +/************************************************* +Function: // doCmdAlive +Description: // 执行Alive操作 +Calls: // send +Called By: // ReceiveTCP +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client +Output: // +Return: // +Others: // +*************************************************/ +int doCmdAlive(int sock) +{ + sprintf(OutputBuf, "%s\n\r", ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // doCmdHelp +Description: // 执行help命令 +Calls: // send +Called By: // ReceiveTCP +Table Accessed: // +Table Updated: // +Input: // sock:the sockId of the client +Output: // +Return: // +Others: // +*************************************************/ +int doCmdHelp(int sock) +{ + sprintf(OutputBuf, + "-----------------------------------help-----------------------------------------\n\r" + "connect ---- Connect to server(HLR/PPS/VMS/MNP/OPPS/iPALIM)\n\r" + "Usage: connect [type(hlr/pps/mnp/opps/ipalim)] -passwd value\n\r" + " connect [type(hlr/pps/vms/mnp/opps/ipalim)] -srvip ipaddress -passwd value\n\r" + "Example: connect hlr -passwd 123456\n\r" + " connect hlr -srvip 172.18.98.1 -passwd 123456\n\r" + "disconnect ---- Disconnect to server(HLR/PPS/VMS/MNP/OPPS/iPALIM)\n\r" + "Usage: disconnect [type(hlr/pps/vms/mnp/opps/ipalim)]\n\r" + "Example: disconnect hlr\n\r" + "read ---- read a subscriber from server\n\r" + "Usage: read object[type(account/subscriber/ppsuser/ppscard/vmsSubscriber/mnpSubscriber/oppsSubscriber/ipalimSubscriber)] -keyName(account_name/imsi/msisdn/cardno/msisdn/msisdn) keyValue\n\r" + "Example: read subscriber -imsi 460022157127001\n\r" + "modify ---- modify a subscriber to server\n\r" + "Usage: modify object[type(account/subscriber/ppsuser/ppscard/vmsSubscriber/ppsParam/mnpSubscriber/oppsSubscriber/registerOpr/ipalimSubscriber)] -keyName(account_name/imsi/msisdn/cardno/msisdn//msisdn ) keyValue -fieldName fieldValue\n\r" + "Example: modify subscriber -imsi 460022157127001 -nam gprs\n\r" + "Example: modify registerOpr -imei 448954827510160 -cardPasswd 0000007600000000\n\r" + "create ---- Create a subscriber to server\n\r" + "Usage: create object[type(account/subscriber/ppsuser/vmsSubscriber/ppsesme/mnpSubscriber/oppsSubscriber/ipalimSubscriber)] -keyName(account_name/imsi/msisdn/msisdn/no/msisdn) keyValue -fieldname fieldValue\n\r" + "Example: create subscriber -imsi 460022157127001 -msisdn 8675557127001 \n\r" + "delete ---- Delete a subscriber\n\r" + "Usage: delete object[type(account/subscriber/ppsuser/vmsSubscriber/mnpSubscriber/oppsSubscriber/ipalimSubscriber)] -keyName(account_name/imsi/msisdn/msisdn/msisdn) keyValue\n\r" + "Example: delete subscriber -imsi 460022157127001\n\r" + "export ---- Export subscribers from server\n\r" + "Usage: export object[type(account/subscriber/ppsuser/vmsSubscriber/mnpSubscriber/oppsSubscriber/ipalimSubscriber)] -query \"query value\" -fields \"fieldname\" -expfile expfilename\n\r" + "Example: export subscriber -query \"imsi is 460022157127001\" -fields \"nam baoc_p\" -expfile /tmp/baseTestHlr\n\r" + "import ---- Import subscribers to server\n\r" + "Usage: import object[type(subscriber/ppsuser/vmsSubscriber/mnpSubscriber/oppsSubscriber/ipalimSubscriber)] -impfile expfilename\n\r" + "Example: import subscriber -impfile /tmp/baseTestHlr.import\n\r" + "recharge ---- Recharge subscribers to server\n\r" + "Usage: recharge object[type(ppsuser)] -fieldname fielaValue\n\r" + "Example: recharge ppsuser -msisdn 86755900000 -credit 500 -promotion_credit 400 -mo_vday 010101 -mt_vday 010202 -promotion_vday 010303\n\r" + "?Alive ---- keep alive \n\r" + "Usage: ?Alive \n\r" + "Example: ?Alive\n\r" + "help ---- display help \n\r" + "Usage: help \n\r" + "Example: help\n\r" + "exit ---- Exit\n\r" + "Usage: exit\n\r" + "Example: exit\n\r" + "--------------------------------------------------------------------------------\n\r"); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + sprintf(OutputBuf, "\n\r%s\n\r", ERR_0000); + OutputLen = strlen(OutputBuf); + send(sock, OutputBuf, OutputLen, 0); + return (0); +} + +/************************************************* +Function: // changeDefaultValue +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void changeDefaultValue() +{ + int i; + FILE *defautValueFile = NULL; + char tmpSql[2048]; + long l_time; + struct tm *t; + + CheckDbConnection(); + + //open the smcli defaultValue file + defautValueFile = fopen(SMCLI_DEFAULT_VALUE_FILE, "r"); + //如果没有这个文件,则在操作记录表里插一条记录 + if (defautValueFile == NULL) { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'There are no smcli default value file or open the file failed\',\'smcli init default value\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, + t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + return; + } + + memset(InputBuf, 0, InputBufSize); + while (fgets(InputBuf, InputBufSize, defautValueFile) != NULL) { +#ifdef SMCLI_DEBUG + printf("%s \n", InputBuf); +#endif + if (InputBuf[0] == '#') { + continue; + } + + i = strlen(InputBuf); + if (InputBuf[i - 1] == '\n') + InputBuf[i - 1] = '\0'; + + changeDefaultValueProcInput(InputBuf); + } + + fclose(defautValueFile); + return; +} + +/************************************************* +Function: // changeDefaultValueProcInput +Description: // +Calls: // +Called By: // changeDefaultValue +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void changeDefaultValueProcInput(char *inputBuf) +{ + int i = 0; + int j = 0; + int k = 0; + int optNo; + char *paramPart = NULL; + char *onePart = NULL; + char tmpSql[2048]; + long l_time; + struct tm *t; + + CheckDbConnection(); + + while ((paramPart = strsep(&(inputBuf), "-"))) { + if (strlen(paramPart) < 2) { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Unknown line:%s\',\'smcli init default value\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, inputBuf, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, + t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + break; + } + + switch (i) { + case 0: //command and object + if (paramPart != NULL) { + k = strlen(paramPart); + while (' ' == *(paramPart + k - 1)) { + k = k - 1; + if (k == 0) + break; + } + *(paramPart + k) = '\0'; + } + if (paramPart != NULL) { + onePart = paramPart; + //object string like "subscriber" or "ppsuser" ... + for (j = 0; j < CmdBufSize; j++) { + if (strcmp(onePart, defCmdBuf[j].objectStr) == 0) { + cmdBuf = &defCmdBuf[j]; + initCmdBuf(cmdBuf); + for (optNo = 9; optNo < cmdBuf->optDefNum; optNo++) + strcpy(cmdBuf->optDef[optNo].fieldValue, + cmdBuf->optDef[optNo].initFieldValue); + break; + } + } + if (j == CmdBufSize) { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Unknown object:%s\',\'smcli init default value\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, onePart, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, + t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + break; + } + } else { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Object is NULL:%s\',\'smcli init default value\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, inputBuf, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, + t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + break; + } + break; + default: //parameters name and value + //parameter name + if ((onePart = strsep(&(paramPart), " "))) { + //try find from cmdBuf(command define array) + for (optNo = 9; optNo < cmdBuf->optDefNum; optNo++) { + if (strcmp(onePart, cmdBuf->optDef[optNo].optName) == + 0) { + //check option define + break; + } + } + //cannot find + if (optNo == cmdBuf->optDefNum) { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Unknown parameter:%s\',\'smcli init default value\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, onePart, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, + t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + break; + } + } else { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Invalid syntax:%s\',\'smcli init default value\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, onePart, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, + t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + break; + } + + //parameter value + //if ((onePart = strsep(&(paramPart), " "))) { + if (paramPart != NULL) { + k = strlen(paramPart); + while (' ' == *(paramPart + k - 1)) { + k = k - 1; + if (k == 0) + break; + } + *(paramPart + k) = '\0'; + } + + if (paramPart != NULL) { + onePart = paramPart; + if (strlen(onePart) >= + sizeof(cmdBuf->optDef[optNo].optValue)) { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Invalid syntax:%s\',\'smcli init default value\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, onePart, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, + t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + break; + } + sprintf(cmdBuf->optDef[optNo].optValue, "%s", onePart); + } else { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Invalid syntax:%s\',\'smcli init default value\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, cmdBuf->optDef[optNo].optName, + t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, + t->tm_hour, t->tm_min, t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + break; + } + + if (exValueOptToField(optNo) == 1) { + l_time = time(NULL); + t = localtime(&l_time); + sprintf(tmpSql, "INSERT INTO %s " + "(operTypeNo,operNo,remark,userName,datetime)" + "VALUES" + "(\'0\',\'0\',\'Error field value:%s %s\',\'smcli init default value\',\'%04d-%02d-%02d %02d:%02d:%02d\')", + sysOperLogTable, cmdBuf->optDef[optNo].optName, + cmdBuf->optDef[optNo].optValue, t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, + t->tm_sec); +#ifdef SMCLI_DEBUG + printf("\n tmpSql=%s \n", tmpSql); +#endif + mysql_getnores(dbConn, tmpSql); + break; + } + break; + } //end of switch + i++; + } //end of while + + for (optNo = 9; optNo < cmdBuf->optDefNum; optNo++) + strcpy(cmdBuf->optDef[optNo].initFieldValue, + cmdBuf->optDef[optNo].fieldValue); + return; +} + +/************************************************* +Function: // getOptNoByName +Description: // 根据参数的名称返回参数的索引 +Calls: // strcmp +Called By: // procInput +Table Accessed: // +Table Updated: // +Input: // optName:参数名称 +Output: // +Return: // 参数的索引 +Others: // +*************************************************/ +int getOptNoByName(char *optName) +{ + int i = 0; + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (strcmp(optName, cmdBuf->optDef[i].optName) == 0) { + return (i); + } + } + return (-1); +} + +/************************************************* +Function: // setBitValue +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // hexStr; byteOffset; bitOffset; bitValue; +Output: // +Return: // +Others: // +*************************************************/ +int setBitValue(char *hexStr, int byteOffset, int bitOffset, unsigned char bitValue) +{ + unsigned char tmpByte = 0; + char tmpStr[2]; + unsigned char flaseArr[8] = + { 0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F }; + unsigned char tureArr[8] = + { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }; + + if (strlen(hexStr) < byteOffset * 2) { + //error + return (1); + } + //ASCII to BCD + omc_AsciiToRbcd(&tmpByte, hexStr + byteOffset * 2, 2); + + //Set bit value + if (bitValue) { //enable + tmpByte = tmpByte | tureArr[bitOffset]; + } else { //disable + tmpByte = tmpByte & flaseArr[bitOffset]; + } + omc_RbcdToAscii(tmpStr, &tmpByte, 2); + + memcpy(hexStr + byteOffset * 2, tmpStr, 2); + return (0); +} + +/************************************************* +Function: // getBitValue +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // hexStr; byteOffset; bitOffset; bitValue +Output: // +Return: // +Others: // 此函数已废弃 +*************************************************/ +int getBitValue(char *hexStr, int byteOffset, int bitOffset, unsigned char *bitValue) +{ + unsigned char tmpByte = 0; + + omc_AsciiToRbcd(&tmpByte, hexStr + byteOffset * 2, 2); +// printf("tmpByte=%c\n", tmpByte); + *bitValue = (tmpByte >> bitOffset) & 0x01; +// printf("bitValue=%s\n", bitValue); + return (0); +} + +/************************************************* +Function: // fieldSync +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // optNo +Output: // +Return: // +Others: // 此函数已废弃 +*************************************************/ +void fieldSync(int optNo) +{ + int i = 0; + if (strlen(cmdBuf->optDef[optNo].optValue) == 0) { + return; + } + + for (i = 0; i < cmdBuf->optDefNum; i++) { + if (i != optNo + && strcmp(cmdBuf->optDef[optNo].fieldName, + cmdBuf->optDef[i].fieldName) == 0) { + strcpy(cmdBuf->optDef[i].fieldValue, + cmdBuf->optDef[optNo].fieldValue); + } + } +} + +/************************************************* +Function: // hex2dec +Description: // 把十六进制的字符串转化为十进制的字符串 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // hexStr:十六进制字符串; decStr:十进制字符串; +Output: // +Return: // +Others: // 此函数已废弃 +*************************************************/ +int hex2dec(char *hexStr, char *decStr) +{ + int len; + int i; + double result = 0; + + len = strlen(hexStr); + for (i = 0; i < len; i++) { + if (hexStr[i] == '0') + result = result; + else if (hexStr[i] == '1') + result = result + ldexp(1, ((len - 1 - i) * 4)); + else if (hexStr[i] == '2') + result = result + ldexp(2, ((len - 1 - i) * 4)); + else if (hexStr[i] == '3') + result = result + ldexp(3, ((len - 1 - i) * 4)); + else if (hexStr[i] == '4') + result = result + ldexp(4, ((len - 1 - i) * 4)); + else if (hexStr[i] == '5') + result = result + ldexp(5, ((len - 1 - i) * 4)); + else if (hexStr[i] == '6') + result = result + ldexp(6, ((len - 1 - i) * 4)); + else if (hexStr[i] == '7') + result = result + ldexp(7, ((len - 1 - i) * 4)); + else if (hexStr[i] == '8') + result = result + ldexp(8, ((len - 1 - i) * 4)); + else if (hexStr[i] == '9') + result = result + ldexp(9, ((len - 1 - i) * 4)); + else if (hexStr[i] == 'A') + result = result + ldexp(10, ((len - 1 - i) * 4)); + else if (hexStr[i] == 'B') + result = result + ldexp(11, ((len - 1 - i) * 4)); + else if (hexStr[i] == 'C') + result = result + ldexp(12, ((len - 1 - i) * 4)); + else if (hexStr[i] == 'D') + result = result + ldexp(13, ((len - 1 - i) * 4)); + else if (hexStr[i] == 'E') + result = result + ldexp(14, ((len - 1 - i) * 4)); + else if (hexStr[i] == 'F') + result = result + ldexp(15, ((len - 1 - i) * 4)); + else + break; + } + sprintf(decStr, "%.0f", result); + return (1); +} + +/************************************************* +Function: // getServerStat +Description: // 获取指定IP地址服务器的状态 +Calls: // pclose; popen; +Called By: // doCmdConnect; +Table Accessed: // +Table Updated: // +Input: // ip:指定的IP地址; +Output: // +Return: // 1:error; 0:ok; +Others: // +*************************************************/ +//return 1:error, 0:ok +int getServerStat(char *ip) +{ + char sysCommStr[100]; + FILE *fp = NULL; + char buff[1024], inputStr[10]; + int n, packetNum; + + sprintf(sysCommStr, "ping -U -c 2 %s|grep -c %s", ip, ip); + //printf("sysCommStr=%s\n",sysCommStr); + if ((fp = popen(sysCommStr, "r")) == NULL) { + return (1); + } + if (fgets(buff, sizeof(buff), fp) == NULL) { + pclose(fp); + return (1); + } + pclose(fp); + n = sscanf(buff, "%s", inputStr); + if (n > 0) { + packetNum = atol(inputStr); + if (packetNum == 4) { + return (0); + } + } + return (1); +} + +int InitDefCmdBuf() +{ + unsigned int i, j, k; + unsigned int CmdDefSize, OptDefSize; + MYSQL *tmpdbConn; + MYSQL_RES *CmdDefResult = NULL; + MYSQL_ROW CmdDefRow = NULL; + MYSQL_RES *OptDefResult = NULL; + MYSQL_ROW OptDefRow = NULL; + char tmpSQL[200] = "\0"; + + tmpdbConn = mysql_conn("localhost", "SMCLI"); + if (tmpdbConn == NULL) + return (-1); + + sprintf(tmpSQL, "SELECT * FROM sysCmdDef ORDER BY keyId"); + CmdDefResult = (MYSQL_RES *) mysql_getres(tmpdbConn, tmpSQL); + if (CmdDefResult != NULL) + CmdDefSize = mysql_num_rows(CmdDefResult); + else + return (-2); + + if (CmdDefSize == 0) { + mysql_free_result(CmdDefResult); + return (-2); + } else if (CmdDefSize > CmdBufSize) { + printf + ("Warning!The number of configed system is larger than the SMCLI support.\n"); + CmdDefSize = CmdBufSize; + } + + for (i = 0; i < CmdDefSize; i++) { + CmdDefRow = mysql_fetch_row(CmdDefResult); + //tmpRow[0] is keyId, ignored + defCmdBuf[i].isConnected = atoi(CmdDefRow[1]); + strncpy(defCmdBuf[i].serverStr, CmdDefRow[2], + sizeof(defCmdBuf[i].serverStr)); + strncpy(defCmdBuf[i].objectStr, CmdDefRow[3], + sizeof(defCmdBuf[i].objectStr)); + strncpy(defCmdBuf[i].ip, CmdDefRow[4], sizeof(defCmdBuf[i].ip)); + defCmdBuf[i].sysTypeNo = atoi(CmdDefRow[5]); + defCmdBuf[i].sysNo = atoi(CmdDefRow[6]); + defCmdBuf[i].subSysNo = atoi(CmdDefRow[7]); + defCmdBuf[i].dataTypeNo = atoi(CmdDefRow[8]); + strncpy(defCmdBuf[i].srcTable, CmdDefRow[9], + sizeof(defCmdBuf[i].srcTable)); + strncpy(defCmdBuf[i].tmpTable, CmdDefRow[10], + sizeof(defCmdBuf[i].tmpTable)); + strncpy(defCmdBuf[i].paramStr, CmdDefRow[11], + sizeof(defCmdBuf[i].paramStr)); + strncpy(defCmdBuf[i].paramTable, CmdDefRow[12], + sizeof(defCmdBuf[i].paramTable)); + strncpy(defCmdBuf[i].cmdFlag, CmdDefRow[13], + sizeof(defCmdBuf[i].cmdFlag)); + for (k = 0; k < MaxCmdTypeNum; k++) { + if (defCmdBuf[i].cmdFlag[k] != 0) + defCmdBuf[i].cmdFlag[k] -= 0x30; + } + + sprintf(tmpSQL, "SELECT * FROM %s ORDER BY keyId", + defCmdBuf[i].objectStr); + //writeDebug("%s",tmpSQL); + OptDefResult = (MYSQL_RES *) mysql_getres(tmpdbConn, tmpSQL); + if (OptDefResult != NULL) + OptDefSize = mysql_num_rows(OptDefResult); + else + return (-2); + if (OptDefSize == 0) { + mysql_free_result(CmdDefResult); + continue; + } else if (OptDefSize > MaxOptNum) { + printf + ("Warning!The number of configed command in %s is larger than the SMCLI supported.\n", + defCmdBuf[i].serverStr); + OptDefSize = MaxOptNum; + } + defCmdBuf[i].optDefNum = OptDefSize; + for (j = 0; j < OptDefSize; j++) { + OptDefRow = mysql_fetch_row(OptDefResult); + strncpy((char*)defCmdBuf[i].optDef[j].optFlag, OptDefRow[1], + MaxCmdTypeNum + 1); + for (k = 0; k < MaxCmdTypeNum + 1; k++) { + if (defCmdBuf[i].optDef[j].optFlag[k] != 0) + defCmdBuf[i].optDef[j].optFlag[k] -= 0x30; + } + strncpy(defCmdBuf[i].optDef[j].optName, OptDefRow[2], + sizeof(defCmdBuf[i].optDef[j].optName)); + defCmdBuf[i].optDef[j].exMode = atoi(OptDefRow[3]); + strncpy(defCmdBuf[i].optDef[j].fieldName, OptDefRow[4], + sizeof(defCmdBuf[i].optDef[j].fieldName)); + strncpy(defCmdBuf[i].optDef[j].initFieldValue, OptDefRow[5], + sizeof(defCmdBuf[i].optDef[j].initFieldValue)); + } + mysql_free_result(OptDefResult); + } + + mysql_free_result(CmdDefResult); + mysql_close(tmpdbConn); + return 0; +} + +void CheckDbConnection() +{ + if(mysql_ping(dbConn)) + { + writeDebug("[ERR 2006][CheckDbConnection]:mysql OMC_PUB has gone away,reconnect"); + mysql_close(dbConn); + dbConn=mysql_conn("localhost","OMC_PUB"); + if(dbConn == NULL) + { + writeDebug("[ERR][CheckDbConnection]:reconnect OMC_PUB"); + } + } +} + +void writeDebug(const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/smcli%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + +char *opt_date(char *org_date,char *opt_value,char *result_date) +{ + struct tm org_t,*result_t; + time_t org_time; + int len; + int sign; + unsigned long opt_second; + + time_t now_time; + struct tm *now_t; + char currtimestr[64]; + + len=strlen(org_date); + if(len < 8) + return NULL; + + now_time=time(NULL); + now_t=localtime(&now_time); + sprintf(currtimestr,"%04d%02d%02d000000",now_t->tm_year+1900,now_t->tm_mon+1,now_t->tm_mday); + + if(strcmp(org_date,currtimestr) < 0) + { + sprintf(org_date,"%s",currtimestr); + } + + if(opt_value[0] == '~') + { + opt_second=atol(&opt_value[1]) * 24 * 3600; + sign=-1; + } + else + { + opt_second=atol(opt_value) * 24 * 3600; + sign=1; + } + memset(&org_t,0,sizeof(org_t)); + org_t.tm_year=(org_date[0] - '0')*1000 + (org_date[1] - '0')*100 +(org_date[2] - '0')*10 +(org_date[3] - '0') - 1900; + if(org_t.tm_year < 0) + return NULL; + org_t.tm_mon=(org_date[4] - '0')*10 + (org_date[5] - '0') - 1; + if(org_t.tm_mon < 0 || org_t.tm_mon > 11) + return NULL; + org_t.tm_mday=(org_date[6] - '0')*10 + (org_date[7] - '0'); + if(org_t.tm_mday < 1 || org_t.tm_mday > 31) + return NULL; + + org_time=mktime(&org_t); + if(sign == -1) + { + if(org_time < opt_second) + return NULL; + org_time-=opt_second; + } + else + { + org_time+=opt_second; + } + result_t=localtime(&org_time); + sprintf(result_date,"%04d%02d%02d000000",result_t->tm_year+1900,result_t->tm_mon+1,result_t->tm_mday); + return result_date; + +} diff --git a/src/accountMgr/c_program/smcli/smcli.h b/src/accountMgr/c_program/smcli/smcli.h new file mode 100644 index 0000000..893538e --- /dev/null +++ b/src/accountMgr/c_program/smcli/smcli.h @@ -0,0 +1,300 @@ +/************************************************* +File name: smcli.h +Author: +Version: 9:00:00 +Date: 2007-8-4 +Description:smcli.c鐨勫ご鏂囦欢锛屽畾涔変簡unitOptDef,CmdBuf,PORT_STATUS绛夌粨鏋 + + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#ifndef _SMCLI_H_ +#define _SMCLI_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include "mysql.h" +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/snmp/src/include/snmp.h" + +#define SMCLI_VERSION "R9V0_1" +#define MAX_CLIENTS 48 +#define SMCLI_PORT 4999 + +#define MaxCmdTypeNum 9 + +#define delayTime 500 + +#define CmdBufSize 12 + +//Command TypeNo define +#define CMD_READ 1 +#define CMD_MODIFY 2 +#define CMD_CREATE 3 +#define CMD_DELETE 4 +#define CMD_CONNECT 5 +#define CMD_EXPORT 6 +#define CMD_IMPORT 7 +#define CMD_DISCONNECT 8 +#define CMD_RECHARGE 9 //20041010 +#define CMD_ALIVE 90 +#define CMD_HELP 91 + +//Database table define +#define CommandTable "OMC_PUB.subscriberComm" +#define paramCommandTable "OMC_PUB.parameterComm" +#define sysInfoTable "OMC_PUB.sysInfo" +#define sysSubsConfTable "OMC_PUB.sysSubsConf" //20041101 +#define sysUserTable "OMC_PUB.sysUser" //operator table +#define sysOperLogTable "OMC_PUB.sysOperLog" +#define smcliIndexTable "OMC_PUB.smcliIndex" //20041119 + +#define SMCLI_DEFAULT_VALUE_FILE "/usr/local/apache/htdocs/smcliDefaultValue.txt" + +//Error display define +#define ERR_0000 "0000:Command successful" +#define ERR_0001 "0001:Unknown command" +#define ERR_0002 "0002:Invalid syntax" +#define ERR_0003 "0003:Invalid command" +#define ERR_0004 "0004:Incomplete command" +#define ERR_0005 "0005:No privilege command" +#define ERR_0010 "0010:Unknown parameter" +#define ERR_0011 "0011:Duplicate parameter" +#define ERR_0012 "0012:No privilege parameter" +#define ERR_0200 "0200:Command failed(General failed)" +#define ERR_0201 "0201:The value is too big" +#define ERR_0202 "0202:No such field" +#define ERR_0203 "0203:Error field value" +#define ERR_0204 "0204:The field is read only" +#define ERR_0205 "0205:General error (not defined error)" +#define ERR_0206 "0206:No access to the field" +#define ERR_0207 "0207:Wrong value type" +#define ERR_0208 "0208:Wrong value length" +#define ERR_0209 "0209:Wrong encoding of the value" +#define ERR_0210 "0210:Wrong value of the field" +#define ERR_0211 "0211:Cannot create the record" +#define ERR_0212 "0212:The value is incosistent" +#define ERR_0213 "0213:Resource unavailable" +#define ERR_0214 "0214:Commit failed(try again)" +#define ERR_0215 "0215:Undo failed" +#define ERR_0216 "0216:Error authorization info" +#define ERR_0217 "0217:The field is not writable" +#define ERR_0218 "0218:Inconsistent field name" +#define ERR_0251 "0251:Unknown error" +#define ERR_0252 "0252:Cannot send command to one object at same time" +#define ERR_0254 "0254:You must connect the server firstly" +#define ERR_0255 "0255:Execute time out" +#define ERR_0256 "0256:Cannot find this server" +#define ERR_0257 "0257:Password error" +#define ERR_0258 "0258:Cannot open the file" +#define ERR_0259 "0259:The subscriber status is invalid" +#define ERR_0260 "0260:Connection failure to" +#define ERR_0261 "0261:You have connected a server,please disconnect the server firstly" +#define ERR_0300 "0300:Time out,please login again" + +//commState define (define in subsComm.h) +#define nProcFail 0 +#define nWaitProc 1 +#define nInProc 2 +#define nOutProc 3 + +#define InputBufSize 8192 +#define OutputBufSize 8192 +#define MaxOptNum 512 + +typedef struct unitOptDef { + unsigned char optFlag[MaxCmdTypeNum + 1]; + //[0]:usedFlag;0=no use,1=used + //[1-8]:match to command type no;0=mandatory,1~8=privilege1..........privilege8,9=nouse + + char optName[64]; //鍙傛暟鍚嶇О + long int exMode; //鍙傛暟鍊肩殑杞崲瀛樺偍妯″紡 + //const + char fieldName[64]; //鍙傛暟鍦ㄦ暟鎹簱閲岀殑鍚嶇О + char initFieldValue[256]; //鍙傛暟鐨勯粯璁ゅ + + char optValue[256]; //鍙傛暟鍊 + char fieldValue[256]; //鍙傛暟鍦ㄦ暟鎹簱閲屽瓨鍌ㄧ殑鍊 +} unitOptDef; + +typedef struct CmdBuf { + unsigned char isConnected; + //const + char serverStr[64]; //璁惧鏈嶅姟鍣ㄥ悕绉 + //const + char objectStr[64]; //鎿嶄綔瀵硅薄鍚嶇О + char ip[16]; //璁惧鏈嶅姟鍣↖P鍦板潃 + + //const + int sysTypeNo; //璁惧鍙 + int sysNo; //绯荤粺鍙 + int subSysNo; //瀛愮郴缁熷彿 + //const + int dataTypeNo; //鐢ㄦ埛鏁版嵁绫诲瀷鍙 + + char srcTable[64]; // + char tmpTable[64]; //20041101 + + char paramStr[64]; + char paramTable[64]; + + //const + char cmdFlag[MaxCmdTypeNum];//鍏鎿嶄綔鐨勬潈闄 + //match to CmdList's sort,0=no support 1~8=privilege1............privilege8 + + unsigned int optDefNum; //鍛戒护鍙互鎿嶄綔鐨勫懡浠ゅ璞′釜鏁 + unitOptDef optDef[MaxOptNum]; //鍛戒护鍙互鎿嶄綔鐨勬墍鏈夊弬鏁板璞 +} CmdBuf; +/* by simon at 23/9/26 */ +// CmdBuf defCmdBuf[CmdBufSize]; + +// struct sockaddr_in cliaddr; + +typedef struct PORT_STATUS { + int connfd; + DWORD peerip; + int peerport; + char username[64]; + char passwd[64]; + int failNo; + unsigned char loginFlag; + unsigned char usernameFlag; + unsigned char isConnected[CmdBufSize]; + char serverStr[CmdBufSize][64]; + char ip[CmdBufSize][16]; + int sysNo[CmdBufSize]; + int subSysNo[CmdBufSize]; + int cmdBufNum; + unsigned char fieldNameFlag; + char fieldNameList[2048]; + char exportFieldsStr[1024]; + FILE *expFile; + FILE *impFile; + FILE *impLogFile; + long int exportedNum; + long int exportNum; + long int exportMaxNum; + long int importedNum; + long int importNum; + BOOL expDoingFlag; + BOOL impDoingFlag; + char tmpInputBuf[InputBufSize]; + unsigned char privilege; + long time; + int paramOperationCount; + + int multiPacketFlag; + char secondPacket[InputBufSize]; +} _PORT_STATUS; + +/* by simon at 23/9/26*/ +// _PORT_STATUS port_status[MAX_CLIENTS]; + +// CmdBuf *cmdBuf; + +//option Flag value define +#define Op_N 0 //no use +#define Op_M 1 //mandatory +#define Op_O 2 //optional +#define Op_S 3 //subjoin + +//default option define,Everyone CmdBuf must have those option +#define OptNo_ipaddress 0 +#define OptNo_passwd 1 +#define OptNo_expfile 2 +#define OptNo_query 3 +#define OptNo_fields 4 +#define OptNo_max 5 +#define OptNo_impfile 6 +#define OptNo_srvip 7 +//#define OptNo_index 8 //index field +//#define OptNo_indexSec 9 //if have second index field +/* by simon at 23/9/26 */ +// int OptNo_index; +#define HLR_OptNo_indexSec 11 //if have second index field + +#define OptNo_password 9 +#define OptNo_privilege 11 + +//exchange mode define +#define exM_same 0 +#define exM_undefined 255 +#define exM_byte0_bit0 100 +#define exM_byte0_bit1 101 +#define exM_byte0_bit2 102 +#define exM_byte0_bit3 103 +#define exM_byte0_bit4 104 +#define exM_byte0_bit5 105 +#define exM_byte0_bit6 106 +#define exM_byte0_bit7 107 +#define exM_byte1_bit0 110 +#define exM_byte1_bit1 111 +#define exM_byte1_bit2 112 +#define exM_byte1_bit3 113 +#define exM_byte1_bit4 114 +#define exM_byte2_bit0 120 +#define exM_byte2_bit1 121 +#define exM_byte2_bit3 123 +#define exM_byte2_bit4 124 +#define exM_byte3_bit0 130 +#define exM_byte4_bit0 140 +#define exM_byte4_bit1 141 +#define exM_byte4_bit5 145 +/* +if (exchange mode ==x1*10000000+x2*100000+x3*1000+x4){ + x1:the optValue type;//0:unsigned digit,1:unsigned hex,2:signed digit,3:signed hex,4:unsigned digit and bofore check the length of the optValue,the optValue need change to hex,5:signed digit and bofore check the length of the optValue,the optValue need change to hex,9:string + x2:the min length of the value + x3:the max length of the value + x4:exchange mode +} +*/ +int exValueFieldToOpt(int optNo); +int exValueOptToField(int optNo); + +int getBitValue(char *hexStr, int byteOffset, int bitOffset, + unsigned char *bitValue); +int setBitValue(char *hexStr, int byteOffset, int bitOffset, + unsigned char bitValue); +void fieldSync(int optNo); +int hex2dec(char *hexStr, char *decStr); + +#endif diff --git a/src/accountMgr/c_program/subsComm/Makefile b/src/accountMgr/c_program/subsComm/Makefile new file mode 100644 index 0000000..4c6ba80 --- /dev/null +++ b/src/accountMgr/c_program/subsComm/Makefile @@ -0,0 +1,78 @@ +#!/bin/sh + +#Author: Cui Ticun +#Version: 9.00.00 +#Date: 2007-7-1 +#Description: Makefile for subsComm module. + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall + +dbINCLUDEFLAG = -I/usr/local/mysql/include +dbLINKFLAG = -L/usr/local/mysql/lib -lmariadbclient -lz + +dbINCLUDEFLAG.ES = -I/usr/include/mariadb +dbLINKFLAG.ES = -L/usr/lib/mysql -lmariadbclient -lz + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/x86_64-linux-gnu -lpthread \ + +LINK_SUFFIX = $(dbINCLUDEFLAG) $(dbLINKFLAG) $(LINKFLAG) +LINK_SUFFIX.ES = $(dbINCLUDEFLAG.ES) $(dbLINKFLAG.ES)$(LINKFLAG) + +PROGS = subsComm + +SUBSCOMM_OBJ = subsCommMain.o subsComm.o +SUBSCOMM_OBJ.ES = subsCommMain.o.ES subsComm.o.ES + +LIB_OBJ = subsComm.o +LIB_OBJ.ES = subsComm.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(SUBSCOMM_OBJ) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(SUBSCOMM_OBJ) $(LINK_SUFFIX) -lm + ar r libsubsComm.a $(LIB_OBJ) + rm -f *.o core *~ + #cp -f $(PROGS) ../../../../bin + #cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(SUBSCOMM_OBJ.ES) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(SUBSCOMM_OBJ) $(LINK_SUFFIX.ES) -lm + ar r libsubsComm.a $(LIB_OBJ) + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +subsCommMain.o: subsCommMain.c + $(CC) $(CFLAGS) -c subsCommMain.c $(dbINCLUDEFLAG) + +subsComm.o: subsComm.c + $(CC) $(CFLAGS) -c subsComm.c $(dbINCLUDEFLAG) + +subsCommMain.o.ES: subsCommMain.c + $(CC) $(CFLAGS) -c subsCommMain.c $(dbINCLUDEFLAG.ES) + +subsComm.o.ES: subsComm.c + $(CC) $(CFLAGS) -c subsComm.c $(dbINCLUDEFLAG.ES) + +clean: + rm -f *.o *.a $(PROGS) diff --git a/src/accountMgr/c_program/subsComm/remark.txt b/src/accountMgr/c_program/subsComm/remark.txt new file mode 100644 index 0000000..471ff9e --- /dev/null +++ b/src/accountMgr/c_program/subsComm/remark.txt @@ -0,0 +1,27 @@ +流程描述 + +//test Sql +INSERT INTO subscriberComm (commType, sysTypeNo, sysNo, subSysNo, bufferNo, fieldNameList, paramType, commState, totalNum, finishNum, sendTime, bgnTime, endTime, remark) +VALUES ('5', '360', '1', '0', '1', 'ALL', '4', '1', '', '', '2003-02-21 15:57:30', '', '', '') + + + +INSERT INTO sysSubsConf + VALUES ( '251', '0', '1', '1.3.6.1.4.1.1373.1.3.3.6.2.2.2.1', '1.3.6.1.4.1.1373.1.3.3.6.2.3.1', 'imsi', '1000', '100', 'snDb.subscriberData'); + +INSERT INTO sysSubsConf + VALUES ( '330', '0', '1', '1.3.6.1.4.1.1373.1.3.3.3.2.6', '1.3.6.1.4.1.1373.1.3.3.3.2.7', 'imsi', '1000', '100', 'HlrDb.subscriberData'); + +INSERT INTO sysSubsConf + VALUES ( '340', '0', '1', '1.3.6.1.4.1.1373.1.3.3.6.2.2.2.1', '1.3.6.1.4.1.1373.1.3.3.6.2.3.1', 'key_imsi', '1000', '100', 'AUC_Para.AUC_Dyn_data'); + +INSERT INTO sysSubsConf + VALUES ( '360', '0', '1', '1.3.6.1.4.1.1373.1.3.3.6.2.2.2.1', '1.3.6.1.4.1.1373.1.3.3.6.2.3.1', 'msisdn', '1000', '100', 'PPS_User_DB.user_info'); + +INSERT INTO sysSubsConf + VALUES ( '380', '0', '1', '1.3.6.1.4.1.1373.1.3.3.6.2.2.2.1', '1.3.6.1.4.1.1373.1.3.3.6.2.3.1', 'imei', '1000', '100', 'EIR_Para.BlackGrayIMEI'); + + +UPDATE OBJ_330.subscriberParamConf SET level_1 = level_5,level_2 =level_6,level_3 ='0',level_4 ='0', +level_7 ='0',level_8 ='0',level_9 ='0',level_10 ='0' +UPDATE OBJ_330.subscriberParamConf SET level_5 = '0',level_6 = '0' \ No newline at end of file diff --git a/src/accountMgr/c_program/subsComm/subsComm.c b/src/accountMgr/c_program/subsComm/subsComm.c new file mode 100644 index 0000000..dc30d83 --- /dev/null +++ b/src/accountMgr/c_program/subsComm/subsComm.c @@ -0,0 +1,2121 @@ +/************************************************* +File name: subsComm.c +Author: +Version: 9:00:00 +Date: 2007-7-27 +Description:该文件实现了用户数据管理模块的主要功能,包括添加,获取,修改,删除一个用户数据, + 或者进行批量读取和批量添加用户数据 + + 调用snmp模块的函数 + void snmp_init(WORD nport); + int snmp_receive(snmp_pdu *msgbuf,snmp_addr *addr); + int snmp_send(snmp_pdu *msgbuf,snmp_addr *addr); + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include +#include +#include "subsComm.h" +#include "mysql.h" + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,2}; +int PROC_HEARTBEAT_OIDLEN=11; + +/***********Private Functions Declare***********************/ +int subsComm_initSysConfArr(); +int subsComm_initParamConfArr(); +int subsComm_initUnitComm(); +int subsCommScan(); +int subsCommProc(); +int subsComm_procResp(); +int subsComm_getIp(); +int subsComm_mkAddr(); +int subsComm_mkPdu(); +int subsComm_mkVarArr(); +int subsComm_updateCommTable(); +void subsComm_freeParamSet(); +int encodeKeyValue(); +int decodeKeyValue(); + +/********** 全局变量定义申明 ************/ +int subsComm_timerCount = 0; +static FILE *subsCommLog; +int oldDay = 0; //1-31 +static MYSQL *dbConn; + +// for smcli +static char errorStatusDescArr[19][50]={"Operation completed","The value is too big","No such field","Error field value", + "The field is read only","General error (not defined error)","No access to the field", + "Wrong value type","Wrong value length","Wrong encoding of the value","Wrong value of the field", + "Cannot create the record","The value is incosistent","Resource unavailable","Commit failed(try again)", + "Undo failed","Error authorization info","The field is not writable","Inconsistent field name"}; +static int MaxErrorStatusNum = 19; +static unitComm commArr[MaxCommNum]; +static unitSysConf sysConfArr[MaxSysConfNum]; +static unitParamConf paramConfArr[MaxParamConfNum]; + +/************************************************* +Function: // subsCommInit +Description: // 初始化subsComm模块,打开日志文件,初始化数据库链接,初始化数据. +Calls: // omcLogInit; mysql_conn; mysql_getnores; subsComm_initSysConfArr; subsComm_initParamConfArr; +Called By: // subsCommMain.c:main; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // 必须首先调用该函数 +*************************************************/ +int subsCommInit() +{ + char commQuery[100] = "\0"; + long nowTime; + struct tm *nowTm; + + + //创建或打开日志文件 + omcLogInit(subsComm_LogPath,subsComm_LogFile,&subsCommLog); + nowTime = time(NULL); + nowTm = localtime(&nowTime); + oldDay = nowTm->tm_mday; + + + //初始化数据库连接 + dbConn = mysql_conn(HOSTNAME,PUB_DB); + if(dbConn == NULL){ + omcLog(subsCommLog,"[ERR][subsCommInit]connection OMC_PUB"); + exitLog("subsComm:subsCommInit, Connect to OMC_PUB error"); + exit(1); + } + + //清空用户命令表 + sprintf(commQuery,"DELETE FROM %s", CommTable); + mysql_getnores(dbConn,commQuery); + //if(!mysql_getnores(dbConn,commQuery)){ + //printf(stderr,"Fail to init command table"); + //omcLog(subsCommLog,"Fail to init command table"); + //exit(1); + //} + + //初始化系统配置参数 + if(!subsComm_initSysConfArr()){ + //printf(stderr,"Fail to init system configuration array"); + omcLog(subsCommLog,"Fail to init system configuration array"); + exitLog("subsComm:subsCommInit, subsComm_initSysConfArr function error"); + exit(1); + } + + //初始化用户数据子对象 + if(!subsComm_initParamConfArr()){ + //printf(stderr,"Fail to init parameter configuration array"); + omcLog(subsCommLog,"Fail to init parameter configuration array"); + exitLog("subsComm:subsCommInit, subsComm_initParamConfArr function error"); + exit(1); + } + return(1); +}//end subsCommInit + +/************************************************* +Function: // sendHeartbeat +Description: // Send process heartbeat to beatProc +Calls: // snmp_send +Called By: // subsCommTimer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK; 0:Fail +Others: // +*************************************************/ +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"subsComm"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + omcLog(subsCommLog,"Send heartbeat fail"); + return 0; + } + return 1; +} + +/************************************************* +Function: // subsCommTimer +Description: // subsComm模块定时器函数,扫描用户数据命令表,并对命令进行处理 +Calls: // subsCommScan; subsCommProc; omcLogInit; +Called By: // cdrmain.c:onTimer; +Table Accessed: // OMC_PUB.subsDataBackupTable; +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // 每4*20ms调用该函数一次 +*************************************************/ +unsigned long heartbeat_timeout=0; +int subsCommTimer() +{ + + + if(time(NULL) - heartbeat_timeout > 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + + //扫描用户数据命令表 + subsCommScan(); + + if(subsComm_timerCount < 300){//300*4*20/1000=24S + subsComm_timerCount++; + }else{ + long l_time; + struct tm *t; + l_time=time(NULL); + t=localtime(&l_time); + + //如果程序运行到新的一天 + if(t->tm_mday != oldDay){ + int i; + char loadoutSql[400]; + char loadoutFile[100]; + char tmpSql[1024]; + MYSQL_RES *tmpResult = NULL; + omcLog(subsCommLog,"Check time nowDay[%d] != oldDay[%d]",t->tm_mday,oldDay); + //backup subscriber's data to subsComm_backupPath + for(i=0;i'0'",subsDataBackupTable,sysConfArr[i].sysTypeNo,sysConfArr[i].dataTypeNo); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + //不对PPS用户数据进行备份,由另外一个程序处理PPS的备份 + if (tmpResult != NULL && mysql_num_rows(tmpResult) > 0) { + mysql_free_result(tmpResult); + //Please wait this command finished + continue ; + }else + mysql_free_result(tmpResult); + + //对前一天的用户数据进行备份 + sprintf(loadoutFile,"%s/%s_%d_%d.csv",subsComm_backupPath, + sysConfArr[i].paramTableName,t->tm_mon + 1,t->tm_mday-1); + unlink(loadoutFile); + sprintf(loadoutSql,"SELECT * INTO OUTFILE '%s' "\ + " FIELDS TERMINATED BY ',' FROM %s",loadoutFile,sysConfArr[i].paramTableName); + mysql_getnores(dbConn,loadoutSql); + omcLog(subsCommLog,"backup %s finished",sysConfArr[i].paramTableName); + + } + + //对新的一天创建一个新的日志文件来保存当天的日志 + omcLogInit(subsComm_LogPath,subsComm_LogFile,&subsCommLog); + oldDay = t->tm_mday; + } + subsComm_timerCount = 0; + } + + //处理用户数据命令表 + if(subsCommProc()){ + return(1); + }else{ + return(0); + } +}//end subsCommTimer + +/************************************************* +Function: // subsCommScan +Description: // 从用户数据命令表中查询要执行的操作命令,并且保存在命令缓冲区里 +Calls: // mysql_getres; mysql_num_rows; subsComm_updateCommTable; subsComm_getIp; +Called By: // subsCommTimer; +Table Accessed: // OMC_PUB.subscriberComm +Table Updated: // +Input: // +Output: // +Return: // >=1:command number; 0:no command; -1:failed +Others: // +*************************************************/ +int subsCommScan() +{ + char commQuery[2048] = "\0"; + char replaceSql[2048] = "\0"; + char paramQuery[2048] = "\0"; + char queryWhere[2048] = "\0"; + char tmpStr[2048] = "\0"; + MYSQL_RES *commResult=NULL; + MYSQL_ROW commRow=NULL; + int i=0, commArrNo=0; + + CheckMysqlConnect(&dbConn); + + + //从用户数据命令表中查找出正在等待执行的命令 + sprintf(commQuery,"SELECT commId,commType,dataTypeNo,sysTypeNo,sysNo,subSysNo,paramType,indexValueList,fieldNameList,remark"\ + " FROM %s WHERE commState = '%d' ORDER BY sysTypeNo,sysNo,subSysNo",CommTable,nWaitProc); + commResult=(MYSQL_RES*)mysql_getres(dbConn,commQuery); + if(commResult == NULL){ + omcLog(subsCommLog,"Database may be stopped,In scan command"); + return(-1); + } + //没有要执行的命令,停止扫描 + else if(mysql_num_rows(commResult) == 0){ + mysql_free_result(commResult); + return(0); + } + + //找到正在等待执行的命令记录 + while((commRow=mysql_fetch_row(commResult)) > 0){ + MYSQL_RES *paramResult=NULL; + //At first,If there are loadIndexComm,Can not process other type comamnd + for(commArrNo = 0; commArrNo < loadDataCommStartNo; commArrNo++){ + //先检查命令数组里面有没有get index的命令,有的话让该命令继续进行处理,结束命令扫描 + if(commArr[commArrNo].commType == nLoadIndexComm && atoi(commRow[1]) == nLoadIndexComm + && (commArr[commArrNo].commState == nWaitProc || commArr[commArrNo].commState == nInProc)){ + #if subsComm_DEBUG + omcLog(subsCommLog,"Uploading data,ignore another Upload command"); + #endif + sprintf(commQuery,"UPDATE %s SET commState='%d',remark='Uploading other subscribers,please wait...' "\ + " WHERE commId = '%s' "\ + ,CommTable,nProcFail,commRow[0]); + mysql_getnores(dbConn,commQuery); + + mysql_free_result(commResult); + return(-1); + } + } + + for(commArrNo = 0; commArrNo < loadDataCommStartNo; commArrNo++){ + //在命令缓冲区找到空闲的命令对象 + if(commArr[commArrNo].procState == nIdle + && commArr[commArrNo].commState != nWaitProc + && commArr[commArrNo].commState != nInProc){ + //对该命令对象的值进行初始化置零 + subsComm_initUnitComm(commArrNo); + break; + }else{ + //命令缓冲区没有空闲的命令对象,结束命令扫描 + if(commArrNo == (loadDataCommStartNo - 1)){ + #if subsComm_DEBUG + omcLog(subsCommLog,"System busy,please wait.."); + #endif + /* + sprintf(commQuery,"UPDATE %s SET commState='%d',remark='CommBuf is full,please wait..' "\ + " WHERE commId = '%s'"\ + ,CommTable,nProcFail,commRow[0]); + mysql_getnores(dbConn,commQuery); + */ + mysql_free_result(commResult); + return(-1); + } + } + }//end of for(..) + + + //把用户数据命令表的命令记录的值赋到命令缓冲区的命令对象里 + commArr[commArrNo].commState = nInProc; + commArr[commArrNo].commNo = atoi(commRow[0]); //<-- + commArr[commArrNo].commType = atoi(commRow[1]); //<-- + commArr[commArrNo].dataTypeNo = atoi(commRow[2]); //<-- + commArr[commArrNo].sysTypeNo = atoi(commRow[3]); //<-- + commArr[commArrNo].sysNo = atoi(commRow[4]); //<-- + commArr[commArrNo].subSysNo = atoi(commRow[5]); //<-- + //commArr[commArrNo].paramType = (BYTE)atoi(commRow[6]); //<-- + //change this,can support delete more one subscriber + if(strlen(commRow[7]) < sizeof(commArr[commArrNo].indexBuffer[0])){ + strcpy(commArr[commArrNo].indexBuffer[0],commRow[7]); //<-- + } + sprintf(commArr[commArrNo].fieldNameList,"%s",commRow[8]); //<-- + + //找到该命令对象对应的系统参数对象的索引号 + for(i=0;i 0){ + sprintf(commArr[i].desc,"send snmp message ok!"); + commArr[i].waitTimeCount = 0; + commArr[i].timeoutCount = 0; + commArr[i].procState = nWaitResponse; + }else{ + sprintf(commArr[i].desc,"failed to send snmp message!"); + commArr[i].commState= nProcFail; + commArr[i].procState = nIdle; + subsComm_updateCommTable(i); + } + break; + //该命令等待应答消息 + case nWaitResponse: + subsComm_mkAddr(i,&tmpAddr); + if(snmp_receive(&tmpPdu,&tmpAddr) > 0){ //received msg ok + int respProcReturn = 0; + //获得对应命令的应答消息 + respProcReturn = subsComm_procResp(&i,&tmpPdu); //here maybe changed i's value + //有效的消息 + if(respProcReturn > 0){//vaild message + if(commArr[i].finishNum >= commArr[i].totalNum){ + //释放该命令对应的数据库资源连接 + subsComm_freeParamSet(i); + if(commArr[i].commType != nLoadIndexComm){ + commArr[i].commState = nOutProc; + } + } + if(commArr[i].commType == nLoadDataComm&&commArr[i].waitTimeCount>0) + omcLog(subsCommLog,"waitTimeCount=%d;timeoutConut=%d",commArr[i].waitTimeCount,commArr[i].timeoutCount); + commArr[i].waitTimeCount = 0; + commArr[i].timeoutCount = 0; + } + //无效的消息 + else if(respProcReturn == 0){//invaild message + if(commArr[i].commType == nLoadIndexComm){ + commArr[i].waitTimeCount = commArr[i].waitTimeCount ++; + }else{ + commArr[i].waitTimeCount++; + //send once and receive more + //it is useful for avoid more invaild message + if(commArr[i].waitTimeCount % 3){ + continue; + } + } + }else{//error report message + if(commArr[i].commType == nLoadDataComm){ + #if subsComm_DEBUG + omcLog(subsCommLog,"get [%s]'s data error!,try to next",commArr[i].indexBuffer[commArr[i].finishNum]); + #endif + if(commArr[i].finishNum < MaxIndexNumPerSeg){ + commArr[i].finishNum++; + continue; + } + } + commArr[i].procState = nIdle; + commArr[i].commState = nProcFail; + subsComm_updateCommTable(i); + break; + } + + if(commArr[i].commType == nLoadIndexComm + && commArr[i].tlvFinishNum == MaxIndexNumPerSeg){ + //insert a loadData command to command array + commArr[i].procState = nWaitIdleComm; + break; + } + //等待超时 + if(commArr[i].waitTimeCount == 20){ + commArr[i].waitTimeCount = 0; + commArr[i].timeoutCount++; + if(commArr[i].timeoutCount > 2){ + if(commArr[i].commType == nLoadIndexComm){ + omcLog(subsCommLog,"Received: get segumentNo [%d] tlv bgn No[%d] timeout!",commArr[i].finishNum,commArr[i].tlvFinishNum); + } + if(commArr[i].commType == nLoadDataComm){ + if(commArr[i].finishNum < MaxIndexNumPerSeg){ + omcLog(subsCommLog,"Received: get [%s]'s data timeout,jump to next!",commArr[i].indexBuffer[commArr[i].finishNum]); + commArr[i].finishNum++; + continue; + } + } + commArr[i].commState = nProcFail; + commArr[i].procState = nIdle; + sprintf(commArr[i].desc,"response timeout"); + subsComm_updateCommTable(i); + break; + } + } + switch(commArr[i].commState){ + case nInProc: + if(commArr[i].finishNum < commArr[i].totalNum){ + // fj + // printf("[subsComm] loading2 segment[%d]\n", commArr[i].finishNum); + + if(subsComm_mkAddr(i,&tmpAddr) < 1){ + subsComm_updateCommTable(i); + break; + } + if(subsComm_mkVarArr(i,tmpVarArr) < 1){ + subsComm_updateCommTable(i); + break; + } + if(subsComm_mkPdu(i,tmpVarArr,&tmpPdu) < 1){ + subsComm_updateCommTable(i); + break; + } + + if((commArr[i].requestId = snmp_send(&tmpPdu,&tmpAddr)) > 0){ + sprintf(commArr[i].desc,"send snmp message ok!"); + commArr[i].procState = nWaitResponse; + }else{ + sprintf(commArr[i].desc,"failed to send snmp message!"); + commArr[i].commState = nProcFail; + commArr[i].procState = nIdle; + } + } + + // fj + #if 0 + if(commArr[i].commType == nLoadIndexComm){ + printf("[subsComm] reget. commArrNo[%d] segument[%d][%d]\n", i, commArr[i].finishNum, commArr[i].tlvFinishNum); + }else if(commArr[i].commType == nLoadDataComm){ + printf("[subsComm] reget. data[%s]\n", commArr[i].indexBuffer[commArr[i].finishNum]); + } + #endif + #if subsComm_DEBUG + if(commArr[i].commType == nLoadIndexComm){ + omcLog(subsCommLog,"Try to reget segument [%d][%d] ",commArr[i].finishNum,commArr[i].tlvFinishNum); + }else if(commArr[i].commType == nLoadDataComm){ + omcLog(subsCommLog,"Try to reget data [%s]",commArr[i].indexBuffer[commArr[i].finishNum]); + } + #endif + break; + case nOutProc: + sprintf(commArr[i].desc,"process finished"); + commArr[i].procState = nIdle; + break; + default : //nProcFail or unknown commState + sprintf(commArr[i].desc,"response error"); + commArr[i].procState = nIdle; + commArr[i].commState = nProcFail; + break; + } + subsComm_updateCommTable(i); + }else{ //not received msg + sprintf(commArr[i].desc,"Receive snmp message failed!"); + commArr[i].waitTimeCount++; + + //time out + if(commArr[i].waitTimeCount == 20){ + commArr[i].waitTimeCount = 0; + commArr[i].timeoutCount++; + if(commArr[i].timeoutCount > 2){ + if(commArr[i].commType == nLoadIndexComm){ + omcLog(subsCommLog,"Not Receiced get segumentNo [%d] tlv bgn No[%d] timeout!",commArr[i].finishNum,commArr[i].tlvFinishNum); + } + if(commArr[i].commType == nLoadDataComm){ + if(commArr[i].finishNum < MaxIndexNumPerSeg){ + omcLog(subsCommLog,"Not Receiced get [%s]'s data timeout,jump to next!",commArr[i].indexBuffer[commArr[i].finishNum]); + commArr[i].waitTimeCount = 0; + commArr[i].timeoutCount = 0; + commArr[i].finishNum++; + continue; + } + } + commArr[i].commState = nProcFail; + sprintf(commArr[i].desc,"response timeout"); + subsComm_updateCommTable(i); + commArr[i].procState = nIdle; + }else{ //resend msg + if(subsComm_mkAddr(i,&tmpAddr) < 1){ + subsComm_updateCommTable(i); + break; + } + if(subsComm_mkVarArr(i,tmpVarArr) < 1){ + subsComm_updateCommTable(i); + break; + } + if(subsComm_mkPdu(i,tmpVarArr,&tmpPdu) < 1){ + subsComm_updateCommTable(i); + break; + } + if((commArr[i].requestId = snmp_send(&tmpPdu,&tmpAddr)) > 0){ + sprintf(commArr[i].desc,"send snmp message ok!"); + commArr[i].procState = nWaitResponse; + }else{ + sprintf(commArr[i].desc,"failed to send snmp message!"); + commArr[i].commState = nProcFail; + subsComm_updateCommTable(i); + commArr[i].procState = nIdle; + } + }//end of if(commArr[i].waitTimeCount == 20) + }//end of time out handle + }//end of not received msg + break; + case nWaitIdleComm: + if(commArr[i].commType == nLoadIndexComm){ + //insert a new Load Data Comm to command array + for(j=loadDataCommStartNo;j= commArr[i].totalNum) + commArr[i].commState = nOutProc; + + //get next indexBuffer,same with the nWaitResponse + switch(commArr[i].commState){ + case nInProc: + if(subsComm_mkAddr(i,&tmpAddr) < 1){ + subsComm_updateCommTable(i); + break; + } + if(subsComm_mkVarArr(i,tmpVarArr) < 1){ + subsComm_updateCommTable(i); + break; + } + if(subsComm_mkPdu(i,tmpVarArr,&tmpPdu) < 1){ + subsComm_updateCommTable(i); + break; + } + + if((commArr[i].requestId = snmp_send(&tmpPdu,&tmpAddr)) > 0){ + commArr[i].procState = nWaitResponse; + }else{ + commArr[i].commState = nProcFail; + commArr[i].procState = nIdle; + sprintf(commArr[i].desc,"failed to send message!"); + } + break; + case nOutProc: + commArr[i].procState = nIdle; + sprintf(commArr[i].desc,"process finished"); + break; + default: //error + commArr[i].procState = nIdle; + commArr[i].commState = nProcFail; + sprintf(commArr[i].desc,"response error"); + break; + } + subsComm_updateCommTable(i); + break; + }//enf of if(commArr[j].procState == nIdle && commArr[j].commState != nInProc) + } + + #if subsComm_DEBUG + if(j == MaxCommNum){ + sprintf(commArr[i].desc,"Can not find idle comm"); + } + #endif + } + break; + default: + commArr[i].procState = nIdle; + commArr[i].commState = nProcFail; + sprintf(commArr[i].desc,"unknown procState,Please check!"); + break; + }//end of switch(..) + }else{ + idleCommCount++; + } + }//end of for(..) + #if subsComm_DEBUG + printf("\n"); + #endif + //如果全部命令都执行完毕,等待回复结果 + if(idleCommCount == MaxCommNum){ + //write_paralport(7,0); + snmp_receive(&tmpPdu,&tmpAddr); + return(2); + }else{ + return(1); + } +}//end subsCommProc + + +/************************************************* +Function: // subsComm_initSysConfArr +Description: // 初始化系统对象 +Calls: // mysql_fetch_row; mysql_getres; mysql_num_rows; +Called By: // subsCommInit; +Table Accessed: // OMC_PUB.sysSubsConf +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int subsComm_initSysConfArr() +{ + char confQuery[800] = "\0"; + MYSQL_RES *confResult=NULL; + MYSQL_ROW confRow; + int arrayNo = 0,i = 0; + char *oneOid; + + //init array first + for(i=0;i '0' "\ + " AND sysConf.needSubscriberConf > '0' ORDER BY sysTypeNo"); + confResult=(MYSQL_RES*)mysql_getres(dbConn,confQuery); + if(confResult == NULL){ + omcLog(subsCommLog,"Database may be stopped,Please check!"); + return(0); + }else if(mysql_num_rows(confResult) == 0){ + mysql_free_result(confResult); + return(0); + } + if(mysql_num_rows(confResult) > MaxSysConfNum){ //max size of sysConfArr is 24 + mysql_free_result(confResult); + omcLog(subsCommLog,"The number of need subscriber manage system is too much!(MaxSysConfNum=%d)", + MaxSysConfNum); + return(0); + } + + //遍历表的记录,填充系统对象 + while((confRow = mysql_fetch_row(confResult)) != NULL){ + sysConfArr[arrayNo].sysTypeNo=atol(confRow[0]); //<-- + sysConfArr[arrayNo].dataTypeNo=atol(confRow[1]); //<-- + if(sysConfArr[arrayNo].sysTypeNo==VMS_No || + sysConfArr[arrayNo].sysTypeNo==UDM_No || + sysConfArr[arrayNo].sysTypeNo==AUSF_No) + { + sysConfArr[arrayNo].sysNo=atol(confRow[2]); + } + sprintf(sysConfArr[arrayNo].snmpCommunity,"%s",confRow[3]); //<-- + + //sysConfArr[i].preObjId[20]; + i = 0; + while((oneOid = strsep(&(confRow[4]), "."))){ + sysConfArr[arrayNo].preObjId[i] = atol(oneOid); //<-- + i++; + } + sysConfArr[arrayNo].preObjIdLen=i; //<-- + if(i < 1){ + mysql_free_result(confResult); + omcLog(subsCommLog,"get preObjId error!!"); + return(0); + } + + //sysConfArr[i].indexObjId[20]; + //把字符串OID转换成OID数组形式 + i = 0; + while((oneOid = strsep(&(confRow[5]), "."))){ + sysConfArr[arrayNo].indexObjId[i] = atol(oneOid); //<-- + i++; + } + sysConfArr[arrayNo].indexObjIdLen=i; //<-- + if(i < 1){ + mysql_free_result(confResult); + omcLog(subsCommLog,"get indexObjId error!!"); + return(0); + } + sysConfArr[arrayNo].maxSegmentNum = atol(confRow[6]); //<-- + sysConfArr[arrayNo].maxIndexNumPerSeg = atol(confRow[7]); //<-- + sysConfArr[arrayNo].maxMsgLen = atol(confRow[8]); //<-- + strcpy(sysConfArr[arrayNo].indexFieldName, confRow[9]); //<-- + strcpy(sysConfArr[arrayNo].paramTableName, confRow[10]); //<-- + strcpy(sysConfArr[arrayNo].tmpTableName, confRow[11]); //<-- + sysConfArr[arrayNo].isEnable = 1; //<-- + arrayNo++; + } + mysql_free_result(confResult); + return(1); +}//end subsComm_initSysConfArr + +/************************************************* +Function: // subsComm_initParamConfArr +Description: // 初始化参数对象,并且把每个参数分配给每个系统对象 +Calls: // mysql_fetch_row; mysql_getres; mysql_num_rows; +Called By: // subsComm_initSysConfArr; +Table Accessed: // subsParamConf_X; +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int subsComm_initParamConfArr() +{ + // + char confQuery[800] = "\0"; + MYSQL_RES *confResult=NULL; + MYSQL_ROW confRow; + int arrayNo=0,sysConfArrNo=0,i=0,j=0; + char oneOid[8]; + char *levelSelect =" level_1,level_2,level_3,level_4,level_5,"\ + "level_6,level_7,level_8,level_9,level_10"; + char *queryOrderBy =" level_1,level_2,level_3,level_4,level_5,"\ + "level_6,level_7,level_8,level_9,level_10"; + //对每个参数对象置零 + for(i=0;i '0' ORDER BY %s", + levelSelect,sysConfArr[sysConfArrNo].sysTypeNo,sysConfArr[sysConfArrNo].dataTypeNo,queryOrderBy); + confResult=(MYSQL_RES*)mysql_getres(dbConn,confQuery); + if(confResult == NULL){ + omcLog(subsCommLog,"Database may be stopped,Please check!"); + return(0); + }else if(mysql_num_rows(confResult) == 0){ + omcLog(subsCommLog,"sysTypeNo(%d)'s result is null.(sql=%s)",sysConfArr[sysConfArrNo].sysTypeNo,confQuery); + mysql_free_result(confResult); + return(0); + } + // fj + #if 1 /*subsComm_DEBUG*/ + int curNum,totalNum; + curNum = mysql_num_rows(confResult); + totalNum = arrayNo+curNum; + /*printf("%s\n",confQuery);*/ + // printf("sysTypeNo=%3d,sysConfArrNo=%d,arrayNo=%d,curParamNum=%d,totalParamNum=%d\n",sysConfArr[sysConfArrNo].sysTypeNo,sysConfArrNo,arrayNo,curNum,totalNum); + #endif + if((arrayNo+mysql_num_rows(confResult)) > MaxParamConfNum){ //300 + mysql_free_result(confResult); + omcLog(subsCommLog,"The number of parameter type is too much!(MaxParamConfNum=%d)",MaxParamConfNum); + return(0); + } + sysConfArr[sysConfArrNo].paramConfNum = mysql_num_rows(confResult); + while((confRow = mysql_fetch_row(confResult)) != NULL){ + j=0; + paramConfArr[arrayNo].sysTypeNo = sysConfArr[sysConfArrNo].sysTypeNo; //<-- + paramConfArr[arrayNo].fieldObjIdStr[0]=0; + //把level的值的字符串连接赋给fieldObjIdStr + while(atoi(confRow[j]) > 0 && j <10){ + if(j == 0){ + sprintf(oneOid,"%d",atoi(confRow[j])); + }else{ + sprintf(oneOid,".%d",atoi(confRow[j])); + } + strcat(paramConfArr[arrayNo].fieldObjIdStr,oneOid); + j++; + } + sprintf(paramConfArr[arrayNo].fieldName,"%s",confRow[10]); + paramConfArr[arrayNo].valueType=atoi(confRow[11]); + paramConfArr[arrayNo].valueLen=atoi(confRow[12]); + //给系统的关键参数赋值 + if(strcmp(paramConfArr[arrayNo].fieldName,sysConfArr[sysConfArrNo].indexFieldName) == 0){ + sprintf(sysConfArr[sysConfArrNo].indexFieldSubOid,"%s",paramConfArr[arrayNo].fieldObjIdStr); + sysConfArr[sysConfArrNo].indexValueLen=paramConfArr[arrayNo].valueLen; + + // fj + #if 0 + printf("[subsComm] sysConfArrNo[%d] filedName[%s] fileObjIDStr[%s] indexValLen[%d]\n", + sysConfArrNo, + sysConfArr[sysConfArrNo].indexFieldName, + sysConfArr[sysConfArrNo].indexFieldSubOid, + sysConfArr[sysConfArrNo].indexValueLen); + #endif + } + //initValue isn't needed + //paramConfArr[arrayNo].initValue=atoi(tmpRow[13]); + arrayNo++; + } + mysql_free_result(confResult); + } + return(1); +}//end subsComm_initParamConfArr + +/************************************************* +Function: // subsComm_initUnitComm +Description: // 初始化化一个命令对象 +Calls: // omcLog; +Called By: // subsCommScan; +Table Accessed: // OMC_PUB.sysInfo; +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int subsComm_initUnitComm(int commArrNo){ + + //超出了最大的命令数 + if(commArrNo > MaxCommNum){ + return(0); + } + + //command info + commArr[commArrNo].commNo = 0; + commArr[commArrNo].commType = 0; + commArr[commArrNo].sysConfArrNo = 0; + + commArr[commArrNo].sysTypeNo = 0; + commArr[commArrNo].sysNo = 0; + commArr[commArrNo].subSysNo = 0; + commArr[commArrNo].dstIP[16] = 0; + commArr[commArrNo].dstPort = 4957; + + if(commArr[commArrNo].paramSet != NULL) + mysql_free_result(commArr[commArrNo].paramSet); + commArr[commArrNo].paramSet = NULL; + memset(commArr[commArrNo].indexBuffer,0,sizeof(commArr[commArrNo].indexBuffer)); + commArr[commArrNo].tlvTotalNum = 0; + commArr[commArrNo].tlvFinishNum = 0; + commArr[commArrNo].tlvInvaildNum = 0; + commArr[commArrNo].fieldNameList[0] = 0; //64*32 + + //command process info + commArr[commArrNo].commState = 0; //-1:nFailed,0:nWaitProc,1:nNoFinish,2:nFinished + commArr[commArrNo].procState = 0; //command process state:0=idle,1=waitResponse + commArr[commArrNo].waitTimeCount = 0; //the times number of timeout + commArr[commArrNo].timeoutCount = 0; //the timeCount + commArr[commArrNo].totalNum = 0; + commArr[commArrNo].finishNum = 0; + commArr[commArrNo].desc[200] = 0; + + //var_list info + commArr[commArrNo].varNum = 0; + #if subsComm_DEBUG + omcLog(subsCommLog,"init commArr[%d] ok",commArrNo); + #endif + return(1); +}//end subsComm_initUnitComm + +/************************************************* +Function: // subsComm_getIp +Description: // 根据系统设备号,系统号,子系统号获取该设备的IP地址 +Calls: // mysql_getres; mysql_fetch_row; mysql_free_result; +Called By: // subsCommScan +Table Accessed: // OMC_PUB.sysInfo +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int subsComm_getIp(int sysTypeNo,int sysNo,int subSysNo,char *dstIP) +{ + int nReturn = 0; + MYSQL_RES *tmpResult; + MYSQL_ROW tmpRow; + char tmpQuery[400]="\0"; + + //从OMC_PUB.sysInfo表里获取每个系统的IP地址 + sprintf(tmpQuery,"SELECT ip FROM %s WHERE sysTypeNo='%d' "\ + "AND sysNo='%d' AND subsysNo='%d' ORDER BY updateTime DESC",\ + IpTable,sysTypeNo,sysNo,subSysNo); + tmpResult=(MYSQL_RES*)mysql_getres(dbConn,tmpQuery); + if(tmpResult == NULL){ + omcLog(subsCommLog,"Database may be stopped,when get IP address from IpTable"); + return(0); + } + if((tmpRow=mysql_fetch_row(tmpResult)) !=NULL){ + strcpy(dstIP,tmpRow[0]); + nReturn = 1; + }else{ + nReturn = 0; + } + mysql_free_result(tmpResult); + return(nReturn); +}//end subsComm+getIp + +/************************************************* +Function: // subsComm_mkPdu +Description: // 构造snmp协议数据包 +Calls: // memcpy; +Called By: // subsCommProc +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int subsComm_mkPdu(int commArrNo,var_list *varArr,snmp_pdu *pdu) +{ + pdu->pdu_type = nSet; + pdu->request_id = 0; + pdu->var_num = commArr[commArrNo].varNum; + strcpy(pdu->community,sysConfArr[commArr[commArrNo].sysConfArrNo].snmpCommunity); + + //把变量列表赋值给snmp协议数据包 + memcpy(pdu->var,varArr,sizeof(var_list)*BIND_MAX); + pdu->error_status = 0x0; //0:no error 1:too big 2:nosuchname 3:badvalue 4:readonly 5:generr + pdu->error_index = 0x0; + return(1); +}//end subsComm_mkPdu + +/************************************************* +Function: // subsComm_mkAddr +Description: // 构造snmp_addr地址结构 +Calls: // inet_addr; +Called By: // subsCommProc +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int subsComm_mkAddr(int commArrNo,snmp_addr *addr) +{ + //没有IP地址,无法构造snmp_addr结构 + if(strlen(commArr[commArrNo].dstIP) <= 0 ){ + omcLog(subsCommLog,"\n Initing snmp_addr error: Cannot get ip"); + commArr[commArrNo].commState = nProcFail; + return(0); + } + + //给地址结构填值 + //addr->local_ip = ; + addr->local_port = DefPort; + addr->remote_ip = inet_addr(commArr[commArrNo].dstIP); + addr->remote_port = commArr[commArrNo].dstPort; + addr->broadcast = 0; + return(1); +}//end subsComm_mkAddr + +/************************************************* +Function: // subsComm_mkVarArr +Description: // 构造var_list结构,用ASN编码 +Calls: // decodeKeyValue; AsnEncode; +Called By: // subsCommProc +Table Accessed: // +Table Updated: // +Input: // commArrNo:命令对象序号, varArr:参数列表结构体 +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int subsComm_mkVarArr(int commArrNo,var_list *varArr) +{ + var_list *unitVar; + ASN_BUF asnbuf; + int i,varCount=0,asnBufLen=0, tmp_len; + char tlvTag[32] = "\0"; + int tlvNo = 0; + int tlvCount = 0; + int tlvLen = 0; + int tlvIntValue = 0; + char tlvAscValue[512] = "\0"; + unsigned char tlvBcdValue[256]; + //int tlvIntValue = 0; + MYSQL_ROW tmpRow =NULL; + char *oneFieldName; + char *tmpFieldList; + char tmpFieldListBuf[2048] = "\0"; + int msgLenCount = 0; + int sysConfArrNo = commArr[commArrNo].sysConfArrNo; + int paramConfBgn = sysConfArr[sysConfArrNo].paramConfArrOffset; + int paramConfEnd = sysConfArr[sysConfArrNo].paramConfArrOffset + + sysConfArr[sysConfArrNo].paramConfNum; + + unitVar = varArr + varCount; + //填充OID,最后一部分是段号 + if(commArr[commArrNo].commType == nLoadIndexComm){ + msgLenCount = sysConfArr[sysConfArrNo].indexObjIdLen + 1; + for(i=0;ioid[i] = sysConfArr[sysConfArrNo].indexObjId[i]; + } + // fj + // 重点: 索引OID = 关键字 + 分片编号 + //last oid is segument number + unitVar->oid[i] = commArr[commArrNo].finishNum + 1; + #if subsComm_DEBUG + omcLog(subsCommLog,"Now geting segment %ld 's index",unitVar->oid[i]); + #endif + // fj + // printf("[subsComm] loadIndex. commArrNo[%d] segment[%d]\n", commArrNo, unitVar->oid[i]); + unitVar->oidlen = i+1; + }else{ + msgLenCount = sysConfArr[sysConfArrNo].preObjIdLen + 8; + for(i=0;ioid[i] = sysConfArr[sysConfArrNo].preObjId[i]; + } + //check index's value is vaild,and use this index to make pdu + for(;commArr[commArrNo].finishNum < commArr[commArrNo].totalNum;){ + if(commArr[commArrNo].indexBuffer[commArr[commArrNo].finishNum][0] == 0){ + sprintf(commArr[commArrNo].desc,"indexBuffer[%d] is Null",commArr[commArrNo].finishNum); + commArr[commArrNo].finishNum++; + continue; + } + break; + } + if(commArr[commArrNo].finishNum >= commArr[commArrNo].totalNum){ + commArr[commArrNo].commState = nOutProc; + commArr[commArrNo].procState = nIdle; + subsComm_freeParamSet(commArrNo); + return(0); + } + decodeKeyValue(commArr[commArrNo].indexBuffer[commArr[commArrNo].finishNum], + &(unitVar->oid[i]),&(unitVar->oid[i+1])); + + #if subsComm_DEBUG + omcLog(subsCommLog,"Now get -> %s 's data(%ld-%ld)", + commArr[commArrNo].indexBuffer[commArr[commArrNo].finishNum], + unitVar->oid[i],unitVar->oid[i+1]); + #endif + + if(unitVar->oid[i] == 0 && unitVar->oid[i+1] == 0){ + commArr[commArrNo].indexBuffer[commArr[commArrNo].finishNum][0]=0; + return(0); + } + unitVar->oid[i+2] = FlagCode; + unitVar->oid[i+3] = 1;//init to read operation + unitVar->oidlen = i+4; + } + + //设置命令类型的OID + switch(commArr[commArrNo].commType){ + case nReadComm: //Read + unitVar->oid[i+3] = 1; //set to read operation + unitVar->vartype = 0x04; //OCTET STRING + break; + case nChangeComm: + unitVar->oid[i+3] = 2; //change to read operation + unitVar->vartype = 0x04; //OCTET STRING + break; + case nCreateComm: + unitVar->oid[i+3] = 3; //set to create operation + unitVar->vartype = 0x04; //OCTET STRING + break; + case nDeleteComm: + unitVar->oid[i+3] = 4; //set to delete operation + unitVar->vartype = 0x04; //OCTET STRING + break; + case nLoadIndexComm: + unitVar->vartype = 0x04; //OCTET STRING + break; + case nReplaceIndexComm: + unitVar->oid[i+3] = 6; //set to read operation + unitVar->vartype = 0x04; //OCTET STRING + break; + case nLoadDataComm: + unitVar->oid[i+3] = 1; //set to read operation + unitVar->vartype = 0x04; //OCTET STRING + break; + default: + //Unknow commType + return(0); + } + + //init asnbuff + AsnEncode(unitVar->msg,1024,&asnbuf); + + //fill unitVar->msg by asn format + asnBufLen = 0; + if(commArr[commArrNo].commType == nLoadIndexComm){ + for(tlvCount = (commArr[commArrNo].tlvFinishNum+1); tlvCount <= sysConfArr[sysConfArrNo].maxIndexNumPerSeg; tlvCount++){ + if((msgLenCount + asnBufLen + sysConfArr[sysConfArrNo].indexValueLen) < sysConfArr[sysConfArrNo].maxMsgLen){ + sprintf(tlvTag,"%d",tlvCount); + int + tmp_len = AddTLV(tlvTag,sysConfArr[sysConfArrNo].indexValueLen,(u_char*)tlvAscValue,0x80,&asnbuf); + if(tmp_len >= 0) + { + asnBufLen = tmp_len; + } + else + { + // fj, 这里 获取每个segment下最多55个索引 + // printf("[subsComm] setReq-index. segment[%d] tagNum[%d]\n", commArr[commArrNo].finishNum, tlvCount); + break; + } + commArr[commArrNo].tlvTotalNum=tlvCount; + }else{ + // fj + // printf("[subsComm] setReq. segment[%d] tagNum[%d]\n", commArr[commArrNo].indexBuffer[commArr[commArrNo].finishNum], tlvCount); + break; + } + }//end of for(..) + }else{ + //read + switch(commArr[commArrNo].commType){ + case nLoadDataComm: + case nReadComm: + for(tlvCount = paramConfBgn; tlvCount < paramConfEnd; tlvCount++){ + if((msgLenCount + asnBufLen + sysConfArr[sysConfArrNo].indexValueLen) < sysConfArr[sysConfArrNo].maxMsgLen){ + if(strcmp(paramConfArr[tlvCount].fieldObjIdStr,sysConfArr[sysConfArrNo].indexFieldSubOid) == 0){ + asnBufLen=AddTLV(paramConfArr[tlvCount].fieldObjIdStr, + sizeof(commArr[commArrNo].indexBuffer[commArr[commArrNo].finishNum]), + (u_char*)commArr[commArrNo].indexBuffer[commArr[commArrNo].finishNum],0x80,&asnbuf); + + // fj + // printf("[subsComm] setReq-Usr. segment[%d] filedObjVal[%s,%s]\n", + // commArr[commArrNo].finishNum, paramConfArr[tlvCount].fieldObjIdStr, commArr[commArrNo].indexBuffer[commArr[commArrNo].finishNum]); + }else{ + asnBufLen=AddTLV(paramConfArr[tlvCount].fieldObjIdStr,paramConfArr[tlvCount].valueLen,tlvBcdValue,0x80,&asnbuf); + + // fj + // printf("[subsComm] setReq-Usr2. segment[%d] filedObjVal[%s,%s]\n", + // commArr[commArrNo].finishNum, paramConfArr[tlvCount].fieldObjIdStr, tlvBcdValue); + } + commArr[commArrNo].tlvTotalNum=tlvCount - paramConfBgn; + }else{ + sprintf(commArr[commArrNo].desc,"The data can not fill to one msg"); + break; + } + }//end of for(..) + break; + case nChangeComm: + case nCreateComm: + mysql_data_seek(commArr[commArrNo].paramSet,commArr[commArrNo].finishNum); + tmpRow = mysql_fetch_row(commArr[commArrNo].paramSet); + if(!tmpRow){ + break; + } + // fj + #if 0 + printf("[subsComm] setReq-Change. commArrNo[%d] segment[%d] filedName[%s]\n", + commArrNo, + commArr[commArrNo].finishNum, commArr[commArrNo].fieldNameList); + #endif + strcpy(tmpFieldListBuf,commArr[commArrNo].fieldNameList); + tmpFieldList=tmpFieldListBuf; + tlvNo = 0; + while((oneFieldName = strsep(&(tmpFieldList), ",")) != NULL){ + //find tlvTag by fieldName + for(tlvCount = paramConfBgn; tlvCount < paramConfEnd; tlvCount++){ + if(strcmp(oneFieldName,paramConfArr[tlvCount].fieldName) == 0){ + sprintf(tlvTag,"%s",paramConfArr[tlvCount].fieldObjIdStr); + //tlvLen = paramConfArr[tlvCount].valueLen; + switch(paramConfArr[tlvCount].valueType){ + case 0x02: + tlvIntValue = atoi(tmpRow[tlvNo]); + asnBufLen = AddInteger(tlvTag,tlvIntValue,0x80,&asnbuf); + break; + case 0x03: + sprintf(tlvAscValue,"%s",tmpRow[tlvNo]); + tlvLen = strlen(tlvAscValue); + asnBufLen = AddTLV(tlvTag,tlvLen,(u_char*)tlvAscValue,0x80,&asnbuf); + break; + case 0x04: + sprintf(tlvAscValue,"%s",tmpRow[tlvNo]); + omc_AsciiToRbcd(tlvBcdValue,tmpRow[tlvNo],strlen(tlvAscValue)); + if(strlen(tlvAscValue) % 2){ + tlvLen = strlen(tlvAscValue) / 2 + 1; + }else{ + tlvLen = strlen(tlvAscValue) / 2; + } + asnBufLen = AddTLV(tlvTag,tlvLen,tlvBcdValue,0x80,&asnbuf); + break; + default: + return(0); + } + break; + }//end of switch + if(tlvCount == paramConfEnd - 1){ + sprintf(commArr[commArrNo].desc,"Can not find this field name(%s) in field list",oneFieldName); + return(0); + } + } + tlvNo++; + }//end of while + break; + case nDeleteComm: + asnBufLen=AddInteger("1",1,0x80,&asnbuf); + break; + case nReplaceIndexComm: + sprintf(tlvAscValue,"%s",commArr[commArrNo].indexBuffer[1]); + tlvLen = strlen(tlvAscValue); + sprintf(tlvTag,"%s",sysConfArr[sysConfArrNo].indexFieldSubOid); + asnBufLen = AddTLV(tlvTag,tlvLen,(u_char*)tlvAscValue,0x80,&asnbuf); + break; + default: + return(0); + }//end of switch(commArr[commArrNo].commType) + }//end of if(commArr[commArrNo].commType == nLoadIndexComm) + + unitVar->msglen = asnBufLen; + commArr[commArrNo].varNum = 1; + return(1); +}//end subsComm_mkVarArr + +/************************************************* +Function: // subsComm_procResp +Description: // 处理回复消息,并把用户数据更新到数据库里 +Calls: // +Called By: // subsCommProc; +Table Accessed: // tmpSubsData_x +Table Updated: // tmpSubsData_x +Input: // pdu:接收到的snmp数据包,oldcommArrNo:发送该消息的命令对象的序号 +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int subsComm_procResp(int *oldcommArrNo,snmp_pdu *pdu) +{ + int i,j,commArrNo,tlvCount; + char tmpQuery[3500] = "\0"; + char tmpValue[3000] = "\0"; + char tmpWhere[200] = "\0"; + int nSqlReturn = 0; + char tagStr[32] = "\0"; + int tlvLen = 0; + int tlvIntValue = 0; + char tlvAscValue[512]="\0"; + BYTE tlvBcdValue[256]; + char tmpStr[128]="\0"; + + int loadIndexFinishFlag=0; + + ASN_BUF asnBuffer; + + //here if oldcommArrNo's address cannot be access,will core down + if(*oldcommArrNo >= MaxCommNum){ + omcLog(subsCommLog,"Error: oldcommArrNo is too big (%d)",*oldcommArrNo); + return(0); + } + commArrNo = *oldcommArrNo; + + #if subsComm_DEBUG + omcLog(subsCommLog,"----- Processing commArr[%d]'s response message ",commArrNo); + #endif + + //错误的数据包 + if(pdu->pdu_type != nResp){ + omcLog(subsCommLog,"Error pdu type:%d(!=Resp%d)",pdu->pdu_type,nResp); + sprintf(commArr[commArrNo].desc,"Error pdu type:%d(!=Resp%d)",pdu->pdu_type,nResp); + return(0); + } + + //判断request Id是属于哪个命令对象的 + if(pdu->request_id != commArr[commArrNo].requestId){ + int isRequestIdMatch=0; + + for(i=0;irequest_id == commArr[i].requestId){ + isRequestIdMatch = 1; + *oldcommArrNo = i; + commArrNo = i; + break; + } + } + //request id发生错误 + if(isRequestIdMatch == 0){ + omcLog(subsCommLog,"unknown pdu->request_id(%ld)",pdu->request_id); + sprintf(commArr[commArrNo].desc,"unknown pdu->request_id(%ld)",pdu->request_id); + return(0); + } + } + + //获取数据包里的全部参数 + // fj + // printf("[subsComm] varNum[%d]\n", pdu->var_num); + for(i = 0; i < pdu->var_num; i++){ + int errStr; + + //check value type + switch(pdu->var[i].vartype){ + case 0x02: //INTEGER + sprintf(commArr[commArrNo].desc,"INTEGER"); + return(-1); + case 0x04: //OCTET STRING + break; + case 0x05: //NULL(unSpecified) + sprintf(commArr[commArrNo].desc,"NULL"); + if(commArr[commArrNo].commType == nLoadIndexComm){ + loadIndexFinishFlag=1; + break; + //return(0); + }else{ + return(-1); + } + case 0x06: //OBJECT IDENTIFIER + sprintf(commArr[commArrNo].desc,"OBJECT IDENTIFIER"); + return(-1); + case 0x80: //noSuchObject + sprintf(commArr[commArrNo].desc,"noSuchObject"); + if(commArr[commArrNo].commType == nLoadIndexComm){ + loadIndexFinishFlag=1; + break; + //return(0); + }else{ + return(-1); + } + case 0x81: //NoSuchInstance + sprintf(commArr[commArrNo].desc,"NoSuchInstance"); + if(commArr[commArrNo].commType == nLoadIndexComm){ + loadIndexFinishFlag=1; + break; + //return(0); + }else{ + return(-1); + } + case 0x82: //endOfMibView + sprintf(commArr[commArrNo].desc,"endOfMibView"); + return(-1); + default: + sprintf(commArr[commArrNo].desc,"Invailed vartype(%d)",pdu->var[i].vartype); + omcLog(subsCommLog,"Invailed vartype(pdu->var[%d].vartype=%d)",i,pdu->var[i].vartype); + return(-1); + } + + //check error status and error index + if((pdu->error_status > 0) && (pdu->error_index == (i+1))){ + if(commArr[commArrNo].commType == nLoadIndexComm&&loadIndexFinishFlag==1){ + sprintf(commArr[commArrNo].desc,"process finished"); + commArr[commArrNo].tlvFinishNum = MaxIndexNumPerSeg; + // fj + // printf("[subsComm] errStatus begin. segment[%d]\n", commArr[commArrNo].finishNum); + commArr[commArrNo].finishNum=commArr[commArrNo].totalNum; + // fj + // printf("[subsComm] errStatus end. segment[%d]\n", commArr[commArrNo].finishNum); + return(1); + } + + omcLog(subsCommLog,"Error message: pdu->error_status =%d pdu->error_index =%d",pdu->error_status,pdu->error_index); + if(strlen((char*)pdu->var[i].msg) > 0 && strlen((char*)pdu->var[i].msg) < sizeof(commArr[commArrNo].desc)){ + strncpy(commArr[commArrNo].desc,(char*)pdu->var[i].msg,pdu->var[i].msglen); + commArr[commArrNo].desc[pdu->var[i].msglen]='\0'; + //modify for smcli + if(pdu->error_status < MaxErrorStatusNum) + sprintf(tmpStr,"%d:%s:%s",pdu->error_status,errorStatusDescArr[pdu->error_status],commArr[commArrNo].desc); + else + sprintf(tmpStr,"%d:%s",pdu->error_status,commArr[commArrNo].desc); + sprintf(commArr[commArrNo].desc,"%s",tmpStr); + omcLog(subsCommLog,"Error: %s",commArr[commArrNo].desc); + }else if(pdu->error_status < MaxErrorStatusNum){ + //modify for smcli + sprintf(commArr[commArrNo].desc,"Error:%d:%s",pdu->error_status,errorStatusDescArr[pdu->error_status]); + }else{ + sprintf(commArr[commArrNo].desc,"Error:Unknown snmp error status"); + } + return(-1); + } + + //Don not check the zero imsi + if(pdu->var[i].msglen < 1 && pdu->var[i].vartype == 0x04){ + if(commArr[commArrNo].commType == nLoadIndexComm&&loadIndexFinishFlag==1){ + sprintf(commArr[commArrNo].desc,"process finished"); + commArr[commArrNo].tlvFinishNum = MaxIndexNumPerSeg; + commArr[commArrNo].finishNum=commArr[commArrNo].totalNum; + return(1); + } + sprintf(commArr[commArrNo].desc,"Resp Msg len = 0"); + omcLog(subsCommLog,"Resp Msg len = 0"); + return(0); + } + if(pdu->var[i].msglen >= (sizeof(tmpValue)/2)){ + if(commArr[commArrNo].commType == nLoadIndexComm&&loadIndexFinishFlag==1){ + sprintf(commArr[commArrNo].desc,"process finished"); + commArr[commArrNo].tlvFinishNum = MaxIndexNumPerSeg; + commArr[commArrNo].finishNum=commArr[commArrNo].totalNum; + return(1); + } + sprintf(commArr[commArrNo].desc,"Msg is too long(%d)",pdu->var[i].msglen); + omcLog(subsCommLog,"Msg is too long(%d)",pdu->var[i].msglen); + return(0); + } + + //decode msg to asn buffer + AsnDecode(pdu->var[i].msg,pdu->var[i].msglen,1024,&errStr,&asnBuffer); + + if(commArr[commArrNo].commType == nLoadIndexComm){ + /* get data and input to indexBuffer */ + //check oid + if(pdu->var[i].oidlen <= sysConfArr[commArr[commArrNo].sysConfArrNo].indexObjIdLen){ + sprintf(commArr[commArrNo].desc,"Oid is too short (oidlen =%d)",pdu->var[i].oidlen); + omcLog(subsCommLog,"Oid is too short (oidlen =%d)",pdu->var[i].oidlen); + return(-1); + } + for(j=0;jvar[i].oid[j]){ + int k; + omcLog(subsCommLog,"Oid is not match!"); + for(k=0; k < sysConfArr[commArr[commArrNo].sysConfArrNo].indexObjIdLen; k++){ + omcLog(subsCommLog,"%d: %ld [%ld]", k, sysConfArr[commArr[commArrNo].sysConfArrNo].indexObjId[k], pdu->var[i].oid[k]); + } + sprintf(commArr[commArrNo].desc,"Oid is not match!"); + return(-1); + } + } + tlvLen = sysConfArr[commArr[commArrNo].sysConfArrNo].indexValueLen; + for(;commArr[commArrNo].tlvFinishNum < commArr[commArrNo].tlvTotalNum;){ + sprintf(tagStr,"%d",commArr[commArrNo].tlvFinishNum+1); + memset(tlvAscValue,0,sizeof(tlvAscValue)); + //tlvLen=GetTLV(tagStr,sizeof(tlvAscValue),tlvAscValue,0x80,&asnBuffer); + tlvLen=GetTLV(tagStr,16,(u_char*)tlvAscValue,0x80,&asnBuffer); + if(tlvLen > 0){ + + sprintf(commArr[commArrNo].indexBuffer[commArr[commArrNo].tlvFinishNum],"%s",tlvAscValue); + commArr[commArrNo].tlvFinishNum++; + //commArr[commArrNo].tlvInvaildNum = 0; + #if subsComm_DEBUG + omcLog(subsCommLog,"segmnet[%d] tlvTag[%s]'s \t tlvValue = %s",commArr[commArrNo].finishNum,tagStr,tlvAscValue); + #endif + // fj + // printf("[subsComm] commArrNo[%d] segment[%d] tlvTag[%s] tlvVal[%s]\n", commArrNo, commArr[commArrNo].finishNum, tagStr, tlvAscValue); + }else{ + + commArr[commArrNo].indexBuffer[commArr[commArrNo].tlvFinishNum][0] = 0; + commArr[commArrNo].tlvFinishNum++; + if(tlvLen == 0){ + commArr[commArrNo].tlvInvaildNum++; + //Don not check the zero imsi + loadIndexFinishFlag=1; + #if subsComm_DEBUG + omcLog(subsCommLog,"segmnet[%d] tlvTag[%s]'s \t tlvValue = Null",commArr[commArrNo].finishNum,tagStr); + #endif + }else{ + + if(commArr[commArrNo].commType == nLoadIndexComm&&loadIndexFinishFlag==1){ + sprintf(commArr[commArrNo].desc,"process finished"); + commArr[commArrNo].tlvFinishNum = MaxIndexNumPerSeg; + commArr[commArrNo].finishNum=commArr[commArrNo].totalNum; + return(1); + } + if(commArr[commArrNo].tlvFinishNum > 0){ + omcLog(subsCommLog,"can not get tlvTag[%s]'s tlvValue,after[%s]",tagStr, + commArr[commArrNo].indexBuffer[commArr[commArrNo].tlvFinishNum - 1]); + }else{ + omcLog(subsCommLog,"can not get tlvTag[%s]'s tlvValue,segment[%d]", + tagStr,commArr[commArrNo].finishNum); + } + return(0); + } + } + }//end of for() + + //if(commArr[commArrNo].tlvFinishNum == sysConfArr[commArr[commArrNo].sysConfArrNo].maxIndexNumPerSeg){ + if(loadIndexFinishFlag==1) + commArr[commArrNo].finishNum=commArr[commArrNo].totalNum; + //} + }else{/*get data and update to database*/ + //char tmpKeyValue[32] ="\0"; + char tmpUnitValue[1024] ="\0"; + char tmpSetStr[1024] ="\0"; + int paramConfBgn = sysConfArr[commArr[commArrNo].sysConfArrNo].paramConfArrOffset; + int paramConfEnd = sysConfArr[commArr[commArrNo].sysConfArrNo].paramConfArrOffset + + sysConfArr[commArr[commArrNo].sysConfArrNo].paramConfNum; + int sysConfArrNo = commArr[commArrNo].sysConfArrNo; + int varCount=0; + + //check preObjId + if(pdu->var[i].oidlen <= sysConfArr[sysConfArrNo].preObjIdLen){ + sprintf(commArr[commArrNo].desc,"Oid is too short (oidlen =%d)",pdu->var[i].oidlen); + return(0); + } + for(j=0;jvar[i].oid[j]){ + int k=0; + sprintf(commArr[commArrNo].desc," Oid is not match!"); + for(k=0;kvar[i].oid[k]); + } + return(-1); + } + } + + //check keyValue in oid + if((pdu->var[i].oid[sysConfArr[sysConfArrNo].preObjIdLen] <= 0) + && (pdu->var[i].oid[sysConfArr[commArr[commArrNo].sysConfArrNo].preObjIdLen+1] <= 0)){ + sprintf(commArr[commArrNo].desc,"x = 0 and y = 0"); + return(-1); + } + + //check operation code + if(pdu->var[i].oid[sysConfArr[sysConfArrNo].preObjIdLen+2] != FlagCode){ + sprintf(commArr[commArrNo].desc," can find operation code(1373)"); + return(-1); + } + + //get keyValue from oid + //encodeKeyValue(tmpKeyValue, + // pdu->var[i].oid[sysConfArr[sysConfArrNo].preObjIdLen], + // pdu->var[i].oid[sysConfArr[sysConfArrNo].preObjIdLen+1]); + + sprintf(tmpWhere," %s = '%s'",sysConfArr[sysConfArrNo].indexFieldName,commArr[commArrNo].indexBuffer[0]); + // fj + // printf("procResp\n"); + // fj + // 重点: 这里获取用户的详细信息。按参数oid从回复报文中取出值并 + // 构造 imsi=imsi, msisdn=1234567类型的字符串 + if(commArr[commArrNo].commType != nDeleteComm){ + //get value form asnbuffer and make SQL string + for(tlvCount = paramConfBgn; tlvCount < paramConfEnd; tlvCount++){ + tmpSetStr[0]=0; + switch(paramConfArr[tlvCount].valueType){ + case 0x02: //INTEGER + tlvLen= GetInteger(paramConfArr[tlvCount].fieldObjIdStr,&tlvIntValue, + 0x80,&asnBuffer); + sprintf(tmpSetStr,"%s = '%d'",paramConfArr[tlvCount].fieldName,tlvIntValue); + //fj + printf("int. oid[%s] %s\n", paramConfArr[tlvCount].fieldObjIdStr, tmpSetStr); + break; + case 0x03: //OCTET STRING -> Asc + memset(tlvAscValue,0,sizeof(tlvAscValue)); + tlvLen=GetTLV(paramConfArr[tlvCount].fieldObjIdStr,paramConfArr[tlvCount].valueLen, + (u_char*)tlvAscValue,0x80,&asnBuffer); + sprintf(tmpSetStr,"%s = '%s'",paramConfArr[tlvCount].fieldName,tlvAscValue); + // fj + // printf("str. oid[%s] %s\n", paramConfArr[tlvCount].fieldObjIdStr, tmpSetStr); + break; + case 0x04: //OCTET STRING -> Hex + memset(tlvBcdValue,0,sizeof(tlvBcdValue)); + memset(tmpUnitValue,0,sizeof(tmpUnitValue)); + tlvLen=GetTLV(paramConfArr[tlvCount].fieldObjIdStr,paramConfArr[tlvCount].valueLen, + tlvBcdValue,0x80,&asnBuffer); + if(tlvLen >= 0){ + omc_RbcdToAscii(tmpUnitValue, tlvBcdValue, tlvLen*2); + sprintf(tmpSetStr,"%s = '%s'",paramConfArr[tlvCount].fieldName,tmpUnitValue); + } + // fj + // printf("hex. oid[%s] %s\n", paramConfArr[tlvCount].fieldObjIdStr, tmpSetStr); + break; + default: + // printf("err type.[%d]\n", paramConfArr[tlvCount].valueType); + sprintf(commArr[commArrNo].desc," Invailed vartype(paramConfArr[%d].valueType=%d)", + tlvCount,paramConfArr[tlvCount].valueType); + return(-1); + } + if(tlvLen >= 0){ + if(varCount == 0){ + strcat(tmpValue,tmpSetStr); + }else{ + strcat(tmpValue,", "); + strcat(tmpValue,tmpSetStr); + } + varCount++; + } + #if subsComm_DEBUG + else{ + omcLog(subsCommLog,"can not get tlvTag[%s]'s tlvValue",paramConfArr[tlvCount].fieldObjIdStr); + } + #endif + }//end of for(..) + }else{ + + }//end of if(commArr[commArrNo].commType != nDeleteComm) + + //Query SQL + switch(commArr[commArrNo].commType){ + case nReadComm: + case nCreateComm: + if(strlen(sysConfArr[sysConfArrNo].tmpTableName) > 1 && strlen(tmpValue) > 3){ + sprintf(tmpQuery,"REPLACE %s SET %s", + sysConfArr[sysConfArrNo].tmpTableName, + tmpValue); + mysql_getnores(dbConn,tmpQuery); + } + sprintf(tmpQuery,"REPLACE %s SET %s", + sysConfArr[sysConfArrNo].paramTableName, + tmpValue); + mysql_getnores(dbConn,tmpQuery); + // fj + // printf("[subsComm] readComm/CreateComm. sql[%s]\n", tmpQuery); + break; + case nChangeComm: + //update to tmp subscriber database + if(strlen(sysConfArr[sysConfArrNo].tmpTableName) > 1 && strlen(tmpValue) > 3){ + sprintf(tmpQuery,"UPDATE %s SET %s WHERE %s", + sysConfArr[sysConfArrNo].tmpTableName, + tmpValue,tmpWhere); + nSqlReturn=mysql_getnores(dbConn,tmpQuery); + } + //update to subscriber database + //if(nSqlReturn == 0){ + sprintf(tmpQuery,"UPDATE %s SET %s WHERE %s", + sysConfArr[sysConfArrNo].paramTableName, + tmpValue,tmpWhere); + mysql_getnores(dbConn,tmpQuery); + //} + break; + case nDeleteComm: + //update to tmp subscriber database + if(strlen(sysConfArr[sysConfArrNo].tmpTableName) > 1 && strlen(tmpWhere) > 3){ + sprintf(tmpQuery,"DELETE FROM %s WHERE %s", + sysConfArr[sysConfArrNo].tmpTableName,tmpWhere); + nSqlReturn=mysql_getnores(dbConn,tmpQuery); + } + //update to subscriber database + //if(nSqlReturn == 0){ + sprintf(tmpQuery,"DELETE FROM %s WHERE %s", + sysConfArr[sysConfArrNo].paramTableName,tmpWhere); + mysql_getnores(dbConn,tmpQuery); + //} + break; + case nLoadDataComm: + if(strlen(sysConfArr[sysConfArrNo].tmpTableName) > 1 && strlen(tmpValue) > 3){ + sprintf(tmpQuery,"INSERT INTO %s SET %s", + sysConfArr[sysConfArrNo].tmpTableName, + tmpValue); + nSqlReturn=mysql_getnores(dbConn,tmpQuery); + // fj + // printf("[subsComm] insertTab. sql[%s]\n\n", tmpQuery); + } + if(nSqlReturn == 0){ + sprintf(tmpQuery,"INSERT INTO %s SET %s", + sysConfArr[sysConfArrNo].paramTableName, + tmpValue); + mysql_getnores(dbConn,tmpQuery); + }else{ + omcLog(subsCommLog,"Process [%s]'s data error!",commArr[commArrNo].indexBuffer[commArr[commArrNo].finishNum]); + omcLog(subsCommLog,"SQL=%s",tmpQuery); + omcLog(subsCommLog,"Error number:%d", mysql_errno(dbConn)); + omcLog(subsCommLog,"Description: %s", mysql_error(dbConn)); + return(0); + } + break; + case nReplaceIndexComm: + sprintf(tmpQuery,"UPDATE %s SET %s WHERE %s", + sysConfArr[sysConfArrNo].tmpTableName, + tmpValue,tmpWhere); + nSqlReturn=mysql_getnores(dbConn,tmpQuery); + + sprintf(tmpQuery,"UPDATE %s SET %s WHERE %s", + sysConfArr[sysConfArrNo].paramTableName, + tmpValue,tmpWhere); + nSqlReturn=mysql_getnores(dbConn,tmpQuery); + break; + default: + omcLog(subsCommLog,"Unknown commType"); + return(0); + } + commArr[commArrNo].finishNum++; + }//end of if(commArr[commArrNo].commType == nLoadIndex) + }//end of for(i = 0; i < pdu->var_num; i++) + return(1); +}//end subsComm_procResp + +/************************************************* +Function: // subsComm_updateCommTable +Description: // 修改用户数据命令表中指定命令的状态,说明信息,完成进度 +Calls: // mysql_getnores; +Called By: // subsCommScan; subsCommProc; +Table Accessed: // OMC_PUB.subscriberComm +Table Updated: // OMC_PUB.subscriberComm +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int subsComm_updateCommTable(int commArrNo) +{ + char tmpQuery[500] = "\0"; + + //如果该命令对象是nLoadDataComm类型,则不对用户数据命令表进行更新 + if(commArr[commArrNo].commType == nLoadDataComm){ + return(1); + } + + //刚启动,或处于等待的命令 + if(commArr[commArrNo].procState == nIdle + && (commArr[commArrNo].commState == nInProc || commArr[commArrNo].commState == nWaitProc)){ + sprintf(tmpQuery,"UPDATE %s SET commState = '%d',finishNum= '0', totalNum= '%d',"\ + "bgnTime = CURRENT_TIMESTAMP WHERE commId = '%d'",\ + CommTable, commArr[commArrNo].commState, + commArr[commArrNo].totalNum, commArr[commArrNo].commNo); + } + //正在执行当中或执行完毕的命令,更新该命令的完成度 + else{ + sprintf(tmpQuery,"UPDATE %s SET commState='%d',finishNum='%d', "\ + "endTime = CURRENT_TIMESTAMP, remark='%s' WHERE commId = '%d'",\ + CommTable, commArr[commArrNo].commState, \ + commArr[commArrNo].finishNum,commArr[commArrNo].desc,commArr[commArrNo].commNo); + } + mysql_getnores(dbConn,tmpQuery); + return(1); +}//end subsComm_updateCommTable + +/************************************************* +Function: // decodeKeyValue +Description: // 把一个16位的字符串按前8后8的方法,变成两个整形 +Calls: // +Called By: // subsComm_mkVarArr +Table Accessed: // +Table Updated: // +Input: // keyValue:源字符串; bgn_8,end_8:转换后的两个整形; +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int decodeKeyValue(const char *keyValue,unsigned long *bgn_8,unsigned long *end_8) +{ + int keyValueLen; + char tmpStr[16]= "\0"; + keyValueLen=strlen(keyValue); + if(keyValueLen <= 0 || keyValueLen > 16){ + return(0); + } + if(keyValueLen <= 8){ + *bgn_8 = 0; + *end_8 = atol(keyValue); + }else{ + memset(tmpStr,0,sizeof(tmpStr)); + strncpy(tmpStr,keyValue,(keyValueLen - 8)); + *bgn_8 = atol(tmpStr); + *end_8 = atol(keyValue+(keyValueLen - 8)); + } + return(1); +}//end decodeKeyValue + +/************************************************* +Function: // encodeKeyValue +Description: // 把两个整形按前8后8的方法,变成一个16位的字符串 +Calls: // +Called By: // subsComm_procResp +Table Accessed: // +Table Updated: // +Input: // keyValue:转换字符串; bgn_8,end_8:待转换的两个整型; +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int encodeKeyValue(char *keyValue,int bgn_8,int end_8) +{ + char tmpStr[16] = "\0"; + //int i,tmpLen; + memset(keyValue,0,sizeof(keyValue)); + if(bgn_8 > 0){ + sprintf(keyValue,"%d",bgn_8); + sprintf(tmpStr,"%08d",end_8); + /* + tmpLen=strlen(tmpStr); + for(i=tmpLen;i<8;i++){ + strcat(keyValue,"0"); + } + */ + }else{ + sprintf(tmpStr,"%d",end_8); + } + strcat(keyValue,tmpStr); + return(1); +}//end encodeKeyValue + +/************************************************* +Function: // subsComm_freeParamSet +Description: // 释放命令对象对应的用户数据集 +Calls: // mysql_free_result; +Called By: // subsCommProc; subsComm_mkVarArr; +Table Accessed: // +Table Updated: // +Input: // commArrNo:命令对象序号 +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +void subsComm_freeParamSet(int commArrNo) +{ + int i; + if(commArr[commArrNo].paramSet != NULL){ + int isCanFree = 1; + //because same sql's resultSet's address will be same,so it is must check other command's state + for(i=0;i 0){ + mysql_free_result(commArr[commArrNo].paramSet); + } + commArr[commArrNo].paramSet = NULL; + } +}//end subsComm_freeParamSet diff --git a/src/accountMgr/c_program/subsComm/subsComm.h b/src/accountMgr/c_program/subsComm/subsComm.h new file mode 100644 index 0000000..a7bef50 --- /dev/null +++ b/src/accountMgr/c_program/subsComm/subsComm.h @@ -0,0 +1,173 @@ +/************************************************* +File name: subsComm.h +Author: He wan Dong +Version: 9:00:00 +Date: 2003/02/14 +Description:subsComm.c锟斤拷头锟侥硷拷 + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#ifndef subsComm__H + #define subsComm__H + + #include "../../../../plat/public/src/include/pub_include.h" + #include "../../../../plat/snmp/src/include/snmp.h" + #include "../../../omcLib/c_program/omcLib/omcLib.h" + + #ifndef MYSQL_H + #include "mysql.h" + #endif + + #ifndef subsComm_DEBUG + #define subsComm_DEBUG 0 + #endif + + #define VMS_No 390 + /* fj added 2010-01-19, UDM锟斤拷AUSF要支锟街凤拷片 */ + #define UDM_No 365 + #define AUSF_No 366 + + #define subsComm_LogPath "../log" + #define subsComm_LogFile "subsComm" + #define subsComm_backupPath "/usr/local/apache/htdocs/db_backup/subsData" + + #define FlagCode 1373 //snmp company code of iwv + #define MaxCommNum 32 //max number of command can be execute as same time + //The maxCommNum divides into 2 parts,The 0-15 is used for processing the commands in the subscriberComm table + //The 16-31 is used for processing the loadData commands + #define loadDataCommStartNo 16 + /* fj added 2020-01-19锟斤拷UDM锟斤拷AUSF支锟街凤拷片 */ + #define MaxSysConfNum 80//30 + #define MaxParamConfNum 2048 //512 -> 1024 + #define MaxIndexNumPerSeg 100 + #define MaxOidLen 20 //max number of object ID + #define MaxSubOidLen 10 //max number of sub object ID + //#define MaxLenOfOneVar 1024 //max len of one var_list + #define MaxVarNum 50 //max number of var in one pdu + #define DefPort 4959 //define port + #define HOSTNAME "localhost" + #define PUB_DB "OMC_PUB" //OMC's public database + #define SysConfTable "OMC_PUB.sysConf" //system config table + #define subsConfTable "OMC_PUB.sysSubsConf" //system config table + #define CommTable "OMC_PUB.subscriberComm" //command table + #define IpTable "OMC_PUB.sysInfo" //system's IP table + #define subsDataBackupTable "OMC_PUB.subsDataBackup" // + + //procState flag define + #define nIdle 0 //锟斤拷锟斤拷锟斤拷状态锟斤拷nInProc时锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街达拷锟阶刺拷锟絥Idle时锟斤拷锟脚会发锟斤拷snmp锟斤拷锟捷帮拷 + #define nWaitResponse 1 //锟斤拷锟斤拷锟斤拷状态锟斤拷nInProc时锟斤拷锟斤拷锟斤拷锟斤拷锟捷帮拷锟斤拷执锟斤拷状态锟斤拷锟斤拷为nWaitResponse + #define nWaitIdleComm 2 + + //commState flag define + #define nProcFail 0 //锟斤拷锟斤拷锟斤拷锟街达拷锟阶刺拷锟絥WaitResponse时锟斤拷锟斤拷却锟斤拷馗锟斤拷锟较拷锟斤拷锟斤拷锟斤拷锟秸碉拷锟斤拷息锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷状态锟斤拷锟斤拷为锟斤拷状态 + #define nWaitProc 1 //一锟斤拷锟铰碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷菘锟绞憋拷锟斤拷锟斤拷玫锟阶刺 + #define nInProc 2 //锟斤拷时锟斤拷扫锟斤拷锟斤拷锟斤拷锟绞憋拷锟斤拷锟絥WaitProc状态锟斤拷锟斤拷锟斤拷时锟斤拷锟窖达拷锟斤拷锟斤拷锟斤拷锟斤拷为锟斤拷锟阶刺 + #define nOutProc 3 //锟斤拷锟斤拷锟斤拷锟街达拷锟阶刺拷锟絥WaitResponse时锟斤拷锟斤拷却锟斤拷馗锟斤拷锟较拷锟斤拷锟斤拷锟斤拷锟秸碉拷锟斤拷息锟斤拷确锟斤拷锟斤拷锟斤拷锟斤拷状态锟斤拷锟斤拷为锟斤拷状态 + + //parameter type define + #define nSubSysParam 0 + #define nSysParam 1 + + //snmp pdu type define [define in snmp.h] + #define nGet 0 + #define nGetNext 1 + #define nResp 2 + #define nSet 3 + + //subscriber manage command type define + #define nReadComm 1 + #define nChangeComm 2 + #define nCreateComm 3 + #define nDeleteComm 4 + #define nLoadIndexComm 5 + #define nReplaceIndexComm 6 //for hlr replace imsi + #define nLoadDataComm 7 //just used in program + + //snmp var type code + #define nInteger 0x02 + #define nOctetString 0x04 + #define nNull 0x05 + #define nObjectId 0x06 + #define nNoSuchObject 0x80 + #define nNoSuchInstance 0x81 + #define nEndOfMibView 0x82 + + typedef struct unitSysConf{ + int isEnable; //使锟杰憋拷志位 + int sysTypeNo; //系统锟借备锟斤拷 + int dataTypeNo; //锟矫伙拷锟斤拷锟斤拷锟斤拷锟酵o拷锟斤拷些系统锟斤拷锟斤拷锟叫讹拷锟街诧拷同锟斤拷锟矫伙拷锟斤拷锟斤拷 + int sysNo; //系统锟脚o拷锟矫筹拷锟斤拷只锟斤拷VSS锟斤拷锟斤拷锟斤拷系统锟斤拷 + DWORD preObjId[20]; //锟斤拷取锟矫伙拷锟斤拷锟捷碉拷OID锟斤拷锟斤拷要锟节革拷OID锟斤拷锟斤拷锟斤拷锟斤拷没锟斤拷锟斤拷锟絆ID + int preObjIdLen; //锟斤拷锟斤拷 + DWORD indexObjId[20]; //锟斤拷取锟矫伙拷锟斤拷锟斤拷锟斤拷OID + int indexObjIdLen; //锟斤拷锟斤拷 + int maxMsgLen; //锟斤拷息锟斤拷蟪ざ锟 + char snmpCommunity[16]; //SNMP锟斤拷证锟斤拷 + int maxSegmentNum; //锟斤拷锟借备锟矫伙拷锟斤拷锟斤拷锟侥讹拷锟斤拷 + int maxIndexNumPerSeg; //锟斤拷锟借备每锟轿碉拷锟矫伙拷锟斤拷锟斤拷锟斤拷锟斤拷 + char paramTableName[128]; //锟斤拷锟斤拷锟斤拷锟斤拷时锟侥憋拷锟斤拷 + char tmpTableName[128]; //database.table + int paramConfArrOffset; //锟斤拷系统锟侥诧拷锟斤拷锟街讹拷锟斤拷paramConfArr锟斤拷锟斤拷锟叫碉拷锟斤拷始位锟斤拷 + int paramConfNum; //锟斤拷锟斤拷锟街段的革拷锟斤拷 + char indexFieldSubOid[16]; //锟截硷拷锟斤拷锟斤拷锟街讹拷锟斤拷subsParamConf_X锟斤拷锟叫碉拷level锟斤拷锟斤拷锟街凤拷锟斤拷 + char indexFieldName[64]; //锟截硷拷锟街讹拷锟斤拷锟斤拷 + BYTE indexValueLen; //锟截硷拷锟街段筹拷锟斤拷 + }unitSysConf; + + typedef struct unitParamConf{ + int sysTypeNo; //锟矫诧拷锟斤拷锟斤拷锟斤拷锟节碉拷系统锟借备锟斤拷 + char fieldObjIdStr[16]; //锟斤拷subsParamConf_锟斤拷锟叫碉拷level锟斤拷锟斤拷锟街凤拷锟斤拷 + char fieldName[64]; //锟斤拷锟斤拷锟斤拷锟斤拷 + int valueType; //锟斤拷锟斤拷锟斤拷锟斤拷 + int valueLen; //锟斤拷锟斤拷锟斤拷锟斤拷 + //int initValue; + }unitParamConf; + + typedef struct unitComm{ + //command info + WORD commNo; //ID in command table + WORD commType; //0:invaild,1:read,2:change,3:create,4:delete,5:get index,6:get data in indexBuffer + int sysConfArrNo; //锟斤拷锟斤拷锟斤拷锟斤拷应锟斤拷sysConfArr锟斤拷锟斤拷锟斤拷锟斤拷 + int dataTypeNo; //锟矫伙拷锟斤拷锟斤拷锟斤拷锟斤拷 + WORD sysTypeNo; //系统锟借备锟斤拷 + WORD sysNo; //系统锟斤拷 + WORD subSysNo; //锟斤拷系统锟斤拷 + char dstIP[16]; //远锟斤拷锟借备IP锟斤拷址 + WORD dstPort; //远锟斤拷锟借备锟剿匡拷 + int requestId; //snmp锟斤拷锟捷帮拷锟斤拷request ID + + MYSQL_RES *paramSet; //锟矫伙拷锟斤拷锟捷硷拷 + + char indexBuffer[MaxIndexNumPerSeg][19]; //per Segment,MaxIndexNumPerSeg=100 + BYTE tlvTotalNum; // 锟斤拷前锟斤拷片锟斤拷锟杰癸拷锟斤拷锟酵碉拷tlv锟斤拷锟斤拷目 + BYTE tlvFinishNum; // 锟斤拷前锟斤拷片锟斤拷锟窖撅拷锟斤拷锟斤拷锟斤拷锟絫lv锟斤拷锟斤拷目 + BYTE tlvInvaildNum; + char fieldNameList[2048]; //64*32 + + //command process info + BYTE commState; //-1:nFailed,0:nWaitProc,1:nNoFinish,2:nFinished + BYTE procState; //command process state:0=idle,1=waitResponse + BYTE waitTimeCount; //the times number of timeout + BYTE timeoutCount; //the timeCount + WORD totalNum; + WORD finishNum; + char desc[200]; //锟斤拷锟斤拷锟斤拷锟斤拷 + + //var_list info + BYTE varNum; + }unitComm; + +//Interface Functions Declare,define in subsComm.c +int subsCommInit(); +int subsCommTimer(); + +#endif diff --git a/src/accountMgr/c_program/subsComm/subsCommMain.c b/src/accountMgr/c_program/subsComm/subsCommMain.c new file mode 100644 index 0000000..abcdf5e --- /dev/null +++ b/src/accountMgr/c_program/subsComm/subsCommMain.c @@ -0,0 +1,173 @@ +/************************************************* +File name: subsCommMain.c +Author: He wan Dong +Version: 9:00:00 +Date: 2003-2-14 +Description:该文件调用了subsComm模块 + + 调用snmp模块的函数 + void snmp_init(WORD nport); + int snmp_receive(snmp_pdu *msgbuf,snmp_addr *addr); + int snmp_send(snmp_pdu *msgbuf,snmp_addr *addr); + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + + +#include +#include +#include +#include +#include + +#include "subsComm.h" + +static struct itimerval itimer, old_itimer; + +void onTimer(); +void setTimer(); +void setup_daemon(void); +int timerCounter = 0; + +/************************************************* +Function: // main +Description: // 调用subsComm模块,是模块的主函数 +Calls: // snmp_init; iptrans_init; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int main(int argc, char *argv[]) +{ + char runMode; + debug_init(); + + fprintf(stderr, "\n Calling iptrans_init()"); + iptrans_init(); + + fprintf(stderr, "\n Calling snmp_init()"); + snmp_init(4959); + subsCommInit(); + + if (argc > 0) { + runMode = getopt(argc, argv, "d"); + switch (runMode) { + case 'd': + setup_daemon(); + break; + case '?': + break; + } + //debug_init();//must do it at first + } + setTimer(); + while (1) { + usleep(50); + } + + return (1); +} + +/************************************************* +Function: // onTimer +Description: // 定时器函数 +Calls: // subsCommTimer; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void onTimer() +{ + //debug_rt(); + //snmp_timer(); + if (timerCounter > 3) { + timerCounter = 0; + subsCommTimer(); + } + timerCounter++; +} + +/************************************************* +Function: // setTimer +Description: // 设置定时器函数 +Calls: // onTimer; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void setTimer() +{ + struct sigaction act; + act.sa_handler = onTimer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exitLog("subsComm:setTimer, sigaction function error"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exitLog("subsComm:setTimer, setitimer function error"); + exit(1); + } +} + +void setup_daemon(void) +{ + /* + int i; + + for (i = 0; i < 3; ++i) { + close(i); + } + */ + switch (fork()) { + case -1: + perror("setup_daemon(), 1st fork()"); + exit(2); + default: + exit(0); + case 0: + if (setsid() == -1) { + perror("setup_daemon(), setsid()"); + exit(3); + } + switch (fork()) { + case -1: + perror("setup_daemon(), 2nd fork()"); + exit(3); + default: + exit(0); + case 0: + umask(0); + /* and return with daemon set up */ + return; + } + } +} diff --git a/src/accountMgr/c_program/subsComm/testReport b/src/accountMgr/c_program/subsComm/testReport new file mode 100644 index 0000000..cbb63d1 --- /dev/null +++ b/src/accountMgr/c_program/subsComm/testReport @@ -0,0 +1,28 @@ +#!/bin/sh +logFile=$1 + +echo "============Tesst Report=================" +echo -n "Got total vaild index: " +grep -c " tlvValue = 9" $logFile +grep -c " tlvValue = 8" $logFile +grep -c " tlvValue = 7" $logFile +grep -c " tlvValue = 6" $logFile +grep -c " tlvValue = 5" $logFile +grep -c " tlvValue = 4" $logFile +grep -c " tlvValue = 3" $logFile +grep -c " tlvValue = 2" $logFile +grep -c " tlvValue = 1" $logFile +grep -c " tlvValue = 0" $logFile +#grep -c " tlvValue = 0" $logFile +echo -n "Got total Null index: " +grep -c " tlvValue = Null" $logFile +echo -n "Try to get: " +grep -c "Now get -> " $logFile +echo "============timeout=================" +echo -n "Duplicate key index: " +grep -c " Description: Duplicate" $logFile +grep " Description: Duplicate" $logFile +echo "============timeout=================" +echo -n "total : " +grep -c "data timeout" $logFile +grep "data timeout" $logFile diff --git a/src/accountMgr/c_program/subsDataBackup/Makefile b/src/accountMgr/c_program/subsDataBackup/Makefile new file mode 100644 index 0000000..fbc4f0a --- /dev/null +++ b/src/accountMgr/c_program/subsDataBackup/Makefile @@ -0,0 +1,84 @@ +#!/bin/sh + +# Makefile for test snmpComm module. + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall + +dbINCLUDE_FLAGS = -I/usr/local/mysql/include +dbINCLUDE_FLAGS.ES = -I/usr/include/mariadb + +dbLib = -L/usr/local/mysql/lib -lmariadbclient -lz +dbLib.ES = -L/usr/lib/mysql -lmariadbclient -lm + +omcLib = -L../../../omcLib/c_program/omcLib -lomcLib + +LIB_FLAGS = $(omcLib) $(dbLib) +#LIB_FLAGS.ES = $(omcLib) $(dbLib.ES) + +LIB_FLAGS.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lm + + +LINK_SUFFIX = $(LIB_FLAGS) +LINK_SUFFIX.ES = $(LIB_FLAGS.ES) + +PROGS = subsDataBackup + +SNMPCOMM_OBJ = subsDataBackupMain.o subsDataBackup.o +SNMPCOMM_OBJ.ES = subsDataBackupMain.o.ES subsDataBackup.o.ES + +LIB_OBJ = subsDataBackup.o +LIB_OBJ.ES = subsDataBackup.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(SNMPCOMM_OBJ) + @cd ../../../omcLib/c_program/omcLib; make clean; make linux72; cd - + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(SNMPCOMM_OBJ) $(LINK_SUFFIX) + ar r libsubsDataBackup.a $(LIB_OBJ) + rm -f *.o core *~ + cp -f $(PROGS) ../../../bin/ + cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(SNMPCOMM_OBJ.ES) + @cd ../../../omcLib/c_program/omcLib; make clean; make linuxES; cd - + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(SNMPCOMM_OBJ) $(LINK_SUFFIX.ES) + ar r libsubsDataBackup.a $(LIB_OBJ) + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +subsDataBackupMain.o: subsDataBackupMain.c + $(CC) $(CFLAGS) -c subsDataBackupMain.c $(dbINCLUDE_FLAGS) + +subsDataBackup.o: subsDataBackup.c + $(CC) $(CFLAGS) -c subsDataBackup.c $(dbINCLUDE_FLAGS) + +subsDataBackupMain.o.ES: subsDataBackupMain.c + $(CC) $(CFLAGS) -c subsDataBackupMain.c $(dbINCLUDE_FLAGS.ES) + +subsDataBackup.o.ES: subsDataBackup.c + $(CC) $(CFLAGS) -c subsDataBackup.c $(dbINCLUDE_FLAGS.ES) + +clean: + rm -f *.o *.a $(PROGS) + @cd ../../../accountMgr/c_program/subsDataBackup; rm -f *.o *.a; cd .. diff --git a/src/accountMgr/c_program/subsDataBackup/subsDataBackup.c b/src/accountMgr/c_program/subsDataBackup/subsDataBackup.c new file mode 100644 index 0000000..d0ee995 --- /dev/null +++ b/src/accountMgr/c_program/subsDataBackup/subsDataBackup.c @@ -0,0 +1,669 @@ +#include +#include + +#include "mysql.h" + +#include "subsDataBackup.h" + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,7}; +int PROC_HEARTBEAT_OIDLEN=11; +int sendHeartbeat(); + +/* by simon at 23/9/25 */ +subsData_Backup subsDataBackup[MaxSysConfNum]; + +/**************subsdata backup functions declare**********************/ +void backupTimer(); +void sendCmd(int proc); +void scanCmd(int proc); +void backupFile(int proc); +void debug_log(const char *fmt,...); + +/***********subsdata backup global var declare And init*********************/ +//static FILE *subsDataBackupLog; +static MYSQL *dbConn; + +int subsDataBackupFlag=0; +int automatic_scratch_card_time=0; +int automatic_scratch_card_flag=0; +int cmdId=0; +int oldDayForLog = 0; //1-31 +int oldDayForBackup = 0; //1-31 +unsigned long waitTime; +int waitFlag; +unsigned long inTime; +int inFlag; +int lastFinishNum=0; +int finishFlag; +unsigned long finishTime; + +void subsDataBackupInit() +{ + int i=0; + char tmpSql[1024]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + + debug_init(1); + iptrans_init(); + snmp_init(4957); + //heartbeat_init(0); + debug_log("subsDataBackup is starting......"); + dbConn = mysql_conn(HOSTNAME,PUB_DB); + if(dbConn == NULL){ + debug_log("[ERR][subsDataBackupInit]connect OMC_PUB"); + exitLog("subsDataBackup:subsDataBackupInit, Connect OMC_PUB error"); + exit(1); + } + + sprintf(tmpSql, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='automatic_scratch_card_time'"); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0){ + automatic_scratch_card_time = 0; + mysql_free_result(tmpResult); + debug_log("The automatic_scratch_card_time value is NULL"); + }else { + tmpRow = mysql_fetch_row(tmpResult); + automatic_scratch_card_time = atoi(tmpRow[0]); + mysql_free_result(tmpResult); + } + if (automatic_scratch_card_time < 0 || automatic_scratch_card_time > 23){ + debug_log("The automatic_scratch_card_time value is %d not in range",automatic_scratch_card_time); + automatic_scratch_card_time = 0; + } + debug_log("automatic_scratch_card_time=%d",automatic_scratch_card_time); + + sprintf(tmpSql, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='automatic_scratch_card_flag'"); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0){ + automatic_scratch_card_flag = 0; + mysql_free_result(tmpResult); + debug_log("The automatic_scratch_card_flag value is NULL"); + }else { + tmpRow = mysql_fetch_row(tmpResult); + automatic_scratch_card_flag = atoi(tmpRow[0]); + mysql_free_result(tmpResult); + } + if (automatic_scratch_card_flag < 0 || automatic_scratch_card_flag > 1){ + debug_log("The automatic_scratch_card_time value %d is not in range",automatic_scratch_card_flag); + automatic_scratch_card_flag = 0; + } + debug_log("automatic_scratch_card_flag=%d",automatic_scratch_card_flag); + + sprintf(tmpSql, "SELECT subsDataBackup.sysTypeNo,subsDataBackup.dataTypeNo,subsDataTable,tmpDataTable"\ + " FROM subsDataBackup,sysSubsConf "\ + " WHERE sysSubsConf.sysTypeNo = subsDataBackup.sysTypeNo AND sysSubsConf.dataTypeNo = subsDataBackup.dataTypeNo AND sysSubsConf.isEnable > '0' "\ + " AND subsDataBackup.flag > '0' ORDER BY subsDataBackup.sysTypeNo AND subsDataBackup.dataTypeNo"); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL && mysql_num_rows(tmpResult) == 0) { + subsDataBackupFlag=0; + mysql_free_result(tmpResult); + debug_log("No subsdata backup"); + return ; + } + debug_log("backup server list"); + while((tmpRow=mysql_fetch_row(tmpResult)) > 0){ + subsDataBackup[i].backupStat=nWaitBackup; + subsDataBackup[i].sysTypeNo=atoi(tmpRow[0]); + subsDataBackup[i].dataTypeNo=atoi(tmpRow[1]); + strcpy(subsDataBackup[i].subsDataTable,tmpRow[2]); + strcpy(subsDataBackup[i].tmpDataTable,tmpRow[3]); + debug_log("%d,sysTypeNo=%d,dataTypeNo=%d,subsDataTable=%s,tmpDataTable=%s",i,subsDataBackup[i].sysTypeNo,subsDataBackup[i].dataTypeNo,subsDataBackup[i].subsDataTable,subsDataBackup[i].tmpDataTable); + i++; + } + mysql_free_result(tmpResult); + + return; +} + +/************************************************* +Function: // sendHeartbeat +Description: // Send process heartbeat to beatProc +Calls: // snmp_send +Called By: // on_Timer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK; 0:Fail +Others: // +*************************************************/ +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"subsDataBackup"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + debug_log("Send heartbeat fail"); + return 0; + } + return 1; +} +unsigned long heartbeat_timeout=0; +void subsDataBackupTimer() +{ + long l_time; + struct tm *t; + + + l_time=time(NULL); + t=localtime(&l_time); + + if(time(NULL) - heartbeat_timeout > 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + + if(t->tm_mday != oldDayForLog){ + //init logfile,create a new log file to restore log + oldDayForLog = t->tm_mday; + } + + if(automatic_scratch_card_flag==1&&t->tm_mday != oldDayForBackup&&t->tm_hour==automatic_scratch_card_time){ + debug_log("start to backup process, last backup date is %d",oldDayForBackup); + subsDataBackupFlag=1; + oldDayForBackup = t->tm_mday; + } + + //printf("subsDataBackupFlag=%d\n",subsDataBackupFlag); + + if(subsDataBackupFlag==1){ + backupTimer(); + } + return ; +} +static int start_proc_index=0; +void backupTimer() +{ + int i; + int proc; + char tmpSql[1024]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + + char tmpLoadoutSql[400]; + char tmpLoadoutFile[100]; + + for(proc=start_proc_index;proc 0)) { + mysql_free_result(tmpResult); + omcLog(subsDataBackupLog,"sysTypeNo=%d,dataTypeNo=%d;The database of subsComm is not NULL",subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo); + return ; + } + + mysql_free_result(tmpResult); + */ + + //check mysql connection + if(mysql_ping(dbConn)) + { + debug_log("[ERR][backupTimer]mysql gone away,reconnect"); + mysql_close(dbConn); + dbConn = mysql_conn(HOSTNAME,PUB_DB); + if(dbConn == NULL) + { + debug_log("[ERR][backupTimer]reconnect mysql OMC_PUB"); + } + } + + + sprintf(tmpSql, "SELECT sysNo,subSysNo FROM %s WHERE sysTypeNo =\'%d\' ORDER BY baseStat DESC",IpTable, subsDataBackup[proc].sysTypeNo); + + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + + mysql_free_result(tmpResult); + subsDataBackup[proc].backupStat=nOutBackup; + debug_log("%d,system-%d,dataTypeNo=%d,can not get the IP",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo); + }else{ + tmpRow = mysql_fetch_row(tmpResult); + subsDataBackup[proc].sysNo = atoi(tmpRow[0]); + subsDataBackup[proc].subSysNo = atoi(tmpRow[1]); + mysql_free_result(tmpResult); + subsDataBackup[proc].backupStat=nInBackup; + + sprintf(tmpLoadoutFile,"%s/%s_tmp.csv",subsComm_backupPath,subsDataBackup[proc].subsDataTable); + unlink(tmpLoadoutFile); + sprintf(tmpLoadoutSql,"SELECT * INTO OUTFILE '%s' "\ + " FIELDS TERMINATED BY ',' FROM %s",tmpLoadoutFile,subsDataBackup[proc].subsDataTable); + if(mysql_getnores(dbConn,tmpLoadoutSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpLoadoutSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpLoadoutSql); + } + + sprintf(tmpSql, "DELETE FROM %s",subsDataBackup[proc].subsDataTable); + if(mysql_getnores(dbConn, tmpSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + sprintf(tmpSql, "DELETE FROM %s",subsDataBackup[proc].tmpDataTable); + if(mysql_getnores(dbConn, tmpSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + sendCmd(proc); + return ; + } + break; + case nInBackup: + if(finishFlag!=1) + scanCmd(proc); + else{ + //if(time(NULL)-finishTime>MAX_GETALL_TIMEOUT) + backupFile(proc); + } + return ; + break; + case nOutBackup: + debug_log("%d,system-%d,dataTypeNo=%d,affair finish, start next",start_proc_index,subsDataBackup[start_proc_index].sysTypeNo,subsDataBackup[start_proc_index].dataTypeNo); + start_proc_index++; + break; + default: + break; + } + } + if(proc==MaxSysConfNum){ + subsDataBackupFlag=0; + start_proc_index=0; + for(i=0;i 50000) { + //sprintf(tmpSql, "DROP TABLE %s", CommTable); + sprintf(tmpSql, "TRUNCATE TABLE %s", CommTable); + mysql_getnores(dbConn, tmpSql); + /* + sprintf(tmpSql, "CREATE TABLE %s" + "(commId smallint(5) unsigned NOT NULL auto_increment," + "commType tinyint(1) DEFAULT '0' NOT NULL," + "dataTypeNo tinyint(4) DEFAULT '0' NOT NULL," + "sysTypeNo smallint(5) unsigned DEFAULT '0' NOT NULL," + "sysNo smallint(5) unsigned DEFAULT '0' NOT NULL," + "subSysNo smallint(5) unsigned DEFAULT '0' NOT NULL," + "indexValueList varchar(255) NOT NULL," + "fieldNameList text NOT NULL," + "paramType tinyint(4) DEFAULT '0' NOT NULL," + "commState tinyint(3) unsigned DEFAULT '0' NOT NULL," + "totalNum smallint(5) unsigned DEFAULT '0' NOT NULL," + "finishNum smallint(5) unsigned DEFAULT '0' NOT NULL," + "sendTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL," + "bgnTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL," + "endTime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL," + "remark varchar(200) binary NOT NULL," + "PRIMARY KEY (commId)," + "KEY sysTypeNo (sysTypeNo)," + "KEY sysNo (sysNo)," + "KEY subSysNo (subSysNo)," + "KEY bufferKey (indexValueList));", CommTable); + mysql_getnores(dbConn, tmpSql); + */ + } + + //insert to command table + sprintf(tmpSql, "INSERT INTO %s " + "(commType,dataTypeNo,sysTypeNo,sysNo,subSysNo,indexValueList," + "fieldNameList,paramType,commState,sendTime,remark)" + "VALUES" + "(\'5\',\'%d\',\'%d\',\'%d\',\'%d\',\'\',\'ALL\'," + "\'0\',\'1\',CURRENT_TIMESTAMP,\'by subsDatabackup\')", + CommTable, + subsDataBackup[proc].dataTypeNo, + subsDataBackup[proc].sysTypeNo, + subsDataBackup[proc].sysNo, + subsDataBackup[proc].subSysNo); + + if(mysql_getnores(dbConn, tmpSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + + //get commId + sprintf(tmpSql, "SELECT commId FROM %s " + " WHERE sysTypeNo=\'%d\' " + " AND dataTypeNo=\'%d\' " + " AND indexValueList=\'\'", + CommTable, + subsDataBackup[proc].sysTypeNo, + subsDataBackup[proc].dataTypeNo); + + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + debug_log("%d,system-%d,dataTypeNo=%d,get commId fail",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo); + mysql_free_result(tmpResult); + + sprintf(tmpLoadoutFile,"%s/%s_tmp.csv",subsComm_backupPath, subsDataBackup[proc].subsDataTable); + sprintf(tmpSql, "LOAD DATA INFILE '%s' REPLACE INTO TABLE %s "\ + " FIELDS TERMINATED BY ','",tmpLoadoutFile,subsDataBackup[proc].subsDataTable); + if(mysql_getnores(dbConn, tmpSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + unlink(tmpLoadoutFile); + + subsDataBackup[proc].backupStat=nOutBackup; + return ; + } + tmpRow = mysql_fetch_row(tmpResult); + cmdId = atoi(tmpRow[0]); + mysql_free_result(tmpResult); + + debug_log("%d,system-%d,dataTypeNo=%d,get commId=%d",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,cmdId); + return ; +} + +//scan command progress +void scanCmd(int proc) +{ + int cmdState = 0; + char tmpSql[1024]; + char ErrorMsg[256]; + MYSQL_RES *tmpResult = NULL; + MYSQL_ROW tmpRow = NULL; + + + char tmpLoadoutFile[100]; + + long l_time; + struct tm *t; + l_time=time(NULL); + t=localtime(&l_time); + + if (cmdId <= 0){ + debug_log("%d,system-%d,dataTypeNo=%d,the commId is error when scanCmd",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo); + sprintf(tmpLoadoutFile,"%s/%s_tmp.csv",subsComm_backupPath, subsDataBackup[proc].subsDataTable); + sprintf(tmpSql, "LOAD DATA INFILE '%s' REPLACE INTO TABLE %s "\ + " FIELDS TERMINATED BY ','",tmpLoadoutFile,subsDataBackup[proc].subsDataTable); + if(mysql_getnores(dbConn, tmpSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + unlink(tmpLoadoutFile); + + subsDataBackup[proc].backupStat=nOutBackup; + return ; + } + + sprintf(tmpSql, "SELECT commState,remark,finishNum " + " FROM %s WHERE commId=\'%d\'", CommTable, cmdId); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if (tmpResult == NULL || mysql_num_rows(tmpResult) == 0) { + debug_log("%d,system-%d,dataTypeNo=%d,the commId is lost when scanCmd",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo); + subsDataBackup[proc].backupStat=nOutBackup; + mysql_free_result(tmpResult); + + sprintf(tmpLoadoutFile,"%s/%s_tmp.csv",subsComm_backupPath, subsDataBackup[proc].subsDataTable); + sprintf(tmpSql, "LOAD DATA INFILE '%s' REPLACE INTO TABLE %s "\ + " FIELDS TERMINATED BY ','",tmpLoadoutFile,subsDataBackup[proc].subsDataTable); + if(mysql_getnores(dbConn, tmpSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + unlink(tmpLoadoutFile); + + return ; + } + tmpRow = mysql_fetch_row(tmpResult); + cmdState = atoi(tmpRow[0]); + strcpy(ErrorMsg, tmpRow[1]); + mysql_free_result(tmpResult); + + switch (cmdState) { + case nProcFail: + waitFlag=0; + inFlag=0; + + debug_log("%d,system-%d,dataTypeNo=%d,the get all command execute fail when scanCmd,%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,ErrorMsg); + sprintf(tmpLoadoutFile,"%s/%s_tmp.csv",subsComm_backupPath, subsDataBackup[proc].subsDataTable); + sprintf(tmpSql, "LOAD DATA INFILE '%s' REPLACE INTO TABLE %s "\ + " FIELDS TERMINATED BY ','",tmpLoadoutFile,subsDataBackup[proc].subsDataTable); + if(mysql_getnores(dbConn, tmpSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + unlink(tmpLoadoutFile); + + sprintf(tmpSql, "DELETE FROM %s WHERE commId=\'%d\'", CommTable, cmdId); + mysql_getnores(dbConn, tmpSql); + subsDataBackup[proc].backupStat=nOutBackup; + lastFinishNum=0; + return ; + break; + case nWaitProc: + inFlag=0; + if(waitFlag==1){ + if(time(NULL)-waitTime>100){ + debug_log("%d,system-%d,dataTypeNo=%d,wait the get all command execute timeout",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo); + sprintf(tmpLoadoutFile,"%s/%s_tmp.csv",subsComm_backupPath, subsDataBackup[proc].subsDataTable); + sprintf(tmpSql, "LOAD DATA INFILE '%s' REPLACE INTO TABLE %s "\ + " FIELDS TERMINATED BY ','",tmpLoadoutFile,subsDataBackup[proc].subsDataTable); + if(mysql_getnores(dbConn, tmpSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + unlink(tmpLoadoutFile); + + sprintf(tmpSql, "DELETE FROM %s WHERE commId=\'%d\'",CommTable, cmdId); + mysql_getnores(dbConn, tmpSql); + waitFlag=0; + lastFinishNum=0; + subsDataBackup[proc].backupStat=nOutBackup; + return ; + } + }else{ + waitTime=time(NULL); + waitFlag=1; + } + break; + case nInProc: + waitFlag=0; + if((atoi(tmpRow[2])-lastFinishNum)>0){ + inFlag=0; + lastFinishNum=atoi(tmpRow[2]); + }else{ + if(inFlag==1){ + if((time(NULL)-inTime)>MAX_GETALL_TIMEOUT){ + debug_log("%d,system-%d,dataTypeNo=%d,wait the get all command executing timeout,the lastFinishNum is %d",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,lastFinishNum); + sprintf(tmpLoadoutFile,"%s/%s_tmp.csv",subsComm_backupPath, subsDataBackup[proc].subsDataTable); + sprintf(tmpSql, "LOAD DATA INFILE '%s' REPLACE INTO TABLE %s "\ + " FIELDS TERMINATED BY ','",tmpLoadoutFile,subsDataBackup[proc].subsDataTable); + if(mysql_getnores(dbConn, tmpSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,tmpSql); + } + unlink(tmpLoadoutFile); + + sprintf(tmpSql, "DELETE FROM %s WHERE commId=\'%d\'",CommTable, cmdId); + mysql_getnores(dbConn, tmpSql); + subsDataBackup[proc].backupStat=nOutBackup; + + inFlag=0; + lastFinishNum=0; + return ; + } + }else{ + inFlag=1; + inTime=time(NULL); + } + } + break; + case nOutProc: + waitFlag=0; + inFlag=0; + lastFinishNum=0; + finishFlag=1; + sprintf(tmpSql, "DELETE FROM %s WHERE commId=\'%d\'",CommTable, cmdId); + mysql_getnores(dbConn, tmpSql); + debug_log("%d,system-%d,dataTypeNo=%d,the get all command execute finish",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo); + finishTime=time(NULL); + break; + default: + break; + } //end of switch + return ; +} + +void backupFile(int proc) +{ + char loadoutSql[400]; + char loadoutFile[100]; + + char tmpLoadoutFile[100]; + + long l_time; + struct tm *t; + l_time=time(NULL); + t=localtime(&l_time); + + sprintf(loadoutFile,"%s/%s_%d_%d.csv",subsComm_backupPath,subsDataBackup[proc].subsDataTable,t->tm_mon + 1,t->tm_mday-1); + unlink(loadoutFile); + sprintf(loadoutSql,"SELECT * INTO OUTFILE '%s' "\ + " FIELDS TERMINATED BY ',' FROM %s",loadoutFile,subsDataBackup[proc].subsDataTable); + mysql_getnores(dbConn,loadoutSql); + if(mysql_getnores(dbConn, loadoutSql) == 0) + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql success=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,loadoutSql); + } + else + { + debug_log("%d,system-%d,dataTypeNo=%d,execute sql fail=%s",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,loadoutSql); + } + + sprintf(tmpLoadoutFile,"%s/%s_tmp.csv",subsComm_backupPath, subsDataBackup[proc].subsDataTable); + unlink(tmpLoadoutFile); + debug_log("%d,system-%d,dataTypeNo=%d,backup %s finish",proc,subsDataBackup[proc].sysTypeNo,subsDataBackup[proc].dataTypeNo,subsDataBackup[proc].subsDataTable); + subsDataBackup[proc].backupStat=nOutBackup; + finishFlag=0; + return ; +} + + +void debug_log(const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"../log/subsDataBackup_%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + diff --git a/src/accountMgr/c_program/subsDataBackup/subsDataBackup.h b/src/accountMgr/c_program/subsDataBackup/subsDataBackup.h new file mode 100644 index 0000000..914fa2c --- /dev/null +++ b/src/accountMgr/c_program/subsDataBackup/subsDataBackup.h @@ -0,0 +1,88 @@ +/* Title: subsDataBackup.h + * Description: back up the subscriber data + * Author: Cui Ticun + * Date: 2005/01/15 + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include "mysql.h" + +#define subsDataBackup_LogPath "../log" +#define subsDataBackup_LogFile "subsDataBackup" +#define subsComm_backupPath "/usr/local/apache/htdocs/db_backup/subsData" + +#define MaxSysConfNum 18 +#define MAX_GETALL_TIMEOUT 7200 + +#define HOSTNAME "localhost" +#define PUB_DB "OMC_PUB" //OMC's public database +#define SysConfTable "OMC_PUB.sysConf" //system config table +#define subsConfTable "OMC_PUB.sysSubsConf" //system config table +#define CommTable "OMC_PUB.subscriberComm" //command table +#define IpTable "OMC_PUB.sysInfo" //system's IP table +#define subsDataBackupTable "OMC_PUB.subsDataBackup" // +#define omcPubVarConfTable "OMC_PUB.omcPubVarConf" // + +//commState flag define +#define nProcFail 0 +#define nWaitProc 1 +#define nInProc 2 +#define nOutProc 3 + +//subs data backup state +#define nNotBackup 0 +#define nWaitBackup 1 +#define nInBackup 2 +#define nOutBackup 3 + +typedef struct subsData_Backup{ + int backupStat; + int sysTypeNo; + int dataTypeNo; + int sysNo; + int subSysNo; + char subsDataTable[128]; + char tmpDataTable[128]; +}subsData_Backup; + +/* by simon at 23/9/25 */ +// subsData_Backup subsDataBackup[MaxSysConfNum]; + +//Interface Functions Declare,define in subsComm.c +void subsDataBackupInit(); +void subsDataBackupTimer(); diff --git a/src/accountMgr/c_program/subsDataBackup/subsDataBackupMain.c b/src/accountMgr/c_program/subsDataBackup/subsDataBackupMain.c new file mode 100644 index 0000000..e144a85 --- /dev/null +++ b/src/accountMgr/c_program/subsDataBackup/subsDataBackupMain.c @@ -0,0 +1,107 @@ +/* Title: subsDataBackupMain.c + * Description: back up the subscriber data + * Author: Cui Ticun + * Date: 2003/02/14 + */ + +#include +#include +#include +#include +#include + +#include "subsDataBackup.h" + +static struct itimerval itimer, old_itimer; + +void onTimer(); +void setTimer(); +void setup_daemon(void); + +int main(int argc, char *argv[]) +{ + char runMode; + + subsDataBackupInit(); + + if (argc > 0) { + runMode = getopt(argc, argv, "d"); + switch (runMode) { + case 'd': + setup_daemon(); + break; + case '?': + break; + } + //debug_init();//must do it at first + } + setTimer(); + while (1) { + usleep(50); + } + + return (1); +} + +void onTimer() +{ + subsDataBackupTimer(); +} + +void setTimer() +{ + struct sigaction act; + act.sa_handler = onTimer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + exitLog("subsDataBackup:setTimer, sigaction function error"); + perror("Produce Sigaction"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exitLog("subsDataBackup:setTimer, setitimer function error"); + exit(1); + } +} + +void setup_daemon(void) +{ + /* + int i; + + for (i = 0; i < 3; ++i) { + close(i); + } + */ + switch (fork()) { + case -1: + perror("setup_daemon(), 1st fork()"); + exit(2); + default: + exit(0); + case 0: + if (setsid() == -1) { + perror("setup_daemon(), setsid()"); + exit(3); + } + switch (fork()) { + case -1: + perror("setup_daemon(), 2nd fork()"); + exit(3); + default: + exit(0); + case 0: + umask(0); + /* and return with daemon set up */ + return; + } + } +} diff --git a/src/accountMgr/c_program/wsms/Makefile b/src/accountMgr/c_program/wsms/Makefile new file mode 100644 index 0000000..1762609 --- /dev/null +++ b/src/accountMgr/c_program/wsms/Makefile @@ -0,0 +1,90 @@ +#/bin/sh + +# Makefile for CDR Module. + +CC = gcc +CFLAGS=-g -Wall -I/usr/local/mysql/include +CFLAGS.ES=-g -Wall -I/usr/include/mariadb + +COMPILE.c=$(CC) $(CFLAGS) +COMPILE.c.ES=$(CC) $(CFLAGS.ES) + +LINK.c=$(CC) $(CFLAGS) +LINK.c.ES=$(CC) $(CFLAGS.ES) + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../omcLib/c_program/ftp -lftp \ +-L../../../../wxc2plat/snmp -lsnmp \ +-L../../../../wxc2plat/debug -ldebug \ +-L../../../../wxc2plat/iptrans -liptrans \ +-L../../../../wxc2plat/public -lpublic \ +-L/usr/local/mysql/lib -lmariadbclient -lz + +LINKFLAG.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../omcLib/c_program/ftp -lftp \ +-L../../../../plat/smpp/lib -lsmpp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/mtp3/lib -lmtp3 \ +-L../../../../plat/m2ua/lib -lm2ua \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lz + +PROGS=wsms +WSMS_OBJ = wsms.o +WSMS_OBJ.ES = wsms.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files(*.o, *.a)" + @echo "make linux72 -- Generate target files for Redhat Linux 7.2" + @echo "make linuxES -- Generate target files for Redhat ES 4.0" + +linux72: $(WSMS_OBJ) wsmsmain.o + @cd ../../../omcLib/c_program/ftp; make linux72; cd .. + @cd ../../../accountMgr/c_program/wsms; + @echo Linking $(PROGS) + @$(LINK.c) -o $(PROGS) wsmsmain.o $(WSMS_OBJ) $(LINKFLAG) -lm + ar r libwsms.a $(WSMS_OBJ) + rm -rf *.o + rm -rf *bak + rm -rf *~ + cp -f $(PROGS) ../../../bin + cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(WSMS_OBJ.ES) wsmsmain.o.ES + @cd ../../../omcLib/c_program/ftp; make linuxES; cd .. + @cd ../../../accountMgr/c_program/wsms; + @echo Linking $(PROGS) + @$(LINK.c.ES) -o $(PROGS) wsmsmain.o $(WSMS_OBJ) $(LINKFLAG.ES) -lm + ar r libwsms.a $(WSMS_OBJ) + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +wsmsmain.o: wsmsmain.c + $(COMPILE.c) -c wsmsmain.c + +wsms.o: wsms.c wsms.h + $(COMPILE.c) -c wsms.c + +wsmsmain.o.ES: wsmsmain.c + $(COMPILE.c.ES) -c wsmsmain.c + +wsms.o.ES: wsms.c wsms.h + $(COMPILE.c.ES) -c wsms.c + +clean: + rm -f *.o *.a $(PROGS) + @cd ../../../omcLib/c_program/ftp; rm -f *.o *.a; cd .. + @cd ../../../accountMgr/c_program/wsms;rm -f *.o *.a; cd .. + diff --git a/src/accountMgr/c_program/wsms/wsms.c b/src/accountMgr/c_program/wsms/wsms.c new file mode 100644 index 0000000..d93fc21 --- /dev/null +++ b/src/accountMgr/c_program/wsms/wsms.c @@ -0,0 +1,1198 @@ +/************************************************* +File name: wsms.c +Author: JianHui Zheng +Version: 9:00:00 +Date: 2008-03-04 +Description:The application file about Welcome short message function.This module is nested + into the omcMain module.It provides two functions:wsms_init,wsms_timer + for omcMain to call. + + When receive a VLR CDR,if the diagnostics=2,then the cdrCollector insert + the information into OMC_PUB.wsmsRoamer. + wsms get the record from OMC_PUB.wsmsRoamer,then send the welcome short + message and AD short message to the subscriber according to the hpmn + server configuration. + + The wsms support 100 hpmn servers configuration,every hpmn server + support 1 welcome short message and 8 AD short messages. + + Note:(1)The VLR CDR must include the diagnostics field. + (2)You must config smpp links on EMS first. + (3)You can set smpp link service number in the welcomeSMS.conf file + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include "wsms.h" + +/***************************/ +/** Variable Declarion ***/ +/***************************/ +/* The DB connection with the OMC_PUB */ +MYSQL *pubConn; + +/* The current count of hpmn servers */ +int wsms_serv_count; + +/* 1-enable the wsms function, 0-disable the wsms function */ +int wsms_enable_flag; + +/* The service number of the smpp link */ +char wsms_service_number[16]; + +/* The day time to keep the roamer record */ +int wsms_keep_day_time; + +/* The smpp link no */ +unsigned char smpp_link_no; + +/* The smpp link status */ +int smpp_link_status; + +/* The struct objects of the hpmn servers */ +HpmnServer servers[HPMN_MAX]; + +/* The default hpmn server index */ +int def_hpmn_server_index; + +/* For writing the log file */ +char message[2048]; + +/***************************/ +/** Function Declarion ***/ +/***************************/ +int initDBConnection(void); +void logMessage(const char *fmt,...); +void wsms_update(void); +int durTime(char* start,char* end); +int initWSMSConf(void); +int initSMPPLink(void); +void makeDefConf(void); +int wsms_smppOnDataRecv(BYTE linkNo, SMPP_MSG *pMsg, WORD dataLen); +int wsms_smppOnLinkStateChange(BYTE linkNo, BYTE state); +void wsms_send(HpmnServer *wsmsServer,char* msisdn); +int smsEncodeAll(int type,unsigned char* out,unsigned char* in,int len); +void wsms_del_overdue_sub(void); +void wsms_get_record(void); +int wsms_send_normal_sms(); +void wsms_send_sm_by_content(char *content,char* msisdn); +/***************************/ +/**** functions ****/ +/***************************/ +/************************************************* +Function: // initDBConnection +Description: // Init the connection with DB OMC_PUB +Calls: // +Called By: // wsms_init +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int initDBConnection(void) +{ + //init the OMC_PUB DB connection + sprintf(message,"Init the OMC_PUB database connection\n"); + logMessage(message); + + pubConn=mysql_conn("localhost","OMC_PUB"); + if(pubConn == NULL) + printf("[ERR][InitDBConnection]:mysql_conn OMC_PUB"); + + return 1; +} + +/************************************************* +Function: // logMessage +Description: // Write the log message to the log file +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // fmt: the message write to the log file +Output: // +Return: // +Others: // +*************************************************/ +void logMessage(const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/wsms%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + +/************************************************* +Function: // durTime +Description: // Judge the current time whether during the given date +Calls: // +Called By: // wsms_update +Table Accessed: // +Table Updated: // +Input: // start: the start date, "20081010" for exam. end: the end date +Output: // +Return: // 1-during the given date, 0-not during the given date +Others: // +*************************************************/ +int durTime(char* start,char* end) +{ + char tempstr[16]; + struct tm* local; + time_t t; + int start_year,start_mon,start_day; + int end_year,end_mon,end_day; + long lnow,lstart,lend; + + if(strlen(start) != 8 || strlen(end) != 8) + return 0; + + tempstr[0]=start[0]; + tempstr[1]=start[1]; + tempstr[2]=start[2]; + tempstr[3]=start[3]; + tempstr[4]='\0'; + start_year=atoi(tempstr)-1900; + + tempstr[0]=start[4]; + tempstr[1]=start[5]; + tempstr[2]='\0'; + start_mon=atoi(tempstr)-1; + + tempstr[0]=start[6]; + tempstr[1]=start[7]; + tempstr[2]='\0'; + start_day=atoi(tempstr); + + + tempstr[0]=end[0]; + tempstr[1]=end[1]; + tempstr[2]=end[2]; + tempstr[3]=end[3]; + tempstr[4]='\0'; + end_year=atoi(tempstr)-1900; + + tempstr[0]=end[4]; + tempstr[1]=end[5]; + tempstr[2]='\0'; + end_mon=atoi(tempstr)-1; + + tempstr[0]=end[6]; + tempstr[1]=end[7]; + tempstr[2]='\0'; + end_day=atoi(tempstr); + + t=time(NULL); + local=localtime(&t); + + lnow=365*local->tm_year + 31*local->tm_mon + local->tm_mday; + //printf("n_year=%d,n_mon=%d,n_day=%d\n",local->tm_year,local->tm_mon,local->tm_mday); + //printf("s_year=%d,s_mon=%d,s_day=%d\n",start_year,start_mon,start_day); + //printf("e_year=%d,e_mon=%d,e_day=%d\n",end_year,end_mon,end_day); + lstart=start_year*365 + 31*start_mon + start_day; + lend=end_year*365 + 31*end_mon + end_day; + //printf("now=%ld,start=%ld,end=%ld\n",lnow,lstart,lend); + if(lnow>=lstart && lnow<=lend) + return 1; + else + return 0; +} + +/************************************************* +Function: // wsms_update +Description: // Update the hpmn server information +Calls: // durTime +Called By: // wsms_timer +Table Accessed: // OMC_PUB.wsmsServConf, OMC_PUB.wsmsMsgConf +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void wsms_update() +{ + char sqlstr[256]; + MYSQL_RES *res; + MYSQL_ROW row; + char start[32]; + char end[32]; + int i; + + sprintf(message,"Update the hpmn server information\n"); + logMessage(message); + + sprintf(sqlstr,"select mcc,mnc,flag,smsEncode,welcomeMsg from wsmsServConf"); + + res=mysql_getres(pubConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR %d][wsms_update]:%s",mysql_errno(pubConn),sqlstr); + return; + } + + wsms_serv_count=0; + def_hpmn_server_index=-1; + while((row = mysql_fetch_row(res)) != NULL) + { + sprintf(servers[wsms_serv_count].mcc,"%s",row[0]); + sprintf(servers[wsms_serv_count].mnc,"%s",row[1]); + servers[wsms_serv_count].flag=atoi(row[2]); + servers[wsms_serv_count].smsEncode=atoi(row[3]); + sprintf((char*)servers[wsms_serv_count].wlContent,"%s",row[4]); + if(strcmp(servers[wsms_serv_count].mcc,"***")==0 && strcmp(servers[wsms_serv_count].mnc,"**")==0) + def_hpmn_server_index=wsms_serv_count; + wsms_serv_count++; + } + sprintf(message,"Hpmn server count=%d\n",wsms_serv_count); + logMessage(message); + mysql_free_result(res); + + sprintf(sqlstr,"select mcc,mnc,content,validStart,validEnd from wsmsMsgConf"); + + res=mysql_getres(pubConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR %d][wsms_update]:%s",mysql_errno(pubConn),sqlstr); + return; + } + + for(i=0;imessage_type) + { + + case 0x0C: // SUBMIT SM RESP + break; + case 0x0B: // SUBMIT SM + smpp_msg.message_type = 0x0c; + smpp_msg.pdu.submit_sm_resp.head.command_status = htonl(ESME_ROK); + smpp_msg.pdu.submit_sm_resp.head.sequence_number = pMsg->pdu.submit_sm.head.sequence_number; + smpp_msg.pdu.submit_sm_resp.head.command_length = 16 + strlen((char*)smpp_msg.pdu.submit_sm_resp.message_id); + strcpy((char*)smpp_msg.pdu.submit_sm_resp.message_id,"0"); + smpp_send(linkNo, &smpp_msg, dataLen); + break; + case 0x10: // deliver_sm_resp + break; + case 0x0F: // deliver_sm + smpp_msg.message_type = 0x10; + smpp_msg.pdu.deliver_sm_resp.head.command_status = htonl(ESME_ROK); + smpp_msg.pdu.deliver_sm_resp.head.sequence_number = pMsg->pdu.deliver_sm.head.sequence_number; + smpp_msg.pdu.deliver_sm_resp.message_id = '0'; + smpp_msg.pdu.deliver_sm_resp.head.command_length = 17; + smpp_send(linkNo, &smpp_msg, dataLen); + break; + default: + break; + } + return sequence_number; +} + +/************************************************* +Function: // wsms_smppOnLinkStateChange +Description: // The call-back function when the smpp link state change +Calls: // +Called By: // initSMPPLink +Table Accessed: // +Table Updated: // +Input: // linkNo:the link no; state:the state of the smpp link +Output: // +Return: // +Others: // +*************************************************/ +int wsms_smppOnLinkStateChange(BYTE linkNo, BYTE state) +{ + sprintf(message,"smpp link %d state change to %d\n",linkNo,state); + logMessage(message); + //printf("\nsmpp_tx link %d state change to %d\n", linkNo, state); + if(state==0) + { + smpp_link_status=0; +/* + smpp_link_no=smpp_registerLink(SMPP_CLIENT,BIND_TX,wsms_service_number,0); + if((smpp_link_no & 0x80)==0x80) + { + smpp_link_no=smpp_link_no & 0x7f; + smpp_attach_link(smpp_link_no,wsms_smppOnDataRecv,wsms_smppOnLinkStateChange); + } + else + { + smpp_link_no=0; + } +*/ + //printf("smpp_link_no=%d\n",smpp_link_no); + } + else + { + smpp_link_status=1; + //wsms_send(&servers[0],"86755810008"); + } + return linkNo; +} + +/************************************************* +Function: // wsms_send +Description: // The call-back function when the smpp link state change +Calls: // smsEncodeAll, smpp_send; +Called By: // wsms_get_record +Table Accessed: // +Table Updated: // +Input: // wsmsServer: the hpmn server; msisdn: the msisdn of the roamer +Output: // +Return: // +Others: // +*************************************************/ +void wsms_send(HpmnServer *wsmsServer,char* msisdn) +{ + SMPP_MSG sm_msg; + unsigned char data[512]; + int i; + int dataLen; + + sprintf(message,"Send smpp message to msisdn=%s\n",msisdn); + logMessage(message); + //printf("send smpp message\n"); + memset(&sm_msg,0,sizeof(SMPP_MSG)); + sm_msg.message_type = 0x0B; //PDU_SUBMIT_SM + sm_msg.optional_param_flag1 = 0x00; + sm_msg.optional_param_flag2 = 0x00; + memset(sm_msg.pdu.submit_sm.service_type,0,6); + sm_msg.pdu.submit_sm.source_addr_ton = 0x00; + //Unknown, 1=international, 2=National + sm_msg.pdu.submit_sm.source_addr_npi = 0x01; //ISDN + memcpy(sm_msg.pdu.submit_sm.source_addr, wsms_service_number,sizeof(wsms_service_number)); + sm_msg.pdu.submit_sm.dest_addr_ton = 0x01; //National + sm_msg.pdu.submit_sm.dest_addr_npi = 0x01; //ISDN + memcpy(sm_msg.pdu.submit_sm.destination_addr, msisdn,strlen(msisdn)); + sm_msg.pdu.submit_sm.esm_class = 0x00; + sm_msg.pdu.submit_sm.protocol_id = 0x00; + sm_msg.pdu.submit_sm.priority_flag = 0x03; + memset(sm_msg.pdu.submit_sm.schedule_delivery_time, 0,1); + memset(sm_msg.pdu.submit_sm.validity_period, 0,1); + sm_msg.pdu.submit_sm.registered_delivery = 0x11; + sm_msg.pdu.submit_sm.replace_if_present_flag = 0x01; + sm_msg.pdu.submit_sm.sm_default_msg_id = 0x01; + //7-bit + if(wsmsServer->smsEncode == 0) + { + sm_msg.pdu.submit_sm.data_coding = 0x00; + } + //8-bit + else if(wsmsServer->smsEncode == 1) + { + sm_msg.pdu.submit_sm.data_coding = 0x04; + } + //16-bit + else if(wsmsServer->smsEncode == 2) + { + sm_msg.pdu.submit_sm.data_coding = 0x08; + } + memset(data,0,512); + memset(sm_msg.pdu.submit_sm.short_message,0,254); + + //int smsEncodeAll(int type,char* out,char* in,int len) + //printf("in=%s\n",wsmsServer->wlContent); + dataLen=smsEncodeAll(wsmsServer->smsEncode,data,wsmsServer->wlContent,strlen((char*)wsmsServer->wlContent)); + //printf("out \n"); + //for(i=0;i=254?254:(dataLen%255)); + smpp_send(smpp_link_no,&sm_msg,0); + + for(i=0;iadCount;i++) + { + if(wsmsServer->adValid[i]) + { + memset(data,0,512); + memset(sm_msg.pdu.submit_sm.short_message,0,254); + dataLen=smsEncodeAll(wsmsServer->smsEncode,data,wsmsServer->adContent[i],strlen((char*)wsmsServer->adContent[i])); + sm_msg.pdu.submit_sm.sm_length = dataLen%255; + + memcpy(sm_msg.pdu.submit_sm.short_message,data,dataLen>=254?254:(dataLen%255)); + smpp_send(smpp_link_no,&sm_msg,0); + } + } + +} + +/************************************************* +Function: // smsEncodeAll +Description: // Encode the short message content +Calls: // +Called By: // wsms_send +Table Accessed: // +Table Updated: // +Input: // type: 0-7 bit,1-8 bit,2-16 bit; out: + out: the encoded data + in: the original data + len: the length of the original data +Output: // +Return: // the length of the encoded data +Others: // +*************************************************/ +int smsEncodeAll(int type,unsigned char* out,unsigned char* in_tmp,int len) +{ + int length,lentmp; + int i,j,index=0,tt,end; + unsigned char mask; + char tempstr[1024]; + + unsigned char in[4096]; + + memcpy(in,in_tmp,len); + + if(type<0 || type>2) + return 0; + + for(i=0;i>=j; + tt++; + } + lentmp-=8; + }while(lentmp>0); + + + length=len-len/8; + + } + else if(type == 1) + { + memcpy(out,in,len); + length=len; + } + else if(type == 2) + { + unsigned int ii; + for(i=0;i=0x41 && in[i]<=0x46) + { + in[i]=in[i]-0x37; + } + else if(in[i]>=0x61 && in[i]<=0x66) + { + in[i]=in[i]-0x57; + } + else + { + in[i]=in[i]-0x30; + } + printf("%02x ",in[i]); + } + + j=0; + tt=0; + for(i=0;itm_year,local->tm_mon,local->tm_mday); + + over_tm.tm_sec=0; + over_tm.tm_min=0; + over_tm.tm_hour=0; + over_tm.tm_mday=local->tm_mday; + over_tm.tm_mon=local->tm_mon; + over_tm.tm_year=local->tm_year; + //printf("over %d-%d-%d\n",over_tm.tm_year,over_tm.tm_mon,over_tm.tm_mday); + //printf("wsms_keep_day_time=%d\n",wsms_keep_day_time); + over_t=mktime(&over_tm)-wsms_keep_day_time*24*60*60; + result=localtime(&over_t); + //printf("result %d-%d-%d\n",result->tm_year,result->tm_mon,result->tm_mday); + sprintf(timestr,"%04d-%02d-%02d 00:00:00",result->tm_year+1900,result->tm_mon+1,result->tm_mday); + //printf("timestr=%s\n",timestr); + sprintf(sqlstr,"DELETE FROM OMC_PUB.wsmsRoamer where logTime<'%s'",timestr); + + if(mysql_getnores(pubConn,sqlstr) != 0) + { + logMessage("[ERR %d][wsms_del_overdue_sub]:%s",mysql_errno(pubConn),sqlstr); + return; + } + + sprintf(message,"Delete the overdue roamer record log in before %s\n",timestr); + logMessage(message); + + sprintf(sqlstr,"DELETE FROM OMC_PUB.sendSMSList where issue_time<'%s' and send_time != '0000-00-00 00:00:00'",timestr); + + if(mysql_getnores(pubConn,sqlstr) != 0) + { + logMessage("[ERR %d][wsms_del_overdue_sub]:%s",mysql_errno(pubConn),sqlstr); + return; + } + return; +} + +/************************************************* +Function: // wsms_get_record +Description: // Get the roamer record from OMC_PUB.wsmsRoamer to prepare send message +Calls: // wsms_send +Called By: // +Table Accessed: // OMC_PUB.wsmsRoamer +Table Updated: // OMC_PUB.wsmsRoamer +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void wsms_get_record() +{ + char sqlstr[256]; + char updatestr[256]; + MYSQL_RES *res; + MYSQL_ROW row; + char parse_mcc[8]; + char parse_mnc[8]; + char imsi[32]; + char msisdn[32]; + HpmnServer *wsmsServer; + int isExist=0; + int i; + + sprintf(sqlstr,"SELECT imsi,msisdn FROM OMC_PUB.wsmsRoamer WHERE flag=0"); + + + if(!smpp_link_status) + return; + sprintf(sqlstr,"SELECT imsi,msisdn FROM OMC_PUB.wsmsRoamer WHERE flag=0"); + + res=mysql_getres(pubConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR %d][wsms_get_record]:%s",mysql_errno(pubConn),sqlstr); + return; + } + + while((row = mysql_fetch_row(res)) != NULL) + { + isExist=0; + sprintf(imsi,"%s",row[0]); + sprintf(msisdn,"%s",row[1]); + if(strlen(imsi)>5) + { + for(i=0;i<3;i++) + { + parse_mcc[i]=imsi[i]; + } + parse_mcc[i]='\0'; + + for(i=3;i<5;i++) + { + parse_mnc[i-3]=imsi[i]; + } + parse_mnc[i-3]='\0'; + + for(i=0;iflag) + { + sprintf(message,"The sub imsi=%s log in the network,now prepare to send smpp message\n",imsi); + logMessage(message); + wsms_send(wsmsServer,msisdn); + sprintf(updatestr,"UPDATE OMC_PUB.wsmsRoamer SET flag=1 WHERE imsi='%s'",imsi); + + if(mysql_getnores(pubConn, updatestr) != 0) + { + logMessage("[ERR %d][wsms_get_record]:%s",mysql_errno(pubConn),updatestr); + } + } + } + //delete the record + else + { + if(def_hpmn_server_index != -1) + { + sprintf(message,"The sub imsi=%s log in the network,but not config,now prepare to send default smpp message\n",imsi); + logMessage(message); + wsms_send(&servers[def_hpmn_server_index],msisdn); + sprintf(updatestr,"UPDATE OMC_PUB.wsmsRoamer SET flag=1 WHERE imsi='%s'",imsi); + + if(mysql_getnores(pubConn, updatestr) != 0) + { + logMessage("[ERR %d][wsms_get_record]:%s",mysql_errno(pubConn),updatestr); + } + } + else + { + sprintf(message,"The sub imsi=%s log in the network,but not config,delete it\n",imsi); + logMessage(message); + sprintf(updatestr,"DELETE FROM OMC_PUB.wsmsRoamer WHERE imsi='%s'",imsi); + + if(mysql_getnores(pubConn, updatestr) != 0) + { + logMessage("[ERR %d][wsms_get_record]:%s",mysql_errno(pubConn),updatestr); + } + } + } + } + } + mysql_free_result(res); +} + +/************************************************* +Function: // wsms_init +Description: // The init function of the wsms +Calls: // initDBConnection, initWSMSConf, initSMPPLink, wsms_update +Called By: // omcMain +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int wsms_init(void) +{ + logMessage("Init WSMS module...\n"); + initDBConnection(); + initWSMSConf(); + initSMPPLink(); + //printf("wsms_enable_flag=%d,wsms_keey_day_time=%d,wsms_service_number=%s\n",wsms_enable_flag,wsms_keep_day_time,wsms_service_number); + wsms_update(); + return 0; +} + +/************************************************* +Function: // wsms_timer +Description: // The timer function of the wsms +Calls: // wsms_update, wsms_get_record, wsms_del_overdue_sub +Called By: // omcMain +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void wsms_timer() +{ + static int wsms_update_time=0; + static int wsms_get_record_time=0; + static int wsms_check_link_time=0; + static long wsms_del_record_time=0; + + if(!wsms_enable_flag) + return; + + //5 minutes + if(wsms_update_time++ > 15000) + { + wsms_update_time=0; + wsms_update(); + } + + if(wsms_check_link_time++ > 3000) + { + wsms_check_link_time=0; + if(smpp_link_status == 0) + { + initSMPPLink(); + } + } + + //5 seconds + if(wsms_get_record_time++ > 250) + { + wsms_get_record_time=0; + wsms_get_record(); + +#if CDR_ALARM_FLAG == 1 + wsms_send_normal_sms(); +#endif + } + + //1 hour + if(wsms_del_record_time++ > 180000) + { + wsms_del_record_time=0; + wsms_del_overdue_sub(); + } +} + + +void wsms_send_sm_by_content(char *content,char* msisdn) +{ + SMPP_MSG sm_msg; + unsigned char data[512]; + int dataLen; + int ret; + + if(smpp_link_status == 0) + { + logMessage("wsms_send_sm_by_content,but smpp_link_status=0"); + return; + } + + sprintf(message,"Send smpp message to msisdn=%s\n",msisdn); + logMessage(message); + //printf("send smpp message\n"); + memset(&sm_msg,0,sizeof(SMPP_MSG)); + sm_msg.message_type = 0x0B; //PDU_SUBMIT_SM + sm_msg.optional_param_flag1 = 0x00; + sm_msg.optional_param_flag2 = 0x00; + memset(sm_msg.pdu.submit_sm.service_type,0,6); + sm_msg.pdu.submit_sm.source_addr_ton = 0x00; + //Unknown, 1=international, 2=National + sm_msg.pdu.submit_sm.source_addr_npi = 0x01; //ISDN + memcpy(sm_msg.pdu.submit_sm.source_addr, wsms_service_number,sizeof(wsms_service_number)); + sm_msg.pdu.submit_sm.dest_addr_ton = 0x01; //National + sm_msg.pdu.submit_sm.dest_addr_npi = 0x01; //ISDN + memcpy(sm_msg.pdu.submit_sm.destination_addr, msisdn,strlen(msisdn)); + sm_msg.pdu.submit_sm.esm_class = 0x00; + sm_msg.pdu.submit_sm.protocol_id = 0x00; + sm_msg.pdu.submit_sm.priority_flag = 0x03; + memset(sm_msg.pdu.submit_sm.schedule_delivery_time, 0,1); + memset(sm_msg.pdu.submit_sm.validity_period, 0,1); + sm_msg.pdu.submit_sm.registered_delivery = 0x11; + sm_msg.pdu.submit_sm.replace_if_present_flag = 0x01; + sm_msg.pdu.submit_sm.sm_default_msg_id = 0x01; + + sm_msg.pdu.submit_sm.data_coding = 0x04; + + + memset(data,0,512); + memset(sm_msg.pdu.submit_sm.short_message,0,254); + + //int smsEncodeAll(int type,char* out,char* in,int len) + //printf("in=%s\n",wsmsServer->wlContent); + dataLen=smsEncodeAll(1,data,(unsigned char*)content,strlen((char*)content)); + //printf("out \n"); + //for(i=0;i=254?254:(dataLen%255)); + ret=smpp_send(smpp_link_no,&sm_msg,0); + logMessage("send result=%d",ret); +} + +int wsms_send_normal_sms() +{ + char sqlstr[256]; + MYSQL_RES *res; + MYSQL_ROW row; + MYSQL *dbConn; + logMessage("wsms_send_normal_sms"); + dbConn=mysql_conn("localhost","OMC_PUB"); + if(dbConn == NULL) + logMessage("[ERR][wsms_send_normal_sms]:mysql_conn OMC_PUB\n"); + + sprintf(sqlstr,"select instance,receiver,content from OMC_PUB.sendSMSList where send_time ='0000-00-00 00:00:00' limit 0,1"); + res=mysql_getres(dbConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR %d][wsms_send_normal_sms]:%s\n",mysql_errno(dbConn),sqlstr); + mysql_close(dbConn); + return 0; + } + + row = mysql_fetch_row(res); + if(row == NULL) + { + mysql_free_result(res); + mysql_close(dbConn); + return 0; + } + + wsms_send_sm_by_content(row[2],row[1]); + + sprintf(sqlstr,"update OMC_PUB.sendSMSList set send_time=FROM_UNIXTIME(%ld) where instance='%s';",time(NULL),row[0]); + mysql_free_result(res); + + if(mysql_getnores(dbConn,sqlstr) != 0) + { + logMessage("[ERR %d][wsms_send_normal_sms]:%s\n",mysql_errno(dbConn),sqlstr); + } + + mysql_close(dbConn); + return 1; +} + diff --git a/src/accountMgr/c_program/wsms/wsms.h b/src/accountMgr/c_program/wsms/wsms.h new file mode 100644 index 0000000..86200db --- /dev/null +++ b/src/accountMgr/c_program/wsms/wsms.h @@ -0,0 +1,52 @@ +#ifndef wsms__H +#define wsms__H + +#ifndef MYSQL_H + #include "mysql.h" +#endif + +#ifndef WSMS_DEBUG + #define WSMS_DEBUG 0 +#endif + +#define CDR_ALARM_FLAG 1 + +#include "mysql.h" +#include "errmsg.h" +#include +#include +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/public/src/include/asn1.h" +#include "../../../../plat/iptrans/src/include/iptrans.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../../plat/mtp3/src/include/mtp3.h" +#include "../../../../plat/sccp/src/include/sccp.h" +#include "../../../../plat/smpp/src/include/smpp.h" + +#define HPMN_MAX 100 +#define WEL_AD_MAX 32 + +/* Use for the information of every HPMN */ +typedef struct HpmnServer +{ + char mcc[8]; //The mcc of the hpmn server + char mnc[8]; //The mnc of the hpmn server + int flag; //1-enable, 0-disable + int smsEncode; //0-7 bit, 1-8 bit, 2-16 bit + unsigned char wlContent[512]; //The welcome short message of the hpmn server + int adCount; //The count of AD short messages + unsigned char adContent[WEL_AD_MAX][512]; //The content of each AD short message + int adValid[WEL_AD_MAX]; //The valid flag of each AD short message +}HpmnServer; + + +/**************************/ +/**** function *****/ +/**************************/ +int wsms_init(void); +void wsms_timer(void); + +#endif + + diff --git a/src/accountMgr/c_program/wsms/wsmsmain.c b/src/accountMgr/c_program/wsms/wsmsmain.c new file mode 100644 index 0000000..441b16a --- /dev/null +++ b/src/accountMgr/c_program/wsms/wsmsmain.c @@ -0,0 +1,102 @@ +#include +#include +#include +#include "wsms.h" + + +static struct itimerval itimer, old_itimer; +static void On_Timer(); +static void SetTimer(); + + +/************************************************* +Function: // main +Description: // The main function of the module +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int main(int argc, char *argv[]) +{ + pid_t pid; + + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } + + wsms_init(); + + SetTimer(); + while (1) { + usleep(50); + } + return 1; +} + + +/************************************************* +Function: // On_Timer +Description: // Timer function +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void On_Timer() +{ + wsms_timer(); +} + +/************************************************* +Function: // SetTimer +Description: // Timer function +Calls: // On_Timer +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void SetTimer() +{ + struct sigaction act; + act.sa_handler = On_Timer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) + { + perror("Produce Sigaction"); + exitLog("wsms:SetTimer, sigaction function error"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) + { + printf("Setting Timer error! \n"); + exitLog("wsms:SetTimer, setitimer function error"); + exit(1); + } +} + + + + + diff --git a/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/Makefile b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/Makefile new file mode 100644 index 0000000..772b186 --- /dev/null +++ b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/Makefile @@ -0,0 +1,104 @@ +#/bin/sh + +# Makefile for CDR Module. + +CC = gcc +CFLAGS=-g -Wall -I/usr/local/mysql/include +CFLAGS.ES=-g -Wall -I/usr/include/mariadb + +COMPILE.c=$(CC) $(CFLAGS) +COMPILE.c.ES=$(CC) $(CFLAGS.ES) + +LINK.c=$(CC) $(CFLAGS) +LINK.c.ES=$(CC) $(CFLAGS.ES) + +LINKFLAG=-L../../../omcLib/c_program/ftp -lftp \ +-L../../../../wxc2plat/snmp -lsnmp \ +-L../../../../wxc2plat/debug -ldebug \ +-L../../../../wxc2plat/iptrans -liptrans \ +-L../../../../wxc2plat/public -lpublic \ +-L/usr/local/mysql/lib -lmariadbclient -lz + +LINKFLAG.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../omcLib/c_program/ftp -lftp \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lz + +PROGS=cdrCollector +CDR_OBJ = cdr.o cdrdebug.o cdrdb.o cdrlog.o +CDR_OBJ.ES = cdr.o.ES cdrdebug.o.ES cdrdb.o.ES cdrlog.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files(*.o, *.a)" + @echo "make linux72 -- Generate target files for Redhat Linux 7.2" + @echo "make linuxES -- Generate target files for Redhat ES 4.0" + +linux72: $(CDR_OBJ) cdrmain.o + @cd ../../../omcLib/c_program/ftp; make linux72; cd .. + @cd ../../../accountMgr/c_program/cdrCollector; + @echo Linking $(PROGS) + @$(LINK.c) -o $(PROGS) cdrmain.o $(CDR_OBJ) $(LINKFLAG) -lm + ar r libcdr.a $(CDR_OBJ) + rm -rf *.o + rm -rf *bak + rm -rf *~ + #cp -f $(PROGS) ../../../bin + #cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(CDR_OBJ.ES) cdrmain.o.ES + @cd ../../../omcLib/c_program/ftp; make linuxES; cd .. + @cd ../../../accountMgr/c_program/cdrCollector; + @echo Linking $(PROGS) + @$(LINK.c.ES) -o $(PROGS) cdrmain.o $(CDR_OBJ) $(LINKFLAG.ES) -lm + ar r libcdr.a $(CDR_OBJ) + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +cdrmain.o: cdrmain.c + $(COMPILE.c) -c cdrmain.c + +cdr.o: cdr.c cdr.h + $(COMPILE.c) -c cdr.c + +cdrdebug.o: cdrdebug.c + $(COMPILE.c) -c cdrdebug.c + +cdrdb.o:cdrdb.c + $(COMPILE.c) -c cdrdb.c + +cdrlog.o: cdrlog.c + $(COMPILE.c) -c cdrlog.c + +cdrmain.o.ES: cdrmain.c + $(COMPILE.c.ES) -c cdrmain.c + +cdr.o.ES: cdr.c cdr.h + $(COMPILE.c.ES) -c cdr.c + +cdrdebug.o.ES: cdrdebug.c + $(COMPILE.c.ES) -c cdrdebug.c + +cdrdb.o.ES:cdrdb.c + $(COMPILE.c.ES) -c cdrdb.c + +cdrlog.o.ES: cdrlog.c + $(COMPILE.c.ES) -c cdrlog.c + +clean: + rm -f *.o *.a $(PROGS) + @cd ../../../omcLib/c_program/ftp; rm -f *.o *.a; cd .. + @cd ../../../accountMgr/c_program/cdrCollector;rm -f *.o *.a; cd .. + diff --git a/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdr.c b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdr.c new file mode 100644 index 0000000..7315ec0 --- /dev/null +++ b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdr.c @@ -0,0 +1,2393 @@ +/************************************************* +File name: cdr.c +Author: +Version: 9:00:00 +Date: 2002-5-7 +Description:该文件实现了cdrCollector模块的主要功能,包括模块初始化,状态机,接收数据,处理 + 数据,并且写到数据库里. + + 调用snmp模块的函数 + void snmp_init(WORD nport); + int snmp_receive(snmp_pdu *msgbuf,snmp_addr *addr); + int snmp_send(snmp_pdu *msgbuf,snmp_addr *addr); + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include "cdr.h" + +DWORD MAX_CDR_PTR=0x7FFFFFFF; +cdr_src CdrSet[CDR_SRC_NUM]; +BYTE iCdrNum = 0; +BOOL cdr_running = 1; +int smlog_decode_flag = 0; +static MYSQL *pCdrConn; +MYSQL *pubConn; + +int omcSysNo=-1; +//add 2007-8-27 +void load_cdr_remoteip(cdr_src *pcdr); + +//for NRTRDE +char local_mcc[8]; +char local_mnc[8]; + +int initNRConf(void); +int getOmcSysNo(int* sysNo); +int getOmcStatus(int sysNo); +void load_cdrsrc(); +BOOL load_cdrdef(cdr_def * pdef, char *define_table,BYTE cdr_ver); +static BYTE str2oid(char *str, DWORD * array, BYTE max); +static char *bcd2str(BYTE * buf, int len); +void cdr_request(cdr_src * pcdr); +void check_ptr(cdr_src * pcdr); +void alter_ptr(cdr_src * pcdr); +void cdr_receive(); +int cdr_process(cdr_src * pcdr, int serial, BYTE * pmsg, WORD msglen); +int smsDecodeAll(int code_type,char *strIn, char *strOut,int length); + +//WSMS +int wsms_enable_flag; +void getVlrCdr(cdr_src * pcdr, int serial, BYTE * pmsg, WORD msglen); +int wsms_check_sub(char* imsi,char* msisdn); +int initWSMSConf(void); + +/************************************************* +Function: // cdr_init +Description: // 初始化snmp模块,打开日志文件,初始化数据库链接,初始化数据. +Calls: // cdrlog_init; mysql_init; mysql_real_connect; cdr_start; cdrdb_init; +Called By: // cdrmain.c:main; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void cdr_init() +{ + char sqlstr[256]; + MYSQL_RES *res; + MYSQL_ROW row; + + //printf("init cdr......\n"); + cdrlog_init(); + + //从NR.conf获取本地mnc和本地mcc + //initNRConf(); + //initWSMSConf(); + //从omcd.conf中获取omc sysNo + //getOmcSysNo(&omcSysNo); + //if(omcSysNo<0 || omcSysNo >1) + // printf("Fail to get the omcSysNo\n"); + + //初始化数据库 + while ((pCdrConn = mysql_init(NULL)) == NULL) { + printf("Fail to init mysql:%s\n", mysql_error(pCdrConn)); + sleep(2); + } + + //初始化数据库连接 + while (mysql_real_connect + (pCdrConn, "localhost", "root", "rootaa", "CDR_DB", 0, NULL, + 0) == NULL) { + printf("Fail to init mysql:%s\n", mysql_error(pCdrConn)); + sleep(2); + } + + //初始化CdrSet内存快空间 + memset(CdrSet, 0, CDR_SRC_NUM * sizeof(cdr_src)); + + //Init the OMC_PUB DB connection + while ((pubConn = mysql_init(NULL)) == NULL) { + printf("Fail to init mysql:%s\n", mysql_error(pubConn)); + sleep(2); + } + + while (mysql_real_connect + (pubConn, "localhost", "root", "rootaa", "OMC_PUB", 0, NULL, 0) == NULL) { + printf("Fail to init mysql:%s\n", mysql_error(pubConn)); + sleep(2); + } + + //Get the parameter SMLOG_CONTENT_DECODE_FLAG in the OMC.omcPubVarConf + sprintf(sqlstr, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='SMLOG_CONTENT_DECODE_FLAG'"); + + if(mysql_query(pubConn, sqlstr) != 0){ + cdr_log("%s\n", mysql_error(pubConn)); + return; + } + if((res = mysql_store_result(pubConn)) == NULL){ + return; + } + if((row = mysql_fetch_row(res)) != NULL){ + if(strlen(row[0]) == 0) + smlog_decode_flag=0; + else if(strcmp(row[0],"Yes") == 0) + smlog_decode_flag=1; + else + smlog_decode_flag=0; + } + mysql_free_result(res); + + + +#if CDR_LINK_DEBUG + cdrdebug_init(); +#endif + cdr_start(); + cdrdb_init(); + //printf(".....finish\n"); +} + +/************************************************* +Function: // initNRConf +Description: // Get the information in file NR.conf +Calls: // +Called By: // cdr_init; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:SUCCESSFUL; 0:FAIL; +Others: // +*************************************************/ +int initNRConf(void) +{ + char fileName[512]; + unsigned char buf[4096]; + unsigned char param[32][512]; + char paramName[128]; + char paramValue[384]; + char* temp; + FILE* fp; + int fi; + int i; + //int j; + int paramCount; + int byteCount; + + paramCount=0; + byteCount=0; + memset(buf,0,4096); + memset(param,0,32*512); + sprintf(fileName,"./conf/NR.conf"); + fp=fopen(fileName,"r"); + if(fp) + { + fi=fileno(fp); + if(read(fi,buf,4096)) + { + for(i=0;i<4096;i++) + { + + if(buf[i] == 0x0A) + { + //printf("\n"); + if(byteCount<512 && param[paramCount][0] != 0x00 && param[paramCount][0] != 0x23) + paramCount++; + else + memset(param[paramCount],0,512); + byteCount=0; + } + else + { + param[paramCount][byteCount]=buf[i]; + byteCount++; + } + + //printf("%02x ",buf[i]); + } + + + for(i=0;isysTypeNo,pcdr->sysid); + + + if (mysql_query(pCdrConn, sqlstr) != 0) { + cdr_log("%s\n", mysql_error(pCdrConn)); + return; + } + if ((res_set = mysql_store_result(pCdrConn)) == NULL) + return; + + + + while ((row = mysql_fetch_row(res_set)) != NULL) { + pcdr->addr.remote_ip = inet_addr(row[0]); + } + mysql_free_result(res_set); +} +/************************************************* +Function: // cdr_start +Description: // 启动cdrCollector模块,初始化模块的全局数据. +Calls: // load_cdrsrc; cdr_report; +Called By: // cdr.c:cdr_init; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void cdr_start() +{ + iCdrNum = 0; + load_cdrsrc(); + cdr_report(); + cdr_running = 1; +} + +/************************************************* +Function: // cdr_stop +Description: // 停止cdrCollector模块的运行 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // 该函数没有被任何函数调用 +*************************************************/ +void cdr_stop() +{ + cdr_running = 0; +} + + +/************************************************* +Function: // cdr_status +Description: // 获取cdrCollector模块的运行状态 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // 该函数没有被任何函数调用 +*************************************************/ +BOOL cdr_status() +{ + return cdr_running; +} + +/************************************************* +Function: // load_cdrsrc +Description: // 初始化全局变量CdrSet,并获取cdr数据表的字段定义 +Calls: // loac_cdrdef; +Called By: // cdr_start; +Table Accessed: // CDR_DB.cdrSource; xxxCdrDefine +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void load_cdrsrc() +{ + char sqlstr[1024]; + cdr_src *pcdr; + MYSQL_RES *res_set; + MYSQL_ROW row; + int len; + long l_time; + struct tm *t; + + l_time = time(NULL); + t = localtime(&l_time); + + //构造查询语句用来查询cdr数据源 + /* + sprintf(sqlstr, + "SELECT oid,bufSize,headOid,tailOid,ip,port,recordTable,defineTable,csvPath,backupMax,key_sys_id,version FROM %s.cdrSource WHERE isEnable > '0'", + CDRDB_NAME); + */ + sprintf(sqlstr, + "SELECT oid,bufSize,headOid,tailOid,ip,port,recordTable,defineTable,csvPath,backupMax,key_sys_id,version,a.sysTypeNo FROM %s.cdrSource a LEFT OUTER JOIN OMC_PUB.sysInfo b ON a.sysTypeNo=b.sysTypeNo and key_sys_id =sysNo where isEnable > '0'", + CDRDB_NAME); + //cdr_log("%s\n",sqlstr); + + if (mysql_query(pCdrConn, sqlstr) != 0) { + cdr_log("%s\n", mysql_error(pCdrConn)); + return; + } + if ((res_set = mysql_store_result(pCdrConn)) == NULL) + return; + + cdr_log("search cdr source\n"); + + //遍历查询的结果,即所有的cdr数据源 + while ((row = mysql_fetch_row(res_set)) != NULL && iCdrNum < 64) { + pcdr = &CdrSet[iCdrNum]; + + //获得cdr数据源的一般信息 + pcdr->request_id = pcdr->set_rid = 0; + pcdr->get_state = ST_GET_TAIL; + pcdr->set_state = ST_TAIL_IDLE; + pcdr->set_fail = 0; + pcdr->set_timeout = -1; + pcdr->get_timeout = -1; + pcdr->move_flag = 0; + pcdr->maxbind = 1; + pcdr->retry = 0; + pcdr->instance = -1; + //pcdr->serial =-1; + pcdr->oid_len = str2oid(row[0], pcdr->oid, 20); + pcdr->buf_size = atoi(row[1]); + str2oid(row[2], pcdr->head_oid, 20); + str2oid(row[3], pcdr->tail_oid, 20); + + //获得数据源的地址信息 + //pcdr->addr.remote_ip = inet_addr(row[4]); + + if(row[4]==NULL) + pcdr->addr.remote_ip=0; + else + pcdr->addr.remote_ip = inet_addr(row[4]); + + pcdr->addr.remote_port = atoi(row[5]); + pcdr->addr.local_port = CDR_PORT; + + strcpy(pcdr->record_table, row[6]); + strcpy(pcdr->define_table, row[7]); + strcpy(pcdr->csv_path, row[8]); + len = strlen(pcdr->csv_path); + if (pcdr->csv_path[len - 1] == '/') + pcdr->csv_path[len - 1] = '\0'; + + pcdr->backup_max = atoi(row[9]) % 365; + pcdr->sysid = atoi(row[10]); + pcdr->cdr_ver = atoi(row[11]); + //add 2007-08-27 + pcdr->sysTypeNo=atoi(row[12]); + //if(pcdr->sysTypeNo==320) + // printf("%s\n",row[4]); + //printf("sysTypeNo=%ld\n",pcdr->sysTypeNo); + + //获得cdr数据表的字段定义 + if (load_cdrdef(&pcdr->define, pcdr->define_table,pcdr->cdr_ver)) { + sprintf(sqlstr, "CREATE TABLE IF NOT EXISTS CDR_DB.%s_%02d %s", + pcdr->record_table, t->tm_hour, + pcdr->define.create_sql); + if (mysql_query(pCdrConn, sqlstr) == 0) + iCdrNum++; + else + cdr_log("%s\n", mysql_error(pCdrConn)); + } + } + mysql_free_result(res_set); +} + +/************************************************* +Function: // load_cdrdef +Description: // 根据系统获取cdr数据表的字段定义 +Calls: // mysql_query; mysql_store_result; mysql_fetch_row +Called By: // load_cdrsrc; +Table Accessed: // xxxCdrDefine; +Table Updated: // +Input: // pdef:数据表的字段定义指针; define_table:字段定义的表名; cdr_ver:版本号 +Output: // +Return: // 0:failed; 1:successful +Others: // +*************************************************/ +BOOL load_cdrdef(cdr_def * pdef, char *define_table,BYTE cdr_ver) +{ + char sqlstr[2048], str[64], tagstr[128] = "\0"; + int index, len, i; + MYSQL_RES *res_set; + MYSQL_ROW row; + + //构造sql语句,查询xxxCdrDefine表的字段信息 + sprintf(sqlstr, "SHOW FIELDS FROM %s.%s", CDRDB_NAME, define_table); + + if (mysql_query(pCdrConn, sqlstr) != 0) { + cdr_log("%s\n", mysql_error(pCdrConn)); + return 0; + } + + if ((res_set = mysql_store_result(pCdrConn)) == NULL) { + cdr_log("%s\n", mysql_error(pCdrConn)); + return 0; + } + + //初始化字段定义数据结构的内存空间 + memset(pdef->valid, 0, sizeof(pdef->valid)); + + //填充pdef->valid数组的值,用来构造tag的字符串 + while ((row = mysql_fetch_row(res_set)) != NULL) { + if (strstr(row[0], "tag") != NULL) { + index = atoi(row[0] + 3); + if (index >= 0 && index < 17) + pdef->valid[index] = 1; + else + return 0; + } + + } + + //构造tag的字符串,用来构造字段查询语句 + for (i = 0; i < 17; i++) { + if (pdef->valid[i]) { + sprintf(str, "tag%d,", i); + strcat(tagstr, str); + } + } + len = strlen(tagstr); + tagstr[len - 1] = '\0'; + mysql_free_result(res_set); + + //构造sql语句,利用刚才构造的tag字符串,用来查询数据表的字段定义 + sprintf(sqlstr, "SELECT fieldName,type,optional,width,%s FROM %s.%s", + tagstr, CDRDB_NAME, define_table); + + if (mysql_query(pCdrConn, sqlstr) != 0) { + cdr_log("%s\n", mysql_error(pCdrConn)); + return 0; + } + + if ((res_set = mysql_store_result(pCdrConn)) == NULL) { + cdr_log("%s\n", mysql_error(pCdrConn)); + return 0; + } + + //cdr_log("%s\n",sqlstr); + + //初始化数据表字段个数 + pdef->field_count = 0; + + sprintf(pdef->field_set, "(key_sys_id,instance,"); + sprintf(pdef->create_sql, + "(key_sys_id tinyint(2) NOT NULL,instance int(4) NOT NULL,"); + while ((row = mysql_fetch_row(res_set)) != NULL + && pdef->field_count < CDR_OBJ_MAX) { + strcpy(pdef->obj[pdef->field_count].field_name, row[0]); + pdef->obj[pdef->field_count].type = atoi(row[1]) % 256; + pdef->obj[pdef->field_count].optional = atoi(row[2]) % 2; + pdef->obj[pdef->field_count].width = atoi(row[3]) % 256; + + //获取每个字段的tag的值 + index = 4; + for (i = 0; i < 17; i++) { + if (pdef->valid[i] && row[index] != NULL) + strcpy(pdef->obj[pdef->field_count].tag_seq[i], + row[index++]); + else + pdef->obj[pdef->field_count].tag_seq[i][0] = '\0'; + } + + //获取字段的名字连接字符串和对应的产生数据表的sql语句字符串,根据各字段的类型 + strcat(pdef->field_set, row[0]); + strcat(pdef->field_set, ","); + strcat(pdef->create_sql, row[0]); + strcat(pdef->create_sql, " "); + switch (pdef->obj[pdef->field_count].type) { + case 0: //string + case 2: + case 4: + case 40: + case 41: + case 7: + if ((pdef->obj[pdef->field_count].width) < 256) + sprintf(str, "VARCHAR(%d)", + pdef->obj[pdef->field_count].width); + else + sprintf(str, "TEXT"); + strcat(pdef->create_sql, str); + break; + case 1: //integer + sprintf(str, "int(%d)", pdef->obj[pdef->field_count].width); + strcat(pdef->create_sql, str); + break; + case 5: + strcat(pdef->create_sql, "VARCHAR(20)"); + break; + case 3: //timestamp + strcat(pdef->create_sql, "DATETIME"); + break; + case 6: + case 8: + sprintf(str, "int(%d)", pdef->obj[pdef->field_count].width); + strcat(pdef->create_sql, str); + //strcat(pdef->create_sql, "tinyint(2)"); + break; + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 22: + case 23: + strcat(pdef->create_sql, "TEXT"); + break; + case 21: + strcat(pdef->create_sql, "VARCHAR(3)"); + break; + } + + if (!pdef->obj[pdef->field_count].optional) + strcat(pdef->create_sql, " NOT NULL"); + strcat(pdef->create_sql, ","); + pdef->field_count++; + } + strcat(pdef->field_set, "srcCode)"); + strcat(pdef->create_sql, "srcCode TEXT,KEY instance (instance))"); + cdr_log("%s\n", pdef->create_sql); + + mysql_free_result(res_set); + +//********************************************************** + + //由于wxc1和wxc2的不同,数据记录表的字段也不一样 + sprintf(sqlstr, "SELECT fieldName FROM %s.%s WHERE fileOrder>0 order by fileOrder", + CDRDB_NAME, define_table); + + if (mysql_query(pCdrConn, sqlstr) != 0) { + cdr_log("%s\n", mysql_error(pCdrConn)); + return 0; + } + + if ((res_set = mysql_store_result(pCdrConn)) == NULL) { + cdr_log("%s\n", mysql_error(pCdrConn)); + return 0; + } + + //新版本多了三个字段,key_sys_id,instance,srcCode + if(cdr_ver!=1)//cdr_ver==1 for wxc1 + strcpy(pdef->field_select, "key_sys_id,instance"); + while ((row = mysql_fetch_row(res_set)) != NULL){ + strcat(pdef->field_select, ","); + strcat(pdef->field_select, row[0]); + } + if(cdr_ver!=1)//cdr_ver==1 for wxc1 + strcat(pdef->field_select, ",srcCode"); + else + pdef->field_select[0]=' '; + mysql_free_result(res_set); +//********************************************************** + + return 1; +} + +/************************************************* +Function: // cdr_timer +Description: // 定时器,包括了状态机轮询 +Calls: // gettimeofday; alter_ptr; check_ptr; cdr_request; cdrdb_timer; cdrlog_timer +Called By: // cdrmain.c:On_Timer; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void cdr_timer() +{ + int i; + static int m_state = 0; + cdr_src *pcdr; + + static struct timeval tv1, tv2; + struct timezone tz; + long elapse; + int omcStatus; + gettimeofday(&tv2, &tz); + /* + elapse = + (tv2.tv_sec - tv1.tv_sec) * (10 ^ 6) + tv2.tv_usec - tv1.tv_usec; + if(elapse>21000) + printf("timeval=%ld\n", elapse); + */ + tv1.tv_sec = tv2.tv_sec; + tv1.tv_usec = tv2.tv_usec; + + //Modify by Jianhui Zheng 2008-1-16 + //get the omc sysNo + omcStatus=getOmcStatus(omcSysNo); + + //Master or single + if(omcStatus == OMC_MASTER || omcStatus == OMC_SINGLE) + { + //printf("omcStatus=%d\n",omcStatus); + cdr_receive(); + for (i = 0; i < iCdrNum; i++) { + pcdr = &CdrSet[i]; + if(pcdr->addr.remote_ip==0){ + load_cdr_remoteip(pcdr); + continue; + } + + //尾指针改变了 + if (cdr_running == 0) { + if (pcdr->move_flag > 0) + alter_ptr(pcdr); + continue; + } + + switch (pcdr->get_state) { + case ST_GET_TAIL: + //send request + check_ptr(pcdr); + pcdr->get_state = ST_WAIT_TAIL; + break; + case ST_WAIT_TAIL: + //send request again + if (pcdr->get_timeout <= 0) + check_ptr(pcdr); + else + pcdr->get_timeout--; + break; + case ST_CDR_IDLE: + //time out event + if (pcdr->get_timeout <= 0) + { + cdr_request(pcdr); + pcdr->get_state = ST_WAIT_CDR; + } else + pcdr->get_timeout--; + break; + case ST_GET_CDR: + cdr_request(pcdr); + pcdr->get_state = ST_WAIT_CDR; + break; + case ST_WAIT_CDR: + //time out event + if (pcdr->get_timeout <= 0) + { + if (pcdr->retry < 5) + cdr_request(pcdr); + else { + pcdr->maxbind = 1; + pcdr->retry = 0; + pcdr->request_id = 0; + pcdr->get_state = ST_GET_TAIL; + cdr_log + ("Lost connection to CDR Server.IP=%lx(%s-%d)\n", + pcdr->addr.remote_ip, pcdr->record_table, + pcdr->sysid); + } + } else + pcdr->get_timeout--; + + break; + } + + + switch (pcdr->set_state) { + case ST_TAIL_IDLE: + if (pcdr->move_flag > 0) { + alter_ptr(pcdr); + pcdr->set_state = ST_SET_TAIL; + } + break; + case ST_SET_TAIL: + if (pcdr->set_timeout <= 0) + alter_ptr(pcdr); + else + pcdr->set_timeout--; + + break; + } + + } + } + + if (m_state++ >= 500) { + cdrdb_timer(); + cdrlog_timer(); + m_state = 0; + + //******************************************************** + //定时更新设备的IP地址 + for (i = 0; i < iCdrNum; i++) { + pcdr = &CdrSet[i]; + if(pcdr->addr.remote_ip==0){ + load_cdr_remoteip(pcdr); + } + } + //******************************************************** + + } + + gettimeofday(&tv2, &tz); + elapse = + (tv2.tv_sec - tv1.tv_sec) * (10 ^ 6) + tv2.tv_usec - tv1.tv_usec; + //if(elapse>18000) + // printf("\tprocess time=%ld\n",elapse); +} + +/************************************************* +Function: // str2oid +Description: // 把字符串oid转换成字节数组 +Calls: // +Called By: // load_cdrsrc; +Table Accessed: // +Table Updated: // +Input: // str:oid字符串; array:转换后的字节数组; max:数组最大长度 +Output: // +Return: // 实际数组长度 +Others: // +*************************************************/ +BYTE str2oid(char *str, DWORD * array, BYTE max) +{ + BYTE sub = 0; + short len, i; + char *pvar; + len = strlen(str); + pvar = str; + for (i = 0; i < len && sub < max; i++) { + if (str[i] == '.') { + str[i] = '\0'; + if (strlen(pvar) == 0) + continue; + array[sub++] = atoi(pvar); + pvar = str + i + 1; + } + } + if (strlen(pvar) == 0) + return sub; + array[sub++] = atoi(pvar); + return sub; +} + +/************************************************* +Function: // cdr_request +Description: // 向CDR数据源发送get请求,以获得多个CDR数据 +Calls: // +Called By: // cdr_timer; +Table Accessed: // +Table Updated: // +Input: // pcdr:cdr数据源指针 +Output: // +Return: // +Others: // +*************************************************/ +void cdr_request(cdr_src * pcdr) +{ + int i; + int maxbind; + snmp_pdu request_msg; + + if (pcdr->request_id == 0) + pcdr->retry = 0; + else + pcdr->retry++; + + //填充snmp数据包 + request_msg.pdu_type = PDU_GET; + if(pcdr->head>=pcdr->instance) + maxbind=pcdr->head-pcdr->instance; + else + maxbind=(unsigned long)(pcdr->head+MAX_CDR_PTR)-pcdr->instance; + if(maxbind>19) + maxbind=19; + + //because the snmp moudle build msg from back to front,so cdrCollector need adapt it + for (i = maxbind-1; i >=0; i--) { + memcpy(request_msg.var[i].oid, pcdr->oid, 4 * pcdr->oid_len); + request_msg.var[i].oid[pcdr->oid_len] = + (pcdr->instance + (maxbind-1-i)) & MAX_CDR_PTR; + request_msg.var[i].oidlen = pcdr->oid_len + 1; + } + + + /* + for (i = 0; i < pcdr->maxbind && i < 20; i++) { + memcpy(request_msg.var[i].oid, pcdr->oid, 4 * pcdr->oid_len); + request_msg.var[i].oid[pcdr->oid_len] = + (pcdr->instance + i) & MAX_CDR_PTR; + request_msg.var[i].oidlen = pcdr->oid_len + 1; + } + */ + + memcpy(request_msg.var[maxbind].oid, pcdr->head_oid, + 4 * pcdr->oid_len); + request_msg.var[maxbind].oid[pcdr->oid_len] = 0; + request_msg.var[maxbind].oidlen = pcdr->oid_len + 1; + + //填充公共体名字 + sprintf(request_msg.community, "public"); + request_msg.var_num = maxbind + 1; + request_msg.request_id = pcdr->request_id; + + //向系统发送snmp数据包 + pcdr->request_id = snmp_send(&request_msg, &pcdr->addr); + + pcdr->get_timeout = CDR_T_getcdr; + //cdr_log("request cdr.host=%x,port =%d,request id=%ld\n",pcdr->addr.remote_ip,pcdr->addr.remote_port,pcdr->request_id); +} + +/************************************************* +Function: // check_ptr +Description: // 获得头指针和尾指针,再向系统发送get请求,以获得数据 +Calls: // +Called By: // cdr_timer; +Table Accessed: // +Table Updated: // +Input: // pcdr:cdr数据源指针 +Output: // +Return: // +Others: // +*************************************************/ +void check_ptr(cdr_src * pcdr) +{ + snmp_pdu request_msg; + request_msg.pdu_type = PDU_GET; + + memcpy(request_msg.var[0].oid, pcdr->tail_oid, 4 * pcdr->oid_len); + request_msg.var[0].oid[pcdr->oid_len] = 0; + request_msg.var[0].oidlen = pcdr->oid_len + 1; + + memcpy(request_msg.var[1].oid, pcdr->head_oid, 4 * pcdr->oid_len); + request_msg.var[1].oid[pcdr->oid_len] = 0; + request_msg.var[1].oidlen = pcdr->oid_len + 1; + + sprintf(request_msg.community, "public"); + request_msg.var_num = 2; + request_msg.request_id = pcdr->request_id; + + pcdr->request_id = snmp_send(&request_msg, &pcdr->addr); + //cdr_log("request tail.host=%lx,port =%d,request id=%ld\n",pcdr->addr.remote_ip,pcdr->addr.remote_port,pcdr->request_id); + + pcdr->get_timeout = CDR_T_gettail; +} + +/************************************************* +Function: // alter_ptr +Description: // 向指定的CDR数据源发送set-request请求,修改头尾指针 +Calls: // +Called By: // cdr_timer; +Table Accessed: // +Table Updated: // +Input: // pcdr:cdr数据源指针 +Output: // +Return: // +Others: // +*************************************************/ +void alter_ptr(cdr_src * pcdr) +{ + snmp_pdu request_msg; + unsigned long tail = pcdr->instance & MAX_CDR_PTR; + + request_msg.pdu_type = PDU_SET; + + memcpy(request_msg.var[0].oid, pcdr->tail_oid, 4 * pcdr->oid_len); + request_msg.var[0].oid[pcdr->oid_len] = 0; + request_msg.var[0].oidlen = pcdr->oid_len + 1; + request_msg.var_num = 1; + + request_msg.var[0].msglen = 4; + //encode_integer(request_msg.var[0].msg ,pcdr->instance); + request_msg.var[0].msg[0] = tail >> 24; + request_msg.var[0].msg[1] = (tail >> 16) & 0xFF; + request_msg.var[0].msg[2] = (tail >> 8) & 0xFF; + request_msg.var[0].msg[3] = tail & 0xFF; + request_msg.var[0].vartype=2; + sprintf(request_msg.community, "public"); + request_msg.request_id = pcdr->set_rid; + + +//Test Code +/* +{ +int i; +printf("alter_ptr\n"); +for(i=0;iset_rid = snmp_send(&request_msg, &pcdr->addr); + +//Test Code +/* +{ + printf("set_rid=%ld\n",pcdr->set_rid); + printf("local_ip=%ld,remote_ip=%ld,local_port=%d,remote_port=%d\n",pcdr->addr.local_ip,pcdr->addr.remote_ip,pcdr->addr.local_port,pcdr->addr.remote_port); + printf("myip=%ld\n",inet_addr("172.54.247.231")); +} +*/ + //cdr_log("set tail,instance=%d\n",pcdr->instance); + pcdr->set_timeout = CDR_T_settail; + + pcdr->set_fail++; + +} + +/************************************************* +Function: // move_head +Description: // 设置MSS缓冲区的头指针和尾指针和instance的位置一样 +Calls: // +Called By: // cdr_receive; +Table Accessed: // +Table Updated: // +Input: // pcdr:cdr数据源指针 +Output: // +Return: // +Others: // +*************************************************/ +void move_head(cdr_src * pcdr) +{ + snmp_pdu request_msg; + unsigned long head, tail; + request_msg.pdu_type = PDU_SET; + + tail = pcdr->instance & MAX_CDR_PTR; + pcdr->instance = tail; + head = (pcdr->instance) & MAX_CDR_PTR; + memcpy(request_msg.var[0].oid, pcdr->tail_oid, 4 * pcdr->oid_len); + request_msg.var[0].oid[pcdr->oid_len] = 0; + request_msg.var[0].oidlen = pcdr->oid_len + 1; + request_msg.var[0].vartype = 2; //Integer + request_msg.var[0].msglen = 4; + request_msg.var[0].msg[0] = tail >> 24; + request_msg.var[0].msg[1] = (tail >> 16) & 0xFF; + request_msg.var[0].msg[2] = (tail >> 8) & 0xFF; + request_msg.var[0].msg[3] = tail & 0xFF; + + + memcpy(request_msg.var[1].oid, pcdr->head_oid, 4 * pcdr->oid_len); + request_msg.var[1].oid[pcdr->oid_len] = 0; + request_msg.var[1].oidlen = pcdr->oid_len + 1; + request_msg.var[1].vartype = 2; + request_msg.var[1].msglen = 4; + request_msg.var[1].msg[0] = head >> 24; + request_msg.var[1].msg[1] = (head >> 16) & 0xFF; + request_msg.var[1].msg[2] = (head >> 8) & 0xFF; + request_msg.var[1].msg[3] = head & 0xFF; + + request_msg.var_num = 2; + request_msg.request_id = 0; + + sprintf(request_msg.community, "public"); + pcdr->set_rid = snmp_send(&request_msg, &pcdr->addr); + #if CDR_DEBUG + cdr_log("move head,head=tail=%d(%s-%d)\n", tail, pcdr->record_table, + pcdr->sysid); + #endif + +} + +/************************************************* +Function: // instance_cmp +Description: // 比较两个指针的大小 +Calls: // +Called By: // cdr_receive; +Table Accessed: // +Table Updated: // +Input: // 两个指针 +Output: // +Return: // 0:equal; else:相差 +Others: // +*************************************************/ +/* +int instance_cmp(unsigned long a, unsigned long b) +{ + if (a == b) + return 0; + if (a > b) { + if (a - b < 0x8000000) + return a - b; + else + return a - (0x10000000 + b); + + } else //b>a + { + if (b - a < 0x8000000) + return a - b; + else + return 0x10000000 - b + a; + + } +} +*/ +long instance_cmp(unsigned long a, unsigned long b) +{ + unsigned long halfOfMaxCDRPtr=(unsigned long)(MAX_CDR_PTR+1)/2; + + if (a == b) + return 0; + if (a > b) { + if (a - b a + { + + if (b - a < halfOfMaxCDRPtr ){ + return a - b; + }else + return (MAX_CDR_PTR+1) - b + a; + + } +} + +/************************************************* +Function: // cdr_receive +Description: // 接受数据包,并解析数据 +Calls: // snmp_receive; instance_cmp; +Called By: // cdr_timer; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void cdr_receive() +{ + BYTE loop = 50, i, j; + DWORD tail, cdrlen = 0; + long rest; + DWORD serial; + int pos, errpos; + snmp_pdu cdrmsg; + snmp_addr addr; + cdr_src *pcdr; + ASN_BUF asnbuf; + + + addr.local_port = CDR_PORT; + + while (loop-- > 0) { + + if (snmp_receive(&cdrmsg, &addr) == 0) + return; + if (cdrmsg.pdu_type != PDU_RSP) + continue; + + for (i = 0; i < iCdrNum; i++) { + pcdr = &CdrSet[i]; + cdrlen = 0; + + //oid长度不对 + if (cdrmsg.var[0].oidlen - 1 != pcdr->oid_len) + continue; + + //get response + if (cdrmsg.request_id == pcdr->request_id) + { + //回复的数据单元应该至少带有一个或以上参数 + //最后一个参数是头指针参数 + //第一个参数可能是尾指针参数,或者是数据参数 + //数据参数可能有多个 + pcdr->request_id = 0; + //if (cdrmsg.var_num < 2) + // break; + + /***************************************/ + //head get response---------------------> + /***************************************/ + //最后一个 var是CDR头指针参数 + if (memcmp + (cdrmsg.var[cdrmsg.var_num - 1].oid, pcdr->head_oid, + 4 * pcdr->oid_len) != 0) + break; + + //头指针参数的数据长度是4个字节 + if (cdrmsg.var[cdrmsg.var_num - 1].msglen > 4) + break; + + //更新数据源头指针的位置 + pcdr->head = + decode_integer(cdrmsg.var[cdrmsg.var_num - 1].msg, + cdrmsg.var[cdrmsg.var_num - 1].msglen); + + //头指针到达缓冲区的最大值 + if (pcdr->head > MAX_CDR_PTR) { + move_head(pcdr); + pcdr->move_flag = 0; + pcdr->get_timeout = CDR_T_idle * 2; + pcdr->get_state = ST_CDR_IDLE; + cdr_log("Alarm:phead(=%d) is too large(%s-%d)\n", + pcdr->head, pcdr->record_table, pcdr->sysid); + break; + } + + //尾指针和头指针相等,说明CRD已经全部取完 + if (pcdr->head == pcdr->instance) { + pcdr->get_timeout = CDR_T_idle * 2; + pcdr->get_state = ST_CDR_IDLE; + break; + } + + /***************************************/ + //cdr data get response-----------------> + /***************************************/ + //CDR数据response参数 + if (memcmp(cdrmsg.var[0].oid, pcdr->oid, 4 * pcdr->oid_len) == 0) + { + //because the snmp moudle build msg from back to front,so cdrCollector need adapt it + for (j = cdrmsg.var_num - 1-1; j >=0; j--) { + + //再次判断此var是不是CDR数据response参数 + if (memcmp(cdrmsg.var[j].oid, pcdr->oid,4 * pcdr->oid_len) != 0) + break; + + if (cdrmsg.var[j].vartype == 0x04 && cdrmsg.var[j].msglen > 0) + { + cdrlen += (cdrmsg.var[j].msglen+cdrmsg.var[j].oidlen+2); + pcdr->recv++; + + //头指针比数据指针小 + if (instance_cmp + (pcdr->head, + cdrmsg.var[j].oid[pcdr->oid_len]) <= 0) { + cdrlen = 0; //to avoid maxbind increase + break; + } + //decode serial number + if (AsnDecode + (cdrmsg.var[j].msg, cdrmsg.var[j].msglen, + 1, &errpos, &asnbuf) < 0 && errpos < 6) { + cdr_log + ("fail to decode cdr message.(%s-%d)\n", + pcdr->record_table, pcdr->sysid); + cdr_logmsg(cdrmsg.var[j].msg, + cdrmsg.var[j].msglen); + cdrlen = 0; //to avoid maxbind increase + break; + } + + pos = get_int_v2("2", &serial, &asnbuf) + 2; //serial + + if (serial > MAX_CDR_PTR) { + cdr_log + ("Alarm:sequence(%d) exceed limit(MAX_CDR_PTR).(%s-%d)\n", + serial, pcdr->record_table, + pcdr->sysid); + serial = serial & MAX_CDR_PTR; + } + //no cdr left + if (serial == pcdr->head) + break; + else if (serial == pcdr->instance) + //获得一条CDR数据,数据源的当前指针加1 + pcdr->instance = (serial + 1) & MAX_CDR_PTR; + else if (instance_cmp(serial, pcdr->head) >= 0) { + cdr_log + ("Alarm:Invaid sequence.phead=%ld < receive sequence=%d(%s-%d)\n", + pcdr->head, serial, + pcdr->record_table, pcdr->sysid); + //to avoid maxbind increase + cdrlen = 0; + pcdr->instance = + (pcdr->instance + 1) & MAX_CDR_PTR; + continue; + } else if ((rest = instance_cmp(serial, pcdr->instance)) < 0) //old cdr + { + cdr_log + ("Alarm:old cdr.expected sequence=%ld,receive sequence=%d(%s-%d)\n", + pcdr->instance, serial, + pcdr->record_table, pcdr->sysid); + //to avoid maxbind increase + cdrlen = 0; + pcdr->instance = + (pcdr->instance + 1) & MAX_CDR_PTR; + } else { + pcdr->loss += rest; + cdr_log + ("Alarm:cdr lost.expected sequence=%ld,receive sequence=%d,loss=%d(%s-%d)\n", + pcdr->instance, serial, rest, + pcdr->record_table, pcdr->sysid); + pcdr->instance = (serial + 1) & MAX_CDR_PTR; + } + + //把cdr数据保存在数据库中 + if (cdr_process + (pcdr, serial, cdrmsg.var[j].msg + pos, + cdrmsg.var[j].msglen - pos)) { + pcdr->recd++; + //设此标志,就会去重新设置MSS的尾指针 + pcdr->move_flag = 1; + } + } + else + { + cdrlen = 0; //to avoid maxbind increase + break; + } + } + + rest = instance_cmp(pcdr->head, pcdr->instance); + + if (rest < 0) { + move_head(pcdr); + pcdr->move_flag = 0; + pcdr->get_timeout = CDR_T_idle * 2; + pcdr->get_state = ST_CDR_IDLE; + + cdr_log + ("Alarm:Pointer crashed,ptail=%ld,phead=%ld(%s-%d)\n", + pcdr->instance, pcdr->head, + pcdr->record_table, pcdr->sysid); + } else if (rest == 0) { + pcdr->get_timeout = CDR_T_idle * 2; + pcdr->get_state = ST_CDR_IDLE; + } else if (rest < pcdr->maxbind) //send next request after 5s + { + pcdr->get_timeout = CDR_T_idle; + pcdr->get_state = ST_CDR_IDLE; + } else if (rest <= 50) { + pcdr->get_state = ST_GET_CDR; + } else { + cdr_request(pcdr); + pcdr->get_state = ST_WAIT_CDR; + } + + } + + /***************************************/ + //tail get response---------------------> + /***************************************/ + else if (memcmp + (cdrmsg.var[0].oid, pcdr->tail_oid, + 4 * pcdr->oid_len) == 0) + //tail_get-response + { + if (cdrmsg.var_num != 2) + break; + + if (cdrmsg.var[0].msglen > 4) + break; + + tail = + decode_integer(cdrmsg.var[0].msg, + cdrmsg.var[0].msglen); + + if (tail > MAX_CDR_PTR) + { + if (pcdr->instance >= 0) { + //#if CDR_DEBUG + cdr_log + ("CDR Server(IP:%lX) Restart.Set sequence=%d(%s-%d),tail=%d\n", + pcdr->addr.remote_ip, pcdr->instance, + pcdr->record_table, pcdr->sysid,tail); + //#endif + move_head(pcdr); + } else { + //#if CDR_DEBUG + cdr_log + ("CDR Server(IP:%lX) Startup.Set sequence=0(%s-%d),tail=%d\n", + pcdr->addr.remote_ip, pcdr->record_table, + pcdr->sysid,tail); + //#endif + + pcdr->instance = 0; + alter_ptr(pcdr); + } + return; + } else { + //MSS已经正常运行,EMS刚启动,则收到的第一条尾指针response就把尾指针赋给当前指针 + if (pcdr->instance == -1) + pcdr->instance = tail; + pcdr->get_state = ST_GET_CDR; + //#if CDR_DEBUG + cdr_log + ("Establish connection to CDR Server(IP:%lX %s-%d)\n", + pcdr->addr.remote_ip, pcdr->record_table, + pcdr->sysid); + cdr_log("tail:%d(%s-%d)\n", pcdr->instance, + pcdr->record_table, pcdr->sysid); + //#endif + } + + } + /***************************************/ + //unknown response---------------------> + /***************************************/ + //else + // break; + + } + //set response + //设置尾指针参数的response + else if (cdrmsg.request_id == pcdr->set_rid) + { + pcdr->set_rid = 0; + if (memcmp + (cdrmsg.var[0].oid, pcdr->tail_oid, + 4 * pcdr->oid_len) != 0) + break; + + pcdr->set_fail = 0; + pcdr->move_flag = 0; + pcdr->set_timeout = -1; + pcdr->set_state = ST_TAIL_IDLE; + } + + /* + if (pcdr->maxbind > 1 && (cdrlen > 1200 || cdrmsg.error_status == 1)) //too big + pcdr->maxbind--; + else if (cdrlen > 0 && cdrlen < 800 && pcdr->maxbind < 20) + pcdr->maxbind++; + */ + } + } +} + +/************************************************* +Function: // digits2str +Description: // 把字节数组转换成16进制字符串 +Calls: // +Called By: // cdr_process +Table Accessed: // +Table Updated: // +Input: // buf:字节数组; len:长度 +Output: // +Return: // +Others: // +*************************************************/ +static char *digits2str(BYTE * buf, int len) +{ + int i; + static char dig[512]="", temp[5]; + char *pchr; + dig[0] = '\0'; + for (i = 0; i < len / 2; i++) { + sprintf(temp, "%X%X", buf[i] & 0xf, (buf[i] & 0xf0) >> 4); + strcat(dig, temp); + } + + if ((pchr = strchr(dig, 'F')) != NULL) + pchr[0] = '\0'; + if ((pchr = strchr(dig, 'E')) != NULL) + pchr[0] = '\0'; + + return dig; +} + +/************************************************* +Function: // bcd2str +Description: // 把BCD码字节数组转换成16进制字符串 +Calls: // +Called By: // cdr_process +Table Accessed: // +Table Updated: // +Input: // buf:字节数组; len:长度 +Output: // +Return: // +Others: // +*************************************************/ +char *bcd2str(BYTE * buf, int len) +{ + int i; + static char str[1024] = "\0"; + for (i = 0; i < len; i++) + sprintf(str + 2 * i, "%02X", buf[i]); + return str; +} + +BYTE *str2bcd(char *str, int len) +{ + int i; + char ch; + int in; + static BYTE bcdbuf[1024]; + for (i = 0; i < len/2; i++){ + ch=str[2*i]; + + if ((ch >= '0') && (ch <= '9')) + ch -= '0'; + else if ((ch >= 'A') && (ch <= 'F')) + ch -= 'A' - 10; + else if ((ch >= 'a') && (ch <= 'f')) + ch -= 'a' - 10; + else + ch = 0; + + in=(ch<<4)&0xf0; + + + ch=str[2*i+1]; + if ((ch >= '0') && (ch <= '9')) + ch -= '0'; + else if ((ch >= 'A') && (ch <= 'F')) + ch -= 'A' - 10; + else if ((ch >= 'a') && (ch <= 'f')) + ch -= 'a' - 10; + else + ch = 0; + in=in|(ch&0x0f); + + bcdbuf[i]=(unsigned char*)in; + + } + return bcdbuf; +} + +/************************************************* +Function: // cdr_process +Description: // 解析接收到的数据,并把数据存入数据库 +Calls: // +Called By: // pcdr:CDR数据源指针; serial; pmsg; msglen +Table Accessed: // +Table Updated: // +Input: // buf:字节数组; len:长度; serial:序列号; pmsg:消息指针; msglen:消息长度 +Output: // +Return: // 1:successful; 0:failed +Others: // +*************************************************/ +int cdr_process(cdr_src * pcdr, int serial, BYTE * pmsg, WORD msglen) +{ + int i, j,k, len, tagcode; + BYTE temp; + ASN_BUF asn_buf; + cdr_def *pdef; + char sqlbuf[2048] = "\0", sqlstr[2048] = + "\0", tempstr[256], str[256], sqlstr2[1024]; + + int tempint, errpos; + BYTE tempbyte[256]; + char tag_seq[20], tb_name[50]; + long ltime; + struct tm *t; + ltime = time(NULL); + t = localtime(<ime); + + //for smlog + int isSMLOG=0; + unsigned char smlog_smdcs_value=0; + int smlog_smdcs_decode_type=0; //1-7bit, 2-8bit, 3-unicode + + //for NRTRDE + char roam_sqlstr[2048] = "\0"; + int isMSC; + int isRoamCDR; + //char cdr_imsi[64]; + char roam_field_set[2048]; + char mcc[8]; + char mnc[8]; + int index; + + //根据当前的时间确定CDR数据表名 + sprintf(tb_name, "%s_%02d", pcdr->record_table, t->tm_hour); + + //解析数据 + if (AsnDecode(pmsg, msglen, 1, &errpos, &asn_buf) < 0 + && errpos < msglen) { + cdr_log("Wrong encoding of CDR Message.ip=%lX(%s-%d)\n", + pcdr->addr.remote_ip, pcdr->record_table, pcdr->sysid); + cdr_logmsg(pmsg, msglen); + return 0; + } + + if (gettagcode(pmsg, &tagcode, &temp) < 1) + return 0; + + if (tagcode < 0 || tagcode >= CDR_TYPE_NUM) + return 0; + + //获得该CDR数据源的表格定义结构 + pdef = &pcdr->define; + if (!pdef->valid[tagcode]) { + cdr_log("CDR type(type=%d) is Not defined.ip=%lX(%s-%d)\n", + tagcode, pcdr->addr.remote_ip, pcdr->record_table, + pcdr->sysid); + return 0; + } + + isMSC=0; + isRoamCDR=0; + //If this cdr is MSC cdr + if(strcmp(pcdr->define_table,"mscCdrDefine") ==0) + { + isMSC=1; + } + + //If this cdr is VLR cdr + if(strcmp(pcdr->define_table,"vlrCdrDefine") == 0 && wsms_enable_flag) + { + //int cdr_process(cdr_src * pcdr, int serial, BYTE * pmsg, WORD msglen) + getVlrCdr(pcdr, serial, pmsg, msglen); + } + + for (i = 0; i < pdef->field_count; i++) { + if (strlen(pdef->obj[i].tag_seq[tagcode]) == 0) { + strcat(sqlbuf, "NULL,"); + continue; + } + + + + //If this cdr is smlog cdr + if(strcmp(pcdr->define_table,"smlogCdrDefine") == 0) + { + //printf("This is a smlogcdr\n"); + //Get the smcontent tlv + if(strcmp(pdef->obj[i].field_name,"smcontent") == 0) + isSMLOG=1; + //Get the smdcs tlv + if(strcmp(pdef->obj[i].field_name,"smdcs") == 0) + if ((len = get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, &asn_buf)) > 0) + smlog_smdcs_value=atoi(bcd2str(tempbyte,len)); + } + + switch (pdef->obj[i].type) { + case 0: //string + if ((len = + get_tlv(pdef->obj[i].tag_seq[tagcode], tempstr, + &asn_buf)) > 0) { + tempstr[len] = '\0'; + sprintf(str, "'%s',", tempstr); + } else + sprintf(str, "NULL,"); + break; + case 1: //integer + if ((get_int_v2 + (pdef->obj[i].tag_seq[tagcode], &tempint, &asn_buf)) >= 0) + sprintf(str, "%d,", tempint); + else + sprintf(str, "NULL,"); + break; + case 2: //BCD + + + //The system need to decode the content of smlog cdr + if(isSMLOG == 1 && smlog_decode_flag == 1) + { + if ((len = get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, &asn_buf)) > 0) + { + //Get the decode type,1-7bit, 2-8bit, 3-unicode + smlog_smdcs_decode_type=((smlog_smdcs_value & 0x0C)>>2)+1; + //printf("decode type=%d\n",smlog_smdcs_decode_type); + if(smlog_smdcs_decode_type==1 || smlog_smdcs_decode_type==2) + { + //printf("BCD ---> 7bit or 8bit\n"); + if(smsDecodeAll(smlog_smdcs_decode_type,tempbyte,tempstr,len)>0) + { + sprintf(str, "'%s',",tempstr); + } + else + sprintf(str, "decode error,"); + } + else if(smlog_smdcs_decode_type == 3) + { + //printf("unicode to unicode\n"); + sprintf(str,"'%s',",bcd2str(tempbyte, len)); + } + } + else + sprintf(str, "NULL,"); + isSMLOG=0; + } + //The system no need to decode the content of smlog cdr + else + { + if ((len = + get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, + &asn_buf)) > 0) + sprintf(str, "'%s',", bcd2str(tempbyte, len)); + + + else + sprintf(str, "NULL,"); + } + break; + + + + /* + if ((len = + get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, + &asn_buf)) > 0) + sprintf(str, "'%s',", bcd2str(tempbyte, len)); + else + sprintf(str, "NULL,"); + break; + */ + case 3: //timestamp + if ((len = + get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, + &asn_buf)) > 0) { + sprintf(str, "'%02x-%02x-%02x %02x:%02x:%02x',", + tempbyte[0], tempbyte[1], tempbyte[2], tempbyte[3], + tempbyte[4], tempbyte[5]); + + if (strstr(pdef->obj[i].field_name, "releaseTime")) + sprintf(tb_name, "%s_%02X", pcdr->record_table, + tempbyte[3]); + } else + sprintf(str, "NULL,"); + break; + case 4: //MSISDN + if ((len = + get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, + &asn_buf)) > 0) + sprintf(str, "'%s',", + digits2str(tempbyte + 1, (len - 1) * 2)); + else + sprintf(str, "NULL,"); + break; + // Zed msc sms cdr use ascii calling number --- + case 42: // CallingNumber + if ((len = + get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, + &asn_buf)) > 0) + if (tempbyte[0] == 0xAA) + snprintf(str, sizeof(str), "'%.*s',", (len - 1), tempbyte + 1); + else + sprintf(str, "'%s',", + digits2str(tempbyte + 1, (len - 1) * 2)); + else + sprintf(str, "NULL,"); + break; + // ---end + case 40: //IMSI + if ((len = + get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, + &asn_buf)) > 0) + { + sprintf(str, "'%s',", digits2str(tempbyte, len * 2)); + + if(isMSC) + { + //compare the local_mcc and local_mnc with mcc mnc + for(index=1;index<4;index++) + { + mcc[index-1]=str[index]; + } + mcc[index-1]='\0'; + + for(index=4;index<6;index++) + { + mnc[index-4]=str[index]; + } + mnc[index-4]='\0'; + + if(strcmp(mcc,local_mcc) != 0 || strcmp(mnc,local_mnc) != 0) + { + isRoamCDR=1; + } + } + + } + else + { + sprintf(str, "NULL,"); + } + break; + case 41: //RoutingNumber + sprintf(tag_seq, "%s.1", pdef->obj[i].tag_seq[tagcode]); //RoamingNumber + if ((len = get_tlv(tag_seq, tempbyte, &asn_buf)) > 0) + sprintf(str, "'RM:%s',", + digits2str(tempbyte + 1, (len - 1) * 2)); + else { + sprintf(tag_seq, "%s.2", pdef->obj[i].tag_seq[tagcode]); //ForwardToNumber + if ((len = get_tlv(tag_seq, tempbyte, &asn_buf)) > 0) + sprintf(str, "'FW:%s',", + digits2str(tempbyte + 1, (len - 1) * 2)); + else + sprintf(str, "NULL,"); + } + break; + case 5: //trunkgroup + sprintf(tag_seq, "%s.0", pdef->obj[i].tag_seq[tagcode]); //integer + if ((tempint = get_int(tag_seq, &asn_buf)) >= 0) + sprintf(str, "%d,", tempint); + else { + sprintf(tag_seq, "%s.1", pdef->obj[i].tag_seq[tagcode]); + if ((len = get_tlv(tag_seq, tempstr, &asn_buf)) > 0) { + tempstr[len] = '\0'; + sprintf(str, "'%s',", tempstr); + } else + sprintf(str, "NULL,"); + } + break; + case 6: //BasicServiceCode + sprintf(tag_seq, "%s.2", pdef->obj[i].tag_seq[tagcode]); //integer + if ((len = get_tlv(tag_seq, tempbyte, &asn_buf)) < 0) { + sprintf(tag_seq, "%s.3", pdef->obj[i].tag_seq[tagcode]); + len = get_tlv(tag_seq, tempbyte, &asn_buf); + } + if (len > 0) + sprintf(str, "%d,", tempbyte[0]); + else + sprintf(str, "NULL,"); + break; + case 7: //recordingEntity + if ((len = + get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, + &asn_buf)) > 0) + sprintf(str, "'%s',", bcd2str(tempbyte + 1, len - 1)); + else + sprintf(str, "NULL,"); + break; + case 8: //Diagnostics + for (j = 0; j < 5; j++) { + sprintf(tag_seq, "%s.%d", pdef->obj[i].tag_seq[tagcode], j); //integer + //cdr_log("j=%d,tag_seq = %s\n",j,tag_seq); + if ((tempint = get_int(tag_seq, &asn_buf)) >= 0) { + sprintf(str, "%d,", tempint); + break; + } + if (j == 4) + sprintf(str, "NULL,"); + } + break; + case 9: //LocationAreaAndCell + { + char tmpstr[22]; + int tmpint1=0,tmpint2=0; + if(pdef->obj[i].tag_seq[tagcode]==NULL){ + sprintf(str, "NULL,"); + break; + } + sprintf(tmpstr,"%s.%d",pdef->obj[i].tag_seq[tagcode],0); + if ((get_int_v2(tmpstr, &tmpint1, &asn_buf)) >= 0){ + ; + }else + sprintf(str, "NULL,"); + sprintf(tmpstr,"%s.%d",pdef->obj[i].tag_seq[tagcode],1); + if ((get_int_v2(tmpstr, &tmpint2, &asn_buf)) >= 0){ + sprintf(str,"'%05d %05d',",tmpint1,tmpint2); + }else + sprintf(str, "NULL,"); + break; + } + case 10: //SEQUENCE OF LocationChange + break; + case 11: //SEQUENCE OF ChangeOfService + break; + case 12: //SEQUENCE OF SuppServiceUsed + break; + case 13: //AOCParameters + break; + case 14: //SEQUENCE OF AOCParmChange + break; + case 15: //ChangeOfClassmark + if ((len = + get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, + &asn_buf)) > 0) { + sprintf(str, "'[%02x][%02x][%02x]',", tempbyte[0], tempbyte[1], tempbyte[2]); + } else + sprintf(str, "NULL,"); + break; + case 16: //ChangeOfRadioChannel + break; + case 17: //AdditionalChgInfo + break; + case 18: //ManagementExtensions + break; + case 19: //SEQUENCE OF HSCSDParmsChange + break; + case 20: //SEQUENCE OF ChannelCoding + break; + case 21: //LevelOfCAMELService(bit string) + break; + case 22: //SEQUENCE OF CAMELInformation + break; + case 23: //SmRslf + if(pdef->obj[i].tag_seq[tagcode]==NULL){ + sprintf(str, "NULL,"); + break; + } + for(k=0;k<5;k++){ + char tmpstr[22]=""; + sprintf(tmpstr,"%s.%d",pdef->obj[i].tag_seq[tagcode],k); + if ((get_int_v2(tmpstr, &tempint, &asn_buf)) >= 0){ + sprintf(str, "'%02d %02d',",k+7,tempint); + break; + } + if (k == 4) + sprintf(str, "NULL,"); + } + break; + } + strcat(sqlbuf, str); + } + len = strlen(sqlstr); + sqlbuf[len - 1] = '\0'; + + + //把记录插如表格 + sprintf(sqlstr, "REPLACE INTO %s.%s %s VALUES(%d,%d,%s'%s')", + CDRDB_NAME, tb_name, pdef->field_set, pcdr->sysid, serial, + sqlbuf, bcd2str(pmsg, msglen)); + + //cdr_log("%s\n",sqlstr); + if(isRoamCDR && isMSC) + { + if(sqlbuf[0] == 0x31 || sqlbuf[0] == 0x30 || sqlbuf[0] == 0x36 || sqlbuf[0] == 0x37) + { + sprintf(roam_field_set,"(mcc,mnc,%s",&(pdef->field_set[1])); + + sprintf(roam_sqlstr, "REPLACE INTO %s.cdrFromMSCSend %s VALUES('%s','%s',%d,%d,%s'%s')", + CDRDB_NAME, roam_field_set, mcc, mnc, pcdr->sysid, serial, sqlbuf, bcd2str(pmsg, msglen)); + + mysql_query(pCdrConn, roam_sqlstr); + + } + } + if (mysql_query(pCdrConn, sqlstr) != 0) { + switch (mysql_errno(pCdrConn)) { + //没有此表格,创建一个新表 + case 1146: + sprintf(sqlstr2, "CREATE TABLE IF NOT EXISTS %s.%s %s", + CDRDB_NAME, tb_name, pdef->create_sql); + cdr_log("%s\n", sqlstr2); + if (mysql_query(pCdrConn, sqlstr2) == 0) + mysql_query(pCdrConn, sqlstr); + else { + cdr_log("Fail to create table:%s\n", + mysql_error(pCdrConn)); + return 0; + } + break; + default: + cdr_log("Fail to insert cdr:%s--", mysql_error(pCdrConn)); + #if CDR_DEBUG + cdr_log("%s\n", sqlstr); + #endif + return 0; + } + } + return 1; +} + +/* Decode the content of the SMLOG CDR */ +int smsDecodeAll(int code_type,char* strIn,char* strOut,int length) +{ + int i,n,j; + int len; + unsigned char mid1,mid2,cur; + unsigned char strHex[512]; + if(code_type>1 && code_type<4) + { + memcpy(strOut,strIn,length); + return length; + } + else if(code_type>=4) + { + return 0; + } + + n=0;j=0; + len=length; + if(len>140) + len=140; + memcpy(strHex,strIn,len); + + for(i=0;i<=len;i++) + { + if(i>0) + { + mid1=strHex[i]; + mid2=strHex[i-1]; + cur=((mid1<>(8-n)); + } + else + { + mid1=strHex[i]&0x7f; + cur=mid1; + } + strOut[j++]=cur; + n=(n+1)%8; + if(n==0) + i--; + } + + for(i=0;jdefine_table); + if (AsnDecode(pmsg, msglen, 1, &errpos, &asn_buf) < 0 && errpos < msglen) + { + cdr_log("Wrong encoding of CDR Message.ip=%lX(%s-%d)\n", + pcdr->addr.remote_ip, pcdr->record_table, pcdr->sysid); + + return; + } + if (gettagcode(pmsg, &tagcode, &temp) < 1) + return; + if (tagcode < 0 || tagcode >= CDR_TYPE_NUM) + return; + + pdef = &pcdr->define; + if (!pdef->valid[tagcode]) + { + cdr_log("CDR type(type=%d) is Not defined.ip=%lX(%s-%d)\n", + tagcode, pcdr->addr.remote_ip, pcdr->record_table, + pcdr->sysid); + return; + } + for (i = 0; i < pdef->field_count; i++) + { + if (strlen(pdef->obj[i].tag_seq[tagcode]) == 0) + { + continue; + } + //printf("field_name=%s\n",pdef->obj[i].field_name); + + + switch (pdef->obj[i].type) + { + //servedMSISDN + case 4: + if ((len = get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, &asn_buf)) > 0) + { + if(strcmp(pdef->obj[i].field_name,"servedMSISDN") == 0) + sprintf(msisdn, "%s", digits2str(tempbyte + 1, (len - 1) * 2)); + } + else + return; + break; + + //diagnostics + case 8: + if(strcmp(pdef->obj[i].field_name,"diagnostics") == 0) + { + for (j = 0; j < 5; j++) + { + sprintf(tag_seq, "%s.%d", pdef->obj[i].tag_seq[tagcode], j); //integer + if ((tempint = get_int(tag_seq, &asn_buf)) >= 0) + { + diagnostics=tempint; + break; + } + if (j == 4) + ; + } + } + break; + + //servedIMSI + case 40: + if ((len = get_tlv(pdef->obj[i].tag_seq[tagcode], tempbyte, &asn_buf)) > 0) + { + sprintf(imsi, "%s", digits2str(tempbyte, len * 2)); + } + else + { + return; + } + break; + } + } + if(diagnostics !=-1 && strcmp(msisdn,"\0") != 0 && strcmp(imsi,"\0") != 0) + { + if(diagnostics == 2) + wsms_check_sub(imsi,msisdn); + } +} + +int wsms_check_sub(char* imsi,char* msisdn) +{ + MYSQL_RES *res; + MYSQL_ROW row; + char sqlstr[128]; + int count=0; + + sprintf(sqlstr, + "SELECT imsi,logTime FROM OMC_PUB.wsmsRoamer WHERE imsi='%s'",imsi); + + if(mysql_query(pubConn, sqlstr) != 0){ + cdr_log("%s\n", mysql_error(pubConn)); + return 1; + } + if((res = mysql_store_result(pubConn)) == NULL){ + return 1; + } + + count=0; + while((row = mysql_fetch_row(res)) != NULL) + { + count++; + } + mysql_free_result(res); + + //if the sub not exist,insert record into table ,return 0 + if(count==0) + { + sprintf(sqlstr,"REPLACE INTO OMC_PUB.wsmsRoamer (imsi,msisdn,flag,logTime)VALUES(%s,%s,0,FROM_UNIXTIME(%ld))", + imsi,msisdn,time(NULL)); + if (mysql_query(pubConn, sqlstr) != 0) + { + cdr_log("MySql errno:%d",mysql_errno(pubConn)); + } + return 0; + } + //if the sub exist return 1 + else if(count>=1) + { + return 1; + } + return 1; +} +int initWSMSConf(void) +{ + char fileName[512]; + unsigned char buf[4096]; + unsigned char param[32][512]; + char paramName[128]; + char paramValue[384]; + char* temp; + FILE* fp; + int fi; + int i; + //int j; + int paramCount; + int byteCount; + + paramCount=0; + byteCount=0; + memset(buf,0,4096); + memset(param,0,32*512); + sprintf(fileName,"./conf/welcomeSMS.conf"); + fp=fopen(fileName,"r"); + if(fp) + { + fi=fileno(fp); + if(read(fi,buf,4096)) + { + for(i=0;i<4096;i++) + { + + if(buf[i] == 0x0A) + { + //printf("\n"); + if(byteCount<512 && param[paramCount][0] != 0x00 && param[paramCount][0] != 0x23) + paramCount++; + else + memset(param[paramCount],0,512); + byteCount=0; + } + else + { + param[paramCount][byteCount]=buf[i]; + byteCount++; + } + + //printf("%02x ",buf[i]); + } + + + for(i=0;isysTypeNo==320) + break; + } + + cdrFile =fopen(totalCdrFileName, "r"); + while(fgets(inputBuf, 8192, cdrFile) != + NULL) { + + if (inputBuf[0] == '#') { + continue; + } + i = strlen(inputBuf); + if (inputBuf[i - 1] == '\n') + inputBuf[i - 1] = '\0'; + + + tmpInputBuf=inputBuf; + sysId=strsep(&(tmpInputBuf), " \t"); + pcdr->sysid=atoi(sysId); + instanceNo=strsep(&(tmpInputBuf), " \t"); + while ((strsep(&(tmpInputBuf), "\t"))){ + if(!strstr(tmpInputBuf,"\t")) + break; + } + + //printf("instanceNo=%s\n",instanceNo); + //printf("tmpInputBuf=%s\n",tmpInputBuf); + //printf("tmpInputBuf=%s\n",bcd2str(str2bcd(tmpInputBuf,strlen(tmpInputBuf)),strlen(tmpInputBuf)/2)); + cdr_process(pcdr,atoi(instanceNo),str2bcd(tmpInputBuf,strlen(tmpInputBuf)),strlen(tmpInputBuf)/2); + //break; + } + + fclose(cdrFile); + sprintf(tb_name,"%s_%02d",pcdr->record_table,cdrHour); + //printf("tb_name=%s\n",tb_name); + if(pcdr->cdr_ver==1) + create_dat_for_wxc1(tb_name, "/tmp/afterConverseCdrFiles",1,pcdr->define.field_select); + else + create_csv(tb_name, "/tmp/afterConverseCdrFiles",1,pcdr->define.field_select); + clear_table(tb_name); + return; +} diff --git a/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdr.h b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdr.h new file mode 100644 index 0000000..19bf7d1 --- /dev/null +++ b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdr.h @@ -0,0 +1,155 @@ +/************************************************* +File name: cdr.h +Author: +Version: 9:00:00 +Date: 2002-5-7 +Description:该文件定义了cdrCollector模块包含的一些常量和函数,最后定义了三个重要的数据 + 结构cdr_src,cdr_def,cdr_tlv + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#ifndef __CDR_HEAD_FILE +#define __CDR_HEAD_FILE + +#include "mysql.h" +#include "errmsg.h" +#include +#include "../../../../plat/public/src/include/asn1.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" + +#ifndef _T_DWORD +#define _T_DWORD +typedef unsigned int DWORD; +#endif + +#define CDR_DEBUG 0 + +#define CDR_LINK_DEBUG 0 +#define CDR_PORT 4968 +#define CDR_SRC_NUM 32 +#define CDR_TYPE_NUM 20 +#define CDR_OBJ_MAX 128 +#define HOST_NAME "localhost" +#define CDRDB_NAME "CDR_DB" +#define CSV_PATH "/usr/local/cdr" +#define CDR_LOG_PATH "../log" +#define CDR_LOG_FILE "cdrlog" + +#define ST_GET_TAIL 0 +#define ST_WAIT_TAIL 1 +#define ST_CDR_IDLE 2 +#define ST_GET_CDR 3 +#define ST_WAIT_CDR 4 +#define ST_TAIL_IDLE 5 +#define ST_SET_TAIL 6 + +#define CDR_TIME_UNIT 20 //ms + +#define CDR_T_idle 250 //5s lowest speed +#define CDR_T_getcdr 30 //60ms +#define CDR_T_gettail 500 //300*20=6000ms=10s +#define CDR_T_settail 100 //2s + +#define HEAP_SIZE_MAX 256 //1024*28 +#define HEAP_TIME_MAX 50*30 //30s + +#define OMC_SINGLE 7 +#define OMC_MASTER 5 + +char totalCdrFileName[128]; +char cdrFileName[128]; +int cdrHour; +//此结构的逻辑意义是数据表里的一个字段 +typedef struct cdr_tlv { + char tag_seq[17][20]; //16个tag的值 + char field_name[30]; //字段的名称 + BYTE type; //字段的类型 + BOOL optional; //字段是否可选 + BYTE width; //字段长度 +} cdr_tlv; + +//此结构的逻辑意义是数据表的定义,包括该表的字段定义 +typedef struct cdr_def { + BOOL valid[17]; //tag位标识 + char field_set[1024]; //全部的字段连接字符 + char field_select[1024];//指定版本的全部字段连接字符 + char create_sql[2048]; //产生数据表的sql语句 + BYTE field_count; //字段的个数 + cdr_tlv obj[CDR_OBJ_MAX];//字段对象数组 +} cdr_def; + +//此数据结构的逻辑意义是一个CDR数据源 +typedef struct cdr_src { + int loss; //丢包统计 + int recv; //接收的包的个数 + int recd; //记录的包的个数 + + BYTE cdr_ver; //版本号 + WORD sysTypeNo; //系统设备号 + BYTE sysid; //系统号 + BYTE retry; //重试次数 + + //informaion for getting cdr + int get_timeout; //get操作剩余时间 + BOOL get_state; //get状态 + DWORD instance; //头指针 + DWORD head; //尾指针 + BYTE maxbind; //最大绑定变量数 + DWORD request_id; //get的请求ID + + + //information for setting ptail + int set_timeout; //set操作剩余时间 + BYTE set_fail; //set失败次数 + BOOL set_state; //set状态 + BOOL move_flag; //尾指针是否改变 + DWORD set_rid; //set请求ID + snmp_addr addr; //IP和端口地址 + DWORD oid[20]; //OID + BYTE oid_len; //OID长度 + DWORD head_oid[20]; //头指针OID + DWORD tail_oid[20]; //尾指针OID + char record_table[30]; //数据表名 + char define_table[30]; //数据定义表名 + char csv_path[50]; //保存路径 + int backup_max; //最大备份个数 + int buf_size; //缓冲区大小 + cdr_def define; //对应的字段表定义对象 + + //BOOL receive_tail; + //BOOL receive_cdr; + //int serial; +} cdr_src; + + +void converseFile(); +void cdr_timer(); +void cdr_init(); + +#if CDR_LINK_DEBUG +void cdrdebug_init(); +#endif + +void cdrdb_init(); +void cdr_start(); +void cdr_stop(); +BOOL cdr_status(); +void cdrdb_timer(); +void cdrlog_init(); +void cdrlog_timer(); +void cdr_log(const char *fmt, ...); +void cdr_logmsg(BYTE * buf, int len); +void cdr_report(); +int safe_query(MYSQL * conn, char *strquery, int retry); + +#endif diff --git a/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrdb.c b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrdb.c new file mode 100644 index 0000000..4e98238 --- /dev/null +++ b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrdb.c @@ -0,0 +1,990 @@ +/************************************************* +File name: cdrdb.c +Author: +Version: 9:00:00 +Date: 2002-5-7 +Description:该文件实现了cdrCollector模块的数据库操作,并且定时的对数据库数据进行备份, + 通过保存csv数据文件 + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include "cdr.h" +#include "../../../omcLib/c_program/ftp/ftp.h" +static MYSQL *cdrdb_conn; +static MYSQL *omcPub_conn; +extern cdr_src CdrSet[CDR_SRC_NUM]; +extern BYTE iCdrNum; + +static BYTE backup_flag=0; +static char tb_name[64][48]; +static int cdr_index = 0, tb_index = 0, tb_num = 0; +static char compress_file[64]; +static char send_file[64]; +static char sening_dir[128]; + +void enum_cdrdb(); +void backup_table(char *tb_name, char *csv_path,int flag,char *selfield,BYTE cdr_ver); +void create_csv(char *tb_name, char *csv_path,int flag,char *selfield); +void create_dat_for_wxc1(char *tb_name,char *csv_path,int flag,char *selfield); +void compress_csv(char *path_name); +//void chfilename(char *path_name, char *oldname); +void delfile(char *path_name,char *filename); +void clear_table(char *tb_name); +void send_csv(char *path_name); + +/************************************************* +Function: // cdrdb_init +Description: // 初始化数据库,打开数据库的连接,获得数据库初始化参数 +Calls: // mysql_init; mysql_real_connect; mysql_query; +Called By: // cdrmain.c:cdr_init; +Table Accessed: // OMC_PUB.omcPubVarConf; CDR_DB.cdrPubVarConf; +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void cdrdb_init() +{ + char sqlstr[256]; + MYSQL_RES *res; + MYSQL_ROW row; + + BYTE m_state = 1; + + //初始化数据库 + while ((cdrdb_conn = mysql_init(NULL)) == NULL) { + printf("Fail to init mysql:%s\n", mysql_error(cdrdb_conn)); + sleep(2); + } + + //初始化数据库连接 + while (mysql_real_connect + (cdrdb_conn, "localhost", "root", "rootaa", "CDR_DB", 0, NULL, + 0) == NULL) { + printf("Fail to init mysql:%s\n", mysql_error(cdrdb_conn)); + sleep(2); + } + + //获取公共参数sending_directory的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM CDR_DB.cdrPubVarConf WHERE pubVarName='sending_directory'"); + + if (mysql_query(cdrdb_conn, sqlstr) != 0) { + cdr_log("%s\n", mysql_error(cdrdb_conn)); + return; + } + + if ((res = mysql_store_result(cdrdb_conn)) == NULL) + return; + + if((row = mysql_fetch_row(res)) != NULL) { + strcpy(sening_dir,row[0]); + } + + mysql_free_result(res); + + while ((omcPub_conn = mysql_init(NULL)) == NULL) { + printf("Fail to init mysql:%s\n", mysql_error(omcPub_conn)); + sleep(2); + } + + while (mysql_real_connect + (omcPub_conn, "localhost", "root", "rootaa", "OMC_PUB", 0, NULL, + 0) == NULL) { + printf("Fail to init mysql:%s\n", mysql_error(omcPub_conn)); + sleep(2); + } + + //获得公共参数cdr_store_server的值 + sprintf(sqlstr, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='cdr_store_server'"); + + if (mysql_query(omcPub_conn, sqlstr) != 0) { + cdr_log("%s\n", mysql_error(omcPub_conn)); + return; + } + + if ((res = mysql_store_result(omcPub_conn)) == NULL){ + return; + } + + //判断是否需要备份 + if((row = mysql_fetch_row(res)) != NULL) { + if(strlen(row[0]) == 0) + { + backup_flag=0; + } + else + { + backup_flag=1; + } + } + + mysql_free_result(res); + + +/* + while (m_state != 0) { + switch (m_state) { + case 1: //find tables in CDR_DB + if (cdr_index < iCdrNum) { + enum_cdrdb(); + m_state = 2; + } else + m_state = 5; + break; + case 2: //backup table + if (tb_index < tb_num) { + backup_table(tb_name[tb_index], + CdrSet[cdr_index - 1].csv_path); + m_state = 3; + } else + m_state = 1; + break; + case 3: //delete old records + clear_table(tb_name[tb_index]); + tb_index++; + m_state = 4; + break; + case 4: //don't compress csv files + //compress_csv(CdrSet[cdr_index-1].csv_path); + m_state = 2; + break; + case 5: //finish + cdr_index = 0; + tb_index = 0; + m_state = 0; + return; + } + }*/ + cdr_index = 0; + tb_index = 0; + m_state = 0; + return; +} + +/************************************************* +Function: // cdrdb_timer +Description: // 每小时做一些固定的数据库操作,比如备份数据,删除旧的记录等 +Calls: // backup_table; enum_cdrdb; clear_table; +Called By: // cdrmain.c:cdr_timer; +Table Accessed: // 数据表 +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void cdrdb_timer() +{ + unsigned long l_time; + struct tm *t; + static BYTE m_state = 0; + + //for backup table per hour + int h_cdr_index=0; + //for backup table per hour + char h_tb_name[64]; + int flag; + + l_time = time(NULL); + t = localtime(&l_time); + + if(t->tm_min==0){ + for(h_cdr_index=0;h_cdr_indextm_hour==0){ + sprintf(h_tb_name,"%s_%d",CdrSet[h_cdr_index].record_table,23); + flag=1; + }else{ + sprintf(h_tb_name,"%s_%02d",CdrSet[h_cdr_index].record_table,t->tm_hour-1); + flag=0; + } + backup_table(h_tb_name, CdrSet[h_cdr_index].csv_path,flag,CdrSet[h_cdr_index].define.field_select,CdrSet[h_cdr_index].cdr_ver); +// send_csv(CdrSet[h_cdr_index].csv_path); + } + } + + switch (m_state) { + //IDLE + case 0: + l_time = time(NULL); + t = localtime(&l_time); + if (t->tm_hour == 3) { + m_state = 1; + cdr_index = 0; + tb_index = 0; + } + break; + //find tables in CDR_DB + case 1: + if (cdr_index < iCdrNum) { + enum_cdrdb(); + m_state = 2; + } else + m_state = 5; + break; + //backup table + case 2: + if (tb_index < tb_num) { + //backup_table(tb_name[tb_index], CdrSet[cdr_index-1].csv_path,1,CdrSet[cdr_index-1].define.field_select,CdrSet[cdr_index-1].cdr_ver); + m_state = 3; + } else + m_state = 1; + break; + //delete old records + case 3: + clear_table(tb_name[tb_index]); + tb_index++; + m_state = 4; + break; + //compress csv files + case 4: + //compress_csv(CdrSet[cdr_index].csv_path); + m_state = 2; + break; + //finish + case 5: + l_time = time(NULL); + t = localtime(&l_time); + if (t->tm_hour != 3) { + cdr_index = 0; + tb_index = 0; + m_state = 0; + } + break; + } +} + +/************************************************* +Function: // enum_cdrdb +Description: // 找出所有的数据表,以便下一步操作 +Calls: // mysql_query; mysql_store_result; mysql_fetch_row; +Called By: // cdrdb_timer; +Table Accessed: // 数据表 +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void enum_cdrdb() +{ + cdr_src *pcdr; + char sqlstr[64]; + MYSQL_RES *res_set; + MYSQL_ROW row; + int i; + + tb_index = tb_num = 0; + + pcdr = &CdrSet[cdr_index++]; + + for (i = 0; i < cdr_index - 2; i++) { + if (strstr(CdrSet[i].record_table, pcdr->record_table) != NULL) { + cdr_index++; + return; + } + } + + cdr_log("Search tables like %s*\n", pcdr->record_table); + + sprintf(sqlstr, "SHOW TABLES FROM CDR_DB LIKE '%s_%%'", + pcdr->record_table); + if (mysql_query(cdrdb_conn, sqlstr) != 0) + return; + if ((res_set = mysql_store_result(cdrdb_conn)) == NULL) + return; + while ((row = mysql_fetch_row(res_set)) != NULL && tb_num < 64) { + if (row[0] != NULL) + strcpy(tb_name[tb_num++], row[0]); + } + mysql_free_result(res_set); + +} + +/************************************************* +Function: // backup_table +Description: // 备份数据表,为生成csv文件做些准备工作 +Calls: // mysql_query; mysql_store_result; mysql_fetch_row; create_dat_for_wxc1; create_csv; +Called By: // cdrdb_timer; +Table Accessed: // 数据表 +Table Updated: // +Input: // tb_name:表名; csv_path:保存路径; flag:标志位; selfield; cdr_ver:版本; +Output: // +Return: // +Others: // +*************************************************/ +void backup_table(char *tb_name, char *csv_path,int flag,char *selfield,BYTE cdr_ver) +{ + char sqlstr[256]; + MYSQL_RES *res_set; + MYSQL_ROW row; + char timestr[50]; + //char mytime[20],myday[20]; + long l_time; + struct tm *t; + + cdr_log("Start backup table %s\n", tb_name); + if(flag==1) + sprintf(sqlstr, + "SELECT DATE_FORMAT(releaseTime,'%%Y_%%m_%%d') FROM %s WHERE TO_DAYS(releaseTime)tm_year + 1900, t->tm_mon + 1,t->tm_mday); +// return; + }else{ + strcpy(timestr, row[0]); + mysql_free_result(res_set); + } + //根据版本号产生csv文件 + /*if(cdr_ver==1) + create_dat_for_wxc1(tb_name, timestr, csv_path,flag,selfield); + else + create_csv(tb_name, timestr, csv_path,flag,selfield);*/ +} + +/************************************************* +Function: // create_csv +Description: // 生成csv文件 +Calls: // mysql_query; +Called By: // backup_table; +Table Accessed: // 数据表 +Table Updated: // +Input: // tb_name:表名; time_str:时间; csv_path:保存路径; flag:标志位; selfield; +Output: // +Return: // +Others: // +*************************************************/ +void create_csv(char *tb_name, char *csv_path,int flag,char *selfield) +{ + char olddir[128], sqlstr[1024], csv_file[32], tb_prefix[32], *pchr, cmdstr[1024]; //cur_path[96],dirname[32]; + struct stat fileinfo; +// char filestr[] +// MYSQL_RES *res_set; +// MYSQL_ROW row; + + strcpy(tb_prefix, tb_name); + if ((pchr = strchr(tb_prefix, '_')) == NULL) + return; + *(pchr++) = '\0'; + + //获得上一次目录 + getcwd(olddir, 128); + cdr_log("%s\n", tb_name); + cdr_log("%s\n", csv_path); + if (chdir(csv_path) == -1) { + sprintf(cmdstr, "mkdir -p -m777 %s", csv_path); + cdr_log("%s\n", cmdstr); + system(cmdstr); + if (chdir(csv_path) == -1) + return; + } + + //到sending_dir目录去,不存在则创建 + if (chdir(sening_dir) == -1) { + sprintf(cmdstr, "mkdir -p -m777 %s", sening_dir); + cdr_log("%s\n", cmdstr); + system(cmdstr); + if (chdir(sening_dir) == -1) + return; + } + + //sprintf(csv_file, "%s_%s_%s.csv", tb_prefix, time_str, pchr); + sprintf(csv_file, "%s", cdrFileName); + //chfilename(csv_path, csv_file); + delfile(csv_path, csv_file); + cdr_log("%s\n", csv_path); + cdr_log("%s\n", csv_file); + cdr_log("%s\n", CDRDB_NAME); + cdr_log("%s\n", tb_name); +//************************************************************* + //生成csv文件 + if(flag==1) + sprintf(sqlstr, + "SELECT %s INTO OUTFILE '%s/%s' FROM %s.%s ", + selfield,csv_path, csv_file, CDRDB_NAME, tb_name); + else + sprintf(sqlstr, + "SELECT %s INTO OUTFILE '%s/%s' FROM %s.%s ", + selfield,csv_path, csv_file, CDRDB_NAME, tb_name); + //sprintf(sqlstr,"SELECT * INTO OUTFILE '%s/%s' FIELDS TERMINATED BY ',' FROM %s.%s WHERE TO_DAYS(releaseTime) 0) + return safe_query(conn, strquery, retry); + else { + cdr_log("%s\n", strquery); + cdr_log("error %d:%s\n", mysql_errno(conn), + mysql_error(conn)); + cdr_log("can't fix the error\n"); + return 1; + } + } else { + cdr_log("%s\n", strquery); + cdr_log("error %d:%s\n", mysql_errno(conn), mysql_error(conn)); + return 1; + } + } + +} + +/************************************************* +Function: // send_csv +Description: // 发送csv文件到指定发目录 +Calls: // mysql_query; mysql_store_result; mysql_fetch_row; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // 此函数已废弃不用 +*************************************************/ +void send_csv(char *path_name) +{ + /*char serverinfo[128],sqlstr[256],*username,*pwd,*serverip,*remotepath, *pchr; + char locationpath[128]; + char sendpath[128]; + char getpath[128]; + char localIP[16][16]; + + MYSQL_RES *res; + MYSQL_ROW row; + + int nRet,tmppathlen,count; + + if(*send_file==0){ + return; + } + sprintf(sqlstr, + "SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='cdr_store_server'"); + + if (mysql_query(omcPub_conn, sqlstr) != 0) { + cdr_log("%s\n", mysql_error(omcPub_conn)); + return; + } + if ((res = mysql_store_result(omcPub_conn)) == NULL) + return; + + if((row = mysql_fetch_row(res)) != NULL) { + memset(serverinfo, 0, sizeof(serverinfo)); + strcpy(serverinfo,row[0]); + } + + mysql_free_result(res); + + + tmppathlen =0; + tmppathlen = strlen(serverinfo); + if (serverinfo[tmppathlen-1] != '/'||tmppathlen<127){ + serverinfo[tmppathlen]='/'; + serverinfo[tmppathlen+1]='\0'; + //strcat(serverinfo,"/"); + } + + username= serverinfo;//get username + + if((pchr = strstr(serverinfo, "@"))==NULL){ + cdr_log("send csv files error,cdr_store_server param error!\n"); + return; + } + *(pchr++) = '\0'; + serverip = pchr; //get server ip + if((pchr = strstr(username, ":"))==NULL){ + cdr_log("send csv files error,cdr_store_server param error!\n"); + return; + } + *(pchr++) = '\0'; + pwd = pchr;//get password + if((pchr = strstr(serverip, ">"))==NULL){ + cdr_log("send csv files error,cdr_store_server param error!\n"); + return; + } + *(pchr++) = '\0'; + remotepath = pchr;//get remotepath +*/ +//**************************************** +//不能往存放cdr的目录上传 +//**************************************** +// serverip+remotepath eg:172.18.234.235/tmp/ + /*sprintf(sendpath,"%s%s",serverip,remotepath); + + nRet=ftp_getlocalip(localIP); + if(nRet>16) nRet=16; + for(count=0;countftp open failed\n",ftp_retmsg); + ftp_logout(); + return; + } + if((nRet=ftp_login(username,pwd)==1)){ + cdr_log("send csv files error,%s->ftp login failed\n",ftp_retmsg); + ftp_logout(); + return; + } + + if((nRet = ftp_cwd(remotepath)==1)){ + cdr_log("send csv files error,%s->ftp CWD failed\n",ftp_retmsg); + ftp_logout(); + return; + } + + sprintf(locationpath,"%s/",path_name); + + + if((nRet = ftp_putfile(send_file,locationpath)==1)){ + cdr_log("send csv files error,%s->upload failed\n",ftp_retmsg); + ftp_logout(); + return; + } + ftp_logout(); + memset(send_file,0,64); + return; */ +} + +/************************************************* +Function: // create_dat_for_wxc1 +Description: // 当是wxc1的时候,用此函数备份数据表,产生csv文件 +Calls: // mysql_query; mysql_store_result; mysql_fetch_row; +Called By: // backup_table; +Table Accessed: // 数据表 +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void create_dat_for_wxc1(char *tb_name,char *csv_path,int flag,char *selfield) +{ + char olddir[128], sqlstr[1024], csv_file[32], tb_prefix[32], *pchr, cmdstr[1024]; //cur_path[96],dirname[32]; + int wcount=0; + char dat_file[64]; + MYSQL_RES *res_set; + MYSQL_ROW row; + FILE *dat_fp; + + unsigned long l_time; + struct tm *t; + char str[512]; + int res_num,i; + int p_width[27]={8,18,23,23,23,23,23,11,11,16,7,7,22,23,23,23,15,9,7,23,7,7,7,23,23,11,9}; + //int p_width[28]={8,18,23,23,23,23,23,11,11,6,10,7,7,22,23,23,23,15,9,7,23,7,7,7,23,23,11,9}; + + strcpy(tb_prefix, tb_name); + if ((pchr = strchr(tb_prefix, '_')) == NULL) + return; + *(pchr++) = '\0'; + + getcwd(olddir, 128); + cdr_log("%s\n", tb_name); + cdr_log("%s\n", csv_path); + if (chdir(csv_path) == -1) { + sprintf(cmdstr, "mkdir -p -m777 %s", csv_path); + cdr_log("%s\n", cmdstr); + system(cmdstr); + if (chdir(csv_path) == -1) + return; + } + + if (chdir(sening_dir) == -1) { + sprintf(cmdstr, "mkdir -p -m777 %s", sening_dir); + cdr_log("%s\n", cmdstr); + system(cmdstr); + if (chdir(sening_dir) == -1) + return; + } + + //sprintf(csv_file, "%s_%s_%s.csv", tb_prefix, time_str, pchr); + sprintf(csv_file, "%s", cdrFileName); + //chfilename(csv_path, csv_file); + delfile(csv_path, csv_file); + cdr_log("%s\n", csv_path); + cdr_log("%s\n", csv_file); + cdr_log("%s\n", CDRDB_NAME); + cdr_log("%s\n", tb_name); + +//************************************************************* + if(flag==1) + sprintf(sqlstr, + "SELECT %s FROM %s.%s WHERE TO_DAYS(releaseTime)tm_mon+1,t->tm_mday,t->tm_year+1900,t->tm_hour,t->tm_min,t->tm_sec); + fprintf(dat_fp,"Type Imsi Msisdn Msrn Calling # Called # RE In.TkGp Ou.TkGp Location BS SS Mob. ClassMark Seizure Time Answer Time Release Time Duration TCos SSA SS Parm. SSR CR RCU SM Delivery Time SC Address SM Rslt MsgRf \n\n"); + + while ((row = mysql_fetch_row(res_set)) != NULL){ + if(atoi(row[0])!=6&&atoi(row[0])!=7){ //not sms + if(row[16]==NULL||atoi(row[16])==0) //Duration=0 skip + continue; + } + for(i=0;i<27;i++){ + if(row[i]==NULL){ + if(i==7||i==8){ + ;//In.TkGp,Ou.TkGpr skip + }else{ + fprintf(dat_fp,"%-*s",p_width[i],"--"); + continue; + } + } + switch (i){ + case 0: // Type + case 10:// basicService + case 11:// supplServicesUsed + case 18:// SSA + case 20:// SSR + case 26:// MsgRf + sprintf(str,"%03d",atoi(row[i])); + break; + case 7:// In.TkGp + case 8:// Ou.TkGp + if(atoi(row[0])==6||atoi(row[0])==7){//sms + sprintf(str,"--"); + }else{ + sprintf(str,"00 00 00"); + } + break; + case 15:// releaseTime + if(atoi(row[0])==6||atoi(row[0])==7){ + fprintf(dat_fp,"%-*s",p_width[i],"--"); + continue; + } + case 13:// seizureTime + case 14:// answerTime + case 23:// SmDeliveryTime + // 2001-06-07 11:12:22-> + // 06/07/2001 11:12:22 + { + int y=0,m=0,d=0; + pchr=row[i]; + y = atoi(pchr); + pchr = strchr(pchr,'-'); + if(pchr==NULL) + { + sprintf(str,"%02d/%02d/%02d %s",m,d,y,pchr); + break; + } + pchr++; + m = atoi(pchr); + pchr = strchr(pchr,'-'); + pchr++; + if(pchr==NULL) + { + sprintf(str,"%02d/%02d/%02d %s",m,d,y,pchr); + break; + } + d = atoi(pchr); + pchr = strchr(pchr,' '); + sprintf(str,"%02d/%02d/%02d %s",m,d,y,pchr); + break; + } + case 16://callDuration + { + int d,h,m,s,total; + total =atoi(row[i]); + d = total/86400; + h = (total%86400)/3600; + m = (total%3600)/60; + s = total%60; + sprintf(str,"%02d:%02d:%02d:%02d",d,h,m,s); + break; + } +// case 9: // location_mscNumber +// case 10:// location_mscNumber_2 + case 17:// TCos + sprintf(str,"%05d",atoi(row[i])); + break; + case 21:// CR + sprintf(str,"%04d",atoi(row[i])); + break; + sprintf(str,"%s",row[i]); + break; + case 12:// Mob. ClassMark + sprintf(str,"1f %s",row[i]); + break; + default: + sprintf(str,"%s",row[i]); + break; + } + fprintf(dat_fp,"%-*s",p_width[i],str); + } + fprintf(dat_fp,"\n"); + wcount++; + } + fseek(dat_fp,0,SEEK_SET); + fprintf(dat_fp,"FILE NAME: %s NO. OF RECORDS:%-10d\n",dat_file,wcount); + mysql_free_result(res_set); + strcpy(compress_file, csv_file); + fclose(dat_fp); + chdir(olddir); + if(backup_flag) + { + sprintf(send_file,"%s",csv_file); + sprintf(cmdstr, "cp %s/%s %s/%s.bak",csv_path,csv_file,csv_path,csv_file); + system(cmdstr); + sprintf(cmdstr, "mv %s/%s.bak %s/%s",csv_path,csv_file,sening_dir,csv_file); + system(cmdstr); + } +} diff --git a/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrdebug.c b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrdebug.c new file mode 100644 index 0000000..1e63d0b --- /dev/null +++ b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrdebug.c @@ -0,0 +1,115 @@ +/************************************************* +File name: cdrdebug.c +Author: +Version: 9:00:00 +Date: 2002-5-7 +Description:该文件定义了调试的函数 + + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include "cdr.h" +#if CDR_LINK_DEBUG +extern cdr_src CdrSet[CDR_SRC_NUM]; +extern BYTE iCdrNum; + +static char debug_buf[4096]; +//static char asc_in[256]; +void cdr_debug_info(BYTE npage, BYTE nline, BYTE * pt, BYTE len); + +/************************************************* +Function: // cdrdebug_init +Description: // 初始化调试模块 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void cdrdebug_init() +{ + DWORD asc_id[20] = { 1, 3, 6, 1, 4, 1, 1373, 1, 3, 2, 3, 1, 2, 16, 4 }; + DWORD status_id[20] = + { 1, 3, 6, 1, 4, 1, 1373, 1, 3, 2, 3, 1, 2, 16, 1 }; + DWORD name_id[20] = + { 1, 3, 6, 1, 4, 1, 1373, 1, 3, 2, 3, 1, 2, 16, 2 }; + + DWORD title_id[20] = + { 1, 3, 6, 1, 4, 1, 1373, 1, 3, 2, 3, 1, 2, 16, 6, 1 }; + + static char module_name[16] = "CDR"; + static BYTE debug_status = 1; + cdr_src *pcdr; + BYTE i; + char title[320], info[320] = { + "1 2\r\n" + "IP\r\n" + "Port\r\n" + "receive\r\n" + "record\r\n" + "lost\r\n" + "tail\r\n" + "head\r\n" + "bind num\r\n" + "get state\r\n" "get timeout\r\n" "set state\r\n" "set timeout" + }; + + debug_set_response(15, asc_id, debug_buf, 1); + debug_set_response(15, status_id, &debug_status, 1); + debug_set_response(15, name_id, module_name, strlen(module_name)); + + for (i = 0; i < iCdrNum; i++) { + pcdr = &CdrSet[i]; + sprintf(title, "\tCDR Collector\tPage %02d\t\tMessage\r\n%s", + i + 1, info); + title_id[14] = i + 6; + debug_set_response(15, title_id, title, strlen(title)); + cdr_debug_info(i + 1, 2, (BYTE *) & pcdr->addr.remote_ip, 4); + cdr_debug_info(i + 1, 3, (BYTE *) & pcdr->addr.remote_port, 2); + cdr_debug_info(i + 1, 4, (BYTE *) & pcdr->recv, 4); + cdr_debug_info(i + 1, 5, (BYTE *) & pcdr->recd, 4); + cdr_debug_info(i + 1, 6, (BYTE *) & pcdr->loss, 4); + cdr_debug_info(i + 1, 7, (BYTE *) & pcdr->instance, 4); + cdr_debug_info(i + 1, 8, (BYTE *) & pcdr->head, 4); + cdr_debug_info(i + 1, 9, (BYTE *) & pcdr->maxbind, 4); + cdr_debug_info(i + 1, 10, (BYTE *) & pcdr->get_state, 1); + cdr_debug_info(i + 1, 11, (BYTE *) & pcdr->get_timeout, 4); + cdr_debug_info(i + 1, 12, (BYTE *) & pcdr->set_state, 1); + cdr_debug_info(i + 1, 13, (BYTE *) & pcdr->set_timeout, 4); + } +} + +/************************************************* +Function: // cdr_debug_info +Description: // 显示调试信息 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // npage; nline; pt; len; +Output: // +Return: // +Others: // +*************************************************/ +void cdr_debug_info(BYTE npage, BYTE nline, BYTE * pt, BYTE len) +{ + DWORD oid[20] = + { 1, 3, 6, 1, 4, 1, 1373, 1, 3, 2, 3, 1, 2, 16, 5, 2, 2 }; + oid[14] = 5 + npage; + oid[15] = nline; + debug_set_response(17, oid, pt, len); +} + +#endif diff --git a/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrlog.c b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrlog.c new file mode 100644 index 0000000..a5e2d48 --- /dev/null +++ b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrlog.c @@ -0,0 +1,194 @@ +/************************************************* +File name: cdrlog.c +Author: +Version: 9:00:00 +Date: 2002-7-2 +Description:该文件定义了cdrCollector模块日志操作函数 + + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include "cdr.h" + static FILE *log_fp; + extern BYTE iCdrNum; + extern cdr_src CdrSet[CDR_SRC_NUM]; + +/************************************************* +Function: // cdrlog_init +Description: // 打开日志文件,以便写入运行日志 +Calls: // +Called By: // cdrmain.c; cdrdb.c; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ + void cdrlog_init() +{ + char log_file[64], cmdstr[64]; + long l_time; + struct tm *t; + l_time = time(NULL); + t = localtime(&l_time); + if (access(CDR_LOG_PATH, F_OK) != 0) + { + sprintf(cmdstr, "mkdir -p -m777 %s", CDR_LOG_PATH); + printf("%s\n", cmdstr); + system(cmdstr); + } + sprintf(log_file, "%s/%s_%d_%d", CDR_LOG_PATH, CDR_LOG_FILE, + t->tm_mon + 1, t->tm_mday); + log_fp = fopen(log_file, "a"); + cdr_log("CDR Module start up.%s", ctime(&l_time)); + } + +/************************************************* +Function: // cdrlog_timer +Description: // 定时地往日志文件里写一些日志 +Calls: // cdr_log; +Called By: // cdr.c:cdr_timer; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ + void cdrlog_timer() +{ + char log_file[64]; + long l_time; + static BYTE ch = 0, ch2 = 0; + static short m_state; + struct tm *t; + + if (m_state++ < 6) + return; + m_state = 0; + l_time = time(NULL); + t = localtime(&l_time); + if (ch2 == 0 && t->tm_min % 15 <= 3) //report per 15 minute + { + cdr_report(); + ch2 = 1; + } + + else if (t->tm_min % 15 > 3) + ch2 = 0; + if (t->tm_hour == 0 && ch == 0) + { + if (log_fp != NULL) + fclose(log_fp); + sprintf(log_file, "%s/%s_%d_%d", CDR_LOG_PATH, CDR_LOG_FILE, + t->tm_mon + 1, t->tm_mday); + if ((log_fp = fopen(log_file, "a")) != NULL) + ch = 1; + } + + else if (t->tm_hour > 0) + ch = 0; + } + +/************************************************* +Function: // cdr_report +Description: // 定时地往日志文件里写入CDR数据源的一些信息 +Calls: // cdr_log; +Called By: // cdrlog_timer; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ + void cdr_report() +{ + BYTE i; + long l_time; + struct tm *t; + cdr_src * pcdr; + l_time = time(NULL); + t = localtime(&l_time); + cdr_log("=================%02d:%02d:%02d================\n", + t->tm_hour, t->tm_min, t->tm_sec); + for (i = 0; i < iCdrNum; i++) + { + pcdr = &CdrSet[i]; + cdr_log("%-08lX(%s-%d)\n", htonl(pcdr->addr.remote_ip), + pcdr->record_table, pcdr->sysid); + cdr_log("\tphead=%ld\tptail=%d\tmaxbind=%d\n", pcdr->head, + pcdr->instance, pcdr->maxbind); + cdr_log("\treceved:%d\t\trecord:%d\tloss=%d\n", pcdr->recv, + pcdr->recd, pcdr->loss); + cdr_log + ("\tget state=%d\ttimeout=%d\tretry=%d\tset state=%d\ttimeout=%d\n\n", + pcdr->get_state, pcdr->get_timeout, pcdr->retry, + pcdr->set_state, pcdr->set_timeout); + } + cdr_log("===========================================\n\n"); + return; + } + +/************************************************* +Function: // cdr_log +Description: // 往日志文件里写入信息函数 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // 消息格式以及参数 +Output: // +Return: // +Others: // +*************************************************/ + void cdr_log(const char *fmt, ...) +{ + char buf[2048]; + va_list ap; + if (log_fp == NULL) + return; + va_start(ap, fmt); + vsprintf(buf, fmt, ap); + fputs(buf, log_fp); + fflush(log_fp); + va_end(ap); + } + + +/************************************************* +Function: // cdr_log +Description: // 以十六进制的格式往日志文件里写入信息 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // msgbuf:字节指针; len:数组长度; +Output: // +Return: // +Others: // +*************************************************/ + void cdr_logmsg(BYTE * msgbuf, int len) +{ + int i; + char buf[2048]; + if (log_fp == NULL) + return; + for (i = 0; i < len; i++) + sprintf(buf + 3 * i, "%02X ", msgbuf[i]); + strcat(buf, "\n"); + fputs(buf, log_fp); + fflush(log_fp); + } + + diff --git a/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrmain.c b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrmain.c new file mode 100644 index 0000000..83fb541 --- /dev/null +++ b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/cdrmain.c @@ -0,0 +1,139 @@ +/************************************************* +File name: cdr.c +Author: +Version: 9:00:00 +Date: 2002-5-7 +Description:cdrCollector模块的主文件,初始化snmp和iptrans模块,调用cdr.c里的函数 + 定义定时器函数,设置定时 + + 调用外部模块的函数 + void snmp_init(WORD nport); + void iptrans_init(); + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include "cdr.h" + +static struct itimerval itimer, old_itimer; +static void On_Timer(); +static void SetTimer(); + +/************************************************* +Function: // main +Description: // 初始化snmp和iptrans模块,开始调用定时器函数 +Calls: // iptrans_init; snmp_init; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int main(int argc, char *argv[]) +{ + + pid_t pid; + //debug_init(); + + //fprintf(stderr, "\n Calling iptrans_init()"); + //iptrans_init(); + + //fprintf(stderr, "\n Calling snmp_init()"); + //snmp_init(CDR_PORT); + + /* + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + //umask(0); + }*/ + + if (argc != 4) { + exit(0); + } + + strcpy(totalCdrFileName,argv[1]); + strcpy(cdrFileName,argv[2]); + cdrHour=atoi(argv[3]); + + + cdr_init(); + + //cdr_start(); + + + converseFile(); + + /* + SetTimer(); + while (1) { + //cdr_loop(); + usleep(50); + } + return 1; + */ + + +} + +/************************************************* +Function: // On_Timer +Description: // 定时器函数 +Calls: // cdr_timer +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void On_Timer() +{ + //debug_rt(); + //snmp_timer(); + cdr_timer(); +} + +/************************************************* +Function: // SetTimer +Description: // 设置定时器函数 +Calls: // On_Timer +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void SetTimer() +{ + struct sigaction act; + act.sa_handler = On_Timer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exit(1); + } +} diff --git a/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/converseTools b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/converseTools new file mode 100644 index 0000000..57e1412 --- /dev/null +++ b/src/accountMgr/c_program/wxc1AndWxc2ConverseTools/converseTools @@ -0,0 +1,14 @@ +#!/bin/sh + +cdrFileArr=`ls /tmp/needConverseCdrFiles/*` + +echo "Start conversing." +for totalCdrFileName in $cdrFileArr ; do + cdrFile=`echo $totalCdrFileName|awk -F"/" '{print $4}'` + hour=`echo $totalCdrFileName|awk -F"_" '{print $5}'|awk -F"." '{print $1}'` + echo $totalCdrFileName $cdrFile $hour + ./cdrCollector $totalCdrFileName $cdrFile $hour + echo "." +done + + diff --git a/src/configMgr/c_program/impmod/Makefile b/src/configMgr/c_program/impmod/Makefile new file mode 100644 index 0000000..220d13e --- /dev/null +++ b/src/configMgr/c_program/impmod/Makefile @@ -0,0 +1,91 @@ +mysqlInclude=/usr/local/mysql/include +mysqlInclude.ES=/usr/include/mysql + +mysqlLib=/usr/local/mysql/lib +mysqlLib.ES=/usr/lib/mysql + +OBJ =bsscomm.o bss_hb.o nmimp.o nmtypes.o +OBJ.ES =bsscomm.o.ES bss_hb.o.ES nmimp.o.ES nmtypes.o.ES + +PROGS1=bsscomm +PROGS2=alive + +default: linuxES + +all: + @echo " **** Compiling $(PROGS1) and $(PROGS2) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: bsscomm alive + make alive + make bsscomm + +linuxES: bsscomm.ES alive + make alive + make bsscomm.ES + +bsscomm:${OBJ} + @echo Linking $(PROGS1) + @gcc -g -W -Wall -o $(PROGS1) ${OBJ} -L$(mysqlLib) -lmariadbclient -lz + ar r libimp.a ${OBJ} + # cp -f bsscomm ../../../omc83_bin/ + #cp -f bsscomm /usr/local/omc/bin/ + +bsscomm.ES:${OBJ.ES} + @echo Linking $(PROGS1) + @gcc -g -W -Wall -o $(PROGS1) ${OBJ} -L$(mysqlLib.ES) -lmariadbclient -lz -lm + ar r libimp.a ${OBJ} + +installbin: linuxES + cp -f $(PROGS1) ../../../../bin/ + cp -f $(PROGS2) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS1) /usr/local/omc/bin/ + cp -f $(PROGS2) /usr/local/omc/bin/ + +installall: installbin installomc + +#imptest.o: imptest.c +# gcc -g -O2 -W -Wall -c imptest.c \ +# -I/usr/local/mysql/include \ + + +bsscomm.o: bsscomm.c nmimp.h nmtypes.h nmstatus.h iwtypes.h + gcc -g -W -Wall -c bsscomm.c -I$(mysqlInclude) + +bss_hb.o: bss_hb.c bss_hb.h iwtypes.h bsscomm.h + gcc -g -W -Wall -c bss_hb.c -I$(mysqlInclude) + +nmimp.o: nmimp.c nmimp.h iwtypes.h nmstatus.h + gcc -g -W -Wall -c nmimp.c + +nmtypes.o: nmtypes.c nmtypes.h iwtypes.h + gcc -g -W -Wall -c nmtypes.c + +bsscomm.o.ES: bsscomm.c nmimp.h nmtypes.h nmstatus.h iwtypes.h + gcc -g -W -Wall -c bsscomm.c -I$(mysqlInclude.ES) + +bss_hb.o.ES: bss_hb.c bss_hb.h iwtypes.h bsscomm.h + gcc -g -W -Wall -c bss_hb.c -I$(mysqlInclude.ES) + +nmimp.o.ES: nmimp.c nmimp.h iwtypes.h nmstatus.h + gcc -g -W -Wall -c nmimp.c + +nmtypes.o.ES: nmtypes.c nmtypes.h iwtypes.h + gcc -g -W -Wall -c nmtypes.c + +alive: alive.c + gcc -g -W -Wall -o alive alive.c + #cp -f alive ../../../omc83_bin/ + #cp -f alive ../../../../bin/ + # cp -f alive /usr/local/omc/bin/ + +clean: + rm -rf *.a *.o bsscomm alive + +tags: + ctags -R . + diff --git a/src/configMgr/c_program/impmod/alive.c b/src/configMgr/c_program/impmod/alive.c new file mode 100644 index 0000000..b6af47b --- /dev/null +++ b/src/configMgr/c_program/impmod/alive.c @@ -0,0 +1,365 @@ +/**************************************************** + Bsplus monitoring server: + Incoming: (bsscomm -> monitor) + "16clr 1 172.15.0.3" when server discover error + "16add 1 172.15.0.3" for adding new host to array + "03rst" to reset the host array + "16del 2 172.15.0.3" for deleting + Outgoing: (monitor -> bsscomm) + "16clr 1 172.15.0.3" + "16new 3 173.23.0.3" + "03die" to tell BssComm when selection error + Testing: + Test new connection by "ping -w 2 -i 0.1 -c 5 172.18.0.3" + + ****************************************************/ +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define PORT 5354 +#define QUEUESIZE 10 +#define BUFMAX 4096 + +#define NO_OF_BSS 256 +#define IP_LEN 16 + +struct connection { + char ip[IP_LEN]; + int bssid; + int connected; + int no_of_unreachable; +}; +struct connection bsplus[NO_OF_BSS]; +int nbsplus=0; /* no of element in bsplus array*/ +int newsock=-1; + +void init_connection(struct connection *conn) +{ + conn->ip[0]='\0'; + conn->bssid=-1; + conn->connected=0; + conn->no_of_unreachable=0; +} + +int process_outgoing_msg(int socket_fd, char *cmd, int index) +{ + char MsgBuffer[99]="\0"; + char temp[99]="\0"; + unsigned int len; + + sprintf(temp, "%s %d %s", cmd, (bsplus[index]).bssid, (bsplus[index]).ip); + sprintf(MsgBuffer,"%.2d%s",strlen(temp),temp); + + len = write(socket_fd, MsgBuffer, strlen(MsgBuffer)); + if ( len != strlen(MsgBuffer) ) + { + fprintf(stderr,"Error !!!"); + } + + return(len); +} + +int process_incoming_msg(char *MsgBuffer) +{ + int i; + int bssid; + char cmd[4]; + char ip[IP_LEN]="\0"; + char buffer[BUFMAX]="\0"; + int retval=1; + char new_str[4]="new"; + + //printf("%s\n",MsgBuffer); + if(!strncmp(MsgBuffer,"rst",3)) + { + for(i=0;i=NO_OF_BSS) ) + return -1; + + if(!strncmp(cmd,"add",3)) + { + (bsplus[nbsplus]).bssid = bssid; + strcpy((bsplus[nbsplus]).ip, ip); + (bsplus[nbsplus]).connected=0; + nbsplus++; + + /* test connectivity immediately */ + sprintf(buffer,"ping -w 2 -i 0.1 -c 5 %s 2>/dev/null|grep time >>/dev/null",(bsplus[nbsplus-1]).ip); + + retval=system(buffer); + if (!retval) /* if ping succ */ + { + process_outgoing_msg(newsock, new_str, nbsplus-1);//send "new" + (bsplus[nbsplus-1]).connected = 1; + } + } + else if(!strncmp(cmd,"del",3)) + { + for(i=0;i 0) { + runMode = getopt(argc, argv, "d"); + switch (runMode) { + case 'd': + setup_daemon(); + break; + case '?': + break; + } + } + + port=PORT; + + for (i=0;i= 2L ) + { + break; + } + + sprintf(buffer,"ping -w 2 -i 1 -c 1 %s 2>/dev/null|grep time >>/dev/null",(bsplus[j]).ip); + pingval=system(buffer); + + if (pingval) /* if ping failed */ + { + (bsplus[j]).no_of_unreachable++; + + /* + * Too many ping failure (approx. 60 sec) + */ + if ( (bsplus[j]).no_of_unreachable > 20 ) + { + process_outgoing_msg(newsock, clr_str, j); + (bsplus[j]).connected = 0; + } + } + else /* if ping succ */ + { + (bsplus[j]).no_of_unreachable=0; + + process_outgoing_msg(newsock, "new", j); + (bsplus[j]).connected = 1; + } + time(&curr_t); + } /* end_of_for */ + if (j>=nbsplus) + j=0; + continue; + } + + if (FD_ISSET(sock, &readfds)) + { + if (newsock==-1) + { + newsock=accept(sock, (struct sockaddr*) &caddr, &caddrlen); + width = newsock + 1; + } + } + if (FD_ISSET(newsock, &readfds)) + { + nread = read(newsock, msgbuffer+nlast, 2-nlast); + + if (nread<=0) { + FD_CLR(newsock, &readfds); + + close(newsock); + newsock=-1; + width = sock + 1; + for (i=0;i [IWP|S1E1|TRX2|TRX3|TRX4|TRX5|TRX6|TRX7|TRX8|TRX9 |TRX10 |TRX11|TRX12|TRX13|ABIS | ] + * BSC --> [IWP|S1E1|S2E1|S3E1|S4E1|S5E1|S6E1|S7E1|S8E1|S9E1 |S10E1 |S11E1|S12E1|S13E1|S14E1|S15E1] + */ +int object2LedId(int btsid,int signal_element) +{ + int led_index; + + if (btsid!=99)//BTS + { + switch (signal_element) + { + case 0: // IWP + led_index = 0;break; + case 10: // Slot1 E1 + led_index = 1;break; + case 20: // TRX 2 + led_index = 2;break; + case 30: // TRX 3 + led_index = 3;break; + case 40: // TRX 4 + led_index = 4;break; + case 50: // TRX 5 + led_index = 5;break; + case 60: // TRX 6 + led_index = 6;break; + case 70: // TRX 7 + led_index = 7;break; + case 80: // TRX 8 + led_index = 8;break; + case 90: // TRX 9 + led_index = 9;break; + case 100: // TRX 10 + led_index = 10;break; + case 110: // TRX 11 + led_index = 11;break; + case 120: // TRX 12 + led_index = 12;break; + case 130: // TRX 13 + led_index = 13;break; + case 11: // AbisMgr + led_index = 14;break; + default: + led_index = -1;break; + } + } + else + { + switch (signal_element) + { + case 0: // IWP + led_index = 0;break; + case 10: // Slot1 E1 + led_index = 1;break; + case 20: // Slot2 E1 + led_index = 2;break; + case 30: // Slot3 E1 + led_index = 3;break; + case 40: // Slot4 E1 + led_index = 4;break; + case 50: // Slot5 E1 + led_index = 5;break; + case 60: // Slot6 E1 + led_index = 6;break; + case 70: // Slot7 E1 + led_index = 7;break; + case 80: // Slot8 E1 + led_index = 8;break; + case 90: // Slot9 E1 + led_index = 9;break; + case 100: // Slot10 E1 + led_index = 10;break; + case 110: // Slot11 E1 + led_index = 11;break; + case 120: // Slot12 E1 + led_index = 12;break; + case 130: // Slot13 E1 + led_index = 13;break; + case 140: // Slot14 E1 + led_index = 14;break; + case 150: // Slot15 E1 + led_index = 15;break; + default: + led_index = -1;break; + } + } + return led_index; +} +void initOmcDbConn() +{ + mysql_init(&omcDbConn); + omcDb_sock=mysql_real_connect(&omcDbConn,NULL,"application","noitacilpPA#68*","OMC_PUB",0,NULL,0); + if (omcDb_sock == 0) + exit(6); +} + +void initHeartbeatStruct(tHeartbeat *heartbeat) +{ + int i; + + heartbeat->system_id=0; + heartbeat->timestamp=0; + for (i=0; iled_control[i]=0; + } + heartbeat->component_id=0; + heartbeat->alarmlevel=0; + heartbeat->alarmcode=0; + heartbeat->reserved=0; + for (i=0; iextended[i]=0; + } +} + + +//set which was is install and set all is ok +void initBssStatusTransmitter(void) +{ + int i,j; + int on; + bzero((char *) &udp_serv_addr, sizeof(udp_serv_addr)); + udp_serv_addr.sin_family = AF_INET; + //udp_serv_addr.sin_addr.s_addr = inet_addr(BROADCAST_IP); + udp_serv_addr.sin_port = htons(HEARTBEAT_PORT); + + + if ((udp_sockfd = socket (AF_INET, SOCK_DGRAM, 0)) < 0 ) + { + exit (errno); + } + + bzero((char *) &udp_cli_addr, sizeof(udp_cli_addr)); + udp_cli_addr.sin_family = AF_INET; + udp_cli_addr.sin_addr.s_addr = htonl(INADDR_ANY); + udp_cli_addr.sin_port = htons(0); + + if (setsockopt(udp_sockfd, SOL_SOCKET, SO_RCVBUF, sendbuf, SNMP_MSG_LEN) < 0) + { + perror("setsockopt\n"); + } + on=1; + + if (setsockopt(udp_sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) + { + perror("setsockopt\n"); + } + if (fcntl(udp_sockfd, F_SETFL,O_NONBLOCK)<0) + { + perror("fcntl()\n"); + } + if (setsockopt(udp_sockfd, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)) < 0) + { + perror("setsockopt\n"); + } + + + if (bind(udp_sockfd, (struct sockaddr *) &udp_cli_addr, sizeof(udp_cli_addr)) < 0) + { + + exit (errno); + } + + for (i=0; i E1 + * 0x5 -> TRX + * 0x6 -> Clock + * 0x7 -> Shelf + * 0x8 -> Software + * 0x9 -> Environment + * 0xa -> Lapd + * 0xb -> Bts + * 0xc -> Bsc + * 0xd -> Aif + * 0xe -> Bbu + * 0xf -> Rfd + * + */ +void format_alarmlevel(int *alarmlevel) +{ + *alarmlevel=0; // set it to zero anyway as it is not processed by TS_OMC + return; +} + + +void send_heartbeat(int index, struct tBssLed *pbsc_led,struct tBssLed *pbts_led, int component_id, int alarmcode, int alarmlevel,int bsType) +{ + int retval,i,offset; + tHeartbeat *pHeartbeat; + BYTE *psendbuf; + int bts_code; + int bsc_code; + char tmpHb[256]; + + int bssid = index / NO_OF_BTSMgr; + int btsid = index % NO_OF_BTSMgr; + + time_t unix_time; + + format_alarmcode(&alarmcode); + format_alarmlevel(&alarmlevel); + + sprintf(OMC_0_IP,""); + sprintf(OMC_1_IP,""); + sprintf(sqlstring, "select sysNo,ip FROM OMC_PUB.sysInfo WHERE sysTypeNo='0'"); + mysql_query(omcDb_sock, sqlstring); + if(mysql_errno(omcDb_sock) > 0) + { + printf("\n Error number:%d", mysql_errno(omcDb_sock)); + printf("\n Description: %s", mysql_error(omcDb_sock)); + exit(16); + } + + result = mysql_use_result(omcDb_sock); + while((row = mysql_fetch_row(result))){ + if(atoi(row[0])==0){ + sprintf(OMC_0_IP,row[1]); + }else if(atoi(row[0])==1){ + sprintf(OMC_1_IP,row[1]); + } + } + mysql_free_result(result); + + /* + * Insert the length field in SNMP header + */ + snmphead[LENGTH1] = SNMP_MSG_LEN - LENGTH1 - 1; + snmphead[LENGTH2] = SNMP_MSG_LEN - LENGTH2 - 1; + snmphead[LENGTH3] = SNMP_MSG_LEN - LENGTH3 - 1; + snmphead[LENGTH4] = SNMP_MSG_LEN - LENGTH4 - 1; + snmphead[VALUE_LEN] = SNMP_MSG_LEN - VALUE_LEN - 1; + + + // BSC + psendbuf = &sendbuf[0]; + snmphead[SNMP_OBJID] = BSC_OBJID; + pHeartbeat = &(bsc_heartbeat[bssid]); + + unix_time = time((time_t *)0); + pHeartbeat->timestamp = ((unix_time & 0xff000000) >> 24) + | ((unix_time & 0xff0000) >> 8) + | ((unix_time & 0xff00) << 8) + | ((unix_time & 0xff) << 24); + + if(pbsc_led->led[0] != 0xf){ //installed + + bsc_code = bssid*256; + pHeartbeat->system_id = ((bsc_code & 0xff00) >> 8) | ((bsc_code & 0xff) << 8); + + for(i=0;i<8;i++){ + pHeartbeat->led_control[i]=((pbsc_led->led[2*i] & 0x0f)<<4) | (pbsc_led->led[2*i+1] & 0x0f); + } + + /* + pHeartbeat->component_id = component_id; + pHeartbeat->alarmlevel = alarmlevel; + pHeartbeat->alarmcode = alarmcode; + */ + + pHeartbeat->component_id = 0; + pHeartbeat->alarmlevel = 0; + pHeartbeat->alarmcode = 0; + + /* + * Copy message to message buffer + */ + offset = 0; + //memcpy(psendbuf, snmphead, SNMP_HEADER_LEN);//snmp head + //offset += SNMP_HEADER_LEN; + memcpy(psendbuf+offset, &pHeartbeat->system_id,HB_SYSTEM_ID_LEN);//system id + offset += HB_SYSTEM_ID_LEN; + memcpy(psendbuf+offset, &pHeartbeat->timestamp,HB_TIMESTAMP_LEN);//time + offset += HB_TIMESTAMP_LEN; + memcpy(psendbuf+offset, pHeartbeat->led_control,HB_LED_CONTROL_LEN);//len control + offset += HB_LED_CONTROL_LEN; + memcpy(psendbuf+offset, &pHeartbeat->component_id,HB_COMPONENT_ID_LEN);//component id + offset += HB_COMPONENT_ID_LEN; + memcpy(psendbuf+offset, &pHeartbeat->alarmlevel,HB_ALARMLEVEL_LEN);//alarmlevel + offset += HB_ALARMLEVEL_LEN; + memcpy(psendbuf+offset, &pHeartbeat->alarmcode,HB_ALARMCODE_LEN);//alarmcode + offset += HB_ALARMCODE_LEN; + memcpy(psendbuf+offset, &pHeartbeat->reserved,HB_RESERVED_LEN); + offset += HB_RESERVED_LEN; + memcpy(psendbuf+offset, pHeartbeat->extended,HB_EXTENDED_LEN); + + omc_RbcdToAscii(tmpHb, sendbuf, (offset + HB_EXTENDED_LEN)*2); + sprintf(sqlstring, "REPLACE INTO sysStat SET sysTypeNo='510',sysNo=%d,subSysNo='0',detailStat='%s',updateTime=CURRENT_TIMESTAMP", + bssid,tmpHb); + mysql_query(omcDb_sock, sqlstring); + /*if(strlen(OMC_0_IP)>0){ + udp_serv_addr.sin_addr.s_addr = inet_addr(OMC_0_IP); + retval = sendto(udp_sockfd, sendbuf, SNMP_MSG_LEN, 0, + (const struct sockaddr *)&udp_serv_addr, sizeof(udp_serv_addr)); + //printf("Bsc heartbeat is sent~~~~~~~~~~~~~~~~\n\n"); + } + + if(strlen(OMC_1_IP)>0){ + udp_serv_addr.sin_addr.s_addr = inet_addr(OMC_1_IP); + retval = sendto(udp_sockfd, sendbuf, SNMP_MSG_LEN, 0, + (const struct sockaddr *)&udp_serv_addr, sizeof(udp_serv_addr)); + //printf("Bsc_hb LEN=%d:",retval); + + }*/ + //for ( n=0;n heartbeat send fail!\n"); + } + + }//end of if(installed) + + + //check the device is BSC+BTS or BS+ + if(btsid==0&&bsType==0){ + return; + } + + psendbuf = &sendbuf[0]; + snmphead[SNMP_OBJID] = BTS_OBJID; + + pHeartbeat = &(bts_heartbeat[btsid]); + + //bts_code=bssid*256 + btsid - 1; + bts_code=bssid*256 + btsid; + pHeartbeat->system_id = ((bts_code & 0xff00) >> 8) | ((bts_code & 0xff) << 8); + + unix_time = time((time_t *)0); + pHeartbeat->timestamp = ((unix_time & 0xff000000) >> 24) + | ((unix_time & 0xff0000) >> 8) + | ((unix_time & 0xff00) << 8) + | ((unix_time & 0xff) << 24); + for(i=0;i<8;i++){ + pHeartbeat->led_control[i]=((pbts_led->led[2*i] & 0x0f)<<4) | (pbts_led->led[2*i+1] & 0x0f); + } + + /* + pHeartbeat->component_id = component_id; + pHeartbeat->alarmlevel = alarmlevel; + pHeartbeat->alarmcode = alarmcode; + */ + pHeartbeat->component_id = 0; + pHeartbeat->alarmlevel = 0; + pHeartbeat->alarmcode = 0; + + /* + * Copy message to message buffer + */ + //memcpy(psendbuf, snmphead, SNMP_HEADER_LEN); + //psendbuf += SNMP_HEADER_LEN; + memcpy(psendbuf, &pHeartbeat->system_id,HB_SYSTEM_ID_LEN); + psendbuf += HB_SYSTEM_ID_LEN; + memcpy(psendbuf, &pHeartbeat->timestamp,HB_TIMESTAMP_LEN); + psendbuf += HB_TIMESTAMP_LEN; + memcpy(psendbuf, pHeartbeat->led_control,HB_LED_CONTROL_LEN); + psendbuf += HB_LED_CONTROL_LEN; + memcpy(psendbuf, &pHeartbeat->component_id,HB_COMPONENT_ID_LEN); + psendbuf += HB_COMPONENT_ID_LEN; + memcpy(psendbuf, &pHeartbeat->alarmlevel,HB_ALARMLEVEL_LEN); + psendbuf += HB_ALARMLEVEL_LEN; + memcpy(psendbuf, &pHeartbeat->alarmcode,HB_ALARMCODE_LEN); + psendbuf += HB_ALARMCODE_LEN; + memcpy(psendbuf, &pHeartbeat->reserved,HB_RESERVED_LEN); + psendbuf += HB_RESERVED_LEN; + memcpy(psendbuf, pHeartbeat->extended,HB_EXTENDED_LEN); + + omc_RbcdToAscii(tmpHb, sendbuf, (psendbuf - sendbuf+ HB_EXTENDED_LEN)*2); + sprintf(sqlstring, "REPLACE INTO sysStat SET sysTypeNo='520',sysNo=%d,subSysNo='%d',detailStat='%s',updateTime=CURRENT_TIMESTAMP", + bssid,btsid,tmpHb); + //printf("sqlstring=%s\n",sqlstring); + mysql_query(omcDb_sock, sqlstring); + +/* if(strlen(OMC_0_IP)>0){ + udp_serv_addr.sin_addr.s_addr = inet_addr(OMC_0_IP); + retval = sendto(udp_sockfd, sendbuf, SNMP_MSG_LEN, 0, + (const struct sockaddr *)&udp_serv_addr, sizeof(udp_serv_addr)); + } + if(strlen(OMC_1_IP)>0){ + udp_serv_addr.sin_addr.s_addr = inet_addr(OMC_1_IP); + retval = sendto(udp_sockfd, sendbuf, SNMP_MSG_LEN, 0, + (const struct sockaddr *)&udp_serv_addr, sizeof(udp_serv_addr)); + //printf("\33[36m\nBts heartbeat is sent!!!!!!!!!!!!!!!!!!!\n\n"); + //printf("Bts_hb LEN=%d:",retval); + }*/ + // for (n=0;n heartbeat send fail!\n"); + } + +}//end of function + +void clearBssStatus(void) +{ + close(udp_sockfd); +} + +void omc_RbcdToAscii(char *ascii_buf, const unsigned char *bcd_buf, + int len) +{ + int i; + char ch; + //if(sizeof(*ascii_buf) < len*2){ + // len = sizeof(*ascii_buf)/2; + //} + for (i = 0; i < len; i++) { + if ((len - i) & 1) { + ch = *(bcd_buf++) & 0x0f; + } else { + //ch = (*bcd_buf & 0xf0) >> 4; + ch = *bcd_buf >> 4; + } + ascii_buf[i] = ch + ((ch > 9) ? 'A' - 10 : '0'); + } + ascii_buf[i] = '\0'; +} diff --git a/src/configMgr/c_program/impmod/bss_hb.h b/src/configMgr/c_program/impmod/bss_hb.h new file mode 100644 index 0000000..453d9a8 --- /dev/null +++ b/src/configMgr/c_program/impmod/bss_hb.h @@ -0,0 +1,140 @@ +#ifndef __BSS_HB_H__ +#define __BSS_HB_H__ + +#include +#include +#include + +#include "mysql.h" +#include "iwtypes.h" +#include "includes.h" + +#define BSC_BASE 9*1024 +#define BTS_BASE 10*1024 + +#define BSC_OBJID 0x01 +#define BTS_OBJID 0x02 +#define OBJID_LEN 0x0C +#define VAR 0xff + +#define SNMP_HEADER_LEN 44 + +#define LENGTH1 1 +#define LENGTH2 14 +#define LENGTH3 25 +#define LENGTH4 27 +#define SNMP_OBJID 39 +#define VALUE_LEN 43 +/* + * System Type in heartbeat information + */ +#define BSC 9 +#define BTS 10 + +#define NO_OF_BSS 12 +#define NO_OF_BTSMgr 13 +/* + * Heartbeat message field length + */ +#define HB_SYSTEM_ID_LEN 2 +#define HB_TIMESTAMP_LEN 4 +#define HB_LED_CONTROL_LEN 8 +#define HB_COMPONENT_ID_LEN 1 +#define HB_ALARMLEVEL_LEN 1 +#define HB_ALARMCODE_LEN 1 +#define HB_RESERVED_LEN 1 +#define HB_EXTENDED_LEN 48 + +#define HB_BODY_LEN ( HB_SYSTEM_ID_LEN + HB_TIMESTAMP_LEN \ + + HB_LED_CONTROL_LEN + HB_COMPONENT_ID_LEN \ + + HB_ALARMLEVEL_LEN + HB_ALARMCODE_LEN \ + + HB_RESERVED_LEN + HB_EXTENDED_LEN ) + +#define SNMP_MSG_LEN (SNMP_HEADER_LEN + HB_BODY_LEN) +#define HB_NO_OF_LED HB_LED_CONTROL_LEN * 2 + +#define def_sql_length 16384 + +/**************************************** + * BSS LED struct + * Max 12 BSC and 12x12 BTS = 156 units + ****************************************/ +struct tBssLed +{ + bool presence; + int led[HB_NO_OF_LED]; + int component_id; + int alarmcode; + int alarmlevel; +}; +//define the structure that store status info +typedef struct _tHeartbeat +{ + int system_id; /* 0-512 */ + time_t timestamp; /* 32-bit timestamp */ + BYTE led_control[HB_LED_CONTROL_LEN]; /* 16 LED, 4-bit per LED */ + /* 0 - off */ + /* 1 - green */ + /* 2 - red */ + /* 3 - blue */ + /* 4 - yellow */ + /* 5 - ambra */ + /* 6 - white */ + /* 7 - not in use */ + int component_id; + int alarmlevel; + int alarmcode; + int reserved; + BYTE extended[HB_EXTENDED_LEN]; /* application defined */ +} tHeartbeat; + +/* + * index = BSSID * NO_OF_BTSMgr + BTSMGR_ID + * e.g. BSC01 -> system_id = 13 + * BTS3 of BSC01 -> system_id = 1*13+3 = 16 + * + * Heartbeat format: + * + * byte 0-1: system id + * 0 :000-003 OMC + * 4 :004-007 HLR + * 8 :008-00B PPS + * 12 :00C-00F CDR + * 16 :010-013 SMS + * ... ... ... + * 100:064-077 VPS + * 120:078-0B7 CSU + * 184:0B8-0CF BSC + * 208:0D0-1EF BTS + * + * byte 2-5: timestamp (4 bytes) + * byte 6-13: 16 led code + * bit 3: 1=continuous, 0=blinking + * bit 2-0: 0=off,1=green,2=yellow,3=red,4=blue,5=umbra,6=white,7=not in use + * byte 14: Component ID (need further defined) + * byte 15: alarm level (00 normal, 01 critical, 02 major) + * byte 16: alarm code + * 0 normal, 1-255 alarmcode, + * 254(0FEH) reserved for device timeout + * 255(0FFH) group alarm clear + * byte 17: reserved + * byte 18-65: extended status (not used by BSS OMC) + */ +#define LED_OFF (0x8) +#define LED_GREEN (0x8 | 1) +#define LED_YELLOW (0x8 | 2) +#define LED_RED (0x8 | 3) +#define LED_BLUE (0x8 | 4) +#define LED_UMBRA (0x8 | 5) +#define LED_WHITE (0x8 | 6) +#define LED_NOT_IN_USE (0x8 | 7) + +extern void initBssStatusTransmitter(void); +extern void updateBssStatus(MYSQL *mysql_sock, int led_num, int color_ctrl); +extern void send_heartbeat(int index, struct tBssLed *pbsc_led,struct tBssLed *pbts_led, int component_id, int alarmcode, int alarmlevel,int bsType); +extern void clearBssStatus(void); +extern int object2LedId(int btsid,int signal_element); +extern struct tBssLed bts_led[NO_OF_BSS*NO_OF_BTSMgr]; +extern struct tBssLed bsc_led[NO_OF_BSS]; + +#endif /* __BSS_HB_H__ */ diff --git a/src/configMgr/c_program/impmod/bsscomm.c b/src/configMgr/c_program/impmod/bsscomm.c new file mode 100644 index 0000000..727628d --- /dev/null +++ b/src/configMgr/c_program/impmod/bsscomm.c @@ -0,0 +1,4618 @@ +/* Title: bsscomm.c + * Description: IMP Interface + * Author: XChen + * Date: 2006-09-20 + */ +#include "bsscomm.h" +#include "includes.h" + +#include "bss_hb.h" +/* + * Variables that are initialized when process is started + * + */ +int timerCounter = 0; +int no_of_bss_per_pacs; +int no_of_bts_per_bss; +#define MAX_ALARMEVENT_SIZE 10000; +unsigned long networkevent_size=0L; +unsigned long omcr_command_size=0L; +unsigned long btsmeasurements_size=0L; + +unsigned long glbevtnum=1L; +unsigned long alarmevent_row_no; +unsigned long btsmeas_row_no; +unsigned long networkevent_row_no; +unsigned long class_count; +unsigned long contid_count; +unsigned long alarmevent_init=0L; +unsigned long networkevent_init=0L; +unsigned long btsmeasurements_init=0L; +/* + * Variable to store the alarmevent/networkevents + */ +char response[SQLSTRING_LEN]; +char strValue[100]; +u16 intValue; +u16 lenOfArray; +s32 ValArray[MAX_ARRAY_LENGTH]; +tARs32 s32Array[MAX_ARRAY_LENGTH]; + +tOid TheOid = OID_INIT; +char *pTempOidSymCont = NULL; +int Eid = 0; +int EvCid = 0; +/* + * Variable to store the Send/Recv messages + */ +static u8 MsgRecvBuffer[IMP_MAX_HDR_LENGTH + MSG_BODY_SIZE]; +static u8 MsgSendBuffer[IMP_MAX_HDR_LENGTH + MSG_BODY_SIZE]; +static u8 MsgSendBody[MSG_BODY_SIZE]; +static u8 *pSendBody = MsgSendBody; +bool MsgError = FALSE; + +///////////////////////////////////////////////////////// +int nbsplus=0; +int nbsplus_down=0; +int monitoring=0; +int stat_interval; +int wait_interval; + +int ret; +time_t last_round=0L; // avoid the select() to use up all resources +time_t this_round=0L; +time_t last_heartbeat=0L; // Keep sending heartbeat within HEARTBEAT_INTERVAL +time_t this_heartbeat=0L; +int width_change=1; +int width=0; + +/* + init IMP Connnection +*/ +void initImpConn(tImpConn * pBssConn) +{ + pBssConn->bssid = -1; + strcpy(pBssConn->ip, "0.0.0.0"); + pBssConn->bssname[0] = '\0'; + pBssConn->port = -1; + pBssConn->sockfd = -1; + pBssConn->SeqNum = (u32) 0; + OidCtor(&(pBssConn->TheOid)); // TheOid = OID_INIT + pBssConn->TheCid = NM_CLASS_UNDEFINED; + pBssConn->pCmdQ = (struct queue *) 0; + pBssConn->pCmdQEnd = (struct queue *) 0; + pBssConn->uploaded = 0; + pBssConn->connected = 0; + pBssConn->download_in_progress = 0; + pBssConn->upload_in_progress = 0; + memset(pBssConn->lastMsgRecvBuffer,0xF,IMP_MAX_HDR_LENGTH + MSG_BODY_SIZE); + pBssConn->last_Total = 0; + pBssConn->bootupTime = 0L; + pBssConn->last_TransId = 0L; + pBssConn->this_connected_abnormal= 0L; + pBssConn->last_connected_abnormal= 0L; +} + +/* +bsType: +0==BSC+BTS +1==BS+ +*/ +int checkBsType(int bssid){ + char tmpStr[64]; + + sprintf(tmpStr,"SELECT BsPlus FROM BssOmcDb.OMCR_BssFunc WHERE bssid='%d'",bssid); + mysql_query(mysql_sock, tmpStr); + if (mysql_errno(&mysql)) + return (0); + + result = mysql_use_result(&mysql); + row = mysql_fetch_row(result); + if(row == 0){ + mysql_free_result(result); + return (0); + }else{ + + if(atoi(row[0])==0){ + mysql_free_result(result); + return (0); + }else{ + mysql_free_result(result); + return (1); + } + } +} +/* + init IMP Event +*/ +void initImpEvent(tImpEvent *pBssEvent) +{ + int i; + pBssEvent->eventname[0] = '\0'; + pBssEvent->objectid[0] = '\0'; + pBssEvent->classname[0] = '\0'; + pBssEvent->eventtime[0] = '\0'; + pBssEvent->globaleventnumber = 0L; + pBssEvent->alarmlevel[0] = '\0'; + for (i=0; ieventinfo[i][0] = '\0'; + pBssEvent->eventinfosize = 0; + pBssEvent->eventtype = 0; + pBssEvent->severity = SV_CEASED; +} +//Add Imp Connection +void AddImpConn(int bssid, char *ipaddr, char *bssname, int uploaded) +{ + tImpConn *pBssConn; + pBssConn = BssConn + bssid; + pBssConn->bssid = bssid; + strcpy(pBssConn->ip, ipaddr); + strcpy(pBssConn->bssname, bssname); + pBssConn->port = NMIPORT; + bsplus_down[nbsplus_down++] = pBssConn; + pBssConn->uploaded = uploaded; +} + +bool SetOidStr(int Oid,char *pTempOid) +{ + int retval; + sprintf(sqlstring,"SELECT ObjectName FROM OMCR_ObjectId WHERE Oid=%d",Oid); + mysql_query(mysql_sock,sqlstring); + retval=mysql_errno(&mysql); + if (retval) { + return FALSE; + } + result = mysql_use_result(&mysql); + row = mysql_fetch_row(result); + if(row==0){ + mysql_free_result(result); + return FALSE; + } + else{ + strcpy(pTempOid,row[0]); + mysql_free_result(result); + return TRUE; + } +} +int GetOid(char *pTempOid) +{ + int retval; + int Oid = -1; + sprintf(sqlstring,"SELECT Oid FROM OMCR_ObjectId WHERE ObjectName='%s'",pTempOid); + mysql_query(mysql_sock,sqlstring); + retval=mysql_errno(&mysql); + if (retval) { + return -1; + } + result = mysql_use_result(&mysql); + row = mysql_fetch_row(result); + if(row==0){ + mysql_free_result(result); + return -1; + } + else{ + Oid = atol(row[0]); + mysql_free_result(result); + return Oid; + } +} +bool SetCidStr(int Cid,char *pTempCid) +{ + int retval; + sprintf(sqlstring,"SELECT ClassName FROM OMCR_ClassId WHERE Cid=%d",Cid); + mysql_query(mysql_sock,sqlstring); + retval=mysql_errno(&mysql); + if (retval) { + return FALSE; + } + result = mysql_use_result(&mysql); + row = mysql_fetch_row(result); + if(row==0){ + mysql_free_result(result); + return FALSE; + } + else{ + strcpy(pTempCid,row[0]); + mysql_free_result(result); + return TRUE; + } +} +int GetCid(char *pTempCid) +{ + int retval; + int Cid = -1; + sprintf(sqlstring,"SELECT Cid FROM OMCR_ClassId WHERE ClassName='%s'",pTempCid); + mysql_query(mysql_sock,sqlstring); + retval=mysql_errno(&mysql); + if (retval) { + return -1; + } + result = mysql_use_result(&mysql); + row = mysql_fetch_row(result); + if(row==0){ + mysql_free_result(result); + return -1; + } + else{ + Cid = atol(row[0]); + mysql_free_result(result); + return Cid; + } +} +bool GetEventName(int Cid,int Eid,char *pTempEid,char *pTempAlarmLevel) +{ + int retval; + if((Cid==22)&&(Eid==0)) + { + strcpy(pTempEid,"BtsMeasurements"); + strcpy(pTempAlarmLevel,"0"); + return TRUE; + } +/* else if((Cid==23)&&(Eid==0)) + { + strcpy(pTempEid,"BscMeasurements"); + strcpy(pTempAlarmLevel,"0"); + return TRUE; + }*/ + sprintf(sqlstring,"SELECT EventName,Alarmlevel FROM OMCR_EventInfo WHERE ClassId=%d AND EventId=%d",Cid,Eid); + mysql_query(mysql_sock,sqlstring); + retval=mysql_errno(&mysql); + if (retval) { + return FALSE; + } + result = mysql_use_result(&mysql); + row = mysql_fetch_row(result); + if(row==0){ + mysql_free_result(result); + return FALSE; + } + else{ + strcpy(pTempEid,row[0]); + strcpy(pTempAlarmLevel,row[1]); + mysql_free_result(result); + return TRUE; + } +} +bool GetEvPara(int Cid,int Eid,int num,char *pTempPara) +{ + int retval; + sprintf(sqlstring,"SELECT Para_%d FROM OMCR_EventInfo WHERE ClassId=%d AND EventId=%d",num,Cid,Eid); + mysql_query(mysql_sock,sqlstring); + retval=mysql_errno(&mysql); + if (retval) { + return FALSE; + } + result = mysql_use_result(&mysql); + row = mysql_fetch_row(result); + if(row==0){ + mysql_free_result(result); + return FALSE; + } + else{ + strcpy(pTempPara,row[0]); + mysql_free_result(result); + return TRUE; + } +} +/* + * Return 0 means no error, other values are mysql error code + */ +unsigned int execute_sql(char *sqlbuffer, unsigned long *no_affected_row) +{ + unsigned int retval; + + mysql_query(mysql_sock,sqlbuffer); + retval=mysql_errno(&mysql); + if (retval) + return (retval); + + if (!strncasecmp(sqlbuffer,"select",6)) + { + result = mysql_store_result(&mysql); + if (no_affected_row != 0) + { + *no_affected_row=mysql_affected_rows(mysql_sock); + } + mysql_free_result(result); + } + else + { + // For UPDATE,DELETE,INSERT + if (no_affected_row != 0) + { + *no_affected_row=mysql_affected_rows(mysql_sock); + } + } + return (retval); +} + +int execute_sql_query(char *sqlstatment) +{ + int value; + + mysql_query(mysql_sock, sqlstatment); + if (mysql_errno(&mysql)) + return(0); + + result = mysql_use_result(&mysql); + if (result == NULL) { + return (0); + } + + if(!(row = mysql_fetch_row(result))){ + mysql_free_result(result); + return(0); + }else + value = atoi(row[0]); + + mysql_free_result(result); + return(value); +} + +void environ_var(char *env_name,int value,int *variable) +{ + if ( getenv(env_name) == (char *) 0) + *variable=value; + else + *variable=atoi(getenv(env_name)); +} + +// connect MySQL Database +void connectDB() +{ + mysql_init(&mysql); + mysql_sock=mysql_real_connect(&mysql,NULL,USERNAME,PASSWD,DB,0,NULL,0); + if (mysql_sock == 0) + exit(6); +} +// clean up DB +static void cleanUp() +{ + int i; + tImpConn *pBssConn; + + sprintf(sqlstring, "UPDATE OMCR_BSSTABLE SET connected=0"); + execute_sql(sqlstring,0); + + clearBssStatus();//bss_hb.c + + mysql_close(mysql_sock); + //close Bss connection sockfd + for (i=0; isockfd); + } + //free mysql database + for (i=0;i= MAX_NUM_OF_SQL_TABLE) + return; + } + num_of_mysql_table = (unsigned int) mysql_num_rows(result); + + if (mysql_errno(&mysql)) + exit(1); + mysql_free_result(result); +} +// get max config from DB +void GetBssMaxConfigFromDB() +{ + omcr_command_size=execute_sql_query("SELECT count(*) FROM OMCR_COMMAND"); + class_count=execute_sql_query("SELECT count(*) FROM OMCR_ClassId"); + contid_count=execute_sql_query("SELECT count(*) FROM OMCR_ObjectId"); + btsmeasurements_size=execute_sql_query("SELECT count(*) FROM OMCR_BtsMeasurements"); + + networkevent_size=execute_sql_query("SELECT count(*) FROM OMCR_NETWORKEVENT"); + no_of_bss_per_pacs=execute_sql_query("SELECT count(*) FROM OMCR_BSSTABLE"); + no_of_bts_per_bss=execute_sql_query( + "SELECT count(*) FROM OMCR_BSSTREE WHERE bssid=1 AND ObjectId REGEXP 'Bts\\.'"); + networkevent_init=execute_sql_query( + "SELECT row_no FROM OMCR_NETWORKEVENT ORDER BY GlobalEventNumber ASC LIMIT 1"); + alarmevent_init=execute_sql_query( + "SELECT row_no FROM OMCR_ALARMEVENT ORDER BY GlobalEventNumber ASC LIMIT 1"); + btsmeasurements_init=execute_sql_query( + "SELECT row_no FROM OMCR_BtsMeasurements ORDER BY StartTime ASC LIMIT 1"); +} +/* + * Put the value in Cdate and Ctime + */ +void currentTime(char *Cdate, char *Ctime, time_t tloc) +{ + strftime(Ctime,TIME_LEN,"%T",gmtime(&tloc)); + strftime(Cdate,TIME_LEN,"%D",gmtime(&tloc)); +} + +void syncBssTimeWithOMC(tImpConn *pBssConn, time_t tloc) +{ + #define TIME_STRING_MAX 9 + char Cdate[TIME_STRING_MAX]; + char Ctime[TIME_STRING_MAX]; + char buffer[2 * TIME_STRING_MAX + 33]; + + currentTime(Cdate,Ctime,tloc); +// sprintf(buffer,"set DateDisp=0 Cdate=\"%s\" Ctime=\"%s\"",Cdate, Ctime); + sprintf(buffer,"set 53:0=0 53:4=\"%s\" 53:5=\"%s\"",Cdate, Ctime); + ProcessUserCommand(pBssConn,"oid Clockobj.0",(u32) 0);//cid=53,oid=3 + ProcessUserCommand(pBssConn,buffer,(u32) 0); + sleep(1); +} +// sync BssTree Alarm +void syncBssTreeAlarm() +{ + unsigned long i, nptr=0L,alarmevent_size; + struct tSyncAlarm + { + int s_bssid; + char s_objectid[MAX_OBJECTID_LEN]; + int s_severity; + }; + struct tSyncAlarm *ptr; + struct tSyncAlarm *baseptr; + alarmevent_size = execute_sql_query("SELECT count(*) FROM OMCR_ALARMEVENT"); + + baseptr = (struct tSyncAlarm *) malloc(sizeof(struct tSyncAlarm) * alarmevent_size); + /* + * Synchronize the OMCR_BSSTREE.MaxSeverity with OMCR_ALARMEVENT at startup + */ + sprintf(sqlstring,"UPDATE OMCR_BSSTREE set MaxSeverity=0"); + if (mysql_query(mysql_sock, sqlstring)) + return; + sprintf(sqlstring, "%s%s", "SELECT DISTINCTROW bssid,ObjectId,Severity from OMCR_ALARMEVENT ", + "WHERE Severity>0"); + if (mysql_query(mysql_sock, sqlstring)) + return; + result = mysql_use_result(mysql_sock); + ptr = baseptr; + while ((row = mysql_fetch_row(result))) + { + ptr->s_bssid = atoi(row[0]); + strcpy(ptr->s_objectid, row[1]); + ptr->s_severity = atoi(row[2]); + ptr++; + nptr++; + } + mysql_free_result(result); + + ptr = baseptr; + for (i=0L; ibssid != bssid) || (strcmp(pBssConn->ip,ip)) ) + continue; + + pBssConn->sockfd = connectIwBox(pBssConn->ip,pBssConn->port); + if (pBssConn->sockfd != -1) + { + pBssConn->last_TransId = 0L; + pBssConn->download_in_progress = 0; + pBssConn->upload_in_progress = 0; + pBssConn->connected = 1; + bsplus[nbsplus] = pBssConn; + nbsplus++; + + width_change=1; + + bsplus_down[i] = bsplus_down[nbsplus_down-1]; + nbsplus_down--; + /* + * Remove old command in DB when connection re-established. + */ + sprintf(sqlstring, "%s%s%s%s%d", + "UPDATE OMCR_COMMAND SET resultcode=1027,", + "result='Connection Re-established',", + "responsecode=-1,response=\"\",", + "status=0 WHERE status<>0 AND bssid=", pBssConn->bssid + ); + execute_sql(sqlstring,0); + /* + * clear OMC connection broken alarm + */ + tloc=time((time_t*)0); + strftime(presenttime, 20, "%Y-%m-%d %T", localtime(&tloc)); + sprintf(sqlstring, "%s%d%s'%s'%s%d%s%d%s'%s'%s%d", + "UPDATE OMCR_ALARMEVENT SET Severity=", SV_CEASED, + ",ClearTime=", presenttime, + " WHERE bssid=", pBssConn->bssid, + " AND Severity<>", SV_CEASED, + " AND ObjectId=", "BssFunc", + " AND Cause=", 65531 //=65531x256 + ); + execute_sql(sqlstring,0); + + sprintf(sqlstring, "%s%d%s%d%s'%s'", + "UPDATE OMCR_BSSTREE SET MaxSeverity=", SV_CEASED, + " WHERE bssid=", pBssConn->bssid, + " AND ObjectId=", "BssFunc" + ); + execute_sql(sqlstring,0); + } + } /* End_of_for */ +} + +void discBssConn(int bssid, char *ip, fd_set *readfds) +{ + tImpConn *pBssConn; + struct queue *tmpQPtr; + time_t tloc; + char presenttime[20]="\0"; + int tmpfd; + int i; + + for (i=0; ibssid == bssid) && (!strcmp((bsplus[i])->ip, ip))) + { + break; + } + } + if ( i==nbsplus ) + return; + + /* TCP connnection lost + * 1. Delete command from OMCR_COMMAND TABLE + * 2. reset the pCmdQ and pCmdQEnd, clear entry in CmdBuffer + * 3. Substitute i-th item with the last one of bsplus + * 4. Move bsplus[i] to bsplus_down[] + */ + + pBssConn = BssConn + bssid; + /* + * Send OMC connection broken + */ + tloc=time((time_t*)0); + strftime(presenttime, 20, "%Y-%m-%d %T", localtime(&tloc)); + sprintf(sqlstring, "%s%d%s'%s'%s%ld%s'%s'%s'%s'%s%d%s%d%s%d%s'%s'%s%ld", + "REPLACE OMCR_ALARMEVENT SET bssid=", pBssConn->bssid, + ",ObjectId=", "BssFunc", + ",GlobalEventNumber=", glbevtnum, + ",AlarmLevel=", "4", // 4 -> critical + ",EventInfo=", "BSS and OMC connection broken", + ",Cause=", 65531, // =65531x256 + ",EventType=", 3, // =EVT_EQUIPMENT + ",Severity=", SV_CRITICAL, + ",EventTime=", presenttime, + ",AckTime=null,ClearTime=null,row_no=", alarmevent_row_no + ); + execute_sql(sqlstring,0); + sprintf(sqlstring, "%s%d%s%d%s'%s'", + "UPDATE OMCR_BSSTREE SET MaxSeverity=", SV_CRITICAL, // 1 -> critical + " WHERE bssid=", pBssConn->bssid, + " AND ObjectId=", "BssFunc" + ); + execute_sql(sqlstring,0); + alarmevent_row_no++; + alarmevent_row_no = alarmevent_row_no % MAX_ALARMEVENT_SIZE; + /* + * Remove old command in DB when connection lost. + */ + sprintf(sqlstring, "%s%s%s%s%d", + "UPDATE OMCR_COMMAND SET status=0,resultcode=1028,", + "result='Connection lost',", + "responsecode=-1,response=\"\"", + "WHERE status<>0 AND bssid=", pBssConn->bssid + ); + execute_sql(sqlstring,0); + + /* Empty the command queue */ + while (pBssConn->pCmdQ && pBssConn->pCmdQ->nextcmd) + { + tmpQPtr = pBssConn->pCmdQ; + pBssConn->pCmdQ = tmpQPtr->nextcmd; + tmpQPtr->nextcmd = (struct queue *) 0; + } + pBssConn->pCmdQ = pBssConn->pCmdQEnd = (struct queue *) 0; + + tmpfd = pBssConn->sockfd; + pBssConn->sockfd=-1; + FD_CLR(tmpfd, readfds); + close(tmpfd); + + bsplus_down[nbsplus_down] = pBssConn;//if connection lost, move bsplus[i] to bsplus_down[] + nbsplus_down++; + + /* last element (nbsplus-1) */ + bsplus[i] = bsplus[nbsplus-1]; + nbsplus--; + + width_change=1; +} + +void clearBssConn(tImpConn *pBssConn,fd_set *readfds) +{ + if (pBssConn->connected > 0) + { + pBssConn->connected = 0; + pBssConn->last_Total = 0; + pBssConn->bootupTime = 0L; + discBssConn(pBssConn->bssid, pBssConn->ip, readfds); + update_bsstable_status(pBssConn); + } +} +/* + * Connect to IwBox with specific hostname and port number + */ +int connectIwBox(char *target, int port) +{ + int sock=-1; + int flags,retcode; + struct sockaddr_in serv_addr; + struct hostent *hp; + + bzero((char *) &serv_addr, sizeof(serv_addr)); + + if ((hp = gethostbyname(target)) == NULL) { + //host name error + return(-1); + } + + bcopy(hp->h_addr, (char *) &serv_addr.sin_addr, hp->h_length); + /* set family to internet */ + serv_addr.sin_family = AF_INET; + /* serv_addr.sin_addr.s_addr = inet_addr(target); */ + serv_addr.sin_port = htons(port); + + if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { + //can't open stream socket + return (-1); + } + + //get the socket flags + if ((flags = fcntl(sock, F_GETFL, 0)) < 0) { + return(-1); + } + + //set socket non-block + if (fcntl(sock, F_SETFL, flags | O_NONBLOCK) < 0) { + return(-1); + } + + if ((retcode = connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr))) && errno != EINPROGRESS){ + close(sock); + return (-1); + } + + if (0 == retcode) { //connection has been finished + //recover the socket to block + if (fcntl(sock, F_SETFL, flags) < 0) { + return(-1); + } + } + + return(sock); +} + +void stopIwBoxMonitor() +{ + close(monitor_fd); + monitor_fd=-1; + monitoring=0; +} + +void startIwBoxMonitor(char *hostname, int port) +{ + int len; + int i; + tImpConn *pBssConn; + + monitor_fd = connectIwBox(hostname, port); + if (monitor_fd == -1) + { + sprintf(sqlstring, "%s%s%s", + "UPDATE OMCR_BSSTABLE SET connected='0' ", + "WHERE ip=", hostname); + execute_sql(sqlstring,0); + return; + } + + len = write(monitor_fd, "03rst", 5); + if (len == 5) + { + //Connect to BSS monitor + monitoring=1; + /* + * Tell monitor program the bsplus ip/bssid list + */ + for (i=0; ibssid, pBssConn->ip); + else if (action == DEL) + sprintf(buffer,"del %d %s",pBssConn->bssid, pBssConn->ip); + else if (action == CLR) + sprintf(buffer,"clr %d %s",pBssConn->bssid, pBssConn->ip); + + sprintf(mon_buffer,"%.2d",strlen(buffer)); + strcat(mon_buffer,buffer); + len = write(monitor_fd, mon_buffer, strlen(mon_buffer)); +} + +void GetMonitorResult(char *buffer, fd_set *readfds) +{ + tImpConn *pBssConn; + char cmd[4]; + char ip[16]; + int bssid; + + strncpy(cmd,buffer,3); + cmd[3]='\0'; + + if( !strncmp(cmd, "die", 3)) + return; + + sscanf(buffer+4,"%d %s", &bssid, ip); + pBssConn = BssConn + bssid; + + if(!strncmp(cmd, "new", 3)) + { + if ((pBssConn->connected == 0) && !strcmp(pBssConn->ip,ip)) + { + restoreBssConn(bssid, ip); + if (pBssConn->connected != 0) + { + update_bsstable_status(pBssConn); + sleep(2); + ProcessUserCommand(pBssConn,"oid EventLog.0.0",(u32) 0); + ProcessUserCommand(pBssConn,"action 64:1",(u32) 0);//tst + } + } + } + else if( !strncmp(cmd, "clr", 3)) + { + clearBssConn(pBssConn,readfds); + } + //else + //{ + // return; + //} + + if(pBssConn->connectedconnected>0){ + //printf("pBssConn->this_connected_abnormal=%ld\n",pBssConn->this_connected_abnormal); + //printf("pBssConn->last_connected_abnormal=%ld\n",pBssConn->last_connected_abnormal); + pBssConn->this_connected_abnormal=time((time_t*)0); + if(abs(pBssConn->this_connected_abnormal-pBssConn->last_connected_abnormal)>=60&& + pBssConn->last_connected_abnormal!=0){ + pBssConn->this_connected_abnormal=0; + pBssConn->last_connected_abnormal=0; + clearBssConn(pBssConn,readfds); + restoreBssConn(bssid, ip); + + if (pBssConn->connected != 0) + { + update_bsstable_status(pBssConn); + sleep(2); + ProcessUserCommand(pBssConn,"oid EventLog.0.0",(u32) 0); + ProcessUserCommand(pBssConn,"action 64:1",(u32) 0);//tst + } + } + if(pBssConn->last_connected_abnormal==0) + pBssConn->last_connected_abnormal=pBssConn->this_connected_abnormal; + }else{ + pBssConn->this_connected_abnormal=0; + pBssConn->last_connected_abnormal=0; + } + +} +///////////////////////////////////////////////////////////////////////// +/* + add the nmi command to the command queue +*/ +void addCmd2Queue(tImpConn *pBssConn,char *nmicommand,long SeqNum) +{ + struct queue *currPtr; + /* + * Update the pBssConn->pCmdQ and pCmdQEnd + * Insert commands into Cmd queue of diff ImpConn + * cmdSeqNum is an auto-increment sequence no for commands + * CmdBufferPtr always points to an available CmdBuffer[] entry + */ + currPtr = &(CmdBuffer[CmdBufferPtr]); + if (pBssConn->pCmdQEnd) /* queue is not empty */ + { + pBssConn->pCmdQEnd->nextcmd = currPtr; + } + else /* is null pointer, queue is empty */ + { + pBssConn->pCmdQ = currPtr; + } + pBssConn->pCmdQEnd = currPtr; + + strncpy(currPtr->command, nmicommand, CMD_SIZE); + currPtr->nextcmd = (struct queue *) 0; + currPtr->TransId = SeqNum; + currPtr->available = FALSE; +} +/* + retrieve command from MySQL +*/ +void retrieveCmdFromDatabase() +{ + tImpConn *pBssConn; + unsigned long cmdSeqNum=0L; + int not_ready=0; + char command[CMD_SIZE]="\0"; + int bssid=0; + unsigned int retval; + //memset(sqlstring,'\0',sizeof(sqlstring)); + //strcpy(sqlstring, + #define GETCMD "SELECT row_no,bssid,nmicommand,seqNum FROM OMCR_COMMAND WHERE status=255 ORDER BY seqNum ASC" + mysql_query(mysql_sock, GETCMD); + + retval=mysql_errno(&mysql); + + if (retval) + { + perror("retrieveCmdFromDatabase():SQL command failed\n"); + return; + } + result = mysql_use_result(&mysql); + while ((row = mysql_fetch_row(result))) + { + /* Bssid < 0 for new Bsplus or delete bsplus command */ + bssid = atoi(row[1]); + if (bssid < 0) // For newbsplus and dropbsplus command + { + cmdSeqNum = atol(row[3]); + strncpy(command,row[2],CMD_SIZE); + // The add/delete command will be done later after while loop + // so as to sync the operation requirement on database + // Break the while loop so that the command send immediately + // ProcessUserCommand((tImpConn *) 0,row[2], cmdSeqNum); + break; + /* Break the while loop here */ + } + else + { + pBssConn = BssConn + atoi(row[1]); + + /* if it is not connected, don't put command in queue */ + if (pBssConn->connected == 0) + { + not_ready = 2; + cmdSeqNum = atol(row[3]); + break; + } + else if (pBssConn->connected < CONNECTED_STATE_MAX) + { + not_ready = 1; + cmdSeqNum = atol(row[3]); + break; + } + else // connected == CONNECTED_STATE_MAX, put command in cmdQ + { + cmdSeqNum = atoi(row[3]); + addCmd2Queue(pBssConn,row[2],cmdSeqNum); + /* + * Break the while loop if no buffer available + * leave unprocess cmd in db + */ + if (!FindAvailCmdBufferPtr()) + break; + } /* End_of_if */ + } + } /* End_of_while ((row */ + if (mysql_errno(&mysql)) + { + perror("Get command failed!\n"); + } + mysql_free_result(result); + // For newbss / dropbss command, as its bssid=-1 when written to OMCR_COMMAND + if (bssid < 0) + { + ProcessUserCommand((tImpConn *)0, command, cmdSeqNum); + } + + if (not_ready == 1) /* BSS bootup time < wait_interval */ + { + sprintf(sqlstring, "%s%s%s%s%s%ld", + "UPDATE OMCR_COMMAND SET status=0", + ",resultcode=1025", + ",result='BSS is not ready to execute command after bootup'", + ",responsecode=-1,response=\"\"", + " WHERE status=255 and seqNum=", cmdSeqNum + ); + execute_sql(sqlstring,0); + } + else if (not_ready == 2) /* BSS is not connected */ + { + sprintf(sqlstring, "%s%s%s%s%s%ld", + "UPDATE OMCR_COMMAND SET status=0", + ",resultcode=1024", + ",result='OMC and BSS connection broken' ", + ",responsecode=-1,response=\"\"", + "WHERE status=255 and seqNum=", cmdSeqNum + ); + execute_sql(sqlstring,0); + sprintf(sqlstring, "%s%s%d", + "UPDATE OMCR_BSSTABLE SET connected='0' ", + "WHERE bssid=", bssid); + execute_sql(sqlstring,0); + } + + if (cmdSeqNum != 0L) // some rows selected in OMCR_COMMAND + { + sprintf(sqlstring, "%s%d%s%s%s%s%ld", + "UPDATE OMCR_COMMAND SET status=", CMD_READ_FROM_DB,//254 + ",resultcode=1026", + ",result='Processing in BssComm'", + ",responsecode=-1,response=\"\" ", + "WHERE status=255 and seqNum<=", cmdSeqNum); + execute_sql(sqlstring,0); + } +} +/* + * Find next available CmdBufferPtr + * return FALSE if not found + */ +bool FindAvailCmdBufferPtr() +{ + struct queue *currPtr; + int i; + /* + * Look for next available buffer + * or set CmdBufferPtr=CMD_BUFFER_FULL if it is not found + */ + + // According to the flow, at least one entry must be freed after 1 cycle + // Set CmdBufferPtr to zero and find available space again + if (CmdBufferPtr == CMD_BUFFER_FULL) + CmdBufferPtr = 0; + for (i=0; iavailable ) + { + return (TRUE); + } + } + CmdBufferPtr = CMD_BUFFER_FULL; + //Command queue is full, send command in next round + return (FALSE); +} + +/* + * Send 1 command to each BSS in one cycle if queue is not empty + */ +void DispatchNmiCommand(tImpConn *pBssConn) +{ + struct queue *tmpQPtr; + int HasSent; + char buf[16]="\0"; + // Command Queue is not empty && + // last transaction got response (last_TransId = 0) + if ((pBssConn->pCmdQ) && (pBssConn->last_TransId == 0L)) + { + tmpQPtr = pBssConn->pCmdQ; + HasSent = ProcessUserCommand(pBssConn,tmpQPtr->command, tmpQPtr->TransId); + sprintf(buf,"HasSent=%d", HasSent); + + /* Update last processed TransId to ImpConn */ + // switch(HasSent) + // UPLOAD: upload request and no need to send to BSS + // TRUE: Command successfully send to BSS + // FALSE: Command syntax error and no need to send to BSS + // + if (HasSent == UPLOAD) + pBssConn->last_TransId = 0L; + else if (HasSent == TRUE) + pBssConn->last_TransId = tmpQPtr->TransId; + else + pBssConn->last_TransId = 0L; + + /* de-queue 1 command from the command queue */ + pBssConn->pCmdQ = tmpQPtr->nextcmd; + tmpQPtr->nextcmd = (struct queue *)0; + tmpQPtr->available = TRUE; + + if (!pBssConn->pCmdQ) /* Command Queue empty */ + { + pBssConn->pCmdQEnd = (struct queue *) 0; + } + + /* Overflow in the last round */ + if (CmdBufferPtr == CMD_BUFFER_FULL) + FindAvailCmdBufferPtr(); + } +} + +void CheckMarshalStatus(tNMSTAT NmStat) +{ + if (NmStat != NMSTAT_SUCCESS) + { + MsgError = TRUE; + } +} + +//Caller: SetCommand,GetCommand +static void MarshalAttribute(tImpConn * pBssConn, char *pChars) +{ + tNMSTAT NmStat; + int i=0; + char *p; + char tmp[6]; + tCID Cid = 0; + u8 AttrNum = 0; + //test begin + if(!strncasecmp(pChars,"Adminstate",10)) + strcpy(pChars,"1:0"); + if(!strncasecmp(pChars,"DownLoadInProgress",18)) + strcpy(pChars,"8:4"); + if(!strncasecmp(pChars,"Label",5)) + strcpy(pChars,"0:2"); + //test end + if(pBssConn->TheCid != (tCID) -1){ + i = strcspn(pChars,":"); + strncpy(tmp,pChars,i); + Cid = atoi(tmp); + p = strpbrk(pChars,":"); + AttrNum = atol(++p); + } + NmStat = NmMarshalAttrId(&pSendBody,(tCID) Cid,(u8) AttrNum); + CheckMarshalStatus(NmStat); +} +//Caller: CreateCommand,DeleteCommand +int MarshalClsId(char *pImpCmdContName) +{ + tNMSTAT NmStat; + tCID Cid; + Cid = (tCID)GetCid(pImpCmdContName); + if (*pImpCmdContName != '\0') { + NmStat = NmMarshalClassId(&pSendBody, (tCID) Cid); + CheckMarshalStatus(NmStat); + } else { + MsgError = TRUE; + } + return (TRUE); +} +int MarshalNum(u32 * pImpCmdIndex) +{ + tNMSTAT NmStat; + NmStat = NmMarshalU32(&pSendBody, (u32) *pImpCmdIndex); + CheckMarshalStatus(NmStat); + return (TRUE); +} +/* + Clear the old sendbody +*/ +int MsgReset() +{ + MsgError = FALSE; + pSendBody = MsgSendBody; + return (TRUE); +} +/* + Send IMP Message +*/ +static void SendImpMsg(u16 Op, u32 TransId, tImpConn * pBssConn) +{ + bool Status = TRUE; + tNMSTAT NmStat; + tIMPHDR Hdr; + u8 *pBuf; + int HdrLen; + int BodyLen; + int Len; + + NmStat = NmMarshalEndOfMsg(&pSendBody, (u32) 0, FALSE); + CheckMarshalStatus(NmStat); + memset((char *) (&Hdr), (char) 0, sizeof(tIMPHDR)); + Hdr.OpCode = Op; + OidCopy(&Hdr.ObjId, &(pBssConn->TheOid)); + + /* reset Sequence no when it reachs max of u32 */ + if ( pBssConn->SeqNum == 0xffffffff ) { + pBssConn->SeqNum = 0L; + } + Hdr.Seq = ++(pBssConn->SeqNum); + Hdr.TransId1 = TransId; + Hdr.Link = 0x0101; /* one of one , no fragmentation */ + BodyLen = (int) (pSendBody - MsgSendBody); + Hdr.RespBodyLen = (tNMLEN) BodyLen; + pBuf = MsgSendBuffer; + NmStat = NmMarshalImpHeader(&pBuf, &Hdr); + CheckMarshalStatus(NmStat); + if (!MsgError) { + HdrLen = (int) (pBuf - MsgSendBuffer); + Len = HdrLen + BodyLen; + + bcopy((char *) MsgSendBody, (char *) pBuf, BodyLen); + + if (write(pBssConn->sockfd, (char *) MsgSendBuffer, Len) < Len) { + + Status = FALSE; + } + } +} + +int OidCommand(tImpConn * pBssConn,char *pImpCmdContName, u32 *pImpCmdIndex, ix ImpCmdIndexCount, u32 TransId) +{ + int i; + tNMSTAT NmStat; + tOid TempOid = OID_INIT; + MsgError = FALSE; + pTempOidSymCont = (char *) 0; + + pTempOidSymCont = pImpCmdContName;//cmd string + if (pTempOidSymCont == (char *)0) + { + MsgError = TRUE; + } + else + { + for (i = 0; i < ImpCmdIndexCount; i++) + { + TempOid.Ix[i] = *(pImpCmdIndex++); + } + TempOid.IxCnt = ImpCmdIndexCount; + TempOid.ContId = GetOid(pTempOidSymCont); + if ( TempOid.ContId == NM_CONTID_UNDEFINED ) + { + MsgError = TRUE; + } + } + + if (!MsgError) + { + OidCopy(&(pBssConn->TheOid), &TempOid); + MsgReset(); + NmStat = NmMarshalAttrId(&pSendBody, 0, 0); + if (NmStat == NMSTAT_SUCCESS) { + SendImpMsg(IMP_MSG_GET_REQ, TransId, pBssConn); + } + return (TRUE); + } + else + { + return (FALSE); + } +} + +/* + * pImpCmd is the pointer to the nmi commandline string + * Incoming message format must be: + * get Attribute, Attribute ... + * e.g. + * get Cellallocation Label CellIdentity + */ +int GetCommand(tImpConn * pBssConn, char *pImpCmd, u32 TransId) +{ + int SetState=0; + int errpos=0; + int nextstage = 1; + char StrBuffer[1024]; + char *pStrBuffer; + + MsgReset(); + if (*pImpCmd == '\0') + { + nextstage = 0; + } + else if (*pImpCmd == ' ') + { + pImpCmd++; + SetState = GET_READ_ATTRIB; + } + else + { + errpos=10; + MsgError=1; + nextstage = 0; + } + + while (nextstage) + { + switch (SetState) { + case GET_READ_ATTRIB: + /* Get the Attrib value */ + pStrBuffer = StrBuffer; + while (isalnum(*pImpCmd) || (*pImpCmd == '_')) { + *pStrBuffer = *pImpCmd; + pStrBuffer++; + pImpCmd++; + } + *pStrBuffer = '\0'; + if ((*pImpCmd != ' ') && (*pImpCmd != '\t') && (*pImpCmd != '\0')) { + errpos = 1; + MsgError = 1; + nextstage = 0; + } + SetState = GET_ATTRIB_END; + break; + case GET_ATTRIB_END: + MarshalAttribute(pBssConn, StrBuffer); + if ((*pImpCmd == ' ') || (*pImpCmd == '\t')) { + pImpCmd++; + SetState = GET_READ_ATTRIB; + } else if (*pImpCmd == '\0') { + nextstage = 0; + } else { + errpos = 2; + MsgError = 1; + nextstage = 0; + } + break; + default: + errpos = 3; + MsgError = 1; + nextstage = 0; + break; + } + } + + if (!MsgError) { + SendImpMsg(IMP_MSG_GET_REQ, TransId, pBssConn); + return (TRUE); + } else { + return (FALSE); + } +} + +/* + * pImpCmd is the pointer to the command string + * Incoming message format must be: + * Attribute = [IntArray|Int] ... + * e.g. + * Cellallocation=[0=1 1=84] Label="BTS1" CellIdentity=24837 + */ +int SetCommand(tImpConn * pBssConn, char *pImpCmd, u32 TransId) +{ + tARs32 NumArray[MAX_ARRAY_LENGTH]; + ix NumArrayLength = 0; + ix NumArrayIx; + + int errpos = 0; + int SetState = SET_READ_ATTRIB; + int nextstage = 1; + char StrBuffer[1024]="\0"; + char *pStrBuffer; + + MsgReset(); + do { + switch (SetState) { + case SET_READ_ATTRIB: + + /* Get the Attrib value */ + pStrBuffer = StrBuffer; + while (isalnum(*pImpCmd) || (*pImpCmd == '_') || (*pImpCmd == ':')) { + *pStrBuffer = *pImpCmd; + pStrBuffer++; + pImpCmd++; + } + *pStrBuffer = '\0'; + if (*pImpCmd != '=') { + errpos = 1; + MsgError = 1; + nextstage = 0; + } + SetState = SET_ATTRIB_END; + break; + case SET_ATTRIB_END: + + MarshalAttribute(pBssConn, StrBuffer);//Get AttrId + ++pImpCmd; + if (isdigit(*pImpCmd) || (*pImpCmd == '-')) { + SetState = SET_READ_INT; + break; + } else if (*pImpCmd == '[') { + SetState = SET_READ_INTARRAY; + pImpCmd++; + break; + } else if (*pImpCmd == '"') { + SetState = SET_READ_STRING; + pImpCmd++; + break; + } + errpos = 2; + MsgError = 1; + nextstage = 0; + break; + case SET_READ_INT: + + pStrBuffer = StrBuffer; + while (isdigit(*pImpCmd) || (*pImpCmd == '-')) { + *pStrBuffer = *pImpCmd; + pStrBuffer++; + pImpCmd++; + } + *pStrBuffer = '\0'; + SetState = SET_INT_END; + break; + case SET_INT_END: + + CheckMarshalStatus(NmMarshalU32(&pSendBody, atol(StrBuffer))); + if (*pImpCmd == ' ') { + SetState = SET_READ_ATTRIB; + pImpCmd++; + } else if (*pImpCmd == '\0') { + nextstage = 0; + } else { + errpos = 3; + MsgError = 1; + nextstage = 0; + } + break; + case SET_READ_STRING: + + pStrBuffer = StrBuffer; + while (isprint(*pImpCmd) && (*pImpCmd != '"')) { + *pStrBuffer = *pImpCmd; + pStrBuffer++; + pImpCmd++; + } + if (*pImpCmd == '"') { + + *pStrBuffer = '\0'; + SetState = SET_STRING_END; + } else { + errpos = 4; + MsgError = 1; + nextstage = 0; + } + break; + case SET_STRING_END: + + CheckMarshalStatus(NmMarshalString(&pSendBody, StrBuffer)); + ++pImpCmd; + if (*pImpCmd == ' ') { + SetState = SET_READ_ATTRIB; + pImpCmd++; + } else if (*pImpCmd == '\0') { + nextstage = 0; + } else { + errpos = 5; + MsgError = 1; + nextstage = 0; + } + break; + case SET_READ_INTARRAY: + + bzero((char *) NumArray, sizeof(NumArray)); + NumArrayLength = 0; + while (*pImpCmd != ']' && *pImpCmd != '\0') + { + /* Decoding [0=2 1=23] format */ + pStrBuffer = StrBuffer; + while (isdigit(*pImpCmd)) { + *pStrBuffer = *pImpCmd; + pStrBuffer++; + pImpCmd++; + } + *pStrBuffer = '\0'; + if (*pImpCmd == '=') { + pImpCmd++; + NumArrayIx = atol(StrBuffer); + pStrBuffer = StrBuffer; + while (isdigit(*pImpCmd) || (*pImpCmd == '-')) { + *pStrBuffer = *pImpCmd; + pStrBuffer++; + pImpCmd++; + } + *pStrBuffer = '\0'; + NumArray[NumArrayLength].Index = NumArrayIx; + NumArray[NumArrayLength].Value = atol(StrBuffer); + NumArrayLength++; + switch (*pImpCmd) { + case ']': + SetState = SET_INTARRAY_END; + break; + case ' ': + pImpCmd++; + break; + default: + errpos = 6; + MsgError = 1; + nextstage = 0; + break; + /* break the while loop */ + } + } else { + errpos = 7; + MsgError = 1; + nextstage = 0; + break; + /* break the while loop */ + } + } /* End_of_while( *pImpCmd */ + break; + case SET_INTARRAY_END: + + CheckMarshalStatus(NmMarshalARs32(&pSendBody, NumArray, + (u16) NumArrayLength)); + ++pImpCmd; + if (*pImpCmd == ' ') { + SetState = SET_READ_ATTRIB; + pImpCmd++; + } else if (*pImpCmd == '\0') { + nextstage = 0; + } else { + errpos = 8; + MsgError = 1; + nextstage = 0; + } + break; + default: + errpos = 9; + MsgError = 1; + nextstage = 0; + break; + } /* End_of_switch */ + } while (nextstage); + + if (!MsgError) { + SendImpMsg(IMP_MSG_SET_REQ, TransId, pBssConn); + return (TRUE); + } + else + { + return (FALSE); + } +} +/* + * All Commands accept the following arguments + * pImpCmdContName -- the name of container, action, parameters + * pImpCmdIndex -- u16 array of numeric parameters + * e.g oid bts.1.0 OR + * set CellAllocation=[0=1 1=124] + * pImpCmdIndexCount -- point to the last valid element of pImpCmdIndex[] + */ +int ActionCommand(tImpConn *pBssConn, char *pImpCmdContName, u32 *pImpCmdIndex,ix ImpCmdIndexCount, u32 TransId) +{ + int i; + int j = 0; + char tmp[4]; + char *p; + tNMSTAT NmStat; + tCID Cid = 0; + u8 ActionId = 0; + MsgReset(); + + j = strcspn(pImpCmdContName,":"); + strncpy(tmp,pImpCmdContName,j); + Cid = atoi(tmp); + p = strpbrk(pImpCmdContName,":"); + ActionId = (u8)atoi(++p); + if (pImpCmdContName != NULL) { + NmStat = NmMarshalActionId(&pSendBody, + (tCID) Cid, + (u8) ActionId); + CheckMarshalStatus(NmStat); + } else { + MsgError = TRUE; + } + /* Read Action parameters */ + for (i = 0; i < ImpCmdIndexCount; i++) + { + //pParm = pAct->GetParm(i); + NmStat = NmMarshalU32(&pSendBody, (u32) * pImpCmdIndex++); + CheckMarshalStatus(NmStat); + } + if (!MsgError) { + SendImpMsg(IMP_MSG_ACTION_REQ, TransId, pBssConn); + return (TRUE); + } + else { + return (FALSE); + } +} + +int CreateCommand(tImpConn * pBssConn, char *pImpCmdContName,u32 * pImpCmdIndex, u32 TransId) +{ + + MsgReset(); + + MarshalClsId(pImpCmdContName); + MarshalNum(pImpCmdIndex); + if (!MsgError) { + SendImpMsg(IMP_MSG_CREATE_REQ, TransId, pBssConn); + return (TRUE); + } + else + { + return (FALSE); + } +} + +int DeleteCommand(tImpConn * pBssConn, char *pImpCmdContName,u32 * pImpCmdIndex, u32 TransId) +{ + + MsgReset(); + + MarshalClsId(pImpCmdContName); + MarshalNum(pImpCmdIndex); + if (!MsgError) { + SendImpMsg(IMP_MSG_DELETE_REQ, TransId, pBssConn); + return (TRUE); + } + else + { + return (FALSE); + } +} + +int ContentsCommand(tImpConn *pBssConn, u32 TransId) +{ + MsgReset(); + if (!MsgError) { + SendImpMsg(IMP_MSG_CONTENTS_REQ, TransId, pBssConn); + return (TRUE); + } + else + { + return (FALSE); + } +} +/* + * 1. Check whether the bssid & IP are in use and + * 2. Try to connect to the new bsplus + * 3. ok -> update bsplus[] and mysql DB + * -> set MeasurementReportInterval + * -> send action BtsStatus + * -> re-calculate the width of select() + * nok -> write error to mysql DB OMCR_COMMAND + */ +void NewBsplus(int bssid, char *ip, u32 TransId) +{ + int i; + int flag=0; + int sockfd; + tImpConn *pBssConn; + + for (i=0;ibssid == bssid) + flag = BSSID_EXIST; + if (!strcmp((bsplus[i])->ip, ip)) + flag = IP_EXIST; + } + for (i=0;ibssid == bssid) + flag = BSSID_EXIST; + if (!strcmp((bsplus_down[i])->ip, ip)) + flag = IP_EXIST; + } + if (bssid >= no_of_bss_per_pacs) + { + flag = BSSID_TOO_BIG; + } + + if (flag == IP_EXIST) + { + update_command_status( + NMERROR_OBJECT_EXISTS, "object already exists", + 1034, "Duplicate IP address", TransId + ); + return; + } + else if (flag == BSSID_EXIST) + { + update_command_status( + NMERROR_OBJECT_EXISTS, "object already exists", + 1030, "Duplicate BSS ID", TransId + ); + return; + } + else if (flag == BSSID_TOO_BIG) + { + update_command_status( + NMERROR_ATTR_REJECTED, "attr value rejected", + 1029, "Bss Id too big", TransId + ); + return; + } + + sockfd = connectIwBox(ip,NMIPORT); + if (sockfd == -1) + { + update_command_status( + NMERROR_OBJ_UNREACHABLE, "object unreachable", + 1031, "The BSS cannot be reached", TransId + ); + return; + } + /* update ImpConn structure */ + pBssConn = BssConn + bssid; + pBssConn->bssid = bssid; + strcpy(pBssConn->ip, ip); + pBssConn->port = NMIPORT; + pBssConn->sockfd = sockfd; + pBssConn->connected = 1; + pBssConn->last_TransId = 0L; + + InformIwBoxMonitor(pBssConn,ADD); + update_bsstable_status(pBssConn); + + bsplus[nbsplus] = pBssConn; + nbsplus++; + + width_change=1; + /* + * Remove old command in DB when connection re-established. + */ + sprintf(sqlstring, "%s%s%s%d%s%ld", + "UPDATE OMCR_COMMAND SET resultcode=1280,result='New BSS Created'", + ",responsecode=-1,response=\"\"", + ",status=0 WHERE status<>0 AND bssid=", pBssConn->bssid, + " AND seqNum<", TransId + ); + + execute_sql(sqlstring,0); + + update_command_status( + NMSTAT_SUCCESS,"ok", + 1280, "New BSS Created", TransId + ); + ProcessUserCommand(pBssConn,"oid EventLog.0.0",(u32) 0); + ProcessUserCommand(pBssConn,"action 64:1",(u32) 0);//tst +} +/* + * 1. Check whether the bssid & IP is existed + * 2. yes -> update bsplus[] or bsplus_down depends on whether connected + * -> delete the entry from OMCR_BSSTABLE + * -> delete its presence in OMCR_BSSTREE + * -> cancel its entry in monitoring program + * -> re-calculate the width of select() + * no -> write error to mysql DB OMCR_COMMAND + */ +void DropBsplus(int bssid, char *ip, u32 TransId) +{ + int i; + tImpConn **bssArray; + int *nbssArray; + tImpConn *pBssConn = BssConn + bssid; + + if (strcmp(pBssConn->ip, ip)) + { + update_command_status( + NMERROR_OBJECT, "no such object", + 1032,"The IP address is not found in the system", TransId + ); + return; + } + + InformIwBoxMonitor(pBssConn,DEL); + + if (pBssConn->connected > 0) + { + bssArray = bsplus; + nbssArray =  lus; + } + else + { + bssArray = bsplus_down; + nbssArray =  lus_down; + } + + for (i=0;i<*nbssArray;i++) + { + if ((bssArray[i])->bssid == bssid) + { + bssArray[i] = bssArray[*nbssArray-1]; + (*nbssArray)--; + break; + } + } + /* + * Delete the entry into OMCR_BSSTABLE and OMCR_BSSTREE(Presence=0) + */ + sprintf(sqlstring, "%s%s%d", + "UPDATE OMCR_BSSTABLE SET ip='',name='',remark='',connected=0,alarmed=0,uploaded=0", + " WHERE bssid=", pBssConn->bssid + ); + execute_sql(sqlstring,0); + sprintf(sqlstring, "%s%s%d", + "UPDATE OMCR_BSSTREE SET Presence=0,MaxSeverity=0", + " WHERE bssid=", pBssConn->bssid + ); + execute_sql(sqlstring,0); + + // + // clear all relevant alarm + sprintf(sqlstring, "%s%s%d", + "UPDATE OMCR_ALARMEVENT SET Severity=0,ClearTime=NOW()", + " WHERE bssid=", pBssConn->bssid + ); + execute_sql(sqlstring,0); + + // update OMCR_BSSTABLE for the deletion + update_command_status( + 0, "0", + 1281,"BSS is deleted", TransId + ); + + initImpConn(pBssConn); + width_change=1; +} + +int AddDropBsplusCommand(char *pImpCmd, int action, u32 TransId) +{ + int i; + int bssid=0; + char ip[16]="\0"; + int nextstage=1; + int State=READ_BSSID; + + MsgError=FALSE; + do + { + switch(State) + { + case READ_BSSID://read bssid + while (isdigit(*pImpCmd)) + { + bssid = bssid * 10 + *pImpCmd - '0'; + pImpCmd++; + } + State=READ_BSSID_END; + break; + case READ_BSSID_END: + if ((*pImpCmd != ' ') && (*pImpCmd != '\t')) + { + MsgError = TRUE; + nextstage=0; + } + while ((*pImpCmd == ' ') || (*pImpCmd == '\t')) + { + pImpCmd++; + } + State=READ_IP; + break; + case READ_IP://read ip + for(i=0; i<16; i++) + { + if (isdigit(*pImpCmd) || (*pImpCmd == '.')) + ip[i] = *pImpCmd++; + else + break; + } + ip[i] = '\0'; + State=READ_IP_END; + break; + case READ_IP_END: + if (*pImpCmd != '\0') + MsgError=TRUE; + nextstage=0; + break; + default: + break; + } + } while (nextstage); + + if (!MsgError) + { + if (action == NEWBSS) + NewBsplus(bssid,ip,TransId); + else if (action == DROPBSS) + DropBsplus(bssid,ip,TransId); + return (TRUE); + } + else + { + return (FALSE); + } +} + +int CommandType(char *pCmd) +{ + if (!strcasecmp(pCmd, "set")) { + return (SET); + } + if (!strcasecmp(pCmd,"oid")) { + return (OID); + } + if (!strcasecmp(pCmd,"get")) { + return (GET); + } + if (!strcasecmp(pCmd,"contents")) { + return (CONTENTS); + } + if (!strcasecmp(pCmd,"create")) { + return (CREATE); + } + if (!strcasecmp(pCmd,"action")) { + return (ACTION); + } + if (!strcasecmp(pCmd,"delete")) { + return (DELETE); + } + if (!strcasecmp(pCmd, "newbss")) { + return (NEWBSS); + } + if (!strcasecmp(pCmd, "dropbss")) { + return (DROPBSS); + } + if (!strcasecmp(pCmd, "upload")) { + return (UPLOAD); + } + return (BSSERROR); +} + +/* + * State changes: READ_CMD ------------------------------> READ_END + * `--> READ_OBJECT ---------------> READ_END + * `--> READ_PARMS --> READ_END + */ +int ProcessCommandString(char *pCommandString,char *pObjName, u32 *pParameter, int *count) +{ + char delimiter=' '; + char Cmd[]="1234567890"; + int State=READ_CMD; + char *pStr=pCommandString; + char *pCmd=Cmd; + char *pObj=pObjName; + u32 *pParam=pParameter; + char Num[]="1234567890"; + char *pNum=NULL; + int op=BSSERROR; + + *count=0; + *pObj='\0'; + + while (State != READ_END) + { + switch (State) { + case READ_CMD: + while ( isalpha(*pStr) ) /* valid cmd: oid,set,contents,get ...*/ + { + *pCmd = tolower(*pStr); + pStr++; + pCmd++; + } + *pCmd='\0'; + op=CommandType(Cmd); + switch (op) + { + case SET: + case NEWBSS: + case DROPBSS: + case UPLOAD: + if (*pStr++ != ' ') return (BSSERROR-1); + if (!isalnum(*pStr)) return (BSSERROR-2); + return (op); + break; + case GET: + if ((*pStr != '\0') && (*pStr != ' ') && (*pStr != '\t')) return (BSSERROR-3); + return (op); + break; + case CONTENTS: + if (*pStr != '\0') return (BSSERROR-3); + return (op); + break; + case OID: + delimiter = '.'; + case ACTION: + case CREATE: + case DELETE: + if (*pStr != ' ') return (BSSERROR-4); + State=READ_OBJECT; + break; + default: + return (BSSERROR-5); + break; + } + pStr++; + break; + case READ_OBJECT: + while ( isalnum(*pStr) || (*pStr == '_') || (*pStr == ':')) { + *pObj = *pStr; + pStr++; + pObj++; + } + *pObj='\0'; + + if (*pStr == delimiter) { + State=READ_PARMS; + } else if (*pStr == '\0') { + State=READ_END; + } else { + return (BSSERROR-6); + } + pStr++; + break; + case READ_PARMS: + pNum=Num; + while( isdigit(*pStr) || (*pStr == '-')) { + *pNum = *pStr; + pNum++; + pStr++; + } + if (*pStr == '\0') { + State=READ_END; + } else if (*pStr != delimiter ) { + return (BSSERROR-7); + } + *pNum='\0'; + + *pParam=atol(Num); + + pStr++; + pParam++; + ++(*count); + break; + default: + return (BSSERROR-8); + break; + } /* End_of_switch (State */ + } /* End_of_while (State */ + return (op); +} + +/* + * If the input command is not in correct format, update database with error + * Support: + * 1. standard imp command -- oid,get,set,create,delete,action + * 2. newbss/dropbss + * 3. upload + */ +int ProcessUserCommand(tImpConn *pBssConn, char *pCommandString, u32 TransId) +{ + int action; + int cnt; + int NoError; + char pObjName[80]=""; + u32 Parameter[] = { + (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, + (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, + (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, + (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0, (u32)0 + }; + + action = ProcessCommandString(pCommandString, + pObjName,Parameter,&cnt); + + switch(action) + { + case SET: + NoError=SetCommand(pBssConn, pCommandString + 4, TransId); + break; + case GET: + NoError=GetCommand(pBssConn, pCommandString + 3, TransId); + break; + case CONTENTS: + NoError=ContentsCommand(pBssConn, TransId); + break; + case OID: + NoError=OidCommand(pBssConn, pObjName, Parameter, cnt, TransId); + break; + case ACTION: + NoError=ActionCommand(pBssConn,pObjName,Parameter,cnt, TransId); + break; + case CREATE: + NoError=CreateCommand(pBssConn,pObjName,Parameter, TransId); + break; + case DELETE: + NoError=DeleteCommand(pBssConn,pObjName,Parameter, TransId); + break; + case NEWBSS: + NoError=AddDropBsplusCommand(pCommandString + 7, action, TransId); + return(NoError); + break; + case DROPBSS: + NoError=AddDropBsplusCommand(pCommandString + 8, action, TransId); + return(NoError); + break; + case UPLOAD: + NoError=requestBssCfg(pBssConn); + pBssConn->upload_TransId=TransId; + /*if (NoError) + { + update_command_status( + NMSTAT_SUCCESS,"ok", + 1282,"Upload command is sent", TransId + ); + } + else*/ + if (!NoError) + { + update_command_status( + 1283, "failure w/o error", + 1283,"Upload command is failed", TransId + ); + } + syncBssTreeAlarm(); + return(UPLOAD); + break; + default: + NoError=FALSE; + break; + } /* End_of_switch */ + + if (!NoError && TransId>0) + { + sprintf(response,"Command Syntax error:%s", pCommandString); + update_command_status( + NMERROR_BAD_MESSAGE, "unreadable message", + 1033,response, TransId + ); + } + return(NoError); +} +/* + * This routine does: + * 1. Wait for BSS started for 120 sec + * 2. Get Bss Object Tree + * 3. Sync Clock + * 4. Get missing Events by "Action GetEvents" + */ +unsigned int imp_response(tImpConn *pBssConn, tIMPHDR *pHeader,char *response) +{ + unsigned int retval=0; + u16 Op = pHeader->OpCode; + int Cid = -1; + char ObjectName[MAX_OBJECTID_LEN]="\0"; + char id[3]="\0"; + int i; + /* + * connected=1 + * - just connected and do "action BtsStatus" under EventLog.0.0 + * - Retrieve the time from BtsStatus + * - syncBssTime() + * - Wait "wait_interval" seconds and requestBssCfg + * - set connected = CONNECTED_STATE_MAX + */ + switch (pBssConn->connected) + { + case 1: /* 1 = just connected */ + break; + case CONNECTED_STATE_MAX: + /* Download Parameter */ + if (Op == IMP_MSG_SET_RESP) + { + if (pBssConn->TheCid == (tCID) 8)//BssFunc + { + if (!strncmp(response,"8:4=0",20)) + { + pBssConn->download_in_progress = 0; + } + else if (!strncmp(response,"8:4=1",20))//DownLoadInProgress + { + pBssConn->download_in_progress = 1; + } + ///* return because we don't have OMCR_BssFunc Table */ + //return (retval); + } + } + /* During downloading, do not update OMC database */ + if (pBssConn->download_in_progress == 1) + return (retval); + + if ((Op==IMP_MSG_GET_RESP) || (Op==IMP_MSG_SET_RESP)) + { + /* Oid response is also GET_RESP */ + updateBssCfg(pBssConn,pHeader,response);//write the responsed data to MySQL + } + else if ((Op==IMP_MSG_CREATE_RESP) || (Op==IMP_MSG_DELETE_RESP))//create delete + { + sscanf(response,"%s %s",ObjectName,id);//read response + Cid = atoi(ObjectName); + if(SetCidStr(Cid,ObjectName)){ + if (!strncmp(ObjectName, "BtsMgr", 6))//BtsMgr + pBssConn->current_upload_level=0; + else + pBssConn->current_upload_level=1; + for(i=0;i<(pHeader->ObjId).IxCnt;i++){ + sprintf(ObjectName,"%s.%d",ObjectName,(pHeader->ObjId).Ix[i]); + pBssConn->current_upload_level++; + } + + sprintf(ObjectName,"%s.%s",ObjectName,id); + pBssConn->current_upload_level++; + + requestObjCfg(pBssConn, ObjectName,0); + requestChildCfg(pBssConn,ObjectName); + } + } + break; + default: + break; + } + return (retval); +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////// +static void ProcessCreateDeleteBody(u8** ppBuf,char *strValue, u16 *intValue) +{ + tNMSTAT NmStat; + tCID Cid; + u16 Index; + + if ((NmStat = NmUnMarshalClassId(ppBuf, &Cid)) != NMSTAT_SUCCESS) + { + perror("class id error!\n"); + } + else if ((NmStat = NmUnMarshalU16(ppBuf, &Index)) != NMSTAT_SUCCESS) + { + perror("index error!\n"); + } + else + { + *intValue=Index; + sprintf(strValue,"%d",Cid); + } +} + +static tNMSTAT ProcessNullType(u8** ppBuf, char *strValue) +{ + tNMSTAT NmStat; + + if ((NmStat = NmUnMarshalNull(ppBuf)) == NMSTAT_SUCCESS) + { + strcpy(strValue,"*NULL*"); + } + return (NmStat); +} + +static tNMSTAT ProcessIntType(u8** ppBuf, tCID Cid, u8 AttrNum,char *strValue) +{ + tNMSTAT NmStat; + s32 Val; + + if ((NmStat = NmUnMarshalS32(ppBuf, &Val)) == NMSTAT_SUCCESS) + { + if((Cid !=(tCID)(-1))&&(AttrNum !=(u8)(-1))) + sprintf(strValue,"%ld",Val); + } + return (NmStat); +} + + +static tNMSTAT ProcessIntArrayType(u8** ppBuf) +{ + tNMSTAT NmStat; + u16 ArrayLen; + + if ((NmStat = NmUnMarshalArrayS32(ppBuf, ValArray, &ArrayLen, + MAX_ARRAY_LENGTH)) == NMSTAT_SUCCESS) + { + lenOfArray = ArrayLen; + } + return (NmStat); +} + +static tNMSTAT ProcessIntArIxType(u8** ppBuf) +{ + tNMSTAT NmStat; + u16 ArrayLen; + + if ((NmStat = NmUnMarshalARs32(ppBuf, s32Array, &ArrayLen, + MAX_ARRAY_LENGTH)) == NMSTAT_SUCCESS) + { + lenOfArray = ArrayLen; + } + return (NmStat); +} + +static tNMSTAT ProcessStringType(u8** ppBuf, char *strValue) +{ + tNMSTAT NmStat; + char* pChars = (char*)0; + + if ((NmStat = NmUnMarshalString(ppBuf, &pChars)) == NMSTAT_SUCCESS) + { + sprintf(strValue,"\"%s\"",pChars); + } + if (pChars != (char*)0) + { + free(pChars); + } + return (NmStat); +} + +static tNMSTAT ProcessOidType(u8** ppBuf, char *strValue) +{ + tNMSTAT NmStat; + tOid OidVal; + num ContId; + u16 Index; + u16 EndIx; + if ((NmStat = NmUnMarshalObjectId(ppBuf, &OidVal)) == NMSTAT_SUCCESS) + { + ContId = (num)OidVal.ContId; + EndIx = OidVal.IxCnt; + sprintf(strValue,"%d",ContId); + strValue+=strlen(strValue); + for(Index=0;IndexTheCid = CidVal; + } + } + return (NmStat); +} + +static void ProcessUnknownType(u8** ppBuf) +{ + u8 Tag; + Tag = **ppBuf; + NmSkipImpField(ppBuf); +} + +static void ProcessContentsBody(u8** ppBuf, char *response) +{ + tNMSTAT NmStat; + tCID Cid; + char comma[2]=""; + + if ((NmStat = NmUnMarshalClassId(ppBuf, &Cid)) != NMSTAT_SUCCESS) + { + if ((**ppBuf & IMP_TYPE_MASK) != IMP_TYPE_END_OF_MSG) + {; + } + } + else + { + response[0]='\0'; + while ((**ppBuf & IMP_TYPE_MASK) == IMP_TYPE_CLASS_ID) + { + ProcessCreateDeleteBody(ppBuf, strValue, &intValue);//get classid and index + sprintf(response,"%s%s%s %d", response, comma, strValue, intValue); + comma[0]=','; + comma[1]='\0'; + } + } +} + +static void ProcessSetGetBody(tImpConn *pBssConn, u8** ppBuf, char *response,u16 *responsecode, bool HasStatus) +{ + bool Processing = TRUE; + tNMSTAT NmStat; + tCID Cid; + u8 AttrNum; + u8 Tag; + tNMSTAT VarStat; + char comma[2]=""; + int i; + + response[0] = '\0'; + while (Processing && ((**ppBuf & IMP_TYPE_MASK) == IMP_TYPE_ATTR_ID)) + { + if ((NmStat = NmUnMarshalAttrId(ppBuf, &Cid, &AttrNum)) != + NMSTAT_SUCCESS) + { + break; + } + sprintf(response,"%s%s%d:%d",response, comma, Cid, AttrNum); + + Tag = **ppBuf; + switch (Tag & IMP_ARRAY_TYPE_MASK) + { + case IMP_TYPE_NULL: + if (ProcessNullType(ppBuf, strValue) != NMSTAT_SUCCESS) + { + Processing = FALSE; + } + else + { + sprintf(response,"%s=%s",response,strValue); + } + break; + case IMP_TYPE_UINT: + case IMP_TYPE_SINT: + if (ProcessIntType(ppBuf, Cid, AttrNum, strValue) != + NMSTAT_SUCCESS) + { + Processing = FALSE; + } + else + { + sprintf(response,"%s=%s",response,strValue); + } + break; + case IMP_ARRAY_UINT: + case IMP_ARRAY_SINT: + if (ProcessIntArrayType(ppBuf) != NMSTAT_SUCCESS) + { + Processing = FALSE; + } + else + { + sprintf(response,"%s_0=%ld",response,ValArray[0]); + for (i=1; iTheCid != (tCID)-1) + { + sprintf(response,"action %d.%d",ClassId,ActionId); + } + } + // Now process the parameter values and their statuses. + // + ProcessActionParms(pBssConn, ppBuf, response); + } +} + +static void ProcessEventBody(tImpConn *pBssConn, u8** ppBuf,tImpEvent *pBssEvent) +{ + int i,num=0; + int Cid=0; + + u8 Tag = 208; + u8 AttrNum=0; + + char attributename[64]="\0"; + bool ReadingValues = FALSE; + + int size = pBssEvent->eventinfosize; +// Cid = (int)pBssConn->TheCid; + + ReadingValues = TRUE; + + while (ReadingValues == TRUE) + { + if (!strcasecmp(pBssEvent->eventname,"BtsMeasurements")) + { + if(GetMeasPara(EvCid,Eid,num,attributename)) + num++; + } + else + { + if(GetEvPara(EvCid,Eid,num,attributename)) + num++; + } + Tag = **ppBuf; + + if (ReadingValues) + { + switch (Tag & IMP_ARRAY_TYPE_MASK) + { + case IMP_TYPE_NULL: + if (ProcessNullType(ppBuf, strValue) != NMSTAT_SUCCESS) + { + ReadingValues = FALSE; + } + else + { + sprintf(pBssEvent->eventinfo[size++], "%s=%s",attributename, strValue); + } + break; + case IMP_TYPE_UINT: + case IMP_TYPE_SINT: + if (ProcessIntType(ppBuf, Cid, AttrNum, strValue)!= NMSTAT_SUCCESS) + { + ReadingValues = FALSE; + } + else + { + sprintf(pBssEvent->eventinfo[size++], "%s=%s",attributename, strValue); + } + break; + case IMP_ARRAY_UINT: + case IMP_ARRAY_SINT: + if (ProcessIntArrayType(ppBuf) != NMSTAT_SUCCESS) + { + ReadingValues = FALSE; + } + else + { + for (i=0; ieventinfo[size++],"%s_%d=%ld",attributename,i,ValArray[i]); + } + } + break; + case IMP_ARRAY_CHAR_STRING: + if (ProcessStringType(ppBuf, strValue) != NMSTAT_SUCCESS) + { + ReadingValues = FALSE; + } + else + { + sprintf(pBssEvent->eventinfo[size++], "%s=%s",attributename, strValue); + } + break; + case IMP_ARRAY_OBJECT_ID: + if (ProcessOidType(ppBuf, strValue) != NMSTAT_SUCCESS) + { + ReadingValues = FALSE; + } + else + { + sprintf(pBssEvent->eventinfo[size++], "%s=%s",attributename, strValue); + } + break; + case IMP_TYPE_CLASS_ID: + if (ProcessCidType(ppBuf, FALSE, strValue, pBssConn)!= NMSTAT_SUCCESS) + { + ReadingValues = FALSE; + } + else + { + sprintf(pBssEvent->eventinfo[size++], "%s=%s",attributename, strValue); + } + break; + case IMP_TYPE_END_OF_MSG: + ReadingValues = FALSE; + break; + default: + ProcessUnknownType(ppBuf); + break; + } + + } + } + pBssEvent->eventinfosize = size; +} + +bool ProcessEventMsg(tImpConn *pBssConn, u8* pMsg, tImpEvent *pBssEvent) +{ + tNMSTAT NmStat; + tEVHDR EvHdr; + u8* pBuf = (u8*)0; + u32 When; + char* pWhen = (char*)0; + char pTempClassName[32]="\0"; + char pTempEventName[32]="tst"; + char pTempAlarmLevel[10]="0"; + char pTempStr[16]="\0"; + + int Cid = 0; + int Oid = 0; +// int Eid; + num EventCode; + bool Status=FALSE; + int i,p=0; + initImpEvent(pBssEvent); + pBuf = pMsg; + NmStat = NmUnMarshalEventHeader(&pBuf, &EvHdr);//Get EventHeader + if (NmStat == NMSTAT_SUCCESS) + { + + if (EvHdr.EvCls != (tCID)(-1)) + { + Cid = (int)EvHdr.EvCls; + if(SetCidStr(Cid,pTempClassName)){ + sprintf(pBssEvent->classname,"%s",pTempClassName); + } + Eid = (int)(EvHdr.EvNum); + if (GetEventName(Cid,Eid,pTempEventName,pTempAlarmLevel)) + { + sprintf(pBssEvent->eventname,"%s",pTempEventName); + strcpy(pBssEvent->alarmlevel,pTempAlarmLevel); + } + else + { + strcpy(pBssEvent->eventname,"unknown event number"); + } + } + else + { + return(FALSE); + } + EventCode = (num)EvHdr.EvCode; + if (EventCode == IMP_EVENT_REPLY) + { + if (EvHdr.ActCls == (u16) 64)//eventlog:action tst() + { + if (EvHdr.ActNum == (u8) 1) + { + strcpy(pBssEvent->eventname,"tstComplete"); + } + } + } + + Oid = (int)EvHdr.ObjId.ContId; + if(SetOidStr(Oid,pTempStr)) + while(pTempStr[p++]!='\0'); + p=p-1; + for(i=0;iobjectid,"%s",pTempStr); + strftime(pBssEvent->eventtime, 20, "%Y-%m-%d %T",localtime((time_t*) &(EvHdr.Time))); + + pBssEvent->eventsecond = EvHdr.Time; + pBssEvent->globaleventnumber = EvHdr.GlEvNum; + glbevtnum = pBssEvent->globaleventnumber+1; + + When = EvHdr.Time; + if (When > 799000000) /* Somewhere around May 1, 1995 */ + { + pWhen = ctime((time_t*)&When); + } + + When = EvHdr.GlEvNum; + EvCid = EvHdr.EvCls; + + // Event stores only values, need to look up attrs from event. + // "FailureReport" will call ProcessEventBody() + + if (GetEventName(Cid,Eid,pTempEventName,pTempAlarmLevel)) + { + ProcessEventBody(pBssConn, &pBuf, pBssEvent); + } + Status=TRUE; + } + return (Status); +} + +bool ProcessMessage(tImpConn *pBssConn, u8* pMsg, tIMPHDR *pHeader, fd_set *readfds) +{ + tNMSTAT NmStat; + u8* pBuf; + u16 Op; + tNMSTAT MsgStat; + bool Status=FALSE; + int i; + tImpEvent *pBssEvent=&BssEvent; + char tablename[100]="\0"; + long cellid; + u16 responsecode; + + NmStat = NmReadImpOpCode(pMsg, &Op); + if (NmStat == NMSTAT_SUCCESS) + { + if (Op == IMP_MSG_EVENT_IND) /* Decode Event Message */ + { + Status = ProcessEventMsg(pBssConn, pMsg, pBssEvent); + if (Status) + { + if (!strcmp(pBssEvent->eventname,"FailureReport")) + { + update_alarmevent_table(sqlstring,pBssConn,pBssEvent,readfds); + } + else if (!strcmp(pBssEvent->eventname,"BtsMeasurements")) + { + update_BtsMeas_table(sqlstring,pBssConn,pBssEvent,&cellid); + btsmeas_row_no++; + //if(btsmeasurements_size!=0L) + //btsmeas_row_no %= btsmeasurements_size; + } + else if (!strcmp(pBssEvent->eventname,"BscMeasurements")) + { + ; + } + else if (!strcmp(pBssEvent->eventname,"tstComplete")) + { + update_bootup_time(pBssConn,pBssEvent); + } + else if (!strcmp(pBssEvent->eventname,"Cser") || + !strcmp(pBssEvent->eventname,"ACN")) + { + sprintf(tablename,"OMCR_%s", pBssEvent->classname); + update_networkevent_table(sqlstring,pBssConn,pBssEvent); + for (i=0;ieventname,"CardCreated")) + { + update_cardcreated_event(pBssConn,pBssEvent); + } + else if (!strcmp(pBssEvent->eventname,"TrxCreated")|| + !strcmp(pBssEvent->eventname,"TrxDeleted"))//bts.nm Eid=8 + { + update_trxcreated_event(pBssConn,pBssEvent); + } + update_networkevent_table(sqlstring,pBssConn,pBssEvent); + } + } + } + else /* Decode IMP Response Message */ + { + pBuf = pMsg; + NmStat = NmUnMarshalImpHeader(&pBuf, pHeader); + if (NmStat == NMSTAT_SUCCESS) + { + Op = pHeader->OpCode; + MsgStat = pHeader->StatCode; + + Status = TRUE; + switch(Op) + { + case IMP_MSG_CREATE_RESP: + case IMP_MSG_DELETE_RESP: + ProcessCreateDeleteBody(&pBuf, strValue, &intValue); + sprintf(response,"%s %d",strValue, intValue); + break; + case IMP_MSG_CONTENTS_RESP: + ProcessContentsBody(&pBuf, response); + break; + case IMP_MSG_SET_RESP: + case IMP_MSG_GET_RESP: + ProcessSetGetBody(pBssConn,&pBuf,response,&responsecode,TRUE); + break; + case IMP_MSG_ACTION_RESP: + ProcessActionBody(pBssConn,&pBuf,response); + break; + } + + if ((pHeader->TransId1 == (u32) 0) && (Op == IMP_MSG_GET_RESP)) + { + /* + * Trans ID=0 and Get Response + * --> for object existent check using "oid" + * --> for retrieving object parameters using "get" + */ + imp_response(pBssConn, pHeader, response); + } + else if (pBssConn->last_TransId == pHeader->TransId1) + { + /* + * Trans ID > 0 + * --> for handling command sent from MySQL database + */ + imp_response(pBssConn, pHeader, response); + if (pHeader->TransId1 != 0L) { + if(MsgStat == (tNMSTAT)0){ + update_command_status( + MsgStat, "ok", + responsecode ,response, pHeader->TransId1); + }else + update_command_status( + MsgStat, "error", + responsecode ,response, pHeader->TransId1); + } + pBssConn->last_TransId = (u32)0; + } + + } + /* End_of_if (NmStat*/ + } /* End_of_if (Op == */ + } + + return (Status); +} + +bool CheckForMessages(tImpConn *pBssConn, tIMPHDR *pHeader, fd_set *readfds, time_t last_heartbeat_time) +{ + bool Status = TRUE; + bool finish_read_whole_msg; + u8* pBuf; + tNMLEN MsgLen; + tNMSTAT NmStat; + int Total; + int Len=0; + struct timeval WaitTime; + fd_set ReadFds; + int RetVal; + int width; + int i; + + width = pBssConn->sockfd + 1; + do + { + finish_read_whole_msg = false; + + if (pBssConn->last_Total < 0) + { + pBssConn->last_Total = 0; + } + + /* Wait for anymore message */ + WaitTime.tv_sec=0; + WaitTime.tv_usec=0; + + FD_ZERO(&ReadFds); + FD_SET(pBssConn->sockfd, &ReadFds); + RetVal = select(width, &ReadFds, (fd_set*)0, (fd_set*)0, &WaitTime); + if (RetVal>0 && FD_ISSET(pBssConn->sockfd, &ReadFds) && pBssConn->sockfd>0) + { + /* Part 0: Copy previous buffer content into present buffer */ + for (i=0; ilast_Total; i++) + { + MsgRecvBuffer[i] = pBssConn->lastMsgRecvBuffer[i]; + } + + /* Part I: Read IMP Length Header */ + if (pBssConn->last_Total < IMP_TYPE_LENGTH_MBYTES) + { + /* Recover if last round data has not completely arrived */ + Total = read(pBssConn->sockfd, + (char*)MsgRecvBuffer + pBssConn->last_Total, + IMP_TYPE_LENGTH_MBYTES - pBssConn->last_Total); + if ((Total == -1) || (Total>IMP_TYPE_LENGTH_MBYTES - pBssConn->last_Total)) + { + Status = FALSE; + clearBssConn(pBssConn,readfds); + InformIwBoxMonitor(pBssConn,CLR); + break; + } + pBssConn->last_Total += Total; + } + + /* Part II: Read the remaining IMP message */ + if (pBssConn->last_Total >= IMP_TYPE_LENGTH_MBYTES) + { + pBuf = MsgRecvBuffer; + + NmStat = NmUnMarshalLength(&pBuf, &MsgLen); //get the message length + + if (NmStat == NMSTAT_SUCCESS) + { + Len = (int) MsgLen; + + FD_ZERO(&ReadFds); + FD_SET(pBssConn->sockfd, &ReadFds); + RetVal = select(width, &ReadFds, (fd_set*)0, (fd_set*)0, &WaitTime); + if (RetVal>0 && FD_ISSET(pBssConn->sockfd, &ReadFds)) + { + Total = read(pBssConn->sockfd, + (char*)(MsgRecvBuffer+pBssConn->last_Total), + Len - pBssConn->last_Total); + if ((Total == -1) || (Total > Len-pBssConn->last_Total)) + { + Status = FALSE; + clearBssConn(pBssConn,readfds); + InformIwBoxMonitor(pBssConn,CLR); + break; + } + pBssConn->last_Total += Total; + + if (pBssConn->last_Total == Len) + finish_read_whole_msg = true; + } + else if (RetVal < 0) + { + Status = FALSE; + } + } + else + { + /* shift read input tcp stream to locate the IMP message header */ + pBssConn->last_Total=2; + MsgRecvBuffer[0]=MsgRecvBuffer[1]; + MsgRecvBuffer[1]=MsgRecvBuffer[2]; + + Status = FALSE; + } /* End_of_if (NmStat == */ + } + + + /* Part III: Whole message has been read */ + if (finish_read_whole_msg == true) + { + /* Clear last_Total when the whole message is read */ + pBssConn->last_Total=0; + + if (Status) + { + ProcessMessage(pBssConn, MsgRecvBuffer, pHeader, readfds); + } + } + else /* Only read part of the whole message */ + { + /* + * Data is partially arrived. + * As STREAM socket is used, more data can be retrieved in next round + * Besides, the contents read so far is dumped for displaying + */ + if (pBssConn->last_Total > 0) + { + for (i=0; ilast_Total; i++) + { + pBssConn->lastMsgRecvBuffer[i] = MsgRecvBuffer[i]; + } + } + } /* End_of_if (Total == */ + } + else if (RetVal < 0) + { + Status = FALSE; + } + else /* RetVal == 0 */ + { + break; + } /* End_of_if (RetVal > */ + + if ((time((time_t*)0)- last_heartbeat_time) >= HEARTBEAT_INTERVAL) + break; + + } while (Status && (pBssConn->sockfd>0)); + + return(Status); +} +////////////////////////////////////////////////////////////////////////////////////////////////// +//Caller: clearBssConn,NewBsplus,GetMonitorResult,ImpConnMultiplexer +unsigned int update_bsstable_status(tImpConn *pBssConn) +{ + sprintf(sqlstring, "UPDATE OMCR_BSSTABLE SET ip='%s', connected=%d WHERE bssid=%d", + pBssConn->ip, pBssConn->connected, pBssConn->bssid); + return ( execute_sql(sqlstring,0) ); +} +//Caller: ProcessMessage,ProcessUserCommand,NewBsplus,DropBsplus +unsigned int update_command_status(int resultcode, char *result,int responsecode, char *response, u32 TransId) +{ + if (strlen(response) >= SQLSTRING_LEN ) + { + exit(2); + } + + sprintf(sqlstring, "%s%d%s%d%s%s%s%d%s%s%s%ld", + "UPDATE OMCR_COMMAND SET status=", CMD_END, + ",resultcode=", resultcode, + ",result='", result, + "',responsecode=", responsecode, + ",response='", response, + "' WHERE seqNum=", TransId + ); + return ( execute_sql(sqlstring,0) ); +} + +unsigned int update_BtsMeas_table(char *buffer, tImpConn *pBssConn,tImpEvent *pBssEvent, long *cellid) +{ + int i; + unsigned int retval; + +// struct timeval tv; +// struct timezone tz; +// gettimeofday(&tv,&tz); +// printf("begin time is %ld.%ld\n\n",tv.tv_sec,tv.tv_usec); + sprintf(buffer, + "REPLACE INTO OMCR_BtsMeasurements SET new=1,bssid=%d,EndTime=%ld,row_no=%ld,updateTime=CURRENT_TIMESTAMP", + pBssConn->bssid, pBssEvent->eventsecond,btsmeas_row_no); + + for (i=0; ieventinfosize; i++) + { + strcat(buffer,","); + strcat(buffer,pBssEvent->eventinfo[i]); + if (!strncmp(pBssEvent->eventinfo[i],"CellIdentity=",13)) + *cellid=atol((pBssEvent->eventinfo[i])+13); + } + //rintf(buffer, "%s WHERE row_no=%ld", buffer, btsmeas_row_no); + //printf("row_no=%d\n",btsmeas_row_no); + //printf("sql>%s\n\n",buffer); + + retval=execute_sql(buffer,0); +// printf("end time is %d.%d\n\n",tv.tv_sec,tv.tv_usec); + return (0); +} +/* + * Return 0 = OK, otherwise error number + */ +unsigned int getLedStatus(void) +{ + int bssid,btsid,signal_element; + int unit_id; // identify the hardware or logical unit in BSC/BTS + int max_severity; + int index; + int led_no; + int i,j; + unsigned int retval=0; + + char *tmpStr,*onePart; + + int btsAlvailStatus[NO_OF_BSS*NO_OF_BTSMgr]; + int bscAlvailStatus[NO_OF_BSS]; + + for(i=0;i=0 ;i--) + { + (bts_led[i]).alarmcode = 0; + (bts_led[i]).alarmlevel = 0; + (bts_led[i]).component_id = 0; + (bts_led[i]).presence = false; + for ( j=HB_LED_CONTROL_LEN*2-1; j>=0; j--) + (bts_led[i]).led[j] = 0xf; // Not install + } + + for(i=0;i=0 ;i--) + { + (bsc_led[i]).alarmcode = 0; + (bsc_led[i]).alarmlevel = 0; + (bsc_led[i]).component_id = 0; + (bsc_led[i]).presence = false; + for ( j=HB_LED_CONTROL_LEN*2-1; j>=0; j--) + (bsc_led[i]).led[j] = 0xf; // Not install + } + + sprintf(sqlstring, "%s%s", + "SELECT DISTINCT BssId,Signal_Element,MaxSeverity FROM OMCR_BSSTREE ", + "WHERE Presence=1 AND Signal_Element<>'0' ORDER BY MaxSeverity ASC"); + + mysql_query(mysql_sock,sqlstring); + retval = mysql_errno(&mysql); + if (retval) + { + return (retval); + } + result = mysql_use_result(&mysql); + while ((row = mysql_fetch_row(result))) + { + bssid = atoi(row[0]); + signal_element=atoi(row[1]); + btsid = signal_element / 1000; + unit_id = signal_element % 1000; + max_severity = atoi(row[2]); + + if(btsid!=99){//bts + index = bssid*NO_OF_BTSMgr+btsid; + led_no = object2LedId(btsid,unit_id); + if (led_no == -1) + { + continue; + } + + (bts_led[index]).presence = true; + if (max_severity == 1) + { + (bts_led[index]).led[led_no] = LED_RED; + } + else if (max_severity == 2) + { + (bts_led[index]).led[led_no] = LED_YELLOW; + } + else // NORMAL + { + (bts_led[index]).led[led_no] = LED_GREEN; + } + + //printf("btsAlvailStatus[%d]=%d\n",index,btsAlvailStatus[index]); + if(btsAlvailStatus[index]!=4) + (bts_led[index]).led[led_no] = LED_RED; + }else{ + led_no = object2LedId(btsid,unit_id); + if (led_no == -1) + { + continue; + } + + (bsc_led[bssid]).presence = true; + if (max_severity == 1) + { + (bsc_led[bssid]).led[led_no] = LED_RED; + } + else if (max_severity == 2) + { + (bsc_led[bssid]).led[led_no] = LED_YELLOW; + } + else // NORMAL + { + (bsc_led[bssid]).led[led_no] = LED_GREEN; + } + + if(bscAlvailStatus[bssid]!=4) + (bsc_led[bssid]).led[led_no] = LED_RED; + } + + } + mysql_free_result(result); + + return (retval); +} +/* + * Find the count of alarms + * Return -1 if error + */ +int checkForAlarmStatus(tImpConn *pBssConn) +{ + int no_of_alarm=1; + char buffer[100]="\0"; + /* + * find out whether the system has critical alarms or not + */ + sprintf(buffer, "%s%d%s%d%s%d", + "SELECT count(*) FROM OMCR_ALARMEVENT WHERE bssid=", pBssConn->bssid, + " AND Severity>", SV_CEASED, + " AND Severity<=", SV_CRITICAL + ); + mysql_query(mysql_sock,buffer); + if (mysql_errno(&mysql)) + { + return (-1); + } + result = mysql_use_result(&mysql); + row = mysql_fetch_row(result); + no_of_alarm=atoi(row[0]); + mysql_free_result(result); + + return(no_of_alarm); +} +/* + * "Severity = 0" means alarm clear (SV_CEASED) + * enum{SV_CEASED,SV_CRITICAL,SV_MAJOR,SV_MINOR,SV_WARNING} + * MAXSEVERITY defines which alarm to be stored and display + * + * Return 0=OK, otherwise failed + */ +unsigned int update_alarmevent_table(char *buffer, tImpConn *pBssConn, tImpEvent *pBssEvent, fd_set *readfds) +{ + int i,j; + int stage; + int how_many; + int maxseverity; + unsigned int retval=0; + char info[SQLSTRING_LEN]="\0"; + unsigned long no_affected_row=0L; + + int bsType=0; + + pBssEvent->eventcause = 1; + /* + * pBssEvent->eventname is "FailureReport" + * event parameter is (Cause, Info, EventType, Severity, Problem) + label("Failure Event Report") + alarm(NM_ALARM_MINOR); + 1. Cause[3] is " The Cause field of Failure Event Report Msg "; + 2. Info is " The Text field of Failure Event Report Msg "; + 3. EventType is " The type of the event "; + 4. Severity defines the alarm; + */ + for (i=0, stage=0; ieventinfosize; i++, stage++) + { + switch(stage) + { + case 0: + if (!strncmp(pBssEvent->eventinfo[i], "Cause_0", 7)) + { + pBssEvent->eventcause = 256 * atoi((pBssEvent->eventinfo[i])+8); + } + break; + case 1: + if (!strncmp(pBssEvent->eventinfo[i], "Cause_1", 7)) + { + pBssEvent->eventcause += atoi((pBssEvent->eventinfo[i])+8); + } + break; + case 2: + if (!strncmp(pBssEvent->eventinfo[i], "Cause_2", 7)) + { + pBssEvent->eventcause += atoi((pBssEvent->eventinfo[i])+8); + } + break; + case 3: + if (!strncmp(pBssEvent->eventinfo[i], "Info", 4)) + { + strcpy(info,(pBssEvent->eventinfo[i])+5); + } + break; + case 4: + if (!strncmp(pBssEvent->eventinfo[i], "EventType", 9)) + pBssEvent->eventtype = atoi(pBssEvent->eventinfo[i]+10); + break; + case 5: + if (!strncmp(pBssEvent->eventinfo[i], "Severity", 8)) + pBssEvent->severity = atoi(pBssEvent->eventinfo[i]+9); + break; + default: + break; + } + } + /* + * According the severity + */ + if (pBssEvent->severity == SV_CEASED) /* SV_CEASED */ + { + /* + * Clear the alarm in OMCR_ALARMEVENT table + * If eventcause is divisible by 256, whole block of alarms(cause,cause+256)is clear + */ + if ((pBssEvent->eventcause & 0xff) == 0) // Block alarm clear + { + sprintf(buffer, "%s%d%s'%s'%s%d%s%d%s'%s'%s%d%s%d", + "UPDATE OMCR_ALARMEVENT SET Severity=", pBssEvent->severity, + ",ClearTime=", pBssEvent->eventtime, + " WHERE bssid=", pBssConn->bssid, + " AND Severity<>", SV_CEASED, + " AND ObjectId=", pBssEvent->objectid, + " AND Cause>=", pBssEvent->eventcause, + " AND Cause<", pBssEvent->eventcause+256); + } + else // Specific clear -- e.g. ALink is down (SV_CEASED) + { + sprintf(buffer, "%s%d%s'%s'%s%d%s%d%s'%s'%s%d", + "UPDATE OMCR_ALARMEVENT SET Severity=", pBssEvent->severity, + ",ClearTime=", pBssEvent->eventtime, + " WHERE bssid=", pBssConn->bssid, + " AND Severity<>", SV_CEASED, + " AND ObjectId=", pBssEvent->objectid, + " AND Cause=", pBssEvent->eventcause + ); + } + retval=execute_sql(buffer,&no_affected_row); + /* + * update OMCR_BSSTREE table for MaxSeverity field (Clear Alarm) + */ + if (no_affected_row > 0) + { + sprintf(buffer, "%s%d%s'%s'%s%d%s%d", + "SELECT MIN(Severity) FROM OMCR_ALARMEVENT WHERE bssid=", pBssConn->bssid, + " AND ObjectId=", pBssEvent->objectid, + " AND Severity>", SV_CEASED, + " AND Severity<=", MAXSEVERITY + ); + mysql_query(mysql_sock,buffer); + retval=mysql_errno(&mysql); + if (retval) + { + exit(3); + } + result = mysql_use_result(&mysql); + row = mysql_fetch_row(result); + if ( row[0] == NULL ) + maxseverity=0; + else + maxseverity=atoi(row[0]); + + mysql_free_result(result); + sprintf(buffer, "%s%d%s%d%s'%s'", + "UPDATE OMCR_BSSTREE SET MaxSeverity=", maxseverity, + " WHERE bssid=", pBssConn->bssid, + " AND ObjectId=", pBssEvent->objectid + ); + retval=execute_sql(buffer,0); + + how_many=checkForAlarmStatus(pBssConn); + } + return(retval); + } + else if (pBssEvent->severity <= MAXSEVERITY) + { + /* + * Check whether the alarm is associated with an object appeared in + * table OMCR_BSSTREE + */ + sprintf(buffer, "%s%d%s'%s'", + "SELECT ObjectId FROM OMCR_BSSTREE WHERE bssid=", pBssConn->bssid, + " AND ObjectId=" , pBssEvent->objectid + ); + retval=execute_sql(buffer,&no_affected_row); + /* + * Add the alarm in OMCR_ALARMEVENT table + * Condition: the object id must be defined in OMCR_BSSTREE + */ + if (no_affected_row > 0) + { + sprintf(buffer, "%s%d%s'%s'%s%ld%s'%s'%s%s%s%d%s%d%s%d%s'%s'%s%ld", + "REPLACE OMCR_ALARMEVENT SET bssid=", pBssConn->bssid, + ",ObjectId=", pBssEvent->objectid, + ",GlobalEventNumber=", pBssEvent->globaleventnumber, + ",AlarmLevel=", pBssEvent->alarmlevel, + ",EventInfo=", info, + ",Cause=", pBssEvent->eventcause, + ",EventType=", pBssEvent->eventtype, + ",Severity=", pBssEvent->severity, + ",EventTime=", pBssEvent->eventtime, + ",AckTime=null,ClearTime=null,row_no=", alarmevent_row_no + ); + //printf("buffer=%s\n",buffer); + retval=execute_sql(buffer,0); + alarmevent_row_no++; + alarmevent_row_no = alarmevent_row_no % MAX_ALARMEVENT_SIZE; + /* + * update OMCR_BSSTREE table for "alarmed" field (Add Alarm) + */ + sprintf(buffer, "%s%d%s%d%s'%s'%s%d%s%d%s", + "UPDATE OMCR_BSSTREE SET MaxSeverity=", pBssEvent->severity, + " WHERE bssid=", pBssConn->bssid, + " AND ObjectId=", pBssEvent->objectid, + " AND (MaxSeverity>", pBssEvent->severity, + " OR MaxSeverity=" , SV_CEASED, ")" + ); + retval=execute_sql(buffer,&no_affected_row); + } + //else "Not in OMCR_BSSTREE, alarm is not insert in AE" + + getLedStatus(); + // + // Send alarm heartbeat if Critical or major alarm + // + if ((no_affected_row > 0) && ((pBssEvent->severity == SV_CRITICAL)||(pBssEvent->severity == SV_MAJOR))) + { + + int btsmgr_number=0; + int system_id; + for (i=0;iobjectid[i] == '.') + { + for (j=1;j<=2;j++) // Max 2 digits for BtsMgr ID + if (pBssEvent->objectid[i+j] != '.') + btsmgr_number = btsmgr_number * 10 + (pBssEvent->objectid[i+j]-'0'); + break; + } + } + // system_id = BSSID * NO_OF_BTSMgr + BTSMGR_ID + system_id=pBssConn->bssid * NO_OF_BTSMgr + btsmgr_number; + + if (pBssEvent->severity > 2) + maxseverity = 0; // Normal + else + maxseverity = pBssEvent->severity; + + bsType=checkBsType(system_id/NO_OF_BTSMgr); + send_heartbeat(system_id,&(bsc_led[pBssConn->bssid]),&(bts_led[system_id]), + (pBssEvent->eventcause & 0xff00)>>8,pBssEvent->eventcause & 0xff, + maxseverity,bsType); + } + if ( pBssEvent->eventcause == 3075 ) // Bsc Reboot due to action RebootBsc by Operator + clearBssConn(pBssConn,readfds); + } + else // SV_INDETERMINATE + { + ; // do nothing + } + return(retval); +} +/* + * ACN: Attribute Changed Notification + * Cser: Change operational State Event Report + */ +unsigned int update_acn_cser_event(char *buffer, tImpConn *pBssConn,tImpEvent *pBssEvent) +{ + int i; + unsigned int retval=0; + char info[SQLSTRING_LEN]=""; + + if (pBssEvent->eventinfosize) + strcpy(info,pBssEvent->eventinfo[0]); + for (i=1; ieventinfosize; i++) + { + strcat(info,","); + strcat(info,pBssEvent->eventinfo[i]); + } + + sprintf(buffer, "%s%s%s%s%s%d%s'%s'", + "UPDATE OMCR_", pBssEvent->classname, + " SET ", info, + " WHERE bssid=", pBssConn->bssid, + " AND ObjectId=", pBssEvent->objectid + ); + retval=execute_sql(buffer,0); + return (retval); +} + +unsigned int update_cardcreated_event(tImpConn *pBssConn, tImpEvent *pBssEvent) +{ + #define BSC_SHELF 0 + #define BTS_SHELF 1 + int slotnum; + int portnum; + int objlen; + bool flag; + char obj[80]="\0"; + char tempNmiCmd[100]="\0"; + if (pBssEvent->eventinfosize < 2) + return 0; + + objlen = strlen(pBssEvent->objectid); + strcpy(obj, pBssEvent->objectid+1); + obj[objlen-2] = '\0'; + if (!strncmp(pBssEvent->eventinfo[1],"SlotNumber=",11)) + { + slotnum = atoi((pBssEvent->eventinfo[1])+11); + //objectid must be in the form "BtsMgr_Shelf.x.0.y" + // or "Shelf.0.y" + if (!strncmp(obj,"BtsMgr_Shelf.",13)) + { + sprintf(tempNmiCmd,"oid BtsMgr_Shelf_Card.%s.%d",obj+13,slotnum); + flag = BTS_SHELF; + } + else if (!strncmp(obj,"Shelf.",6)) + { + sprintf(tempNmiCmd,"oid Card.%s.%d",obj+6,slotnum); + flag = BSC_SHELF; + } + else + { + return 0; + } + addCmd2Queue(pBssConn,tempNmiCmd,(u32) 1); + if (FindAvailCmdBufferPtr()) + { + addCmd2Queue(pBssConn,"get",(u32) 1); + } + // + // For E1 card creation, get the port attributes + // + if (!strncmp(pBssEvent->eventinfo[0],"CardType=2",10)) + { + for ( portnum=0;portnum<=1;portnum++) + { + if (FindAvailCmdBufferPtr()) + { + if (flag == BTS_SHELF) + { + sprintf(tempNmiCmd,"oid BtsMgr_Shelf_Card_Port.%s.%d.%d", + obj+13,slotnum,portnum); + } + else + { + sprintf(tempNmiCmd,"oid BtsMgr_Shelf_Card_Port.%s.%d.%d", + obj+6,slotnum,portnum); + } + addCmd2Queue(pBssConn,tempNmiCmd,(u32) 1); + } + if (FindAvailCmdBufferPtr()) + { + addCmd2Queue(pBssConn,"get",(u32) 1); + } + } + } + + FindAvailCmdBufferPtr(); + } + + return 0; +} + +unsigned int update_trxcreated_event(tImpConn *pBssConn, tImpEvent *pBssEvent) +{ + int trxnum; + int objlen; + char obj[80]="\0"; + char tempNmiCmd[100]="\0"; + if (!pBssEvent->eventinfosize) + return 0; + + objlen = strlen(pBssEvent->objectid); + strcpy(obj, pBssEvent->objectid+4); + obj[objlen-2] = '\0'; + if (!strncmp(pBssEvent->eventinfo[0],"TrxNumber=",10)) + { + trxnum = atoi((pBssEvent->eventinfo[0])+10); + //objectid must be in the form "Bts.x.0" + sprintf(tempNmiCmd,"oid Trx.%s.%d",obj,trxnum); + + addCmd2Queue(pBssConn,tempNmiCmd,(u32) 1); + if (FindAvailCmdBufferPtr()) + { + addCmd2Queue(pBssConn,"get",(u32) 1); + } + if (FindAvailCmdBufferPtr()) + { + sprintf(tempNmiCmd,"oid RCarrier.%s.%d",obj,trxnum); + addCmd2Queue(pBssConn,tempNmiCmd,(u32) 1); + } + if (FindAvailCmdBufferPtr()) + { + addCmd2Queue(pBssConn,"get",(u32) 1); + } + FindAvailCmdBufferPtr(); + } + + return 0; +} + +unsigned int update_networkevent_table(char *buffer, tImpConn *pBssConn,tImpEvent *pBssEvent) +{ + int i; + //networkevent_init; + unsigned int retval; + char info[SQLSTRING_LEN]="\0"; + + if (pBssEvent->eventinfosize) + strcpy(info,pBssEvent->eventinfo[0]); + for (i=1; ieventinfosize; i++) + { + strcat(info,","); + strcat(info,pBssEvent->eventinfo[i]); + } + + sprintf(buffer, "%s%d%s'%s'%s'%s'%s'%s'%s%ld%s'%s'%s%ld", + "REPLACE INTO OMCR_NETWORKEVENT SET bssid=", pBssConn->bssid, + ",EventName=", pBssEvent->eventname, + ",ObjectId=", pBssEvent->objectid, + ",EventTime=", pBssEvent->eventtime, + ",GlobalEventNumber=", pBssEvent->globaleventnumber, + ",EventInfo=", info, + ",row_no=", networkevent_row_no + ); + retval = execute_sql(buffer,0); + //if(networkevent_size!=0L) + //networkevent_row_no %= networkevent_size; + networkevent_row_no++; + return (retval); +} +// Two cases are possible: +// 1. BSS has sync the clock, 2. BSS has not sync the clock +void update_bootup_time(tImpConn *pBssConn, tImpEvent *pBssEvent) +{ + time_t tloc; + + if (pBssConn->bootupTime == 0L) + { + time(&tloc); + if (pBssEvent->eventsecond > 799000000) /* Somewhere around May 1, 1995 */ + { + pBssConn->bootupTime = tloc - wait_interval; + } + else + { + pBssConn->bootupTime = tloc - pBssEvent->eventsecond; + } + syncBssTimeWithOMC(pBssConn, tloc); + } +} +/* + * / 0 ,if no need to store, + * StoredInDB = { 1 ,if paremeters need to be stored in DB + * \ 2 ,if only Presence need to know + */ +int requestObjCfg(tImpConn *pBssConn, char *objectid,int objectidLevel) +{ + MYSQL_RES *tmp_result; + MYSQL_ROW tmp_row; + + int retval; + char nmicmd[80]="\0"; + int no_error=TRUE; + //int count=0; + if (objectid != 0) + { + sprintf(sqlstring, "%s%d%s%s%s", + "SELECT ObjectId,StoreInDB,Url FROM OMCR_BSSTREE WHERE bssid=",//Update BSSTREE + pBssConn->bssid," AND ObjectId REGEXP '", objectid , "'"); + }else if(objectidLevel!=0){ + sprintf(sqlstring, "%s%d%s%d%s", + "SELECT ObjectId,StoreInDB,Url FROM OMCR_BSSTREE WHERE bssid=",//Update BSSTREE + pBssConn->bssid," AND Layer= '", objectidLevel , "'"); + }else{ + return (false); + } + + mysql_query(mysql_sock, sqlstring); + retval=mysql_errno(&mysql); + if (retval) + { + perror("Error!\n"); + no_error=FALSE; + return (no_error); + } + tmp_result = mysql_use_result(&mysql); + + + while ((tmp_row = mysql_fetch_row(tmp_result))) + { + if (atoi(tmp_row[1])) + { + sprintf(nmicmd,"oid %s",tmp_row[0]); + + addCmd2Queue(pBssConn,nmicmd,(u32) 1); + if (!FindAvailCmdBufferPtr()) + { + no_error=FALSE; + break; + } + if (atoi(tmp_row[1]) == 1) + { + addCmd2Queue(pBssConn,"get",(u32) 1); + //printf("Object = %s, ",row[0]); + if (!FindAvailCmdBufferPtr()) + { + no_error=FALSE; + break; + } + } + } + } + if ( no_error==TRUE ) + { + addCmd2Queue(pBssConn,"oid BssFunc",(u32) 1); + if (!FindAvailCmdBufferPtr()) + no_error=FALSE; + } + mysql_free_result(tmp_result); + return (no_error); +} + +int requestChildCfg(tImpConn *pBssConn,char *objectid){ + MYSQL_RES *tmp_result; + MYSQL_ROW tmp_row; + + char tmp_objectid[64]; + char *objectIdPart; + char tmpStr[64]; + int retval; + int no_error=TRUE; + int i; + char previous_inherit_relatives[ObjectIdMaxLevel][64]; + + strcpy(tmp_objectid,objectid); + if(objectIdPart=strchr(tmp_objectid,'.')); + *objectIdPart=0; + + objectIdPart=strchr(objectid,'.'); + + sprintf(sqlstring, "%s%d%s%s%s", + "SELECT * FROM OMCR_Inherit_Relatives WHERE level_",//Update BSSTREE + pBssConn->current_upload_level," = '", tmp_objectid , "'"); + + + mysql_query(mysql_sock, sqlstring); + retval=mysql_errno(&mysql); + if (retval) + { + perror("Error!\n"); + no_error=FALSE; + return (no_error); + } + tmp_result = mysql_store_result(&mysql); + + while ((tmp_row = mysql_fetch_row(tmp_result))){ + for(i=pBssConn->current_upload_level+1;ibssid, pBssConn->current_upload_level,tmpStr + ); + + execute_sql(sqlstring,0); + requestObjCfg(pBssConn, tmpStr,pBssConn->current_upload_level); + } + } + mysql_free_result(tmp_result); +} + +int requestBssCfg(tImpConn *pBssConn) +{ + MYSQL_RES *tmp_result; + MYSQL_ROW tmp_row; + char childObjectId[64]; + char *objectIdPart; + + int retval; + int no_error=TRUE; + int i; + char previous_inherit_relatives[ObjectIdMaxLevel][64]; + + + if(pBssConn->upload_in_progress==0){ + pBssConn->upload_in_progress=1; + //addCmd2Queue(pBssConn,"oid BssFunc",(u32) 1); + requestObjCfg(pBssConn, "BssFunc", 0); + pBssConn->current_upload_level=1; + sprintf(sqlstring, + "UPDATE OMCR_BSSTREE SET Presence=9 WHERE bssid=%d AND Layer='1'", + pBssConn->bssid + ); + execute_sql(sqlstring,0); + return(requestObjCfg(pBssConn, 0, 1)); + }else{ + sprintf(sqlstring, "%s%d%s%d%s", + "SELECT count(*) FROM OMCR_BSSTREE WHERE bssid=",//Update BSSTREE + pBssConn->bssid," AND Layer= '", pBssConn->current_upload_level , "' AND Presence='9'"); + mysql_query(mysql_sock, sqlstring); + + retval=mysql_errno(&mysql); + if (retval) + { + perror("Error!\n"); + no_error=FALSE; + return (no_error); + } + result = mysql_store_result(&mysql); + row = mysql_fetch_row(result); + + if(atoi(row[0])>0){ + mysql_free_result(result); + return (no_error); + } + mysql_free_result(result); + + + sprintf(sqlstring, "%s%d%s%d%s", + "SELECT ObjectId,Presence FROM OMCR_BSSTREE WHERE bssid=",//Update BSSTREE + pBssConn->bssid," AND Layer= '", pBssConn->current_upload_level , "'"); + mysql_query(mysql_sock, sqlstring); + + retval=mysql_errno(&mysql); + if (retval) + { + perror("Error!\n"); + no_error=FALSE; + return (no_error); + } + result = mysql_store_result(&mysql); + while ((row = mysql_fetch_row(result))) + { + if (atoi(row[1])==0){ + strcpy(childObjectId,row[0]); + objectIdPart=strchr(childObjectId,'.'); + *objectIdPart=0; + + objectIdPart=strchr(row[0],'.'); + + sprintf(sqlstring, "%s%d%s%s%s", + "SELECT * FROM OMCR_Inherit_Relatives WHERE level_",//Update BSSTREE + pBssConn->current_upload_level," = '", childObjectId , "'"); + + mysql_query(mysql_sock, sqlstring); + retval=mysql_errno(&mysql); + if (retval) + { + perror("Error!\n"); + no_error=FALSE; + return (no_error); + } + tmp_result = mysql_store_result(&mysql); + + while ((tmp_row = mysql_fetch_row(tmp_result))){ + for(i=pBssConn->current_upload_level+1;ibssid," AND objectId Like '", tmp_row[i] , objectIdPart , "%'"); + execute_sql(sqlstring,0); + } + } + + mysql_free_result(tmp_result); + }else if (atoi(row[1])==1){ + requestChildCfg(pBssConn,row[0]); + } + } + mysql_free_result(result); + pBssConn->current_upload_level++; + if(pBssConn->current_upload_level==ObjectIdMaxLevel){ + pBssConn->upload_in_progress=0; + update_command_status( + NMSTAT_SUCCESS,"ok", + 1282,"Finished", pBssConn->upload_TransId + ); + return (no_error); + } + } + return (no_error); +} + +int updateBssCfg(tImpConn *pBssConn, tIMPHDR *pHeader, char *response) +{ + char ObjectId[MAX_OBJECTID_LEN]="\0"; + char ClassId[32]="\0"; + char sqlbuffer[64]="\0"; + char field[10240]="\0"; + + int i,j,m=0; + int len; + int Oid,Cid; + char tablename[100]; + memset(tablename,'\0',sizeof(tablename)); + len = strlen(response); + + Oid = (int)(pHeader->ObjId).ContId; + if(SetOidStr(Oid,ObjectId)){ + for(i=0;i<(pHeader->ObjId).IxCnt;i++) + sprintf(ObjectId,"%s.%d",ObjectId,(pHeader->ObjId).Ix[i]); + } + + if ( pHeader->StatCode != NMSTAT_SUCCESS ){ + if ((pHeader->OpCode == IMP_MSG_GET_RESP) && (len<=40)){ + sprintf(sqlstring, + "UPDATE OMCR_BSSTREE SET Presence=0 WHERE bssid=%d AND ObjectId='%s'", + pBssConn->bssid, ObjectId + ); + execute_sql(sqlstring,0); + } + return(1); /* nothing to do */ + } + + if (pHeader->OpCode == IMP_MSG_SET_RESP) /* SET RESPONSE ->put data in Object table */ + { + int num =0,parent; + char *oneVar = NULL; + char *oneName = NULL; + char Var[24][85]; + + char *settmp = NULL; + char setfield[8192]="\0"; + char Valtemp[8192]="\0"; + strcpy(Valtemp,response); + settmp = response; + Cid = (int)pBssConn->TheCid; + if(GetTableName(Cid,ClassId)) + sprintf(tablename,"OMCR_%s",ClassId); + + for (i=0;i (MYSQL_ROW)0){ + if(parent == 0) + sprintf(setfield,"%s=%s",row[0],&Var[parent][0]); + else + sprintf(setfield,"%s,%s=%s",setfield,row[0],&Var[parent][0]); + }//end while + } + } + strcpy(settmp,Valtemp); + } + sprintf(sqlstring, + "UPDATE %s SET %s WHERE bssid=%d AND ObjectId='%s'", + tablename, setfield, pBssConn->bssid, ObjectId); + } + } + else if ( len > 40 ) /* GET RESPONSE -> put data in Object table */ + { + char *oneAttr = NULL; + char *onePart = NULL; + char value[220][85]; + + char *resptmp = NULL; + char temp[25600]="\0"; + + int attrCount=0; + strcpy(temp,response); + resptmp = response; + if (strncmp(response,"0:0=",4))//ClassId + return(2); + + for (i=4,j=0; !((response[i]==',')||(response[i]=='\0')); i++,j++){ + ClassId[j] = response[i]; + } + ClassId[j] = '\0'; + Cid = atoi(ClassId); + + if ( len == i ) + return(3); /* should be an error but nothing to do */ + + //If the bss software's version is higher than bssomc's version, + //there are some attributes which no in the lower bssomc's version. + //So we need judge the response message and remove the unknown attribute. + if(GetTableName(Cid,ClassId)){ + if(strstr(response,"no such attribute") != NULL){ + char setStr[2048]="\0"; + while((oneAttr = strsep(&(response), ",")) != NULL){ + attrCount++; + if(attrCount == 1) + continue; + + if(strstr(oneAttr,"no such attribute") != NULL){ + attrCount--; + continue; + } + if(attrCount != 2) + strcat(setStr,", "); + strcat(setStr,oneAttr); + }//end while + response = setStr; + }else{ + response = response+i+1; + }//end if(strstr... + + while((oneAttr = strsep(&(response), ",")) != NULL){ + if ((onePart = strsep(&(oneAttr), "=")) != NULL) + sprintf(&value[m++][0],"%s",oneAttr); + }//end while((oneAttr... + strcpy(resptmp,temp); + sprintf(sqlbuffer,"show fields from OMCR_%s",ClassId); + mysql_query(mysql_sock,sqlbuffer); + result = mysql_store_result(&mysql); + if(result == NULL){ + return(1); + }else if(mysql_num_rows(result) == 0){ + mysql_free_result(result); + } + m = 1,i = 0; + while((row=mysql_fetch_row(result)) > (MYSQL_ROW) 0){ + if(i<2){ + i++; + }else { + if(m == 1) + sprintf(field,"%s=%s",row[0],&value[m++][0]); + else + sprintf(field,"%s,%s=%s",field,row[0],&value[m++][0]); + } + }//end while((row.. + sprintf(sqlstring,"UPDATE OMCR_%s SET %s WHERE bssid=%d AND ObjectId='%s'", + ClassId, field, pBssConn->bssid, ObjectId); + } + execute_sql(sqlstring,0); + return(0); + } + else /* OID RESPONSE -> update BSSTREE table */ + { + sprintf(sqlstring, + "UPDATE OMCR_BSSTREE SET Presence=1 WHERE bssid=%d AND ObjectId='%s'", + pBssConn->bssid, ObjectId); + } + execute_sql(sqlstring,0); + return(0); +} +/* + * Find the max sockfd from *bsplus[] -> BssConn + */ +int max(int nbsplus,tImpConn *bsplus[]) +{ + int i; + tImpConn *ptr; + int maxfd=0; + + for (i=nbsplus-1; i>=0; i--) + { + ptr = bsplus[i]; + if (maxfd <= ptr->sockfd) { + maxfd = ptr->sockfd + 1; + } + ptr++; + } + return (maxfd); +} +/* + * Maintain a IMP connection with all the manageable iwbox + */ +void ImpConnMultiplexer() +{ + tIMPHDR header; + bool Status; + + fd_set readfds; + struct timeval timeout; + int len; + char buffer[BUFMAX]="\0"; + int i; + int acrd_bssid; + tImpConn *pBssConn = NULL; + int bsType; + + + /* + * bsplus_down[] contains the BSS system stored in MySQL() database + * InformIwBoxMonitor() will tell monitor program the bsplus ip/bssid list + * + * sockfd store the socket fd and width=max(BssConn[].sockfd)+1 + * sockfd is indexed as BssConn[0,1, ...,nbsplus-1].sockfd + */ + +// for (num=0;num<2;num++) + + if (width_change) + { + width = max(nbsplus,bsplus); + if (widthconnected == CONNECTED_STATE_MAX ) + { + DispatchNmiCommand(pBssConn); + } + } + /* send heartbeat */ + this_heartbeat=time((time_t*)0); + if (abs(this_heartbeat - last_heartbeat) >= HEARTBEAT_INTERVAL) + { + int tmpResult; + tmpResult=getLedStatus(); + if(tmpResult!=0) + { + perror("getLedStatus() failed\n"); + } + for (i=NO_OF_BSS*NO_OF_BTSMgr-1; i>=0; i--) + { + acrd_bssid = (int) i / NO_OF_BTSMgr; + pBssConn = &BssConn[acrd_bssid]; + + if ((bts_led[i]).presence && (pBssConn!=0) && (pBssConn->connected == CONNECTED_STATE_MAX) ) + { + bsType=checkBsType(i/NO_OF_BTSMgr); + + send_heartbeat(i,&(bsc_led[acrd_bssid]),&(bts_led[i]),0,0,0,bsType); + } + }/* End for(i=NO_OF... */ + + for (i=0; iconnected == CONNECTED_STATE_MAX ) + { + // Send a "contents" commands to BSS + ProcessUserCommand(pBssConn,"contents",(u32) 0); + } + } + last_heartbeat = this_heartbeat; + } + FD_ZERO(&readfds); +/////////////////////////////////////////////////// + if (monitor_fd != -1) + FD_SET(monitor_fd, &readfds); +////////////////////////////////////////////////// + for (i=0; isockfd, &readfds); + } + + this_round = time((time_t*)0); + if ((this_round - last_round) <= SELECT_INTERVAL)//2L + { + timeout.tv_sec = 0; /* 1 second for now */ + timeout.tv_usec = 500000; + ret = select(width, &readfds, (fd_set *) 0, (fd_set *) 0, &timeout); + } + else + { + ret = 0; + } + if (ret == -1) + { + perror( "select() error\n"); + // Send ALARM to MySQL + } + else if (ret == 0) // BssComm receive no event + { + last_round = this_round; + // Change logfile if date changed + //changeLogFilename(); + if ( CmdBufferPtr != CMD_BUFFER_FULL) /* Queue is not full */ + { + retrieveCmdFromDatabase(); + } +///////////////////////////////////////////////////////////// + /* If monitor program die, recover it!!*/ + if (!monitoring) + { + startIwBoxMonitor("127.0.0.1", MONITOR_PORT); + if (widthconnected < CONNECTED_STATE_MAX) + { + if ((pBssConn->bootupTime>0L) && + ((time((time_t*)0)-pBssConn->bootupTime) >(unsigned long) wait_interval)) + { + pBssConn->connected=CONNECTED_STATE_MAX; + update_bsstable_status(pBssConn); + if (pBssConn->uploaded == 0) //Never upload before + { + requestBssCfg(pBssConn);// upload,get all + pBssConn->uploaded = 1; + sprintf(sqlstring, + "UPDATE OMCR_BSSTABLE SET uploaded=1 WHERE bssid=%d", + pBssConn->bssid); + execute_sql(sqlstring,0); + } + } + } + }/* End check how long */ + /* continue because select() return zero */ + return; + } + //-- For monitor socket --// +//////////////////////////////////////////////////////////////////////////////////// + if ((monitor_fd!=-1)&&FD_ISSET(monitor_fd, &readfds) && monitoring) { + buffer[0]=0; + buffer[1]=0; + ret--; + len = read(monitor_fd, buffer, 2); + if ( (len == 2) && isdigit(buffer[0]) && isdigit(buffer[1]) ) + { + buffer[2]='\0'; + len = atoi(buffer); + if ( read(monitor_fd, buffer, len) == len ) + { + buffer[len]='\0'; + GetMonitorResult(buffer, &readfds); + } + else + stopIwBoxMonitor(); + } + else + stopIwBoxMonitor(); + } +////////////////////////////////////////////////////////////////////////////////// + for (i=0; isockfd, &readfds) && pBssConn->sockfd>0) + { + ret--; + Status = CheckForMessages(pBssConn, &header, &readfds, last_heartbeat); + } + + if(pBssConn->upload_in_progress) + { + requestBssCfg(pBssConn); + } + } /* end_of_for (i= */ + /* end_of_for (;;) */ +} /* end_of_ImpConnMultiplexer( */ + +void imp_init() +{ + int i; + tImpConn *pBssConn; + //char *bssversion; + + // get bssversion + /*if ( (bssversion=getenv("bssversion")) == (char *) 0) + { + bssversion = BSSVERSION; + }*/ + environ_var("MEAS_PERIOD",MEASUREMENT_INTERVAL,&stat_interval); + environ_var("WAIT_TIME",WAIT_TIME,&wait_interval); + // init mysql database + connectDB(); + initOMCR_COMMANDTable(); + GetBssMaxConfigFromDB(); + alarmevent_row_no = alarmevent_init; + btsmeas_row_no=btsmeasurements_init; + networkevent_row_no = networkevent_size; + GetAllTableName(); + + MemoryAllocation(); + + for (pBssConn=BssConn + no_of_bss_per_pacs-1;pBssConn >= BssConn;pBssConn--) + { + initImpConn(pBssConn); + } + for (i=0; i''"); + result = mysql_use_result(&mysql); + + // Put ImpConn to bsplus_down[] + nbsplus = nbsplus_down=0; + while ((row = mysql_fetch_row(result))) + { + if (nbsplus_down >= no_of_bss_per_pacs ) + { + exit(4); + } + if (atoi(row[0]) < no_of_bss_per_pacs) + AddImpConn(atoi(row[0]), row[1], row[2], atoi(row[3])); + } + if (mysql_errno(&mysql)) + { + exit(5); + } + mysql_free_result(result); + + syncBssTreeAlarm(); + initBssStatusTransmitter();//from bss_hb.cpp +} + + +/*****************main *********************/ + +static struct itimerval itimer, old_itimer; + +void onTimer(); +void setTimer(); +void setup_daemon(void); + + +/************************************************* +Function: // main +Description: // 调用ImpConnMultiplexer模块,是模块的主函数 +Calls: // imp_init; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int main(int argc, char *argv[]) +{ + char runMode; + signal(SIGHUP,cleanUp); + signal(SIGINT,cleanUp); + imp_init(); + + if (argc > 0) { + runMode = getopt(argc, argv, "d"); + switch (runMode) { + case 'd': + setup_daemon(); + break; + case '?': + break; + } + } + setTimer(); + while (1) { + usleep(50); + } + cleanUp(0); + return (1); +} + +/************************************************* +Function: // onTimer +Description: // 定时器函数 +Calls: // ImpConnMultiplexer; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void onTimer() +{ + ImpConnMultiplexer(); + timerCounter++; + + if (timerCounter > 50000) { + timerCounter = 0; + } +} + +/************************************************* +Function: // setTimer +Description: // 设置定时器函数 +Calls: // onTimer; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void setTimer() +{ + struct sigaction act; + act.sa_handler = onTimer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exit(1); + } +} + +void setup_daemon(void) +{ + /* + int i; + + for (i = 0; i < 3; ++i) { + close(i); + } + */ + switch (fork()) { + case -1: + perror("setup_daemon(), 1st fork()"); + exit(2); + default: + exit(0); + case 0: + if (setsid() == -1) { + perror("setup_daemon(), setsid()"); + exit(3); + } + switch (fork()) { + case -1: + perror("setup_daemon(), 2nd fork()"); + exit(3); + default: + exit(0); + case 0: + umask(0); + /* and return with daemon set up */ + return; + } + } +} + diff --git a/src/configMgr/c_program/impmod/bsscomm.h b/src/configMgr/c_program/impmod/bsscomm.h new file mode 100644 index 0000000..8514657 --- /dev/null +++ b/src/configMgr/c_program/impmod/bsscomm.h @@ -0,0 +1,358 @@ +#ifndef BSSCOMM__H +#define BSSCOMM__H +/******************************************************************* + + Usage: Interwave network Management Protocol(IMP) interface for BSS OMC + + Interface function: + {1}imp_init() -> init IMP interface for BSS OMC + Step 0: init MySQL database (BssOmcDb) + ->connectDB(); + ->initOMCR_COMMANDTable(); + ->GetBssMaxConfigFromDB(); + ->GetAllTableName(); + Step 1: init ImpConn structure + Step 2: set CmdBuffer[CMD_BUFFER_SIZE] structure is available + Step 3: get bssid,ip from MySQL database which has been added by BSS OMC operator + ->SELECT bssid,ip,name,uploaded FROM OMCR_BSSTABLE WHERE ip<>''; + ->AddImpConn(): put pBssConn->(bssid,ip..) to bsplus_down[] + Step 4: Synchronize the OMCR_BSSTREE.MaxSeverity with OMCR_ALARMEVENT at startup + ->syncBssTreeAlarm() + Step 5: init BssStatus Transmitter + ->initBssStatusTransmitter():check BSS OMC(hb_port.4957) is ok and initHeartbeatStruct() + + {2}imp_timer()-> Call ImpConnMultiplexer() to Maintain a IMP connection with all the manageable iwbox + Part 0: connect with BSS + Part 1: if BSS start ,upload from BSS + Part 2: if receive no event, + ->retrieveCmdFromDatabase() + ->ProcessUserCommand(tImpConn *pBssConn, char *pCommandString, u32 TransId) + ->DispatchNmiCommand(pBssConn):Send 1 command to each BSS in one cycle if queue is not empty + Part 3: if receive imp message, + Step 0: Copy previous buffer content into present buffer + Step 1: Read IMP Length Header + Step 2: Read the remaining IMP message + Step 3: Whole message has been read + Step 4: Process imp message + State 1:(if event)ProcessEventMsg(),according eventname + "FailureReport" ->update_alarmevent_table + "BtsMeasurements" ->update_BtsMeas_table + "tstComplete" ->update_bootup_time + "CardCreated" ->update_cardcreated_event + "TrxCreated" ->update_trxcreated_event + "Cser"or"ACN" ->update_networkevent_table + State 2: Decode IMP Response Message,according OperatorCode + Create or Delete ->ProcessCreateDeleteBody ->requestObjCfg + Contents ->ProcessContentsBody + Set or Get ->ProcessSetGetBody ->updateBssCfg + Action ->ProcessActionBody + Bsplus monitoring server: + --------- --------- + | bsscomm | | monitor | + --------- --------- + add + tell monitor program according to the bsplus ip ping + the bsplus ip/bssid list ---------------> Test connection with BSS ------------> BSS + + new + Calling:restoreBssConn() + Try to restore connection <--------------- if ping successful + If reconnect,put the + connection in bsplus[] + + clr + Calling:ClearBssConn() <--------------- if ping fail(fail count >20) + TCP connnection lost + Move bsplus[i] to bsplus_down[] + + + Code file list: + + bsscomm.c,bsscomm.h: IMP(interWave Network Mannagement) interface for BSS OMC + nmimp.c ,nmimp.h : Methods for IMP data marshaling/unmarshaling. + nmtypes.c,nmtypes.h: Definitions of fundamental data types. + bss_hb.c ,bss_hb.h : init and refresh BSS(BSC+BTS) status. + alive.c monitoring the connection between Bsscomm and BSS + + Author:XChen + Date: 2006-09-20 +********************************************************************/ + +#include +#include + +#include +#include +#include "unistd.h" +#include +/* + * Include ModImp header files here + */ +#include "iwtypes.h" +#include "nmtypes.h" +#include "nmstatus.h" +#include "nmimp.h" +/* + * For ImpConnMultiplexer + */ +#include +#include +#include +#include +#include +#include +/* + * Max 12 BSC and 12x12 BTS + */ +#define NO_OF_BSS 12 +#define NO_OF_BTSMgr 13 +/* + * MySQL connection + */ +#include "mysql.h" +#define DB "BssOmcDb" +#define USERNAME "application" +#define PASSWD "noitacilpPA#68*" +#define SQLSTRING_LEN 16384 // 16384 = 2^14 + +MYSQL mysql,*mysql_sock; +MYSQL_RES *result; +MYSQL_ROW row; +//MYSQL_FIELD *field; +char sqlstring[SQLSTRING_LEN]; + +/* + * Store the name of MYSQL tablename at program startup + */ +#define MAX_NUM_OF_SQL_TABLE 100 +int num_of_mysql_table; +char **mysql_tables; + +#define NMIPORT 2112 +#define BUFMAX 4096 +#define MSG_BODY_SIZE 1024 +#define SILENT_CODE ((u32)0x0) +#define WAIT_TIME 120 +#define MEASUREMENT_INTERVAL 15 +//#define BSSVERSION "iw06_00.028" +/* + * For BSS momitor + */ +#define MONITOR_PORT 5354 +int monitor_fd=-1; + +#define TIME_LEN 9 + +#define ADD 1 +#define DEL 2 +#define CLR 3 +/* + * For processing user command + */ +#define READ_CMD 0 +#define READ_OBJECT 1 +#define READ_PARMS 2 +#define READ_END 3 + +#define BSSERROR (-1) +#define ACTION 0 +#define CONTENTS 1 +#define CREATE 2 +#define DELETE 3 +#define GET 4 +#define OID 5 +#define SET 6 +#define NEWBSS 7 +#define DROPBSS 8 +#define UPLOAD 9 +/* + * For alarm management + */ +#define SV_CEASED 0 +#define SV_CRITICAL 1 +#define SV_MAJOR 2 +#define SV_MINOR 3 +#define SV_WARNING 4 +#define SV_INDETERMINATE 5 +#define MAXSEVERITY SV_MAJOR // The maxseverity in number of concern + // You have to update alarmevent.php accordingly +#define HEARTBEAT_INTERVAL 10L +#define SELECT_INTERVAL 2L +/* + * keep track the command status after PHP put the command on DB + */ +#define CMD_NEW 255 +#define CMD_READ_FROM_DB 254 +#define CMD_END 0 + +#define CONNECTED_STATE_MAX 255 + +#define GET_READ_ATTRIB 1 +#define GET_ATTRIB_END 2 + +#define SET_READ_ATTRIB 1 +#define SET_READ_INT 2 +#define SET_READ_STRING 3 +#define SET_READ_INTARRAY 4 +#define SET_COMMAND_END 5 +#define SET_ATTRIB_END 6 +#define SET_INT_END 7 +#define SET_STRING_END 8 +#define SET_INTARRAY_END 9 + +#define BSSID_EXIST 1 +#define BSSID_TOO_BIG 2 +#define IP_EXIST 3 + +#define READ_BSSID 1 +#define READ_BSSID_END 2 +#define READ_IP 3 +#define READ_IP_END 4 + +#define ObjectIdMaxLevel 6 +/* + * ImpConn structure definition + * This stores the IMP connection from BSS + */ +struct ImpConn { + int bssid; // initialize to -1 + char ip[16]; // initialize to 0.0.0.0 + char bssname[80]; // initialize to BSS_ + int port; // initialize to -1 + int sockfd; // initialize to -1 + u32 SeqNum; // initialize to 0 + tOid TheOid; // initialize to OID_INIT + tCID TheCid; // initialize to NM_CLASS_UNDEFINED + struct queue *pCmdQ; // initialize to NULL + struct queue *pCmdQEnd; // initialize to NULL + int uploaded; // initialize to 0, already uploaded when = 1 + int connected; + int download_in_progress; // initialize to 0, connected when >= 1 + int last_Total; // no of bytes read so far for an IMP packet + u8 lastMsgRecvBuffer[IMP_MAX_HDR_LENGTH + MSG_BODY_SIZE]; + u32 bootupTime; // initialize to 0L + u32 last_TransId; // TransId of the command in processing + // initialize to 0 (=not in processing) + int upload_in_progress; // initialize to 0 + int current_upload_level; // initialize to 1 + u32 upload_TransId; + time_t last_connected_abnormal; + time_t this_connected_abnormal; +}; +typedef struct ImpConn tImpConn; + +tImpConn *BssConn; +tImpConn **bsplus; +tImpConn **bsplus_down; +/* + * ImpEvent structure definition + * This stores the IMP event from BSS + */ +#define EVENTINFO_ARRAY_SIZE 512 +#define MAX_OBJECTID_LEN 40 +struct ImpEvent { + char eventname[40]; + char objectid[MAX_OBJECTID_LEN]; + char classname[40]; + char eventtime[25]; + unsigned long eventsecond; /* no of sec from 1 Jan 1970*/ + unsigned long globaleventnumber; + unsigned int eventcause; + char alarmlevel[10]; + char eventinfo[EVENTINFO_ARRAY_SIZE][512]; /* Array of Evt Msg Body */ + int eventinfosize; /* Array size */ + int eventtype; + int severity; +}; +typedef struct ImpEvent tImpEvent; +tImpEvent BssEvent; +/* + * Use link list to maintain the queue of commands for each IMP connection + * A shared buffer(array) is used to store the commands to different BSS + * The command buffer is indexed from 0 to CMD_BUFFER_SIZE-1 + * CmdBufferPtr points to the first available command buffer + */ +#define CMD_BUFFER_SIZE 16000 +#define CMD_BUFFER_FULL (-1) +#define CMD_SIZE 2048 + +struct queue { // A FIFO Queue + char command[CMD_SIZE]; + struct queue *nextcmd; + u32 TransId; + bool available; +}; +struct queue CmdBuffer[CMD_BUFFER_SIZE]; +int CmdBufferPtr=0; +/* + * Function declaration + */ +//init imp structure +void initImpConn(tImpConn * pBssConn); +void initImpEvent(tImpEvent *pBssEvent); +void AddImpConn(int bssid, char *ipaddr, char *bssname, int uploaded); +//init Bss MySQL database +void connectDB(); +void initOMCR_COMMANDTable(); +void GetAllTableName(); +void GetBssMaxConfigFromDB(); +void syncBssTimeWithOMC(tImpConn *pBssConn, time_t tloc); +void syncBssTreeAlarm(); +//connection management +void restoreBssConn(int bssid, char *ip); +void discBssConn(int bssid, char *ip, fd_set *readfds); +void clearBssConn(tImpConn *pBssConn,fd_set *readfds); +int connectIwBox(char *target, int port); + +void stopIwBoxMonitor(); +void startIwBoxMonitor(char *hostname, int port); +void InformIwBoxMonitor(tImpConn *pBssConn, int action); +void GetMonitorResult(char *buffer, fd_set *readfds); + +//get command +void addCmd2Queue(tImpConn *pBssConn,char *nmicommand,long SeqNum); +void retrieveCmdFromDatabase(); +bool FindAvailCmdBufferPtr(); +void DispatchNmiCommand(tImpConn *pBssConn); +//process command and encode imp message +int OidCommand(tImpConn * pBssConn,char *pImpCmdContName, u32 *pImpCmdIndex, ix ImpCmdIndexCount, u32 TransId); +int GetCommand(tImpConn * pBssConn, char *pImpCmd, u32 TransId); +int SetCommand(tImpConn * pBssConn, char *pImpCmd, u32 TransId); +int ActionCommand(tImpConn *pBssConn, char *pImpCmdContName, u32 *pImpCmdIndex,ix ImpCmdIndexCount, u32 TransId); +int CreateCommand(tImpConn * pBssConn, char *pImpCmdContName,u32 * pImpCmdIndex, u32 TransId); +int DeleteCommand(tImpConn * pBssConn, char *pImpCmdContName,u32 * pImpCmdIndex, u32 TransId); +int ContentsCommand(tImpConn *pBssConn, u32 TransId); +int AddDropBsplusCommand(char *pImpCmd, int action, u32 TransId);//Calling NewBsplus,DropBsplus + +int ProcessCommandString(char *pCommandString,char *pObjName, u32 *pParameter, int *count);//Calling CommandType +int ProcessUserCommand(tImpConn *pBssConn, char *pCommandString, u32 TransId); +//decode imp message +unsigned int imp_response(tImpConn *pBssConn, tIMPHDR *pHeader,char *response); + +static void ProcessContentsBody(u8** ppBuf, char *response); +static void ProcessSetGetBody(tImpConn *pBssConn, u8** ppBuf, char *response,u16 *responsecode, bool HasStatus); +static void ProcessActionBody(tImpConn *pBssConn, u8** ppBuf,char *response); +static void ProcessCreateDeleteBody(u8** ppBuf,char *strValue, u16 *intValue); +static void ProcessEventBody(tImpConn *pBssConn, u8** ppBuf,tImpEvent *pBssEvent); +bool ProcessEventMsg(tImpConn *pBssConn, u8* pMsg, tImpEvent *pBssEvent); +bool ProcessMessage(tImpConn *pBssConn, u8* pMsg, tIMPHDR *pHeader, fd_set *readfds); +bool CheckForMessages(tImpConn *pBssConn, tIMPHDR *pHeader, fd_set *readfds, time_t last_heartbeat_time); + +//according to imp response,update bss database +unsigned int update_bsstable_status(tImpConn *pBssConn); +unsigned int update_command_status(int resultcode, char *result,int responsecode, char *response, u32 TransId); +unsigned int update_BtsMeas_table(char *buffer, tImpConn *pBssConn,tImpEvent *pBssEvent, long *cellid); +unsigned int update_alarmevent_table(char *buffer, tImpConn *pBssConn, tImpEvent *pBssEvent, fd_set *readfds); +unsigned int update_acn_cser_event(char *buffer, tImpConn *pBssConn,tImpEvent *pBssEvent); +unsigned int update_cardcreated_event(tImpConn *pBssConn, tImpEvent *pBssEvent); +unsigned int update_trxcreated_event(tImpConn *pBssConn, tImpEvent *pBssEvent); +unsigned int update_networkevent_table(char *buffer, tImpConn *pBssConn,tImpEvent *pBssEvent); +void update_bootup_time(tImpConn *pBssConn, tImpEvent *pBssEvent); + +int requestObjCfg(tImpConn *pBssConn, char *objectid,int objectidLevel); +int requestBssCfg(tImpConn *pBssConn); +int requestBtsCfg(tImpConn *pBssConn, char *btsmgrid); +int updateBssCfg(tImpConn *pBssConn, tIMPHDR *pHeader, char *response); +int checkBsType(int bssid); +//unsigned int generateBtsStatReport(); +#endif /*BSSCOMM__H */ diff --git a/src/configMgr/c_program/impmod/includes.h b/src/configMgr/c_program/impmod/includes.h new file mode 100644 index 0000000..a3ee004 --- /dev/null +++ b/src/configMgr/c_program/impmod/includes.h @@ -0,0 +1,90 @@ +/* + * Include all header files needed by shared memory project. + * Created by Huang QL, 2315/12/12 + */ + +#ifndef INCLUDES__H +#define INCLUDES__H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef _T_BYTE +#define _T_BYTE +typedef unsigned char BYTE; +#endif + +#ifndef _T_WORD +#define _T_WORD +typedef unsigned short WORD; +#endif + +#ifndef _T_DWORD +#define _T_DWORD +typedef unsigned int DWORD; +#endif + +#ifndef BOOL +typedef unsigned short BOOL; +#endif + +#ifndef SUCCESS +#define SUCCESS 0 +#endif + +#ifndef FAILURE +#define FAILURE -1 +#endif + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef YES +#define YES 1 +#endif + +#ifndef NO +#define NO 0 +#endif + +#ifndef ERROR +#define ERROR -1 +#endif + +#ifndef EMPTY +#define EMPTY 0 +#endif + +#define BUFSIZE 1024 +#define MAXBUFLEN 8196 + +#define UNDER_DEVELOP YES +#endif diff --git a/src/configMgr/c_program/impmod/iwtypes.h b/src/configMgr/c_program/impmod/iwtypes.h new file mode 100644 index 0000000..f3bc15c --- /dev/null +++ b/src/configMgr/c_program/impmod/iwtypes.h @@ -0,0 +1,41 @@ +#ifndef _IWTYPES_H_ +#define _IWTYPES_H_ +/* + * iwtypes.h: Standard interWAVE type definitions and fundamental defines. + * + * Bruce Nelson, interWAVE, 07/28/95. + */ + +/* Size-significant types. Use these for structure members, for example. + */ +typedef unsigned char u8; +typedef char s8; +typedef unsigned short u16; +typedef short s16; + +typedef unsigned int u32; +typedef int s32; + +/* Efficiency-significant types: size may be 16 or 32 bits, depending on + * compiler. These are often best for local variables and expressions. + * These types will be signed values. + */ +typedef int num; /* Number (for numerical calculations). */ +typedef int ix; /* Index (for arrays, etc.). */ + +//#ifndef _T_BOOL +typedef int bool; /* Boolean: TRUE or FALSE. */ +//#endif + +// The classic TRUE and FALSE, for Boolean values. + +#define TRUE 1 +#define true 1 +#define FALSE 0 +#define false 0 + +// Nulls. Note that pointers should be compared to NULLP, not NULL. + +#define NULL 0 + +#endif /* _IWTYPES_H_ */ diff --git a/src/configMgr/c_program/impmod/nmimp.c b/src/configMgr/c_program/impmod/nmimp.c new file mode 100644 index 0000000..813b02c --- /dev/null +++ b/src/configMgr/c_program/impmod/nmimp.c @@ -0,0 +1,2478 @@ +/* + * nmimp.c: Methods for IMP data marshaling/unmarshaling. + * + * Bruce Nelson, interWAVE, 08/16/95. + */ + +#include +#include +#include "nmimp.h" + +/* + * Marshal/UnMarshal functions: Each takes a pointer to a buffer pointer and + * adjusts the buffer pointer before exiting. The UnMarshal functions check + * that the tag byte's type field is correct for the function called and + * return NMERROR_PROTOCOL if not. If this error is returned, the buffer + * pointer is NOT advanced, so a generic "scan past" function can be called to + * consume the improper data, if need be. + * + * All Marshal/UnMarshal funtions return NMSTAT_SUCCESS for success and an + * NMERROR_xxx code otherwise. Even in error cases, they try to do their best. + * + * Notice that the sign of an integer value affects its encoding. This cannot + * be avoided, since we want to be able to unmarshal any encoded integer into + * any integer storage type, so we need to know whether or not to perform sign + * extension. The advantage of having so many integer representations is that + * smaller magnitudes can be stored compactly in get/set responses and, more + * importantly, configuration database records and event records. On the NM + * application side, it's still possible to marshal all integers from four-byte + * variables, and to unmarshal all integers into four-byte variables, + * simplifying the variations on integer marshaling and unmarshaling. + * + * Notice, too, how some functions use the fact that the IMP tag byte's unit + * field is (size - 1) to calculate offsets for oversized input elements. + */ + +/* NmMarshalNull is used to marshal a NULL code. + */ +tNMSTAT NmMarshalNull(u8** ppBuf) +{ + u8* pDst; + + pDst = *ppBuf; + *pDst++ = IMP_TAG_NULL; + *pDst++ = 0; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +/* NmUnMarshalNull is used to unmarshal a NULL code. + */ +tNMSTAT NmUnMarshalNull(u8** ppBuf) +{ + tNMSTAT NmStat; + + if (**ppBuf == IMP_TYPE_NULL) + { + NmStat = NMSTAT_SUCCESS; + *ppBuf += 2; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +/* NmMarshalU8 is used to marshal a one-byte unsigned integer variable. + */ +tNMSTAT NmMarshalU8(u8** ppBuf, u8 Value) +{ + u8* pDst; + + pDst = *ppBuf; + *pDst++ = IMP_TAG_UINT_1; + *pDst++ = Value; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +/* NmMarshalS8 is used to marshal a one-byte signed integer variable. + * + * Note: Obviously NmMarshalU8 and NmMarshalS8 are identical, except for their + * type codes. But, since these are short functions and heavily used, we keep + * them separate instead of combining them into a single function that takes a + * type parameter (and is thus a little bit slower). + */ +tNMSTAT NmMarshalS8(u8** ppBuf, s8 Value) +{ + u8* pDst; + + pDst = *ppBuf; + *pDst++ = IMP_TAG_SINT_1; + *pDst++ = (u8)Value; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +/* NmUnMarshalU8 is used to unmarshal an integer value into a one-byte + * unsigned integer variable. + * + * Notes: Since we're storing to a single byte, sign extension is not a factor + * here. NmUnMarshalS8 is just a macro that invokes this function. + */ +tNMSTAT NmUnMarshalU8(u8** ppBuf, u8* pValue) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Type; + + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_TYPE_UINT) || (Type == IMP_TYPE_SINT)) + { + /* Skip most significant bytes, if any. + */ + pSrc += (Tag & IMP_UNIT_MASK); + *pValue = *pSrc++; + *ppBuf = pSrc; + NmStat = NMSTAT_SUCCESS; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +/* NmMarshalU16 is used to marshal a two-byte unsigned integer variable. + */ +tNMSTAT NmMarshalU16(u8** ppBuf, u16 Value) +{ + u8* pDst; + + pDst = *ppBuf; + if (Value < 256) + { + *pDst++ = IMP_TAG_UINT_1; + } + else + { + *pDst++ = IMP_TAG_UINT_2; + *pDst++ = (u8)(Value >> 8); + } + *pDst++ = (u8)Value; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +/* NmMarshalS16 is used to marshal a two-byte signed integer variable. + * + * Note: Unlike the U8 and S8 functions, NmMarshalU16 and NmMarshalS16 are + * different in more than just the type they use for encoding. The range + * checks differ too: 0 to 255 for unsigned byte; -128 to 127 for signed byte. + */ +tNMSTAT NmMarshalS16(u8** ppBuf, s16 Value) +{ + u8* pDst; + + pDst = *ppBuf; + if ((Value >= -128) && (Value <= 127)) + { + *pDst++ = IMP_TAG_SINT_1; + } + else + { + *pDst++ = IMP_TAG_SINT_2; + *pDst++ = (u8)(Value >> 8); + } + *pDst++ = (u8)Value; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +/* NmUnMarshalU16 is used to unmarshal an integer value into a two-byte + * unsigned integer variable. + * + * Note: Even with sign extension, NmUnMarshalU16 and NmUnMarshalS16 are the + * same, except for the type of pValue, since only the size of the variable + * into which we're unmarshaling matters. So NmUnMarshalS16 is a macro. + */ +tNMSTAT NmUnMarshalU16(u8** ppBuf, u16* pValue) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Type; + u8 Unit; + u16 Value; + + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_TYPE_UINT) || (Type == IMP_TYPE_SINT)) + { + Unit = Tag & IMP_UNIT_MASK; + if (Unit == IMP_UNIT_1) + { + Value = (u16)(*pSrc++); /* Unsigned: 0 to 255 */ + if ((Type == IMP_TYPE_SINT) && (Value & 0x080)) + { + /* Sign extension for -1 to -128. + */ + Value |= (u16)0x0ff00; + } + } + else + { + /* Skip most significant bytes, if any. + */ + pSrc += (Unit - 1); + Value = (u16)((*pSrc++) << 8); + Value |= (u16)(*pSrc++); + } + *pValue = Value; + *ppBuf = pSrc; + NmStat = NMSTAT_SUCCESS; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +/* NmMarshalU32 is used to marshal a four-byte unsigned integer variable. + */ +tNMSTAT NmMarshalU32(u8** ppBuf, u32 Value) +{ + u8* pDst; + + pDst = *ppBuf; + if (Value < 256) + { + *pDst++ = IMP_TAG_UINT_1; + } + else if (Value < 65536) + { + *pDst++ = IMP_TAG_UINT_2; + *pDst++ = (u8)(Value >> 8); + } + else + { + *pDst++ = IMP_TAG_UINT_4; + *pDst++ = (u8)(Value >> 24); + *pDst++ = (u8)(Value >> 16); + *pDst++ = (u8)(Value >> 8); + } + *pDst++ = (u8)Value; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +/* NmMarshalS32 is used to marshal a four-byte signed integer variable. + */ +tNMSTAT NmMarshalS32(u8** ppBuf, s32 Value) +{ + u8* pDst; + + pDst = *ppBuf; + if ((Value >= -128) && (Value <= 127)) + { + *pDst++ = IMP_TAG_SINT_1; + } + else if ((Value >= -32768) && (Value <= 32767)) + { + *pDst++ = IMP_TAG_SINT_2; + *pDst++ = (u8)(Value >> 8); + } + else + { + *pDst++ = IMP_TAG_SINT_4; + *pDst++ = (u8)(Value >> 24); + *pDst++ = (u8)(Value >> 16); + *pDst++ = (u8)(Value >> 8); + } + *pDst++ = (u8)Value; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +/* NmUnMarshalU32 is used to unmarshal an integer value into a four-byte + * unsigned integer variable. + * + * Note: Even with sign extension, NmUnMarshalU32 and NmUnMarshalS32 are the + * same, except for the type of pValue, since only the size of the variable + * into which we're unmarshaling matters. So NmUnMarshalS32 is a macro. + */ +tNMSTAT NmUnMarshalU32(u8** ppBuf, u32* pValue) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Type; + u32 Value; + + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_TYPE_UINT) || (Type == IMP_TYPE_SINT)) + { + switch (Tag & IMP_UNIT_MASK) + { + case IMP_UNIT_4: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + break; + case IMP_UNIT_3: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + if ((Type == IMP_TYPE_SINT) && (Value & (u32)0x0800000)) + { + /* Sign extension. + */ + Value |= (u32)0x0ff000000; + } + break; + case IMP_UNIT_2: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + if ((Type == IMP_TYPE_SINT) && (Value & (u32)0x08000)) + { + /* Sign extension. + */ + Value |= (u32)0x0ffff0000; + } + break; + case IMP_UNIT_1: + Value = (u32)(*pSrc++); + if ((Type == IMP_TYPE_SINT) && (Value & (u32)0x080)) + { + /* Sign extension. + */ + Value |= (u32)0x0ffffff00; + } + break; + default: + Value = 0; + break; + } + *pValue = Value; + *ppBuf = pSrc; + NmStat = NMSTAT_SUCCESS; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +/* NmMarshalByteArray is used to marshal an array of one-byte integer + * variables, using the appropriate array tag. + * + * Note: NmMarshalArrayU8 and NmMarshalArrayS8 are macros that call this + * function. + */ +tNMSTAT NmMarshalByteArray(u8** ppBuf, u8* pArray, u16 ArrayLen, u8 Tag) +{ + tNMSTAT NmStat; + u8* pDst; + u8* pSrc; + u8* pSrcEnd; + u16 Length; + + if (ArrayLen > MAX_ARRAY1_LENGTH) + { + NmStat = NMERROR_ARRAY_TOO_BIG; + Length = MAX_ARRAY1_LENGTH; + } + else + { + NmStat = NMSTAT_SUCCESS; + Length = (u16)ArrayLen; + } + pDst = *ppBuf; + *pDst++ = Tag; + *pDst++ = (u8)(Length >> 8); + *pDst++ = (u8)Length; + pSrc = pArray; + pSrcEnd = pSrc + Length; + if (pSrc < pSrcEnd) do + { + *pDst++ = *pSrc; + } while (++pSrc < pSrcEnd); + *ppBuf = pDst; + return (NmStat); +} + +/* NmUnMarshalArrayU8 is used to unmarshal an array of integers into an array + * of one-byte unsigned integer variables. + * + * Notes: There is no sign extension here. NmUnMarshalArrayS8 is a macro that + * calls this function. + */ +tNMSTAT NmUnMarshalArrayU8(u8** ppBuf, u8* pArray, u16* pArrayLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + u8* pDst; + u8* pDstEnd; + u16 Length; + u8 Tag; + u8 Type; + u8 Unit; + ix Offset; + + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_UINT) || (Type == IMP_ARRAY_SINT)) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pSrcEnd = pSrc + (Length * (Unit + 1)); + Offset = (ix)Unit; + pDst = pArray; + pDstEnd = pDst + BufLen; + if ((pDst < pDstEnd) && (pSrc < pSrcEnd)) do + { + /* Adjust source to discard most significant + * bytes (if any). + */ + pSrc += Offset; + *pDst++ = *pSrc++; + } while ((pDst < pDstEnd) && (pSrc < pSrcEnd)); + if (pSrc < pSrcEnd) + { + NmStat = NMERROR_ARRAY_MISMATCH; + } + *ppBuf = pSrcEnd; + *pArrayLen = Length; + } + else + { + NmStat = NMERROR_PROTOCOL; + *pArrayLen = 0; + } + return (NmStat); +} + +/* NmMarshalWordArray is used to marshal an array of two-byte integer + * variables, using the appropriate array tag. + * + * Notes: Array encodings do not compress small-valued entries. + * NmMarshalArrayU16 and NmMarshalArrayS16 are macros that call this function. + */ +tNMSTAT NmMarshalWordArray(u8** ppBuf, u16* pArray, u16 ArrayLen, u8 Tag) +{ + tNMSTAT NmStat; + u8* pDst; + u16* pSrc; + u16* pSrcEnd; + u16 Length; + u16 Value; + + if (ArrayLen > MAX_ARRAY2_LENGTH) + { + NmStat = NMERROR_ARRAY_TOO_BIG; + Length = MAX_ARRAY2_LENGTH; + } + else + { + NmStat = NMSTAT_SUCCESS; + Length = (u16)ArrayLen; + } + pDst = *ppBuf; + *pDst++ = Tag; + *pDst++ = (u8)(Length >> 8); + *pDst++ = (u8)Length; + pSrc = pArray; + pSrcEnd = pSrc + Length; + if (pSrc < pSrcEnd) do + { + Value = *pSrc; + *pDst++ = (u8)(Value >> 8); + *pDst++ = (u8)Value; + } while (++pSrc < pSrcEnd); + *ppBuf = pDst; + return (NmStat); +} + +/* NmUnMarshalArrayU16 is used to unmarshal an array of integers into an array + * of two-byte integer variables. + * + * Note: NmUnMarshalArrayS16 is a macro that calls this function. + */ +tNMSTAT NmUnMarshalArrayU16(u8** ppBuf, u16* pArray, u16* pArrayLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + u16* pDst; + u16* pDstEnd; + u16 Value; + u16 Length; + u8 Tag; + u8 Type; + u8 Unit; + ix Offset; + + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_UINT) || (Type == IMP_ARRAY_SINT)) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pSrcEnd = pSrc + (Length * (Unit + 1)); + pDst = pArray; + pDstEnd = pDst + BufLen; + if (Unit == IMP_UNIT_1) + { + if ((pDst < pDstEnd) && (pSrc < pSrcEnd)) do + { + Value = (u16)(*pSrc++); + if ((Type == IMP_ARRAY_SINT) && + (Value & 0x080)) + { + /* Sign extension. + */ + Value |= (u16)0x0ff00; + } + *pDst++ = Value; + } while ((pDst < pDstEnd) && (pSrc < pSrcEnd)); + } + else + { + Offset = (ix)(Unit - 1); + if ((pDst < pDstEnd) && (pSrc < pSrcEnd)) do + { + /* Adjust source to discard most + * significant bytes (if any). + */ + pSrc += Offset; + Value = (u16)((*pSrc++) << 8); + Value |= (u16)(*pSrc++); + *pDst++ = Value; + } while ((pDst < pDstEnd) && (pSrc < pSrcEnd)); + } + if (pSrc < pSrcEnd) + { + NmStat = NMERROR_ARRAY_MISMATCH; + } + *ppBuf = pSrcEnd; + *pArrayLen = Length; + } + else + { + NmStat = NMERROR_PROTOCOL; + *pArrayLen = 0; + } + return (NmStat); +} + +/* NmMarshalDWordArray is used to marshal an array of four-byte integer + * variables, using the appropriate array tag. + * + * Notes: Array encodings do not compress small-valued entries. + * NmMarshalArrayU32 and NmMarshalArrayS32 are macros that call this function. + */ +tNMSTAT NmMarshalDWordArray(u8** ppBuf, u32* pArray, u16 ArrayLen, u8 Tag) +{ + tNMSTAT NmStat; + u8* pDst; + u32* pSrc; + u32* pSrcEnd; + u16 Length; + u32 Value; + + if (ArrayLen > MAX_ARRAY4_LENGTH) + { + NmStat = NMERROR_ARRAY_TOO_BIG; + Length = MAX_ARRAY4_LENGTH; + } + else + { + NmStat = NMSTAT_SUCCESS; + Length = (u16)ArrayLen; + } + pDst = *ppBuf; + *pDst++ = Tag; + *pDst++ = (u8)(Length >> 8); + *pDst++ = (u8)Length; + pSrc = pArray; + pSrcEnd = pSrc + Length; + if (pSrc < pSrcEnd) do + { + Value = *pSrc; + *pDst++ = (u8)(Value >> 24); + *pDst++ = (u8)(Value >> 16); + *pDst++ = (u8)(Value >> 8); + *pDst++ = (u8)Value; + } while (++pSrc < pSrcEnd); + *ppBuf = pDst; + return (NmStat); +} + +/* NmUnMarshalArrayU32 is used to unmarshal an array of integers into an array + * of four-byte integer variables. + * + * Note: NmUnMarshalArrayS32 is a macro that calls this function. + */ +tNMSTAT NmUnMarshalArrayU32(u8** ppBuf, u32* pArray, u16* pArrayLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + u32* pDst; + u32* pDstEnd; + u32 Value; + u16 Length; + u8 Tag; + u8 Type; + u8 Unit; + + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_UINT) || (Type == IMP_ARRAY_SINT)) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pSrcEnd = pSrc + (Length * (Unit + 1)); + pDst = pArray; + pDstEnd = pDst + BufLen; + if ((pDst < pDstEnd) && (pSrc < pSrcEnd)) do + { + switch (Unit) + { + case IMP_UNIT_4: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + break; + case IMP_UNIT_3: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + if ((Type == IMP_ARRAY_SINT) && + (Value & (u32)0x0800000)) + { + /* Sign extension. + */ + Value |= (u32)0x0ff000000; + } + break; + case IMP_UNIT_2: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + if ((Type == IMP_ARRAY_SINT) && + (Value & (u32)0x08000)) + { + /* Sign extension. + */ + Value |= (u32)0x0ffff0000; + } + break; + case IMP_UNIT_1: + Value = (u32)(*pSrc++); + if ((Type == IMP_ARRAY_SINT) && + (Value & (u32)0x080)) + { + /* Sign extension. + */ + Value |= (u32)0x0ffffff00; + } + break; + default: + Value = 0; + break; + } + *pDst++ = Value; + } while ((pDst < pDstEnd) && (pSrc < pSrcEnd)); + if (pSrc < pSrcEnd) + { + NmStat = NMERROR_ARRAY_MISMATCH; + } + *ppBuf = pSrcEnd; + *pArrayLen = Length; + } + else + { + NmStat = NMERROR_PROTOCOL; + *pArrayLen = 0; + } + return (NmStat); +} + +/* NmMarshalString is used to marshal a null-terminated character string. + */ +tNMSTAT NmMarshalString(u8** ppBuf, char* pChars) +{ + u8* pMark; + char* pSrc; + char* pDst; + u16 Length; + + pMark = *ppBuf; + *pMark++ = IMP_TAG_CHAR_STRING; + /* Encode length at pMark later! */ + pDst = (char*)(pMark + 2); + pSrc = pChars; + while ((*pDst++ = *pSrc++) != '\0'); /* Classic string copy. */ + Length = (u16)(pSrc - pChars); + *pMark++ = (u8)(Length >> 8); + *pMark = (u8)Length; + *ppBuf = (u8*)pDst; + return (NMSTAT_SUCCESS); +} + +/* NmUnMarshalString is used to unmarshal a null-terminated character string. + * It returns the string in a newly-allocated buffer. + */ +tNMSTAT NmUnMarshalString(u8** ppBuf, char** ppChars) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u16 Length; + char* pChars; + char* pNull; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == IMP_ARRAY_CHAR_STRING) + { + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pChars = (char*)calloc(1, Length); + if (pChars != (char*)0) + { + strncpy(pChars, (char*)pSrc, Length); + pNull = pChars + (Length - 1); + /* + * Make sure string is null-terminated. + */ + *pNull = '\0'; + NmStat = NMSTAT_SUCCESS; + } + else + { + NmStat = NMERROR_MEMORY; + } + *ppChars = pChars; + *ppBuf = pSrc + Length; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +/* NmMarshalObjectId is used to marshal an object id. It takes advantage of + * the fact that an Oid structure may be treated as an array of u16 values. + * Note that tOid.IxCnt is not marshaled explicitly, since it may be inferred + * from the array length. + */ +tNMSTAT NmMarshalObjectId(u8** ppBuf, tOid* pOid) +{ + u8* pDst; + u16* pSrc; + u16* pSrcEnd; + u16 Length; + u16 Value; + + pDst = *ppBuf; + *pDst++ = IMP_TAG_OBJECT_ID; + Length = pOid->IxCnt + OID_NON_IX_U16_COUNT; + *pDst++ = (u8)(Length >> 8); + *pDst++ = (u8)Length; + pSrc = &(pOid->ContId); + pSrcEnd = pSrc + Length; + do + { + Value = *pSrc; + *pDst++ = (u8)(Value >> 8); + *pDst++ = (u8)Value; + } while (++pSrc < pSrcEnd); + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +/* NmUnMarshalObjectId is used to unmarshal an object id. + */ +tNMSTAT NmUnMarshalObjectId(u8** ppBuf, tOid* pOid) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u16* pDst; + u16* pDstEnd; + u16 Length; + u16 Value; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == IMP_ARRAY_OBJECT_ID) + { + NmStat = NMSTAT_SUCCESS; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + *ppBuf = pSrc + (Length * sizeof(u16)); + if (Length > (OID_NON_IX_U16_COUNT + MAX_OID_LEVELS)) + { + Length = (OID_NON_IX_U16_COUNT + MAX_OID_LEVELS); + NmStat = NMERROR_OBJECT_ID; + } + if (Length >= OID_NON_IX_U16_COUNT) + { + pOid->IxCnt = Length - OID_NON_IX_U16_COUNT; + pDst = &(pOid->ContId); + pDstEnd = pDst + Length; + do + { + Value = (u16)((*pSrc++) << 8); + Value |= (u16)(*pSrc++); + *pDst = Value; + } while (++pDst < pDstEnd); + } + else + { + pOid->IxCnt = (u16)0; + pOid->ContId = NM_CONTID_UNDEFINED; + NmStat = NMERROR_OBJECT_ID; + } + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +tNMSTAT NmMarshalClassId(u8** ppBuf, tCID Cid) +{ + u8* pDst; + + pDst = *ppBuf; + if (Cid < 256) + { + *pDst++ = IMP_TAG_CLASS_ID_1; + } + else + { + *pDst++ = IMP_TAG_CLASS_ID_2; + *pDst++ = (u8)(Cid >> 8); + } + *pDst++ = (u8)Cid; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +tNMSTAT NmUnMarshalClassId(u8** ppBuf, tCID* pCid) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Unit; + tCID Cid; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == IMP_TYPE_CLASS_ID) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + if (Unit == IMP_UNIT_1) + { + *pCid = (tCID)(*pSrc++); + } + else if (Unit == IMP_UNIT_2) + { + Cid = (tCID)((*pSrc++) << 8); + Cid |= (tCID)(*pSrc++); + *pCid = Cid; + } + else + { + NmStat = NMERROR_ENCODING; + *pCid = NM_CLASS_UNDEFINED; + pSrc += (Unit + 1); + } + *ppBuf = pSrc; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +tNMSTAT NmMarshalClassMember(u8** ppBuf, tCID Cid, u8 Member, u8 Type) +{ + u8* pDst; + + pDst = *ppBuf; + if (Cid < 256) + { + *pDst++ = Type | IMP_ARRAY_FALSE | IMP_UNIT_2; + } + else + { + *pDst++ = Type | IMP_ARRAY_FALSE | IMP_UNIT_3; + *pDst++ = (u8)(Cid >> 8); + } + *pDst++ = (u8)Cid; + *pDst++ = Member; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +tNMSTAT NmUnMarshalClassMember(u8** ppBuf, tCID* pCid, u8* pMember, u8 Type) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Unit; + tCID Cid; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == Type) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + if (Unit == IMP_UNIT_2) + { + *pCid = (tCID)(*pSrc++); + *pMember = *pSrc++; + } + else if (Unit == IMP_UNIT_3) + { + Cid = (tCID)((*pSrc++) << 8); + Cid |= (tCID)(*pSrc++); + *pCid = Cid; + *pMember = *pSrc++; + } + else + { + NmStat = NMERROR_ENCODING; + *pCid = NM_CLASS_UNDEFINED; + *pMember = (u8)0; + pSrc += (Unit + 1); + } + *ppBuf = pSrc; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +tNMSTAT NmMarshalStatusCode(u8** ppBuf, tNMSTAT Code) +{ + u8* pDst; + + pDst = *ppBuf; + *pDst++ = IMP_TAG_STATUS_CODE; + *pDst++ = (u8)(Code >> 8); + *pDst++ = (u8)Code; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +tNMSTAT NmUnMarshalStatusCode(u8** ppBuf, tNMSTAT* pCode) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Unit; + tNMSTAT Code; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == IMP_TYPE_STATUS_CODE) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + if (Unit == IMP_UNIT_2) + { + Code = (tNMSTAT)((*pSrc++) << 8); + Code |= (tNMSTAT)(*pSrc++); + *pCode = Code; + } + else + { + NmStat = NMERROR_ENCODING; + *pCode = NM_CLASS_UNDEFINED; + pSrc += (Unit + 1); + } + *ppBuf = pSrc; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +tNMSTAT NmMarshalEndOfMsg(u8** ppBuf, u32 CkSum, u8 UseCkSum) +{ + u8* pDst; + + pDst = *ppBuf; + if (!UseCkSum) + { + *pDst++ = IMP_TAG_END_OF_MSG_1; + CkSum = 0; + } + else if (CkSum < 65536) + { + *pDst++ = IMP_TAG_END_OF_MSG_2; + *pDst++ = (u8)(CkSum >> 8); + } + else + { + *pDst++ = IMP_TAG_END_OF_MSG_4; + *pDst++ = (u8)(CkSum >> 24); + *pDst++ = (u8)(CkSum >> 16); + *pDst++ = (u8)(CkSum >> 8); + } + *pDst++ = (u8)CkSum; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +tNMSTAT NmUnMarshalEndOfMsg(u8** ppBuf, u32* pCkSum, u8* pUseCkSum) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Unit; + u32 CkSum; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == IMP_TYPE_END_OF_MSG) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + CkSum = 0; + switch (Unit) + { + case IMP_UNIT_4: + CkSum = (u32)(*pSrc++); + CkSum <<= 8; + CkSum |= (u32)(*pSrc++); + CkSum <<= 8; + case IMP_UNIT_2: + CkSum |= (u32)(*pSrc++); + CkSum <<= 8; + CkSum |= (u32)(*pSrc++); + *pUseCkSum = TRUE; + break; + case IMP_UNIT_3: + default: + NmStat = NMERROR_ENCODING; + case IMP_UNIT_1: + pSrc += (Unit + 1); /* Skip the bogus checksum field. */ + *pUseCkSum = FALSE; + break; + } + *pCkSum = CkSum; + *ppBuf = pSrc; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +tNMSTAT NmMarshalUserId(u8** ppBuf, u32 Uid) +{ + u8* pDst; + + pDst = *ppBuf; + *pDst++ = IMP_TAG_USER_ID; + *pDst++ = (u8)(Uid >> 24); + *pDst++ = (u8)(Uid >> 16); + *pDst++ = (u8)(Uid >> 8); + *pDst++ = (u8)Uid; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +tNMSTAT NmUnMarshalUserId(u8** ppBuf, u32* pUid) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Unit; + u32 Uid; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == IMP_TYPE_USER_ID) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + if (Unit == IMP_UNIT_4) + { + NmStat = NMSTAT_SUCCESS; + Uid = (u32)(*pSrc++); + Uid <<= 8; + Uid |= (u32)(*pSrc++); + Uid <<= 8; + Uid |= (u32)(*pSrc++); + Uid <<= 8; + Uid |= (u32)(*pSrc++); + } + else + { + NmStat = NMERROR_ENCODING; + Uid = 0; /* Same as four ASCII nulls. */ + pSrc += (Unit + 1); /* Skip unused bytes. */ + } + *pUid = Uid; + *ppBuf = pSrc; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +tNMSTAT NmMarshalComparator(u8** ppBuf, u8 Comp) +{ + u8* pDst; + + pDst = *ppBuf; + *pDst++ = IMP_TAG_COMPARATOR; + *pDst++ = Comp; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +tNMSTAT NmUnMarshalComparator(u8** ppBuf, u8* pComp) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Unit; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == IMP_TYPE_COMPARATOR) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + if (Unit == IMP_UNIT_1) + { + NmStat = NMSTAT_SUCCESS; + *pComp = *pSrc++; + } + else + { + NmStat = NMERROR_ENCODING; + *pComp = (u8)0; + pSrc += (Unit + 1); /* Skip unused bytes. */ + } + *ppBuf = pSrc; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +tNMSTAT NmMarshalAppAddr(u8** ppBuf, u8* pAddr, u16 AddrLen) +{ + tNMSTAT NmStat; + u8* pDst; + u8* pSrc; + u8* pSrcEnd; + u16 Length; + + if (AddrLen > MAX_ARRAY1_LENGTH) + { + NmStat = NMERROR_APP_ADDR; + Length = MAX_ARRAY1_LENGTH; + } + else + { + NmStat = NMSTAT_SUCCESS; + Length = (u16)AddrLen; + } + pDst = *ppBuf; + *pDst++ = IMP_TAG_APP_ADDR; + *pDst++ = (u8)(Length >> 8); + *pDst++ = (u8)Length; + pSrc = pAddr; + pSrcEnd = pSrc + Length; + if (pSrc < pSrcEnd) do + { + *pDst++ = *pSrc; + } while (++pSrc < pSrcEnd); + *ppBuf = pDst; + return (NmStat); +} + +tNMSTAT NmUnMarshalAppAddr(u8** ppBuf, u8* pAddr, u16* pAddrLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + u8* pDst; + u8* pDstEnd; + u16 Length; + u8 Tag; + u8 Unit; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == IMP_ARRAY_APP_ADDR) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pDst = pAddr; + pDstEnd = pDst + BufLen; + if ((Unit == IMP_UNIT_1) && (Length <= BufLen)) + { + pSrcEnd = pSrc + Length; + if ((pDst < pDstEnd) && (pSrc < pSrcEnd)) do + { + *pDst++ = *pSrc++; + } while ((pDst < pDstEnd) && (pSrc < pSrcEnd)); + *pAddrLen = Length; + } + else + { + NmStat = NMERROR_APP_ADDR; + pSrcEnd = pSrc + (Length * (Unit + 1)); + *pAddrLen = (u16)0; + } + *ppBuf = pSrcEnd; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +/* NmMarshalLength is used to marshal a two-byte length value. Notice that, + * unlike the integer marshaling functions, this one always uses two bytes so + * that the size of the marshaled data is predictable. + */ +tNMSTAT NmMarshalLength(u8** ppBuf, tNMLEN Len) +{ + u8* pDst; + + pDst = *ppBuf; + *pDst++ = IMP_TAG_LENGTH; + *pDst++ = (u8)(Len >> 8); + *pDst++ = (u8)Len; + *ppBuf = pDst; + return (NMSTAT_SUCCESS); +} + +/* NmUnMarshalLength is used to unmarshal a two-byte length value. + */ +tNMSTAT NmUnMarshalLength(u8** ppBuf, tNMLEN* pLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8 Tag; + u8 Unit; + u16 Len; + + pSrc = *ppBuf; + Tag = *pSrc++; + if ((Tag & IMP_ARRAY_TYPE_MASK) == IMP_TYPE_LENGTH) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + if (Unit == IMP_UNIT_1) + { + Len = (u16)(*pSrc++); + } + else + { + /* Skip most significant bytes, if any. + */ + pSrc += (Unit - 1); + Len = (u16)((*pSrc++) << 8); + Len |= (u16)(*pSrc++); + } + *pLen = Len; + *ppBuf = pSrc; + } + else + { + NmStat = NMERROR_PROTOCOL; + } + return (NmStat); +} + +tNMSTAT NmMarshalImpHeader(u8** ppBuf, tIMPHDR* pImpHdr) +{ + tNMSTAT NmStat; + u8* pMsgLen; + u8* pHdrLen; + tNMLEN MsgLen; + tNMLEN HdrLen; + + /* Trick: We need to set aside space for the message and header + * lengths, then actually record them in the message later, when + * they're known for sure. So, we estimate them, marshal them, and + * remarshal them once they're known. + */ + pMsgLen = *ppBuf; + if ((NmStat = NmMarshalLength(ppBuf, 1000)) == NMSTAT_SUCCESS) + { + pHdrLen = *ppBuf; + if (((NmStat = NmMarshalLength(ppBuf, 1000) == + NMSTAT_SUCCESS)) && + ((NmStat = NmMarshalU16(ppBuf, pImpHdr->OpCode)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalStatusCode(ppBuf, pImpHdr->StatCode)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalObjectId(ppBuf, &(pImpHdr->ObjId))) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalUserId(ppBuf, pImpHdr->Uid)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU32(ppBuf, pImpHdr->Seq)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU32(ppBuf, pImpHdr->TransId1)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU32(ppBuf, pImpHdr->TransId2)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU16(ppBuf, pImpHdr->Access)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU16(ppBuf, pImpHdr->Link)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalAppAddr(ppBuf, pImpHdr->AppAddr, + pImpHdr->AppAddrLen)) == NMSTAT_SUCCESS)) + { + HdrLen = (tNMLEN)(*ppBuf - pMsgLen); + MsgLen = HdrLen + pImpHdr->RespBodyLen; + if (((NmStat = NmMarshalLength(&pMsgLen, MsgLen)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalLength(&pHdrLen, HdrLen)) == + NMSTAT_SUCCESS)) + { + /* Update the caller's IMP header structure. + */ + pImpHdr->MsgLen = MsgLen; + pImpHdr->HdrLen = HdrLen; + } + } + } + return (NmStat); +} + +tNMSTAT NmUnMarshalImpHeader(u8** ppBuf, tIMPHDR* pImpHdr) +{ + tNMSTAT NmStat; + + bzero((char*)pImpHdr, sizeof(tIMPHDR)); + if (((NmStat = NmUnMarshalLength(ppBuf, &(pImpHdr->MsgLen))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalLength(ppBuf, &(pImpHdr->HdrLen))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU16(ppBuf, &(pImpHdr->OpCode))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalStatusCode(ppBuf, &(pImpHdr->StatCode))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalObjectId(ppBuf, &(pImpHdr->ObjId))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalUserId(ppBuf, &(pImpHdr->Uid))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU32(ppBuf, &(pImpHdr->Seq))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU32(ppBuf, &(pImpHdr->TransId1))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU32(ppBuf, &(pImpHdr->TransId2))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU16(ppBuf, &(pImpHdr->Access))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU16(ppBuf, &(pImpHdr->Link))) == + NMSTAT_SUCCESS)) + { + NmStat = NmUnMarshalAppAddr(ppBuf, pImpHdr->AppAddr, + &(pImpHdr->AppAddrLen), IMP_APP_ADDR_BUFFER_LEN); + } + return (NmStat); +} + +tNMSTAT NmUnMarshalImpHeadHead(u8** ppBuf, tIMPHDR* pImpHdr) +{ + tNMSTAT NmStat; + + bzero((char*)pImpHdr, sizeof(tIMPHDR)); + if (((NmStat = NmUnMarshalLength(ppBuf, &(pImpHdr->MsgLen))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalLength(ppBuf, &(pImpHdr->HdrLen))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU16(ppBuf, &(pImpHdr->OpCode))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalStatusCode(ppBuf, &(pImpHdr->StatCode))) == + NMSTAT_SUCCESS)) + { + NmStat = NmUnMarshalObjectId(ppBuf, &(pImpHdr->ObjId)); + } + return (NmStat); +} + + + + +tNMSTAT NmMarshalEventHeader(u8** ppBuf, tEVHDR* pEvHdr, tNMLEN BodyLen) +{ + tNMSTAT NmStat; + u8* pMsgLen; + u8* pHdrLen; + tNMLEN MsgLen; + tNMLEN HdrLen; + u8 EvCode; + + + /* Note: The prolog of the event header must always match that of the + * IMP message header. + */ + pMsgLen = *ppBuf; + EvCode = pEvHdr->EvCode; + if ((NmStat = NmMarshalLength(ppBuf, 1000)) == NMSTAT_SUCCESS) + { + pHdrLen = *ppBuf; + if (((NmStat = NmMarshalLength(ppBuf, 1000) == + NMSTAT_SUCCESS)) && + ((NmStat = NmMarshalU16(ppBuf, (u16)IMP_MSG_EVENT_IND)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalObjectId(ppBuf, &(pEvHdr->ObjId))) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalEventId(ppBuf, pEvHdr->EvCls, + pEvHdr->EvNum)) == NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU8(ppBuf, EvCode)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU32(ppBuf, pEvHdr->Time)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU32(ppBuf, pEvHdr->GlEvNum)) == + NMSTAT_SUCCESS)) + { + if (EvCode == IMP_EVENT_ALARM) + { + /* Alarm record adds time of first + * occurrence and counter. + */ + if ((NmStat = NmMarshalU32(ppBuf, + pEvHdr->Time1)) == + NMSTAT_SUCCESS) + { + NmStat = NmMarshalU32(ppBuf, + pEvHdr->Count); + } + } + else if (EvCode == IMP_EVENT_REPLY) + { + /* Reply record adds action id, + * sequence, transaction ids, and + * return address (from action request). + */ + if (((NmStat = NmMarshalActionId(ppBuf, + pEvHdr->ActCls, pEvHdr->ActNum)) + == NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU32(ppBuf, + pEvHdr->Seq)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU32(ppBuf, + pEvHdr->TransId1)) == + NMSTAT_SUCCESS) && + ((NmStat = NmMarshalU32(ppBuf, + pEvHdr->TransId2)) == + NMSTAT_SUCCESS)) + { + NmStat = NmMarshalAppAddr(ppBuf, + pEvHdr->AppAddr, + pEvHdr->AppAddrLen); + } + } + if (NmStat == NMSTAT_SUCCESS) + { + HdrLen = (tNMLEN)(*ppBuf - pMsgLen); + MsgLen = HdrLen + BodyLen; + if (((NmStat = NmMarshalLength(&pMsgLen, + MsgLen)) == NMSTAT_SUCCESS) && + ((NmStat = NmMarshalLength(&pHdrLen, + HdrLen)) == NMSTAT_SUCCESS)) + { + /* Update the caller's event header + * structure. + */ + pEvHdr->MsgLen = MsgLen; + pEvHdr->HdrLen = HdrLen; + } + } + } + } + return (NmStat); +} + +tNMSTAT NmUnMarshalEventHeader(u8** ppBuf, tEVHDR* pEvHdr) +{ + tNMSTAT NmStat; + u8 EvCode; + + bzero((char*)pEvHdr, sizeof(tEVHDR)); + if (((NmStat = NmUnMarshalLength(ppBuf, &(pEvHdr->MsgLen))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalLength(ppBuf, &(pEvHdr->HdrLen))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU16(ppBuf, &(pEvHdr->OpCode))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalObjectId(ppBuf, &(pEvHdr->ObjId))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalEventId(ppBuf, &(pEvHdr->EvCls), + &(pEvHdr->EvNum))) == NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU8(ppBuf, &(pEvHdr->EvCode))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU32(ppBuf, &(pEvHdr->Time))) == + NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU32(ppBuf, &(pEvHdr->GlEvNum))) == + NMSTAT_SUCCESS)) + { + EvCode = pEvHdr->EvCode; + if (EvCode == IMP_EVENT_ALARM) + { + /* Alarm record adds time of first occurrence and + * counter. + */ + if ((NmStat = NmUnMarshalU32(ppBuf, &(pEvHdr->Time1))) + == NMSTAT_SUCCESS) + { + NmStat = NmUnMarshalU32(ppBuf, + &(pEvHdr->Count)); + } + } + else if (EvCode == IMP_EVENT_REPLY) + { + /* Reply record adds action id, sequence, transaction + * ids, and return address (from action request). + */ + if (((NmStat = NmUnMarshalActionId(ppBuf, + &(pEvHdr->ActCls), &(pEvHdr->ActNum))) + == NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU32(ppBuf, &(pEvHdr->Seq))) + == NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU32(ppBuf, + &(pEvHdr->TransId1))) == NMSTAT_SUCCESS) && + ((NmStat = NmUnMarshalU32(ppBuf, + &(pEvHdr->TransId2))) == NMSTAT_SUCCESS)) + { + NmStat = NmUnMarshalAppAddr(ppBuf, + pEvHdr->AppAddr, &(pEvHdr->AppAddrLen), + IMP_APP_ADDR_BUFFER_LEN); + } + } + } + return (NmStat); +} + +tNMSTAT NmReadImpOpCode(u8* pBuf, u16* pOpCode) +{ + u8* pOpBytes; + + pOpBytes = pBuf + (2 * IMP_TYPE_LENGTH_MBYTES); + return (NmUnMarshalU16(&pOpBytes, pOpCode)); +} + +tNMSTAT NmWriteImpOpCode(u8* pBuf, u16 OpCode) +{ + tNMSTAT NmStat; + u8* pDst; + + pDst = pBuf + (2 * IMP_TYPE_LENGTH_MBYTES); + NmStat = NmMarshalU16(&pDst, OpCode); + return (NmStat); +} + +tNMSTAT NmWriteImpOpAndStatus(u8* pBuf, u16 OpCode, u16 StatusCode) +{ + tNMSTAT NmStat; + u8* pDst; + + pDst = pBuf + (2 * IMP_TYPE_LENGTH_MBYTES); + NmStat = NmMarshalU16(&pDst, OpCode); + if (NmStat == NMSTAT_SUCCESS) + { + NmStat = NmMarshalStatusCode(&pDst, StatusCode); + } + return (NmStat); +} + +/* NmSkipImpField advances the buffer pointer past the current IMP field. + * Notice that it does no error checking and instead fails miserably if there + * is a protocol violation. + */ +void NmSkipImpField(u8** ppBuf) +{ + u8* pSrc; + u8 Tag; + u8 UnitSize; + u16 Length; + + pSrc = *ppBuf; + Tag = *pSrc++; + UnitSize = (Tag & IMP_UNIT_MASK) + 1; + if (Tag & IMP_ARRAY_MASK) + { + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + } + else + { + Length = 1; + } + pSrc += (Length * UnitSize); + *ppBuf = pSrc; +} + +/* NmCopyImpField copies the current IMP field to the specified destination, + * advancing the buffer pointers as well. Notice that it does no error + * checking and instead fails miserably if there is a protocol violation. + */ +void NmCopyImpField(u8** ppBuf, u8** ppDst) +{ + u8* pSrc; + u8* pData; + u8* pDst; + u8 Tag; + u8 UnitSize; + u16 Length; + + pSrc = *ppBuf; + pData = pSrc; + Tag = *pSrc++; + UnitSize = (Tag & IMP_UNIT_MASK) + 1; + if (Tag & IMP_ARRAY_MASK) + { + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + } + else + { + Length = 1; + } + pSrc += (Length * UnitSize); + pDst = *ppDst; + do + { + *pDst++ = *pData; + } while (++pData < pSrc); + *ppBuf = pSrc; + *ppDst = pDst; +} + +/* NmSetAttrStatus scans for the indicated attribute id and, if it's found, + * sets the status to the value specified. It is assumed that the buffer has + * the format , as in a set response. This function + * is called from the various nmc-generated "reject" functions. + */ +tNMSTAT NmSetAttrStatus(u8* pBuf, tCID Cid, u8 AttrId, tNMSTAT AttrStat) +{ + tNMSTAT NmStat; + bool FoundIt; + u8* pSrc; + u8* pMark; + tCID MsgCid; + u8 MsgAttrId; + tNMSTAT MsgStat; + + NmStat = NMSTAT_SUCCESS; + FoundIt = FALSE; + pSrc = pBuf; + while ((*pSrc & IMP_ARRAY_TYPE_MASK) != IMP_TYPE_END_OF_MSG) + { + if ((NmStat = NmUnMarshalAttrId(&pSrc, &MsgCid, &MsgAttrId)) != + NMSTAT_SUCCESS) + { + break; + } + NmSkipImpField(&pSrc); /* Eat the value. */ + pMark = pSrc; + if ((NmStat = NmUnMarshalStatusCode(&pSrc, &MsgStat)) != + NMSTAT_SUCCESS) + { + break; + } + if ((MsgCid == Cid) && (MsgAttrId == AttrId)) + { + *(pMark + 1) = (u8)(AttrStat >> 8); + *(pMark + 2) = (u8)(AttrStat); + FoundIt = TRUE; + break; + } + } + if ((NmStat == NMSTAT_SUCCESS) && (!FoundIt)) + { + NmStat = NMERROR_INTERNAL_ATTR; + } + return (NmStat); +} + +/* NmMarshalByteArIx marshals an array of index and one-byte value pairs + * (tARu8). It is used to set specific array elements. + */ +tNMSTAT NmMarshalByteArIx(u8** ppBuf, tARu8* pArIx, u16 ArIxLen, u8 Tag) +{ + tNMSTAT NmStat = NMSTAT_SUCCESS; + u8* pDst; + u8* pLen; + tARu8* pSrc; + tARu8* pSrcEnd; + u16 ElemCount; + u16 Length; + u8 Index; + + ElemCount = 0; + pDst = *ppBuf; + *pDst++ = Tag; + pLen = pDst; /* remember where to put length */ + pDst += 2; /* bump past length */ + pSrc = pArIx; + pSrcEnd = pSrc + ArIxLen; + if (pSrc < pSrcEnd) do + { + Index = pSrc->Index; + if (Index < MAX_ARRAY1_LENGTH) + { + *pDst++ = Index; + *pDst++ = pSrc->Value; + ++ElemCount; + } + else + { + NmStat = NMERROR_ARRAY_TOO_BIG; + } + } while (++pSrc < pSrcEnd); + /* + * IMP array length value is 2 * number of index/value pairs, since + * unit is 1 byte and both index and value are 1 byte long. + */ + Length = ElemCount << 1; + *pLen++ = (u8)(Length >> 8); + *pLen = (u8)Length; + *ppBuf = pDst; + return (NmStat); +} + +/* NmUnMarshalARu8 unmarshals a sequence of index/value pairs into an array of + * index and one-byte value pairs (tARu8). + */ +tNMSTAT NmUnMarshalARu8(u8** ppBuf, tARu8* pArIx, u16* pArIxLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + tARu8* pAr; + tARu8* pArEnd; + u16 Length; + u8 Tag; + u8 Type; + u8 Unit; + ix Offset; + + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_IX_UINT) || (Type == IMP_ARRAY_IX_SINT)) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pSrcEnd = pSrc + ((Length - 1) * (Unit + 1)); + pAr = pArIx; + pArEnd = pAr + BufLen; + Offset = (ix)Unit; + if ((pAr < pArEnd) && (pSrc < pSrcEnd)) do + { + pAr->Index = *pSrc++; + /* + * Adjust source to discard most significant + * bytes (if any). + */ + pSrc += Offset; + pAr->Value = *pSrc++; + } while ((++pAr < pArEnd) && (pSrc < pSrcEnd)); + if (pSrc < pSrcEnd) + { + NmStat = NMERROR_ARRAY_MISMATCH; + } + *ppBuf = pSrcEnd + (Unit + 1); + *pArIxLen = (u16)(pAr - pArIx); + } + else + { + NmStat = NMERROR_PROTOCOL; + *pArIxLen = 0; + } + return (NmStat); +} + +/* NmUnMarshalArrayIxU8 unmarshals a sequence of index/value pairs directly + * into an array of one-byte values (u8). + */ +tNMSTAT NmUnMarshalArrayIxU8(u8** ppBuf, u8* pArray, u16* pArrayLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + u8* pArrayEnd; + u16 Length; + u8 Tag; + u8 Type; + u8 Unit; + ix Offset; + u8 Index; + u8 Value; + u16 MaxIndex; + + MaxIndex = 0; + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_IX_UINT) || (Type == IMP_ARRAY_IX_SINT)) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pSrcEnd = pSrc + ((Length - 1) * (Unit + 1)); + Offset = (ix)Unit; + pArrayEnd = pArray + BufLen; + if (pSrc < pSrcEnd) do + { + Index = *pSrc++; + if (Index > MaxIndex) + { + MaxIndex = Index; + } + /* + * Adjust source to discard most significant + * bytes (if any). + */ + pSrc += Offset; + Value = *pSrc++; + if (Index < BufLen) + { + *(pArray + Index) = Value; + } + else + { + NmStat = NMERROR_ARRAY_TOO_BIG; + } + } while (pSrc < pSrcEnd); + *ppBuf = pSrcEnd + (Unit + 1); + } + else + { + NmStat = NMERROR_PROTOCOL; + } + *pArrayLen = MaxIndex; + return (NmStat); +} + +/* NmMarshalWordArIx marshals an array of index and two-byte value pairs + * (tARu16). It is used to set specific array elements. + */ +tNMSTAT NmMarshalWordArIx(u8** ppBuf, tARu16* pArIx, u16 ArIxLen, u8 Tag) +{ + tNMSTAT NmStat = NMSTAT_SUCCESS; + u8* pDst; + u8* pLen; + tARu16* pSrc; + tARu16* pSrcEnd; + u16 ElemCount; + u16 Length; + u8 Index; + u16 Value; + + ElemCount = 0; + pDst = *ppBuf; + *pDst++ = Tag; + pLen = pDst; /* remember where to put length */ + pDst += 2; /* bump past length */ + pSrc = pArIx; + pSrcEnd = pSrc + ArIxLen; + if (pSrc < pSrcEnd) do + { + Index = pSrc->Index; + if (Index < MAX_ARRAY1_LENGTH) + { + *pDst++ = Index; + Value = pSrc->Value; + *pDst++ = (u8)(Value >> 8); + *pDst++ = (u8)Value; + ++ElemCount; + } + else + { + NmStat = NMERROR_ARRAY_TOO_BIG; + } + } while (++pSrc < pSrcEnd); + /* + * IMP array length value is 1/2 number of indexes + number of values, + * since unit is 2 bytes and index is 1 byte long and value is 2 bytes + * long. If the number of elements is odd, a pad byte is put at the + * end of the IMP array. + */ + Length = ((ElemCount + 1) >> 1) + ElemCount; + *pLen++ = (u8)(Length >> 8); + *pLen = (u8)Length; + if (ElemCount & 1) + { + *pDst++ = (u8)0; + } + *ppBuf = pDst; + return (NmStat); +} + +/* NmUnMarshalARu16 unmarshals a sequence of index/value pairs into an array of + * index and two-byte value pairs (tARu16). + */ +tNMSTAT NmUnMarshalARu16(u8** ppBuf, tARu16* pArIx, u16* pArIxLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + tARu16* pAr; + tARu16* pArEnd; + u16 Length; + u8 Tag; + u8 Type; + u8 Unit; + ix Offset; + u16 Value; + + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_IX_UINT) || (Type == IMP_ARRAY_IX_SINT)) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pSrcEnd = pSrc + ((Length - 1) * (Unit + 1)); + pAr = pArIx; + pArEnd = pAr + BufLen; + if (Unit == IMP_UNIT_1) + { + if ((pAr < pArEnd) && (pSrc < pSrcEnd)) do + { + pAr->Index = *pSrc++; + Value = (u16)(*pSrc++); + if ((Type == IMP_ARRAY_IX_SINT) && + (Value & (u16)0x080)) + { + /* Sign extension. + */ + Value |= (u16)0x0ff00; + } + pAr->Value = Value; + } while ((++pAr < pArEnd) && (pSrc < pSrcEnd)); + } + else + { + Offset = (ix)(Unit - 1); + if ((pAr < pArEnd) && (pSrc < pSrcEnd)) do + { + pAr->Index = *pSrc++; + /* + * Adjust source to discard most significant + * bytes (if any). + */ + pSrc += Offset; + Value = (u16)((*pSrc++) << 8); + Value |= (u16)(*pSrc++); + pAr->Value = Value; + } while ((++pAr < pArEnd) && (pSrc < pSrcEnd)); + } + if (pSrc < pSrcEnd) + { + NmStat = NMERROR_ARRAY_MISMATCH; + } + *ppBuf = pSrcEnd + (Unit + 1); + *pArIxLen = (u16)(pAr - pArIx); + } + else + { + NmStat = NMERROR_PROTOCOL; + *pArIxLen = 0; + } + return (NmStat); +} + +/* NmUnMarshalArrayIxU16 unmarshals a sequence of index/value pairs directly + * into an array of two-byte values (u16). + */ +tNMSTAT NmUnMarshalArrayIxU16(u8** ppBuf, u16* pArray, u16* pArrayLen, + u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + u16* pArrayEnd; + u16 Length; + u8 Tag; + u8 Type; + u8 Unit; + ix Offset; + u8 Index; + u16 Value; + u16 MaxIndex; + + MaxIndex = 0; + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_IX_UINT) || (Type == IMP_ARRAY_IX_SINT)) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pSrcEnd = pSrc + ((Length - 1) * (Unit + 1)); + pArrayEnd = pArray + BufLen; + if (Unit == IMP_UNIT_1) + { + if (pSrc < pSrcEnd) do + { + Index = *pSrc++; + if (Index > MaxIndex) + { + MaxIndex = Index; + } + Value = (u16)(*pSrc++); + if (Index < BufLen) + { + if ((Type == IMP_ARRAY_IX_SINT) && + (Value & (u16)0x080)) + { + /* Sign extension. + */ + Value |= (u16)0x0ff00; + } + *(pArray + Index) = Value; + } + else + { + NmStat = NMERROR_ARRAY_TOO_BIG; + } + } while (pSrc < pSrcEnd); + } + else + { + Offset = (ix)(Unit - 1); + if (pSrc < pSrcEnd) do + { + Index = *pSrc++; + if (Index > MaxIndex) + { + MaxIndex = Index; + } + /* + * Adjust source to discard most significant + * bytes (if any). + */ + pSrc += Offset; + Value = (u16)((*pSrc++) << 8); + Value |= (u16)(*pSrc++); + if (Index < BufLen) + { + *(pArray + Index) = Value; + } + else + { + NmStat = NMERROR_ARRAY_TOO_BIG; + } + } while (pSrc < pSrcEnd); + } + *ppBuf = pSrcEnd + (Unit + 1); + } + else + { + NmStat = NMERROR_PROTOCOL; + } + *pArrayLen = MaxIndex; + return (NmStat); +} + +/* NmMarshalDWordArIx marshals an array of index and four-byte value pairs + * (tARu32). It is used to set specific array elements. + */ +tNMSTAT NmMarshalDWordArIx(u8** ppBuf, tARu32* pArIx, u16 ArIxLen, u8 Tag) +{ + tNMSTAT NmStat = NMSTAT_SUCCESS; + u8* pDst; + u8* pLen; + tARu32* pSrc; + tARu32* pSrcEnd; + u16 ElemCount; + u16 Length; + u8 Index; + u32 Value; + + ElemCount = 0; + pDst = *ppBuf; + *pDst++ = Tag; + pLen = pDst; /* remember where to put length */ + pDst += 2; /* bump past length */ + pSrc = pArIx; + pSrcEnd = pSrc + ArIxLen; + if (pSrc < pSrcEnd) do + { + Index = pSrc->Index; + if (Index < MAX_ARRAY1_LENGTH) + { + *pDst++ = Index; + Value = pSrc->Value; + *pDst++ = (u8)(Value >> 24); + *pDst++ = (u8)(Value >> 16); + *pDst++ = (u8)(Value >> 8); + *pDst++ = (u8)Value; + ++ElemCount; + } + else + { + NmStat = NMERROR_ARRAY_TOO_BIG; + } + } while (++pSrc < pSrcEnd); + /* + * IMP array length value is 1/4 number of indexes + number of values, + * since unit is 4 bytes and index is 1 byte long and value is 4 bytes + * long. If the number of elements is not a multiple of four, up to + * three pad bytes are put at the end of the IMP array. + */ + Length = ((ElemCount + 3) >> 2) + ElemCount; + *pLen++ = (u8)(Length >> 8); + *pLen = (u8)Length; + while (ElemCount++ & 3) + { + *pDst++ = (u8)0; + } + *ppBuf = pDst; + return (NmStat); +} + +/* NmUnMarshalARu32 unmarshals a sequence of index/value pairs into an array of + * index and four-byte value pairs (tARu32). + */ +tNMSTAT NmUnMarshalARu32(u8** ppBuf, tARu32* pArIx, u16* pArIxLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + tARu32* pAr; + tARu32* pArEnd; + u16 Length; + u8 Tag; + u8 Type; + u8 Unit; + u32 Value; + + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_IX_UINT) || (Type == IMP_ARRAY_IX_SINT)) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pSrcEnd = pSrc + ((Length - 1) * (Unit + 1)); + pAr = pArIx; + pArEnd = pAr + BufLen; + if ((pAr < pArEnd) && (pSrc < pSrcEnd)) do + { + pAr->Index = *pSrc++; + switch (Unit) + { + case IMP_UNIT_4: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + break; + case IMP_UNIT_3: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + if ((Type == IMP_ARRAY_IX_SINT) && + (Value & (u32)0x0800000)) + { + /* Sign extension. + */ + Value |= (u32)0x0ff000000; + } + break; + case IMP_UNIT_2: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + if ((Type == IMP_ARRAY_IX_SINT) && + (Value & (u32)0x08000)) + { + /* Sign extension. + */ + Value |= (u32)0x0ffff0000; + } + break; + case IMP_UNIT_1: + Value = (u32)(*pSrc++); + if ((Type == IMP_ARRAY_IX_SINT) && + (Value & (u32)0x080)) + { + /* Sign extension. + */ + Value |= (u32)0x0ffffff00; + } + break; + default: + Value = 0; + break; + } + pAr->Value = Value; + } while ((++pAr < pArEnd) && (pSrc < pSrcEnd)); + if (pSrc < pSrcEnd) + { + NmStat = NMERROR_ARRAY_MISMATCH; + } + *ppBuf = pSrcEnd + (Unit + 1); + *pArIxLen = (u16)(pAr - pArIx); + } + else + { + NmStat = NMERROR_PROTOCOL; + *pArIxLen = 0; + } + return (NmStat); +} + +/* NmUnMarshalArrayIxU32 unmarshals a sequence of index/value pairs directly + * into an array of four-byte values (u32). + */ +tNMSTAT NmUnMarshalArrayIxU32(u8** ppBuf, u32* pArray, u16* pArrayLen, + u16 BufLen) +{ + tNMSTAT NmStat; + u8* pSrc; + u8* pSrcEnd; + u32* pArrayEnd; + u16 Length; + u8 Tag; + u8 Type; + u8 Unit; + u8 Index; + u32 Value; + u16 MaxIndex; + + MaxIndex = 0; + pSrc = *ppBuf; + Tag = *pSrc++; + Type = Tag & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_IX_UINT) || (Type == IMP_ARRAY_IX_SINT)) + { + NmStat = NMSTAT_SUCCESS; + Unit = Tag & IMP_UNIT_MASK; + Length = *pSrc++; + Length <<= 8; + Length |= *pSrc++; + pSrcEnd = pSrc + ((Length - 1) * (Unit + 1)); + pArrayEnd = pArray + BufLen; + if (pSrc < pSrcEnd) do + { + Index = *pSrc++; + if (Index > MaxIndex) + { + MaxIndex = Index; + } + switch (Unit) + { + case IMP_UNIT_4: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + break; + case IMP_UNIT_3: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + if ((Type == IMP_ARRAY_IX_SINT) && + (Value & (u32)0x0800000)) + { + /* Sign extension. + */ + Value |= (u32)0x0ff000000; + } + break; + case IMP_UNIT_2: + Value = (u32)(*pSrc++); + Value <<= 8; + Value |= (u32)(*pSrc++); + if ((Type == IMP_ARRAY_IX_SINT) && + (Value & (u32)0x08000)) + { + /* Sign extension. + */ + Value |= (u32)0x0ffff0000; + } + break; + case IMP_UNIT_1: + Value = (u32)(*pSrc++); + if ((Type == IMP_ARRAY_IX_SINT) && + (Value & (u32)0x080)) + { + /* Sign extension. + */ + Value |= (u32)0x0ffffff00; + } + break; + default: + Value = 0; + break; + } + if (Index < BufLen) + { + *(pArray + Index) = Value; + } + else + { + NmStat = NMERROR_ARRAY_TOO_BIG; + } + } while (pSrc < pSrcEnd); + *ppBuf = pSrcEnd + (Unit + 1); + } + else + { + NmStat = NMERROR_PROTOCOL; + } + *pArrayLen = MaxIndex; + return (NmStat); +} + +/* NmUnMarshalAnyArU8 will unmarshal either of the u8 array types. + */ +tNMSTAT NmUnMarshalAnyArU8(u8** ppBuf, u8* pArray, u16* pArrayLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8 Type; + + Type = **ppBuf & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_UINT) || (Type == IMP_ARRAY_SINT)) + { + NmStat = NmUnMarshalArrayU8(ppBuf, pArray, pArrayLen, + BufLen); + } + else if ((Type == IMP_ARRAY_IX_UINT) || (Type == IMP_ARRAY_IX_SINT)) + { + NmStat = NmUnMarshalArrayIxU8(ppBuf, pArray, pArrayLen, + BufLen); + } + else + { + NmStat = NMERROR_PROTOCOL; + *pArrayLen = 0; + } + return (NmStat); +} + +/* NmUnMarshalAnyArU16 will unmarshal either of the u16 array types. + */ +tNMSTAT NmUnMarshalAnyArU16(u8** ppBuf, u16* pArray, u16* pArrayLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8 Type; + + Type = **ppBuf & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_UINT) || (Type == IMP_ARRAY_SINT)) + { + NmStat = NmUnMarshalArrayU16(ppBuf, pArray, pArrayLen, + BufLen); + } + else if ((Type == IMP_ARRAY_IX_UINT) || (Type == IMP_ARRAY_IX_SINT)) + { + NmStat = NmUnMarshalArrayIxU16(ppBuf, pArray, pArrayLen, + BufLen); + } + else + { + NmStat = NMERROR_PROTOCOL; + *pArrayLen = 0; + } + return (NmStat); +} + +/* NmUnMarshalAnyArU32 will unmarshal either of the u32 array types. + */ +tNMSTAT NmUnMarshalAnyArU32(u8** ppBuf, u32* pArray, u16* pArrayLen, u16 BufLen) +{ + tNMSTAT NmStat; + u8 Type; + + Type = **ppBuf & IMP_ARRAY_TYPE_MASK; + if ((Type == IMP_ARRAY_UINT) || (Type == IMP_ARRAY_SINT)) + { + NmStat = NmUnMarshalArrayU32(ppBuf, pArray, pArrayLen, + BufLen); + } + else if ((Type == IMP_ARRAY_IX_UINT) || (Type == IMP_ARRAY_IX_SINT)) + { + NmStat = NmUnMarshalArrayIxU32(ppBuf, pArray, pArrayLen, + BufLen); + } + else + { + NmStat = NMERROR_PROTOCOL; + *pArrayLen = 0; + } + return (NmStat); +} diff --git a/src/configMgr/c_program/impmod/nmimp.h b/src/configMgr/c_program/impmod/nmimp.h new file mode 100644 index 0000000..0f2db6b --- /dev/null +++ b/src/configMgr/c_program/impmod/nmimp.h @@ -0,0 +1,459 @@ +#ifndef _NMIMP_H_ +#define _NMIMP_H_ +/* + * nmimp.h: Definitions of IMP data marshaling/unmarshaling stuff. + * + * Bruce Nelson, interWAVE, 08/16/95. + */ + +#include "iwtypes.h" +#include "nmtypes.h" +#include "nmstatus.h" + +/* IMP agent IP port number. + */ +#define IMP_PORT 2112 + +/* IMP message types, i.e., operation codes. Notice that response codes are + * the same as request codes, but with the "response bit" turned on. If the + * NOBJ bit is on, the request/response does not apply to an object, but to an + * entire agent and/or management application. + */ +#define IMP_MSG_UNDEFINED 0x000 +#define IMP_MSG_RESP_BIT 0x040 +#define IMP_MSG_NOBJ_BIT 0x080 +#define IMP_MSG_GET_REQ 0x001 +#define IMP_MSG_GET_RESP 0x041 +#define IMP_MSG_SET_REQ 0x002 +#define IMP_MSG_SET_RESP 0x042 +#define IMP_MSG_ACTION_REQ 0x003 +#define IMP_MSG_ACTION_RESP 0x043 +#define IMP_MSG_CREATE_REQ 0x004 +#define IMP_MSG_CREATE_RESP 0x044 +#define IMP_MSG_DELETE_REQ 0x005 +#define IMP_MSG_DELETE_RESP 0x045 +#define IMP_MSG_CONTENTS_REQ 0x006 +#define IMP_MSG_CONTENTS_RESP 0x046 +#define IMP_MSG_VALIDATE_REQ 0x007 +#define IMP_MSG_VALIDATE_RESP 0x047 +#define IMP_MSG_GETSEEK_REQ 0x008 +#define IMP_MSG_GETSEEK_RESP 0x048 +#define IMP_MSG_UNBUSY_REQ 0x009 +#define IMP_MSG_UNBUSY_RESP 0x049 +#define IMP_MSG_EVENT_IND 0x04a + +#define IMP_MSG_CREATE_FWD 0x03a +#define IMP_MSG_DELETE_FWD 0x039 + +/* Definitions of IMP type masks: upper five bits of tag byte. + */ +#define IMP_TYPE_MASK 0x0f8 +#define IMP_TYPE_NULL 0x080 +#define IMP_TYPE_UINT 0x088 +#define IMP_TYPE_SINT 0x090 +#define IMP_TYPE_CHAR_STRING 0x098 +#define IMP_TYPE_OBJECT_ID 0x0a0 +#define IMP_TYPE_CLASS_ID 0x0a8 +#define IMP_TYPE_ATTR_ID 0x0b0 +#define IMP_TYPE_EVENT_ID 0x0b8 +#define IMP_TYPE_ACTION_ID 0x0c0 +#define IMP_TYPE_STATUS_CODE 0x0c8 +#define IMP_TYPE_END_OF_MSG 0x0d0 +#define IMP_TYPE_USER_ID 0x0d8 +#define IMP_TYPE_COMPARATOR 0x0e0 +#define IMP_TYPE_APP_ADDR 0x0e8 +#define IMP_TYPE_LENGTH 0x0f0 +#define IMP_TYPE_IX_UINT 0x008 +#define IMP_TYPE_IX_SINT 0x010 + +/* Fixed size of an IMP marshaled length field. + */ +#define IMP_TYPE_LENGTH_MBYTES 3 + +/* Definitions of IMP array masks: bit two of tag byte. + */ +#define IMP_ARRAY_MASK 0x004 +#define IMP_ARRAY_TRUE 0x004 +#define IMP_ARRAY_FALSE 0x000 + +/* Definitions of array types and a mask to select both the type field and + * the array bit. The marshal/unmarshal functions need to check for both + * correct type value and correct array bit. + */ +#define IMP_ARRAY_TYPE_MASK (IMP_TYPE_MASK | IMP_ARRAY_MASK) +#define IMP_ARRAY_UINT (IMP_TYPE_UINT | IMP_ARRAY_TRUE) +#define IMP_ARRAY_SINT (IMP_TYPE_SINT | IMP_ARRAY_TRUE) +#define IMP_ARRAY_CHAR_STRING (IMP_TYPE_CHAR_STRING | IMP_ARRAY_TRUE) +#define IMP_ARRAY_OBJECT_ID (IMP_TYPE_OBJECT_ID | IMP_ARRAY_TRUE) +#define IMP_ARRAY_APP_ADDR (IMP_TYPE_APP_ADDR | IMP_ARRAY_TRUE) +#define IMP_ARRAY_IX_UINT (IMP_TYPE_IX_UINT | IMP_ARRAY_TRUE) +#define IMP_ARRAY_IX_SINT (IMP_TYPE_IX_SINT | IMP_ARRAY_TRUE) + +/* Definitions of IMP unit masks: low two bits of tag byte. + */ +#define IMP_UNIT_MASK 0x003 +#define IMP_UNIT_1 0x000 +#define IMP_UNIT_2 0x001 +#define IMP_UNIT_3 0x002 +#define IMP_UNIT_4 0x003 + +/* Definitions of IMP tag byte values. + */ +#define IMP_TAG_NULL \ + (u8)(IMP_TYPE_NULL | IMP_ARRAY_FALSE | IMP_UNIT_1) +#define IMP_TAG_UINT_1 \ + (u8)(IMP_TYPE_UINT | IMP_ARRAY_FALSE | IMP_UNIT_1) +#define IMP_TAG_SINT_1 \ + (u8)(IMP_TYPE_SINT | IMP_ARRAY_FALSE | IMP_UNIT_1) +#define IMP_TAG_UINT_2 \ + (u8)(IMP_TYPE_UINT | IMP_ARRAY_FALSE | IMP_UNIT_2) +#define IMP_TAG_SINT_2 \ + (u8)(IMP_TYPE_SINT | IMP_ARRAY_FALSE | IMP_UNIT_2) +#define IMP_TAG_UINT_4 \ + (u8)(IMP_TYPE_UINT | IMP_ARRAY_FALSE | IMP_UNIT_4) +#define IMP_TAG_SINT_4 \ + (u8)(IMP_TYPE_SINT | IMP_ARRAY_FALSE | IMP_UNIT_4) +#define IMP_TAG_UARRAY_1 \ + (u8)(IMP_TYPE_UINT | IMP_ARRAY_TRUE | IMP_UNIT_1) +#define IMP_TAG_SARRAY_1 \ + (u8)(IMP_TYPE_SINT | IMP_ARRAY_TRUE | IMP_UNIT_1) +#define IMP_TAG_UARRAY_2 \ + (u8)(IMP_TYPE_UINT | IMP_ARRAY_TRUE | IMP_UNIT_2) +#define IMP_TAG_SARRAY_2 \ + (u8)(IMP_TYPE_SINT | IMP_ARRAY_TRUE | IMP_UNIT_2) +#define IMP_TAG_UARRAY_4 \ + (u8)(IMP_TYPE_UINT | IMP_ARRAY_TRUE | IMP_UNIT_4) +#define IMP_TAG_SARRAY_4 \ + (u8)(IMP_TYPE_SINT | IMP_ARRAY_TRUE | IMP_UNIT_4) +#define IMP_TAG_CHAR_STRING \ + (u8)(IMP_TYPE_CHAR_STRING | IMP_ARRAY_TRUE | IMP_UNIT_1) +#define IMP_TAG_OBJECT_ID \ + (u8)(IMP_TYPE_OBJECT_ID | IMP_ARRAY_TRUE | IMP_UNIT_2) +#define IMP_TAG_CLASS_ID_1 \ + (u8)(IMP_TYPE_CLASS_ID | IMP_ARRAY_FALSE | IMP_UNIT_1) +#define IMP_TAG_CLASS_ID_2 \ + (u8)(IMP_TYPE_CLASS_ID | IMP_ARRAY_FALSE | IMP_UNIT_2) +#define IMP_TAG_ATTR_ID_2 \ + (u8)(IMP_TYPE_ATTR_ID | IMP_ARRAY_FALSE | IMP_UNIT_2) +#define IMP_TAG_ATTR_ID_3 \ + (u8)(IMP_TYPE_ATTR_ID | IMP_ARRAY_FALSE | IMP_UNIT_3) +#define IMP_TAG_EVENT_ID_2 \ + (u8)(IMP_TYPE_EVENT_ID | IMP_ARRAY_FALSE | IMP_UNIT_2) +#define IMP_TAG_EVENT_ID_3 \ + (u8)(IMP_TYPE_EVENT_ID | IMP_ARRAY_FALSE | IMP_UNIT_3) +#define IMP_TAG_ACTION_ID_2 \ + (u8)(IMP_TYPE_ACTION_ID | IMP_ARRAY_FALSE | IMP_UNIT_2) +#define IMP_TAG_ACTION_ID_3 \ + (u8)(IMP_TYPE_ACTION_ID | IMP_ARRAY_FALSE | IMP_UNIT_3) +#define IMP_TAG_STATUS_CODE \ + (u8)(IMP_TYPE_STATUS_CODE | IMP_ARRAY_FALSE | IMP_UNIT_2) +#define IMP_TAG_END_OF_MSG_1 \ + (u8)(IMP_TYPE_END_OF_MSG | IMP_ARRAY_FALSE | IMP_UNIT_1) +#define IMP_TAG_END_OF_MSG_2 \ + (u8)(IMP_TYPE_END_OF_MSG | IMP_ARRAY_FALSE | IMP_UNIT_2) +#define IMP_TAG_END_OF_MSG_4 \ + (u8)(IMP_TYPE_END_OF_MSG | IMP_ARRAY_FALSE | IMP_UNIT_4) +#define IMP_TAG_USER_ID \ + (u8)(IMP_TYPE_USER_ID | IMP_ARRAY_FALSE | IMP_UNIT_4) +#define IMP_TAG_COMPARATOR \ + (u8)(IMP_TYPE_COMPARATOR | IMP_ARRAY_FALSE | IMP_UNIT_1) +#define IMP_TAG_APP_ADDR \ + (u8)(IMP_TYPE_APP_ADDR | IMP_ARRAY_TRUE | IMP_UNIT_1) +#define IMP_TAG_LENGTH \ + (u8)(IMP_TYPE_LENGTH | IMP_ARRAY_FALSE | IMP_UNIT_2) +#define IMP_TAG_UARIX_1 \ + (u8)(IMP_TYPE_IX_UINT | IMP_ARRAY_TRUE | IMP_UNIT_1) +#define IMP_TAG_SARIX_1 \ + (u8)(IMP_TYPE_IX_SINT | IMP_ARRAY_TRUE | IMP_UNIT_1) +#define IMP_TAG_UARIX_2 \ + (u8)(IMP_TYPE_IX_UINT | IMP_ARRAY_TRUE | IMP_UNIT_2) +#define IMP_TAG_SARIX_2 \ + (u8)(IMP_TYPE_IX_SINT | IMP_ARRAY_TRUE | IMP_UNIT_2) +#define IMP_TAG_UARIX_4 \ + (u8)(IMP_TYPE_IX_UINT | IMP_ARRAY_TRUE | IMP_UNIT_4) +#define IMP_TAG_SARIX_4 \ + (u8)(IMP_TYPE_IX_SINT | IMP_ARRAY_TRUE | IMP_UNIT_4) + +/* IMP message header, unmarshaled. + */ +#define IMP_APP_ADDR_BUFFER_LEN 32 +struct IMPHDR +{ + tNMLEN MsgLen; + tNMLEN HdrLen; + tOid ObjId; + u16 OpCode; + tNMSTAT StatCode; + u32 Uid; + u32 Seq; + u32 TransId1; + u32 TransId2; + u16 Access; + u16 Link; + u16 AppAddrLen; + u8 AppAddr[IMP_APP_ADDR_BUFFER_LEN]; + /* + * The remaining fields do not get marshaled, but are very useful for + * keeping track of request and response message data. + */ + u8* pReqMsg; + u8* pRespBody; + tMID* pMidTbl; + void* pClone; + tNMLEN RespBodyLen; + tCID CrDelCid; + u16 CrDelIx; + u8 CrDelSave; + u8 ContOffset; + u8 MidTblLen; + u8 MidTblOffset; + u8 RespMbox; + u8 DoAttrValidate; + u8 DoClsValidate; + u8 DoAttrCommit; + u8 DoClsCommit; +}; +typedef struct IMPHDR tIMPHDR; +/* + * The following definition is an estimate for the maximum size of a marshaled + * IMP header. It uses the header structure size for the estimate of the + * maximal data and array size info to be sent (pretty accurate). To this it + * adds the structure size divided by four, in order to add-in at least one + * more byte per field, for the IMP tags (over-estimated). + */ +#define IMP_MAX_HDR_LENGTH (sizeof(tIMPHDR) + (sizeof(tIMPHDR) >> 2)) +#define IMP_MAX_BODY_LENGTH 1024 +#define IMP_MAX_MSG_LENGTH (IMP_MAX_HDR_LENGTH + IMP_MAX_BODY_LENGTH) + +/* IMP event header, unmarshaled. Notice that the first part of this header + * is, and MUST BE, the same as the IMP message header. + */ +struct EVHDR +{ + tNMLEN MsgLen; /* msg length */ + tNMLEN HdrLen; /* msg header length */ + tOid ObjId; /* object identifier */ + u16 OpCode; /* always "event indication" */ + tCID EvCls; /* class of event */ + u8 EvNum; /* number of event, within class */ + u8 EvCode; /* event/alarm/reply encoding */ + u32 Time; /* time of (most recent) occurrence: SSE */ + u32 GlEvNum; /* global event number */ + /* + * The following fields are used only for alarm records. + */ + u32 Time1; /* time of first occurrence: SSE */ + u32 Count; /* number of occurrences: 0=cleared */ + /* + * The following fields are used only for action replies. Their + * values echo the values in the action request. + */ + u16 ActCls; /* class of action */ + u8 ActNum; /* number of action, within class */ + u32 Seq; /* requester-provided sequence number */ + u32 TransId1; /* requester-provided data */ + u32 TransId2; /* requester-provided data */ + u16 AppAddrLen; /* return address of NM application */ + u8 AppAddr[IMP_APP_ADDR_BUFFER_LEN]; +}; +typedef struct EVHDR tEVHDR; +#define IMP_MAX_EVHDR_LENGTH (sizeof(tEVHDR) + (sizeof(tEVHDR) >> 2)) + +/* Values for event header EvCode value. This tells how to marshal and + * unmarshal the event header. + */ +#define IMP_EVENT_NORMAL 0 +#define IMP_EVENT_ALARM 1 +#define IMP_EVENT_REPLY 2 + +/* The following structure is used to store information about the most recent + * action for which a reply event has yet to be sent. It is a subset of the + * information from the original IMP request header. + */ +struct ACINFO +{ + u32 Seq; + u32 TransId1; + u32 TransId2; + u16 AppAddrLen; + u8 AppAddr[IMP_APP_ADDR_BUFFER_LEN]; + tCID ActCls; + u8 ActNum; + tCID EvCls; + u8 EvNum; + u8 RespMbox; +}; +typedef struct ACINFO tACINFO; + +/* Externs for Marshal/UnMarshal functions. + * + * NOTICE: For port of nmi to Windows 3.1, we use C++ linkage for IMP code. + * It is NOT in a library, and we need to avoid the Visual C++ (1.51) + * limitation of only one extern "C" per compilation (which we use up with + * nmtypes.h). + */ + +extern tNMSTAT NmMarshalNull(u8** ppBuf); +extern tNMSTAT NmUnMarshalNull(u8** ppBuf); +extern tNMSTAT NmMarshalU8(u8** ppBuf, u8 Value); +extern tNMSTAT NmMarshalS8(u8** ppBuf, s8 Value); +extern tNMSTAT NmUnMarshalU8(u8** ppBuf, u8* pValue); +#define NmUnMarshalS8(ppBuf, pValue) \ + NmUnMarshalU8((ppBuf), (u8*)(pValue)) +extern tNMSTAT NmMarshalU16(u8** ppBuf, u16 Value); +extern tNMSTAT NmMarshalS16(u8** ppBuf, s16 Value); +extern tNMSTAT NmUnMarshalU16(u8** ppBuf, u16* pValue); +#define NmUnMarshalS16(ppBuf, pValue) \ + NmUnMarshalU16((ppBuf), (u16*)(pValue)) +extern tNMSTAT NmMarshalU32(u8** ppBuf, u32 Value); +extern tNMSTAT NmMarshalS32(u8** ppBuf, s32 Value); +extern tNMSTAT NmUnMarshalU32(u8** ppBuf, u32* pValue); +#define NmUnMarshalS32(ppBuf, pValue) \ + NmUnMarshalU32((ppBuf), (u32*)(pValue)) +extern tNMSTAT NmMarshalByteArray(u8** ppBuf, u8* pArray, u16 ArrayLen, + u8 Tag); +#define NmMarshalArrayU8(ppBuf, pArray, ArrayLen) \ + NmMarshalByteArray((ppBuf), (pArray), (ArrayLen), IMP_TAG_UARRAY_1) +#define NmMarshalArrayS8(ppBuf, pArray, ArrayLen) \ + NmMarshalByteArray((ppBuf), (u8*)(pArray), (ArrayLen), \ + IMP_TAG_SARRAY_1) +extern tNMSTAT NmUnMarshalArrayU8(u8** ppBuf, u8* pArray, u16* pArrayLen, + u16 BufLen); +#define NmUnMarshalArrayS8(ppBuf, pArray, pArrayLen, BufLen) \ + NmUnMarshalArrayU8((ppBuf), (u8*)(pArray), (pArrayLen), (BufLen)) +extern tNMSTAT NmMarshalWordArray(u8** ppBuf, u16* pArray, u16 ArrayLen, + u8 Tag); +#define NmMarshalArrayU16(ppBuf, pArray, ArrayLen) \ + NmMarshalWordArray((ppBuf), (pArray), (ArrayLen), IMP_TAG_UARRAY_2) +#define NmMarshalArrayS16(ppBuf, pArray, ArrayLen) \ + NmMarshalWordArray((ppBuf), (u16*)(pArray), (ArrayLen), \ + IMP_TAG_SARRAY_2) +extern tNMSTAT NmUnMarshalArrayU16(u8** ppBuf, u16* pArray, u16* pArrayLen, + u16 BufLen); +#define NmUnMarshalArrayS16(ppBuf, pArray, pArrayLen, BufLen) \ + NmUnMarshalArrayU16((ppBuf), (u16*)(pArray), (pArrayLen), (BufLen)) +extern tNMSTAT NmMarshalDWordArray(u8** ppBuf, u32* pArray, u16 ArrayLen, + u8 Tag); +#define NmMarshalArrayU32(ppBuf, pArray, ArrayLen) \ + NmMarshalDWordArray((ppBuf), (pArray), (ArrayLen), IMP_TAG_UARRAY_4) +#define NmMarshalArrayS32(ppBuf, pArray, ArrayLen) \ + NmMarshalDWordArray((ppBuf), (u32*)(pArray), (ArrayLen), \ + IMP_TAG_SARRAY_4) +extern tNMSTAT NmUnMarshalArrayU32(u8** ppBuf, u32* pArray, u16* pArrayLen, + u16 BufLen); +#define NmUnMarshalArrayS32(ppBuf, pArray, pArrayLen, BufLen) \ + NmUnMarshalArrayU32((ppBuf), (u32*)(pArray), (pArrayLen), (BufLen)) +extern tNMSTAT NmMarshalString(u8** ppBuf, char* pChars); +extern tNMSTAT NmUnMarshalString(u8** ppBuf, char** ppChars); +extern tNMSTAT NmMarshalObjectId(u8** ppBuf, tOid* pOid); +extern tNMSTAT NmUnMarshalObjectId(u8** ppBuf, tOid* pOid); +extern tNMSTAT NmMarshalClassId(u8** ppBuf, tCID Cid); +extern tNMSTAT NmUnMarshalClassId(u8** ppBuf, tCID* pCid); +extern tNMSTAT NmMarshalClassMember(u8** ppBuf, tCID Cid, u8 Member, u8 Type); +extern tNMSTAT NmUnMarshalClassMember(u8** ppBuf, tCID* pCid, u8* pMember, + u8 Type); +#define NmMarshalAttrId(ppBuf, Cid, AttrNumber) \ + NmMarshalClassMember((ppBuf), (Cid), (AttrNumber), IMP_TYPE_ATTR_ID) +#define NmUnMarshalAttrId(ppBuf, pCid, pAttrNumber) \ + NmUnMarshalClassMember((ppBuf), (pCid), (pAttrNumber), \ + IMP_TYPE_ATTR_ID) +#define NmMarshalEventId(ppBuf, Cid, EventNumber) \ + NmMarshalClassMember((ppBuf), (Cid), (EventNumber), IMP_TYPE_EVENT_ID) +#define NmUnMarshalEventId(ppBuf, pCid, pEventNumber) \ + NmUnMarshalClassMember((ppBuf), (pCid), (pEventNumber), \ + IMP_TYPE_EVENT_ID) +#define NmMarshalActionId(ppBuf, Cid, ActionNumber) \ + NmMarshalClassMember((ppBuf), (Cid), (ActionNumber), IMP_TYPE_ACTION_ID) +#define NmUnMarshalActionId(ppBuf, pCid, pActionNumber) \ + NmUnMarshalClassMember((ppBuf), (pCid), (pActionNumber), \ + IMP_TYPE_ACTION_ID) +extern tNMSTAT NmMarshalStatusCode(u8** ppBuf, tNMSTAT Code); +extern tNMSTAT NmUnMarshalStatusCode(u8** ppBuf, tNMSTAT* pCode); +extern tNMSTAT NmMarshalEndOfMsg(u8** ppBuf, u32 CkSum, u8 UseCkSum); +extern tNMSTAT NmUnMarshalEndOfMsg(u8** ppBuf, u32* pCkSum, u8* pUseCkSum); +extern tNMSTAT NmMarshalUserId(u8** ppBuf, u32 Uid); +extern tNMSTAT NmUnMarshalUserId(u8** ppBuf, u32* pUid); +extern tNMSTAT NmMarshalComparator(u8** ppBuf, u8 Comp); +extern tNMSTAT NmUnMarshalComparator(u8** ppBuf, u8* pComp); +extern tNMSTAT NmMarshalAppAddr(u8** ppBuf, u8* pAddr, u16 AddrLen); +extern tNMSTAT NmUnMarshalAppAddr(u8** ppBuf, u8* pAddr, u16* pAddrLen, + u16 BufLen); +extern tNMSTAT NmMarshalLength(u8** ppBuf, tNMLEN Len); +extern tNMSTAT NmUnMarshalLength(u8** ppBuf, tNMLEN* pLen); +extern tNMSTAT NmMarshalImpHeader(u8** ppBuf, tIMPHDR* pImpHdr); +extern tNMSTAT NmUnMarshalImpHeader(u8** ppBuf, tIMPHDR* pImpHdr); +extern tNMSTAT NmUnMarshalImpHeadHead(u8** ppBuf, tIMPHDR* pImpHdr); +extern tNMSTAT NmMarshalEventHeader(u8** ppBuf, tEVHDR* pEvHdr, tNMLEN BodyLen); +extern tNMSTAT NmUnMarshalEventHeader(u8** ppBuf, tEVHDR* pEvHdr); +extern tNMSTAT NmReadImpOpCode(u8* pBuf, u16* pOpCode); +extern tNMSTAT NmWriteImpOpCode(u8* pBuf, u16 OpCode); +extern tNMSTAT NmWriteImpOpAndStatus(u8* pBuf, u16 OpCode, u16 StatusCode); +extern void NmSkipImpField(u8** ppBuf); +extern void NmCopyImpField(u8** ppBuf, u8** ppDst); +extern tNMSTAT NmSetAttrStatus(u8* pBuf, tCID Cid, u8 AttrId, tNMSTAT AttrStat); +/* + * The following array-oriented functions deal with partial arrays, that is, + * index/value pairs, vs. values for every index (as above). The unmarshal + * functions permit writing directly onto an array or into an array of index/ + * value pairs. + */ +extern tNMSTAT NmMarshalByteArIx(u8** ppBuf, tARu8* pArIx, u16 ArIxLen, u8 Tag); +#define NmMarshalARu8(ppBuf, pArIx, ArIxLen) \ + NmMarshalByteArIx((ppBuf), (pArIx), (ArIxLen), IMP_TAG_UARIX_1) +#define NmMarshalARs8(ppBuf, pArIx, ArIxLen) \ + NmMarshalByteArIx((ppBuf), (tARu8*)(pArIx), (ArIxLen), IMP_TAG_SARIX_1) +extern tNMSTAT NmUnMarshalARu8(u8** ppBuf, tARu8* pArIx, u16* pArIxLen, + u16 BufLen); +#define NmUnMarshalARs8(ppBuf, pArIx, pArIxLen, BufLen) \ + NmUnMarshalARu8((ppBuf), (tARu8*)(pArIx), (pArIxLen), (BufLen)) +extern tNMSTAT NmUnMarshalArrayIxU8(u8** ppBuf, u8* pArray, u16* pArrayLen, + u16 BufLen); +#define NmUnMarshalArrayIxS8(ppBuf, pArray, pArrayLen, BufLen) \ + NmUnMarshalArrayIxU8((ppBuf), (u8*)(pArray), (pArrayLen), (BufLen)) +extern tNMSTAT NmMarshalWordArIx(u8** ppBuf, tARu16* pArIx, u16 ArIxLen, + u8 Tag); +#define NmMarshalARu16(ppBuf, pArIx, ArIxLen) \ + NmMarshalWordArIx((ppBuf), (pArIx), (ArIxLen), IMP_TAG_UARIX_2) +#define NmMarshalARs16(ppBuf, pArIx, ArIxLen) \ + NmMarshalWordArIx((ppBuf), (tARu16*)(pArIx), (ArIxLen), IMP_TAG_SARIX_2) +extern tNMSTAT NmUnMarshalARu16(u8** ppBuf, tARu16* pArIx, u16* pArIxLen, + u16 BufLen); +#define NmUnMarshalARs16(ppBuf, pArIx, pArIxLen, BufLen) \ + NmUnMarshalARu16((ppBuf), (tARu16*)(pArIx), (pArIxLen), (BufLen)) +extern tNMSTAT NmUnMarshalArrayIxU16(u8** ppBuf, u16* pArray, u16* pArrayLen, + u16 BufLen); +#define NmUnMarshalArrayIxS16(ppBuf, pArray, pArrayLen, BufLen) \ + NmUnMarshalArrayIxU16((ppBuf), (u16*)(pArray), (pArrayLen), (BufLen)) +extern tNMSTAT NmMarshalDWordArIx(u8** ppBuf, tARu32* pArIx, u16 ArIxLen, + u8 Tag); +#define NmMarshalARu32(ppBuf, pArIx, ArIxLen) \ + NmMarshalDWordArIx((ppBuf), (pArIx), (ArIxLen), IMP_TAG_UARIX_4) +#define NmMarshalARs32(ppBuf, pArIx, ArIxLen) \ + NmMarshalDWordArIx((ppBuf), (tARu32*)(pArIx), (ArIxLen), \ + IMP_TAG_SARIX_4) +extern tNMSTAT NmUnMarshalARu32(u8** ppBuf, tARu32* pArIx, u16* pArIxLen, + u16 BufLen); +#define NmUnMarshalARs32(ppBuf, pArIx, pArIxLen, BufLen) \ + NmUnMarshalARu32((ppBuf), (tARu32*)(pArIx), (pArIxLen), (BufLen)) +extern tNMSTAT NmUnMarshalArrayIxU32(u8** ppBuf, u32* pArray, u16* pArrayLen, + u16 BufLen); +#define NmUnMarshalArrayIxS32(ppBuf, pArray, pArrayLen, BufLen) \ + NmUnMarshalArrayIxU32((ppBuf), (u32*)(pArray), (pArrayLen), (BufLen)) +/* + * The following array-oriented functions handle either the whole-array or + * partial-array encoding. + */ +extern tNMSTAT NmUnMarshalAnyArU8(u8** ppBuf, u8* pArray, u16* pArrayLen, + u16 BufLen); +#define NmUnMarshalAnyArS8(ppBuf, pArray, pArrayLen, BufLen) \ + NmUnMarshalAnyArU8((ppBuf), (u8*)(pArray), (pArrayLen), (BufLen)) +extern tNMSTAT NmUnMarshalAnyArU16(u8** ppBuf, u16* pArray, u16* pArrayLen, + u16 BufLen); +#define NmUnMarshalAnyArS16(ppBuf, pArray, pArrayLen, BufLen) \ + NmUnMarshalAnyArU16((ppBuf), (u16*)(pArray), (pArrayLen), (BufLen)) +extern tNMSTAT NmUnMarshalAnyArU32(u8** ppBuf, u32* pArray, u16* pArrayLen, + u16 BufLen); +#define NmUnMarshalAnyArS16(ppBuf, pArray, pArrayLen, BufLen) \ + NmUnMarshalAnyArU16((ppBuf), (u16*)(pArray), (pArrayLen), (BufLen)) + +#endif /* _NMIMP_H_ */ diff --git a/src/configMgr/c_program/impmod/nmstatus.h b/src/configMgr/c_program/impmod/nmstatus.h new file mode 100644 index 0000000..8d63a03 --- /dev/null +++ b/src/configMgr/c_program/impmod/nmstatus.h @@ -0,0 +1,110 @@ +#ifndef _NMSTATUS_H_ +#define _NMSTATUS_H_ +/* + * nmstatus.h: Definitions of status/error codes used with NM functions. + * + * IMPORTANT: PLEASE READ! + * + * This file is special, in that it is read by network management tools in + * order to learn the print strings for status/error codes. For this reason, + * the file format is very rigid. + * + * The file must only contain #define statements with the prefixes "NMSTAT_" + * and "NMERROR_", and all #define values must be plain numbers. Each #define + * must have a label modifier inside the special comment field (/ *{ ... }* /, + * with stars connected to slashes, illegal in this comment!) that immediately + * follows it. This label gives the print string for the status/error code. + * + * The "NMSTAT_" codes all report a form of success. The "NMERROR_" codes + * report error conditions that apply to an entire operation or to a + * particular attribute or parameter involved in the operation. + * + * Once a value is assigned here, it may never be changed. Add new values at + * the END of the correct category. + * + * Bruce Nelson, interWAVE, 08/16/95. + */ + +/* + * Non-error status codes: 0 - 9. + * + * Note: NMSTAT_FAILURE implies that an operation completed without error, + * but failed none the less. For Boolean operations, NMSTAT_SUCCESS means + * "TRUE" and NMSTAT_FAILURE means "FALSE". + */ +#define NMSTAT_SUCCESS 0 /*{ label("ok") }*/ +#define NMSTAT_FAILURE 1 /*{ label("failure w/o error") }*/ +#define NMSTAT_PENDING 2 /*{ label("operation pending") }*/ + +/* + * Begin error codes: >= 10. + */ +#define NMERROR_BAD_MESSAGE 10 /*{ label("unreadable message") }*/ +#define NMERROR_ENCODING 11 /*{ label("data encoding error") }*/ +#define NMERROR_PROTOCOL 12 /*{ label("protocol violation") }*/ +#define NMERROR_SYSTEM 13 /*{ label("system error") }*/ +#define NMERROR_MEMORY 14 /*{ label("out of memory") }*/ +#define NMERROR_INTERNAL 15 /*{ label("internal error") }*/ +#define NMERROR_INTERNAL_PARM 16 /*{ label("internal parm error") }*/ +#define NMERROR_VTABLE 17 /*{ label("virtual table error") }*/ +#define NMERROR_CONT_TABLE 18 /*{ label("container table error") }*/ +#define NMERROR_OPERATION 19 /*{ label("no such operation") }*/ +#define NMERROR_BAD_TYPE 20 /*{ label("no such data type") }*/ +#define NMERROR_BAD_CLASS 21 /*{ label("no such class") }*/ +#define NMERROR_BAD_ATTRIBUTE 22 /*{ label("no such attribute") }*/ +#define NMERROR_BAD_ACTION 23 /*{ label("no such action") }*/ +#define NMERROR_BAD_PARAMETER 24 /*{ label("no such parameter") }*/ +#define NMERROR_BAD_COMPARATOR 25 /*{ label("no such comparator") }*/ +#define NMERROR_TYPE 26 /*{ label("improper data type") }*/ +#define NMERROR_CLASS 27 /*{ label("improper class") }*/ +#define NMERROR_ATTRIBUTE 28 /*{ label("improper attribute") }*/ +#define NMERROR_ACTION 29 /*{ label("improper action") }*/ +#define NMERROR_PARAMETER 30 /*{ label("improper parameter") }*/ +#define NMERROR_COMPARATOR 31 /*{ label("improper comparator") }*/ +#define NMERROR_INDEX 32 /*{ label("improper index") }*/ +#define NMERROR_OBJECT 33 /*{ label("no such object") }*/ +#define NMERROR_OBJECT_EXISTS 34 /*{ label("object already exists") }*/ +#define NMERROR_OBJECT_ID 35 /*{ label("bad object identifier") }*/ +#define NMERROR_RANGE 36 /*{ label("value out-of-range") }*/ +#define NMERROR_ENUM 37 /*{ label("improper enum choice") }*/ +#define NMERROR_READONLY 38 /*{ label("read-only attribute") }*/ +#define NMERROR_ARRAY_TOO_BIG 39 /*{ label("array too long") }*/ +#define NMERROR_ARRAY_MISMATCH 40 /*{ label("array length mismatch") }*/ +#define NMERROR_APP_ADDR 41 /*{ label("bad application addr") }*/ +#define NMERROR_BUSY 42 /*{ label("busy") }*/ +#define NMERROR_KILLED 43 /*{ label("killed") }*/ +#define NMERROR_CONTINUE_HEADER 44 /*{ label("continue header error") }*/ +#define NMERROR_CONTINUE_MSG 45 /*{ label("continue msg error") }*/ +#define NMERROR_CONTINUE_OPCODE 46 /*{ label("continue opcode error") }*/ +#define NMERROR_CONTINUE_DATA 47 /*{ label("continue data error") }*/ +#define NMERROR_ATTR_ERRORS 48 /*{ label("attribute error(s)") }*/ +#define NMERROR_INTERNAL_ATTR 49 /*{ label("internal attr error") }*/ +#define NMERROR_ATTR_REJECTED 50 /*{ label("attr value rejected") }*/ +#define NMERROR_REJECT_HEADER 51 /*{ label("reject header error") }*/ +#define NMERROR_REJECT_DATA 52 /*{ label("reject data error") }*/ +#define NMERROR_INTERNAL_STAT 53 /*{ label("internal status error") }*/ +#define NMERROR_ABSTRACT 54 /*{ label("abstract class") }*/ +#define NMERROR_DBM_SAVE_VARS 55 /*{ label("dbm save vars error") }*/ +#define NMERROR_DBM_SAVE_CONTS 56 /*{ label("dbm save conts error") }*/ +#define NMERROR_DBM_REST_VARS 57 /*{ label("dbm restore vars error") }*/ +#define NMERROR_DBM_REST_CONTS 58 /*{ label("dbm restore conts error") }*/ +#define NMERROR_DBM_UNINIT 59 /*{ label("dbm uninitialized") }*/ +#define NMERROR_ADSTAT_UNLOCKED 60 /*{ label("admin state unlocked") }*/ +#define NMERROR_CHANNELS_INUSE 61 /*{ label("channel(s) in use") }*/ +#define NMERROR_OBJ_UNREACHABLE 62 /*{ label("object unreachable") }*/ +#define NMERROR_BUSY_ACTION 63 /*{ label("busy with action") }*/ +#define NMERROR_PARM_ERRORS 64 /*{ label("parameter error(s)") }*/ +#define NMERROR_PARM_UFLOW 65 /*{ label("too few parameters") }*/ +#define NMERROR_PARM_OFLOW 66 /*{ label("too many parameters") }*/ +#define NMERROR_INTERNAL_ACTION 67 /*{ label("internal action error") }*/ +#define NMERROR_ACTION_REJECTED 68 /*{ label("action rejected") }*/ +#define NMERROR_NO_TRANSITION 69 /*{ label("no transition")}*/ +#define NMERROR_CONT_READONLY 70 /*{ label("read-only container") }*/ +#define NMERROR_CREATE_REJECTED 71 /*{ label("create rejected") }*/ +#define NMERROR_DELETE_REJECTED 72 /*{ label("delete rejected") }*/ +#define NMERROR_CONT_REJECTED 73 /*{ label("contents rejected") }*/ +#define NMERROR_FORWARD_HEADER 74 /*{ label("forward header error") }*/ +#define NMERROR_FORWARD_MSG 75 /*{ label("forward msg error") }*/ +#define NMERROR_FORWARD_OPCODE 76 /*{ label("forward opcode error") }*/ + +#endif /* _NMSTATUS_H_ */ diff --git a/src/configMgr/c_program/impmod/nmtypes.c b/src/configMgr/c_program/impmod/nmtypes.c new file mode 100644 index 0000000..77cd095 --- /dev/null +++ b/src/configMgr/c_program/impmod/nmtypes.c @@ -0,0 +1,503 @@ +/* + * nmtypes.c: Methods for types in nmtypes.h. + * + * Bruce Nelson, interWAVE, 08/07/95. + * + * Modified by : XChen + */ + +#include +#include +#include +#include "nmtypes.h" + + +/* + * Methods for "class" Dva. + */ +void DvaCopy(tDva* pDstDva, tDva* pSrcDva) +{ + pDstDva->NetId = pSrcDva->NetId; + pDstDva->NodeId = pSrcDva->NodeId; +} + +int DvaEqual(tDva* pDva1, tDva* pDva2) +{ + return ((pDva1->NetId == pDva2->NetId) && + (pDva1->NodeId == pDva2->NodeId)); +} + +/* + * Methods for "class" Oid. + */ +void OidCtor(tOid* pOid) +{ + u16* pDst; + u16* pDstEnd; + + pDst = (u16*)pOid; + pDstEnd = pDst + (sizeof(tOid) / sizeof(u16)); + do + { + *pDst++ = (u16)0; + } while (++pDst < pDstEnd); +} + + +/* OidCopy takes advantage of the fact that an Oid structure may be treated as + * an array of u16 elements. + */ +void OidCopy(tOid* pDstOid, tOid* pSrcOid) +{ + u16* pDst; + u16* pSrc; + u16* pSrcEnd; + + pDst = (u16*)pDstOid; + pSrc = (u16*)pSrcOid; + pSrcEnd = pSrc + (sizeof(tOid) / sizeof(u16)); + do + { + *pDst++ = *pSrc; + } while (++pSrc < pSrcEnd); +} + +void OidMakeChild(tOid* pDstOid, tOid* pSrcOid, tCONT DstContId, u16 DstIndex) +{ + OidCopy(pDstOid, pSrcOid); + pDstOid->ContId = DstContId; + pDstOid->Ix[pDstOid->IxCnt++] = DstIndex; +} + +bool GetMeasPara(int Cid,int Eid,int num,char *pTempPara) +{ + bool IsEvPara = TRUE; + +//BtsMeasurement + if((Cid == 22)&&(Eid == 0)&&(num == 0)) + strcpy(pTempPara,"LocationAreaCode"); + else if((Cid == 22)&&(Eid == 0)&&(num == 1)) + strcpy(pTempPara,"CellIdentity"); + else if((Cid == 22)&&(Eid == 0)&&(num == 2)) + strcpy(pTempPara,"StartTime"); + else if((Cid == 22)&&(Eid == 0)&&(num == 3)) + strcpy(pTempPara,"BscName"); + else if((Cid == 22)&&(Eid == 0)&&(num == 4)) + strcpy(pTempPara,"BtsName"); + else if((Cid == 22)&&(Eid == 0)&&(num == 5)) + strcpy(pTempPara,"nbrOfAvailableTCHs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 6)) + strcpy(pTempPara,"meanNbrOfBusyTCHs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 7)) + strcpy(pTempPara,"maxNbrOfBusyTCHs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 8)) + strcpy(pTempPara,"meanNbrOfIdleTCHsPerInterferenceBand"); + else if((Cid == 22)&&(Eid == 0)&&(num == 9)) + strcpy(pTempPara,"attTCHSeizures"); + else if((Cid == 22)&&(Eid == 0)&&(num == 10)) + strcpy(pTempPara,"succTCHSeizures"); + else if((Cid == 22)&&(Eid == 0)&&(num == 11)) + strcpy(pTempPara,"nbrOfAvailableSDCCHs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 12)) + strcpy(pTempPara,"meanNbrOfBusySDCCHs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 13)) + strcpy(pTempPara,"maxNbrOfBusySDCCHs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 14)) + strcpy(pTempPara,"attSDCCHSeizures"); + else if((Cid == 22)&&(Eid == 0)&&(num == 15)) + strcpy(pTempPara,"attSDCCHSeizuresFailures"); + else if((Cid == 22)&&(Eid == 0)&&(num == 16)) + strcpy(pTempPara,"accAGCH"); + else if((Cid == 22)&&(Eid == 0)&&(num == 17)) + strcpy(pTempPara,"accPagingChannel"); + else if((Cid == 22)&&(Eid == 0)&&(num == 18)) + strcpy(pTempPara,"succAccProcCMReEst"); + else if((Cid == 22)&&(Eid == 0)&&(num == 19)) + strcpy(pTempPara,"succAccProcCMServ"); + else if((Cid == 22)&&(Eid == 0)&&(num == 20)) + strcpy(pTempPara,"succAccProcIMSIDet"); + else if((Cid == 22)&&(Eid == 0)&&(num == 21)) + strcpy(pTempPara,"succAccProcLocUpd"); + else if((Cid == 22)&&(Eid == 0)&&(num == 22)) + strcpy(pTempPara,"succAccProcPageRsp"); + else if((Cid == 22)&&(Eid == 0)&&(num == 23)) + strcpy(pTempPara,"succAccProcRACH"); + else if((Cid == 22)&&(Eid == 0)&&(num == 24)) + strcpy(pTempPara,"succImmediateAssingProcsEmgCall"); + else if((Cid == 22)&&(Eid == 0)&&(num == 25)) + strcpy(pTempPara,"succImmediateAssingProcsCMReEst"); + else if((Cid == 22)&&(Eid == 0)&&(num == 26)) + strcpy(pTempPara,"succImmediateAssingProcsPageRsp"); + else if((Cid == 22)&&(Eid == 0)&&(num == 27)) + strcpy(pTempPara,"succImmediateAssingProcsOrigCall"); + else if((Cid == 22)&&(Eid == 0)&&(num == 28)) + strcpy(pTempPara,"succImmediateAssingProcsLocUpd"); + else if((Cid == 22)&&(Eid == 0)&&(num == 29)) + strcpy(pTempPara,"succImmediateAssingProcsOthers"); + else if((Cid == 22)&&(Eid == 0)&&(num == 30)) + strcpy(pTempPara,"maxNbrOfBlockCH"); + else if((Cid == 22)&&(Eid == 0)&&(num == 31)) + strcpy(pTempPara,"chanReqMSFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 32)) + strcpy(pTempPara,"MinQualityUL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 33)) + strcpy(pTempPara,"MaxQualityUL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 34)) + strcpy(pTempPara,"MeanQualityUL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 35)) + strcpy(pTempPara,"TotalQualityDurationUL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 36)) + strcpy(pTempPara,"TotalQualitySamplesUL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 37)) + strcpy(pTempPara,"CumulativeQualityDistributionUL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 38)) + strcpy(pTempPara,"MinQualityDL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 39)) + strcpy(pTempPara,"MaxQualityDL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 40)) + strcpy(pTempPara,"MeanQualityDL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 41)) + strcpy(pTempPara,"TotalQualityDurationDL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 42)) + strcpy(pTempPara,"TotalQualitySamplesDL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 43)) + strcpy(pTempPara,"CumulativeQualityDistributionDL"); + else if((Cid == 22)&&(Eid == 0)&&(num == 44)) + strcpy(pTempPara,"HoInterBSCReqToMSC"); + else if((Cid == 22)&&(Eid == 0)&&(num == 45)) + strcpy(pTempPara,"HoInterBSCOutAtmpt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 46)) + strcpy(pTempPara,"HoInterBSCMSFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 47)) + strcpy(pTempPara,"HoInterBSCOut"); + else if((Cid == 22)&&(Eid == 0)&&(num == 48)) + strcpy(pTempPara,"HoInterBSCIn"); + else if((Cid == 22)&&(Eid == 0)&&(num == 49)) + strcpy(pTempPara,"HoIntraBSCAtmpt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 50)) + strcpy(pTempPara,"HoIntraBSCIn"); + else if((Cid == 22)&&(Eid == 0)&&(num == 51)) + strcpy(pTempPara,"HoIntraBscFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 52)) + strcpy(pTempPara,"HoIntraBscLostMs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 53)) + strcpy(pTempPara,"FailIncomingHDOs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 54)) + strcpy(pTempPara,"AvgRachSlotCount"); + else if((Cid == 22)&&(Eid == 0)&&(num == 55)) + strcpy(pTempPara,"AvgRachBusyCount"); + else if((Cid == 22)&&(Eid == 0)&&(num == 56)) + strcpy(pTempPara,"AvgRachAccessCount"); + else if((Cid == 22)&&(Eid == 0)&&(num == 57)) + strcpy(pTempPara,"attTCHAssignments"); + else if((Cid == 22)&&(Eid == 0)&&(num == 58)) + strcpy(pTempPara,"ImmAssignToBts"); + else if((Cid == 22)&&(Eid == 0)&&(num == 59)) + strcpy(pTempPara,"meanTCHBusyTime"); + else if((Cid == 22)&&(Eid == 0)&&(num == 60)) + strcpy(pTempPara,"SuccTchSmsEst"); + else if((Cid == 22)&&(Eid == 0)&&(num == 61)) + strcpy(pTempPara,"SuccSdcchSmsEst"); + else if((Cid == 22)&&(Eid == 0)&&(num == 62)) + strcpy(pTempPara,"UnsuccTchSmsEst"); + else if((Cid == 22)&&(Eid == 0)&&(num == 63)) + strcpy(pTempPara,"UnsuccSdcchSmsEst"); + else if((Cid == 22)&&(Eid == 0)&&(num == 64)) + strcpy(pTempPara,"attTransOfPagingMessagesThePCH"); + else if((Cid == 22)&&(Eid == 0)&&(num == 65)) + strcpy(pTempPara,"PGCHLoading"); + else if((Cid == 22)&&(Eid == 0)&&(num == 66)) + strcpy(pTempPara,"nbrOfPagesDiscardedFromPCHQueue"); + else if((Cid == 22)&&(Eid == 0)&&(num == 67)) + strcpy(pTempPara,"TCHEmergencyCalls"); + else if((Cid == 22)&&(Eid == 0)&&(num == 68)) + strcpy(pTempPara,"SDCCHEmergencyCalls"); + else if((Cid == 22)&&(Eid == 0)&&(num == 69)) + strcpy(pTempPara,"SDCCHActFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 70)) + strcpy(pTempPara,"deleteIndMsgCount"); + else if((Cid == 22)&&(Eid == 0)&&(num == 71)) + strcpy(pTempPara,"UplinkAvgSignal"); + else if((Cid == 22)&&(Eid == 0)&&(num == 72)) + strcpy(pTempPara,"DownlinkAvgSignal"); + else if((Cid == 22)&&(Eid == 0)&&(num == 73)) + strcpy(pTempPara,"HoAtmpToNeighborPerTargetCell"); + else if((Cid == 22)&&(Eid == 0)&&(num == 74)) + strcpy(pTempPara,"HoFailToNeighborPerTargetCell"); + else if((Cid == 22)&&(Eid == 0)&&(num == 75)) + strcpy(pTempPara,"succOutgoingInternalInterCellHDOs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 76)) + strcpy(pTempPara,"allAvailableTCHAllocatedTime"); + else if((Cid == 22)&&(Eid == 0)&&(num == 77)) + strcpy(pTempPara,"allAvailableSDCCHAllocatedTime"); + else if((Cid == 22)&&(Eid == 0)&&(num == 78)) + strcpy(pTempPara,"attInternalHDOsUlQual"); + else if((Cid == 22)&&(Eid == 0)&&(num == 79)) + strcpy(pTempPara,"attInternalHDOsDlQual"); + else if((Cid == 22)&&(Eid == 0)&&(num == 80)) + strcpy(pTempPara,"attInternalHDOsUlLevel"); + else if((Cid == 22)&&(Eid == 0)&&(num == 81)) + strcpy(pTempPara,"attInternalHDOsDlLevel"); + else if((Cid == 22)&&(Eid == 0)&&(num == 82)) + strcpy(pTempPara,"attInternalHDOsDistance"); + else if((Cid == 22)&&(Eid == 0)&&(num == 83)) + strcpy(pTempPara,"attInternalHDOsOMC"); + else if((Cid == 22)&&(Eid == 0)&&(num == 84)) + strcpy(pTempPara,"attInternalHDOsMSCInvoke"); + else if((Cid == 22)&&(Eid == 0)&&(num == 85)) + strcpy(pTempPara,"attInternalHDOsBetterCell"); + else if((Cid == 22)&&(Eid == 0)&&(num == 86)) + strcpy(pTempPara,"attInternalHDOsDirectedRetry"); + else if((Cid == 22)&&(Eid == 0)&&(num == 87)) + strcpy(pTempPara,"attInternalHDOsCallControl"); + else if((Cid == 22)&&(Eid == 0)&&(num == 88)) + strcpy(pTempPara,"SDCCHRadioFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 89)) + strcpy(pTempPara,"SDCCHAbisFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 90)) + strcpy(pTempPara,"SDCCHAifFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 91)) + strcpy(pTempPara,"SDCCHBtsFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 92)) + strcpy(pTempPara,"SDCCHTrxFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 93)) + strcpy(pTempPara,"SDCCHBssDrop"); + else if((Cid == 22)&&(Eid == 0)&&(num == 94)) + strcpy(pTempPara,"TCHRadioFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 95)) + strcpy(pTempPara,"TCHAbisFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 96)) + strcpy(pTempPara,"TCHAifFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 97)) + strcpy(pTempPara,"TCHBtsFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 98)) + strcpy(pTempPara,"TCHTrxFail"); + else if((Cid == 22)&&(Eid == 0)&&(num == 99)) + strcpy(pTempPara,"TCHBssDrop"); + else if((Cid == 22)&&(Eid == 0)&&(num == 100)) + strcpy(pTempPara,"succAccProcCMOrigCall"); + else if((Cid == 22)&&(Eid == 0)&&(num == 101)) + strcpy(pTempPara,"succAccProcCMSms"); + else if((Cid == 22)&&(Eid == 0)&&(num == 102)) + strcpy(pTempPara,"succAccProcCMSs"); + else if((Cid == 22)&&(Eid == 0)&&(num == 103)) + strcpy(pTempPara,"succAccProcCMGrpCall"); + else if((Cid == 22)&&(Eid == 0)&&(num == 104)) + strcpy(pTempPara,"succAccProcCMBroadCast"); + else if((Cid == 22)&&(Eid == 0)&&(num == 105)) + strcpy(pTempPara,"attImmediateAssingProcsEmgCall"); + else if((Cid == 22)&&(Eid == 0)&&(num == 106)) + strcpy(pTempPara,"attImmediateAssingProcsCMReEst"); + else if((Cid == 22)&&(Eid == 0)&&(num == 107)) + strcpy(pTempPara,"attImmediateAssingProcsPageRsp"); + else if((Cid == 22)&&(Eid == 0)&&(num == 108)) + strcpy(pTempPara,"attImmediateAssingProcsOrigCall"); + else if((Cid == 22)&&(Eid == 0)&&(num == 109)) + strcpy(pTempPara,"attImmediateAssingProcsLocUpd"); + else if((Cid == 22)&&(Eid == 0)&&(num == 110)) + strcpy(pTempPara,"attImmediateAssingProcsOthers"); + else if((Cid == 22)&&(Eid == 0)&&(num == 111)) + strcpy(pTempPara,"ARMtAlert"); + else if((Cid == 22)&&(Eid == 0)&&(num == 112)) + strcpy(pTempPara,"ARMoAlert"); + else if((Cid == 22)&&(Eid == 0)&&(num == 113)) + strcpy(pTempPara,"ARCallCfm"); + else if((Cid == 22)&&(Eid == 0)&&(num == 114)) + strcpy(pTempPara,"ARCallPro"); + else if((Cid == 22)&&(Eid == 0)&&(num == 115)) + strcpy(pTempPara,"ARMtConnect"); + else if((Cid == 22)&&(Eid == 0)&&(num == 116)) + strcpy(pTempPara,"ARMoConnect"); + else if((Cid == 22)&&(Eid == 0)&&(num == 117)) + strcpy(pTempPara,"ARMtConAck"); + else if((Cid == 22)&&(Eid == 0)&&(num == 118)) + strcpy(pTempPara,"ARMoConAck"); + else if((Cid == 22)&&(Eid == 0)&&(num == 119)) + strcpy(pTempPara,"ARMtSetUp"); + else if((Cid == 22)&&(Eid == 0)&&(num == 120)) + strcpy(pTempPara,"ARMoSetUp"); + else if((Cid == 22)&&(Eid == 0)&&(num == 121)) + strcpy(pTempPara,"ARAuthReq"); + else if((Cid == 22)&&(Eid == 0)&&(num == 122)) + strcpy(pTempPara,"ARAuthRes"); + else if((Cid == 22)&&(Eid == 0)&&(num == 123)) + strcpy(pTempPara,"ARIdReq"); + else if((Cid == 22)&&(Eid == 0)&&(num == 124)) + strcpy(pTempPara,"ARIdRes"); + else if((Cid == 22)&&(Eid == 0)&&(num == 125)) + strcpy(pTempPara,"ARTmsiRelocCmd"); + else if((Cid == 22)&&(Eid == 0)&&(num == 126)) + strcpy(pTempPara,"ARTmsiRelocCmp"); + else if((Cid == 22)&&(Eid == 0)&&(num == 127)) + strcpy(pTempPara,"ARCmServAcc"); + else if((Cid == 22)&&(Eid == 0)&&(num == 128)) + strcpy(pTempPara,"ARCmServRej"); + else if((Cid == 22)&&(Eid == 0)&&(num == 129)) + strcpy(pTempPara,"ARCmServAbt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 130)) + strcpy(pTempPara,"ARLocUpdAcc"); + else if((Cid == 22)&&(Eid == 0)&&(num == 131)) + strcpy(pTempPara,"ARLocUpdRej"); + else if((Cid == 22)&&(Eid == 0)&&(num == 132)) + strcpy(pTempPara,"ARCimoCmd"); + else if((Cid == 22)&&(Eid == 0)&&(num == 133)) + strcpy(pTempPara,"ARCimoCmp"); + else if((Cid == 22)&&(Eid == 0)&&(num == 134)) + strcpy(pTempPara,"ARCimoRej"); + else if((Cid == 22)&&(Eid == 0)&&(num == 135)) + strcpy(pTempPara,"AifBlocking"); + else if((Cid == 22)&&(Eid == 0)&&(num == 136)) + strcpy(pTempPara,"TCHBlocking"); + else if((Cid == 22)&&(Eid == 0)&&(num == 137)) + strcpy(pTempPara,"TrauBlocking"); + else if((Cid == 22)&&(Eid == 0)&&(num == 138)) + strcpy(pTempPara,"HoInterBSCInAtmpt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 139)) + strcpy(pTempPara,"succTCHAssignments"); + else if((Cid == 22)&&(Eid == 0)&&(num == 140)) + strcpy(pTempPara,"FailTCHAssignments"); + else if((Cid == 22)&&(Eid == 0)&&(num == 141)) + strcpy(pTempPara,"TCHQueuedCallAttempt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 142)) + strcpy(pTempPara,"TCHQueuedHoAttempt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 143)) + strcpy(pTempPara,"QFullCallAttempt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 144)) + strcpy(pTempPara,"QFullHoAttempt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 145)) + strcpy(pTempPara,"FailQdCallAttempt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 146)) + strcpy(pTempPara,"FailQdHoAttempt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 147)) + strcpy(pTempPara,"AvgQLength"); + else if((Cid == 22)&&(Eid == 0)&&(num == 148)) + strcpy(pTempPara,"AvgQTimeCallAttempt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 149)) + strcpy(pTempPara,"AvgQTimeHoAttempt"); + else if((Cid == 22)&&(Eid == 0)&&(num == 150)) + strcpy(pTempPara,"succAccProcPageRspSMS"); + +/* else if((Cid == 23)&&(Eid == 0)&&(num == 0)) + strcpy(pTempPara,"startTime"); + else if((Cid == 23)&&(Eid == 0)&&(num == 1)) + strcpy(pTempPara,"BscName"); + else if((Cid == 23)&&(Eid == 0)&&(num == 2)) + strcpy(pTempPara,"attImmediateAssingProcsPerBSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 3)) + strcpy(pTempPara,"succImmediateAssingProcsPerBSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 4)) + strcpy(pTempPara,"succInternalHDOsIntraCellPerBSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 5)) + strcpy(pTempPara,"unsuccInternalHDOsIntraCellPerBSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 6)) + strcpy(pTempPara,"succInternalHDOsPerBSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 7)) + strcpy(pTempPara,"unsuccInternalHDOsPerBSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 8)) + strcpy(pTempPara,"ClrReqToMSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 9)) + strcpy(pTempPara,"ConReqToMSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 10)) + strcpy(pTempPara,"ConCfmFromMSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 11)) + strcpy(pTempPara,"ConRefFromMSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 12)) + strcpy(pTempPara,"CMServiceRejFromMSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 13)) + strcpy(pTempPara,"attTransOfPagingMessagesPerBSC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 14)) + strcpy(pTempPara,"succInternalHDOsUlQual"); + else if((Cid == 23)&&(Eid == 0)&&(num == 15)) + strcpy(pTempPara,"succInternalHDOsDlQual"); + else if((Cid == 23)&&(Eid == 0)&&(num == 16)) + strcpy(pTempPara,"succInternalHDOsUlLevel"); + else if((Cid == 23)&&(Eid == 0)&&(num == 17)) + strcpy(pTempPara,"succInternalHDOsDlLevel"); + else if((Cid == 23)&&(Eid == 0)&&(num == 18)) + strcpy(pTempPara,"succInternalHDOsDistance"); + else if((Cid == 23)&&(Eid == 0)&&(num == 19)) + strcpy(pTempPara,"succInternalHDOsOMC"); + else if((Cid == 23)&&(Eid == 0)&&(num == 20)) + strcpy(pTempPara,"succInternalHDOsMSCInvoke"); + else if((Cid == 23)&&(Eid == 0)&&(num == 21)) + strcpy(pTempPara,"succInternalHDOsBetterCell"); + else if((Cid == 23)&&(Eid == 0)&&(num == 22)) + strcpy(pTempPara,"succInternalHDOsDirectedRetry"); + else if((Cid == 23)&&(Eid == 0)&&(num == 23)) + strcpy(pTempPara,"succInternalHDOsCallControl"); + else if((Cid == 23)&&(Eid == 0)&&(num == 24)) + strcpy(pTempPara,"flushReqReceived"); + else if((Cid == 23)&&(Eid == 0)&&(num == 25)) + strcpy(pTempPara,"pagingCSReqReceivedfromSGSN"); + else if((Cid == 23)&&(Eid == 0)&&(num == 26)) + strcpy(pTempPara,"pagingPSReqReceivedfromSGSN"); +*/ + else IsEvPara = FALSE; + return IsEvPara; +} +bool GetTableName(int cid,char *pTab) +{ + bool IsCid = TRUE; + if(cid == 58)//NMCLASS_AIf + strcpy(pTab,"AIf"); + else if(cid == 60) + strcpy(pTab,"ALink"); + else if(cid == 59) + strcpy(pTab,"ALinkSet"); + else if(cid == 5) + strcpy(pTab,"AbisMgr"); + else if(cid == 6) + strcpy(pTab,"AdjHand"); + else if(cid == 7) + strcpy(pTab,"Bsc"); + else if(cid == 8) + strcpy(pTab,"BssFunc"); + else if(cid == 9) + strcpy(pTab,"Bts"); + else if(cid == 11) + strcpy(pTab,"BtsMgr"); + else if(cid == 52) + strcpy(pTab,"ClockMod"); + else if(cid == 44) + strcpy(pTab,"E1port"); + else if(cid == 43) + strcpy(pTab,"E1trmod"); + else if(cid == 49) + strcpy(pTab,"TrauDsp"); + else if(cid == 19) + strcpy(pTab,"Software"); + else if(cid == 20) + strcpy(pTab,"Trx"); + else if(cid == 14) + strcpy(pTab,"TrxCh"); + else if(cid == 27) + strcpy(pTab,"Wavex"); + else if(cid == 18) + strcpy(pTab,"RCarrier"); + else if(cid == 17) + strcpy(pTab,"PwrCont"); + else if(cid == 15) + strcpy(pTab,"HandCont"); + else if(cid == 111) + strcpy(pTab,"SmsCb"); + else if(cid == 112) + strcpy(pTab,"SmMsg"); + else if(cid == 124) + strcpy(pTab,"Bssgp"); + else if(cid == 125) + strcpy(pTab,"Bvc"); + else if(cid == 126) + strcpy(pTab,"Ns"); + else if(cid == 127) + strcpy(pTab,"Nse"); + else if(cid == 128) + strcpy(pTab,"Nsvc"); + else if(cid == 130) + strcpy(pTab,"FRPort"); + else if(cid == 131) + strcpy(pTab,"pvc"); + + else + IsCid = FALSE; + return(IsCid); +} diff --git a/src/configMgr/c_program/impmod/nmtypes.h b/src/configMgr/c_program/impmod/nmtypes.h new file mode 100644 index 0000000..14a9320 --- /dev/null +++ b/src/configMgr/c_program/impmod/nmtypes.h @@ -0,0 +1,201 @@ +#ifndef _NMTYPES_H_ +#define _NMTYPES_H_ +/** Copyright (C) 1995 interWAVE Communications, Inc.: All Rights Reserved. **/ +/* + * nmtypes.h: Definitions of fundamental data types used in NM classes. + * + * Bruce Nelson, interWAVE, 08/07/95. + * Modified by: XChen + */ + +#include +#include "iwtypes.h" + +/* Some message types for MsgId in IW message header. + */ +#define NM_MSGID_IMP 0 +#define NM_MSGID_IMPSRVR_REG 1 +#define NM_MSGID_IMPSRVR_UNREG 2 + +#define MAX_OID_LEVELS 12 +#define MAX_STRING_LENGTH 128 +#define MAX_ARRAY_LENGTH 128 +#define MAX_ARRAY1_LENGTH MAX_ARRAY_LENGTH +#define MAX_ARRAY2_LENGTH MAX_ARRAY_LENGTH +#define MAX_ARRAY4_LENGTH MAX_ARRAY_LENGTH +#define MAX_ATTR_COUNT 256 +#define MAX_ACTION_COUNT 256 +#define MAX_EVENT_COUNT 256 + +/* Some scalar types. + */ +typedef u16 tCID; /* class identifier */ +typedef u16 tCONT; /* container identifier */ +typedef u16 tNMSTAT; /* NM function return code: status/error */ +typedef u16 tNMLEN; /* NM message length type: always two bytes */ + +#define NM_CLASS_UNDEFINED ((tCID)(65535)) +#define NM_CONTID_UNDEFINED ((tCONT)(65535)) + +/* Generic type for NM functions in "virtual function" table. Note that all + * NM functions return a non-negative status code. + */ +typedef tNMSTAT (*tNmFnP)(); +typedef void (*tVdFnP)(); + +/* Types used to store array index/value pairs. + */ +struct ARs8 +{ + u8 Index; + s8 Value; +}; +typedef struct ARs8 tARs8; +struct ARu8 +{ + u8 Index; + u8 Value; +}; +typedef struct ARu8 tARu8; +struct ARs16 +{ + u8 Index; + s16 Value; +}; +typedef struct ARs16 tARs16; +struct ARu16 +{ + u8 Index; + u16 Value; +}; +typedef struct ARu16 tARu16; +struct ARs32 +{ + u8 Index; + s32 Value; +}; +typedef struct ARs32 tARs32; +struct ARu32 +{ + u8 Index; + u32 Value; +}; +typedef struct ARu32 tARu32; + +/* Type used to store a class member id (e.g., attribute id). + */ +struct MID +{ + tCID ClassId; + u8 MemberId; + u8 MemberType; + tNmFnP MemberFn; + tVdFnP CommitFn; +}; +typedef struct MID tMID; + +/* Defines for MID types. + */ +#define MID_TYPE_UNKNOWN 0 +#define MID_TYPE_ATTR_NUM 1 +#define MID_TYPE_ATTR_ARRAY 2 +#define MID_TYPE_ATTR_STRG 3 +#define MID_TYPE_ATTR_OID 4 +#define MID_TYPE_ATTR_CID 5 +#define MID_TYPE_ACTION 14 +#define MID_TYPE_EVENT 15 +#define MID_TYPE_TYPE_MASK 0x00f +#define MID_TYPE_NOVAL_MASK 0x010 +#define MID_TYPE_RW_MASK 0x020 +#define MID_TYPE_RO_MASK 0x030 +#define MID_TYPE_UPDATE_MASK 0x040 +#define MID_TYPE_DEBUG_MASK 0x080 + +/* Type used to store action info (alas, tMID not reusable enough). + */ +struct FID +{ + tCID ActCls; + u8 ActNum; + u8 ParmCount; + tCID EvCls; + u8 EvNum; + tNmFnP ActFn; + u8* pParmTypes; +}; +typedef struct FID tFID; + +/* The Dva structure (type tDva) represents a device (node) address. + * + * NOTICE: This is tentative. + */ +struct Dva +{ + u16 NetId; /* network number */ + u16 NodeId; /* node number */ +}; +typedef struct Dva tDva; + +/* Methods operating on tDva. (Function externs moved to bottom of file.) + */ + +/* The Oid structure (type tOid) represents an object identifier. The IxCnt + * field must be first, since it is not explicitly marshaled, but the rest of + * the Oid is marshaled as though it were a u16 array (of length IxCnt + + * ((sizeof(tCONT) + sizeof(tDva)) / sizeof(u16))). The ContId must come + * second, both to pad to a 4-byte boundary before DvAddr and because the + * offset of the ContId field is treated at the start of the marshaled Oid + * data. The Ix array must come last, since only part of it may be marshaled. + */ +struct Oid +{ + u16 IxCnt; /* number of indexes */ + tCONT ContId; /* systemwide container id */ + tDva DvAddr; /* device address */ + u16 Ix[MAX_OID_LEVELS]; /* indexes: one per containment lvl */ +}; +typedef struct Oid tOid; +#define OID_NON_IX_U16_COUNT ((sizeof(tCONT) + sizeof(tDva)) / sizeof(u16)) +#define OID_INIT \ +{ \ + (u16)0, \ + (tCONT)0, \ + { (u16)0, \ + (u16)0 }, \ + { (u16)0, \ + (u16)0, \ + (u16)0, \ + (u16)0, \ + (u16)0, \ + (u16)0, \ + (u16)0, \ + (u16)0, \ + (u16)0, \ + (u16)0, \ + (u16)0, \ + (u16)0 } \ +} + +/* Methods operating on tOid. (Function externs moved to bottom of file.) + */ + +/* Functions that manipulate arrays. + */ +#define s8copy(pDst, pSrc, Length) \ + u8copy((u8*)(pDst), (u8*)(pSrc), (Length)) +#define s16copy(pDst, pSrc, Length) \ + u16copy((u16*)(pDst), (u16*)(pSrc), (Length)) +#define s32copy(pDst, pSrc, Length) \ + u32copy((u32*)(pDst), (u32*)(pSrc), (Length)) + +extern void DvaCopy(tDva* pDstDva, tDva* pSrcDva); +extern int DvaEqual(tDva* pDva1, tDva* pDva2); +extern void OidCtor(tOid* pOid); +extern void OidCopy(tOid* pDstOid, tOid* pSrcOid); +extern void OidMakeChild(tOid* pDstOid, tOid* pSrcOid, tCONT DstContId,u16 DstIndex); + +//extern bool GetEventName(int Cid,int Eid,char *pTempEid,char *pTempAlarmLevel); +extern bool GetMeasPara(int Cid,int Eid,int num,char *pTempPara); +extern bool GetTableName(int cid,char *pTab); + +#endif /* _NMTYPES_H_ */ diff --git a/src/configMgr/c_program/paraComm/Makefile b/src/configMgr/c_program/paraComm/Makefile new file mode 100644 index 0000000..a26a28b --- /dev/null +++ b/src/configMgr/c_program/paraComm/Makefile @@ -0,0 +1,84 @@ +#!/bin/sh + +#Author: Cui Ticun +#Version: 9.00.00 +#Date: 2007-7-1 +#Description: Makefile for paraComm module. + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall + +dbINCLUDEFLAG = -I/usr/local/mysql/include +dbLINKFLAG = -L/usr/local/mysql/lib -lmariadbclient -lz + +dbINCLUDEFLAG.ES = -I/usr/include/mariadb +dbLINKFLAG.ES = -L/usr/lib/mysql -lmariadbclient -lz + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ + +LINK_SUFFIX = $(dbINCLUDEFLAG) $(dbLINKFLAG) $(LINKFLAG) +LINK_SUFFIX.ES = $(dbINCLUDEFLAG.ES) $(dbLINKFLAG.ES)$(LINKFLAG) + +PROGS = paraComm + +PARACOMM_OBJ = paraCommMain.o paraComm.o initParaConf.o +PARACOMM_OBJ.ES = paraCommMain.o.ES paraComm.o.ES initParaConf.o.ES + +LIB_OBJ = paraComm.o initParaConf.o +LIB_OBJ.ES = paraComm.o.ES initParaConf.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + + +linux72: $(PARACOMM_OBJ) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(PARACOMM_OBJ) $(LINK_SUFFIX) -lm + ar r libparaComm.a $(LIB_OBJ) + rm -f *.o core *~ + #cp -f $(PROGS) ../../../../bin + #cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(PARACOMM_OBJ.ES) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(PARACOMM_OBJ) $(LINK_SUFFIX.ES) -lm + ar r libparaComm.a $(LIB_OBJ) + +installbin: $(PROGS) + cp -f $(PROGS) ../../../../bin/ + +installomc: $(PROGS) + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +paraCommMain.o: paraCommMain.c + $(CC) $(CFLAGS) -c paraCommMain.c $(dbINCLUDEFLAG) + +paraComm.o: paraComm.c + $(CC) $(CFLAGS) -c paraComm.c $(dbINCLUDEFLAG) + +initParaConf.o: initParaConf.c + $(CC) $(CFLAGS) -c initParaConf.c $(dbINCLUDEFLAG) + +paraCommMain.o.ES: paraCommMain.c + $(CC) $(CFLAGS) -c paraCommMain.c $(dbINCLUDEFLAG.ES) + +paraComm.o.ES: paraComm.c + $(CC) $(CFLAGS) -c paraComm.c $(dbINCLUDEFLAG.ES) + +initParaConf.o.ES: initParaConf.c + $(CC) $(CFLAGS) -c initParaConf.c $(dbINCLUDEFLAG.ES) + +clean: + rm -f *.o *.a $(PROGS) diff --git a/src/configMgr/c_program/paraComm/initParaConf.c b/src/configMgr/c_program/paraComm/initParaConf.c new file mode 100644 index 0000000..60b88ca --- /dev/null +++ b/src/configMgr/c_program/paraComm/initParaConf.c @@ -0,0 +1,478 @@ +/************************************************* +File name: initParaConf.c +Author: Cui Ticun +Version: 9.00.00 +Date: 2007-7-1 +Description:This file init every modules' paraConf table from MIB files, + It includes the function 'int initDbFromMib()',which is called by paraCommInit. + It calls snmp's functions:extern int init_mib(); + extern struct tree *getLGCroot(); + extern struct tree *get_tree(const int *oid, int oidlen, struct tree *subtree); + extern void close_mib(); + +History: +No. +Author +Date +Version +Description +*************************************************/ + +#include "paraComm.h" + +#define SYSTEM_TYPE 355 + +static MYSQL *dbConn; +char indexsQuery[10240]; +extern FILE *paraCommLog; + +void preOrderMibTree(struct tree *mibTree); +void orderEnums(struct enum_list *enums,char *str); +void orderIndexes(struct index_list *indexes,char *str); +//BYTE str2oid(char *str, DWORD * array, BYTE max); +BYTE str2oid(char *str, int * array, BYTE max); + +#define MAX_MODULE_NUMBER 64 +int global_mod_index; +//DWORD global_mod_oids[MAX_MODULE_NUMBER][32]; +int global_mod_oids[MAX_MODULE_NUMBER][32]; +int global_mod_systype[MAX_MODULE_NUMBER]; +/*= + { + {1373,2,3,3,2,2}, + {1373,2,3,3,64,2} + }; + +int global_mod_systype[global_mod_total]={320,355}; +*/ + + +/************************************************* +Function: // initDbFromMib +Description: // Get oid info from MIB file and init the paramConf tables. +Calls: // extern int init_mib();extern struct tree *getLGCroot();extern struct get_tree;extern void close_mib(); +Called By: // paraCommInit(); +Table Accessed: // +Table Updated: // paramConf +Input: // +Output: // +Return: // 1:OK,0:error +Others: // +*************************************************/ +int initDbFromMib() +{ + //DWORD oidArr[32]={ 1373, 2, 3, 3, 2, 2 }; + struct tree *tmpLGCRoot; + struct tree *mibTree; + int i,oidlen; + char tmpSql[10240]; + int mod_total; + MYSQL_RES *res=NULL; + MYSQL_ROW rows; + + + //init db connect + dbConn = mysql_conn(HOSTNAME, PUB_DB); + if (dbConn == NULL) { + omcLog(paraCommLog,"[ERR][initDbFromMib]:mysql connect OMC_PUB"); + return (0); + } + + + + //memset(global_mod_oids,0,sizeof(DWORD)*32*MAX_MODULE_NUMBER); + memset(global_mod_oids,0,sizeof(int)*32*MAX_MODULE_NUMBER); + sprintf(tmpSql, "SELECT sysTypeNo,entryOid FROM sysMibConf WHERE isEnable = '1' "); + + res = (MYSQL_RES *) mysql_getres(dbConn, tmpSql); + + if(res == NULL) + { + omcLog(paraCommLog, " Database may be stopped,when initDbFromMib"); + exit(1); + } + + global_mod_index=0; + mod_total=0; + while ((rows = mysql_fetch_row(res))) + { + if(mod_total >= MAX_MODULE_NUMBER) + { + omcLog(paraCommLog,"The number pf mib files is too large"); + break; + } + + //mod_oids[mod_total] + global_mod_systype[mod_total]=atoi(rows[0]); + oidlen=str2oid(rows[1],global_mod_oids[mod_total],20); + /* + for(i=0;isubid != global_mod_oids[global_mod_index][5]){ + printf("Cannot find the OID in MIB File:"); + for(i=0;i<6;i++){ + printf("%ld.",global_mod_oids[global_mod_index][i]); + } + printf("\n"); + exit(1); + } + // indexsQuery[0]=0; + memset(&indexsQuery[0], 0x00, sizeof(indexsQuery)); + preOrderMibTree(mibTree); + strcat(indexsQuery,")"); + + //Modify Index's access from MIB_ACCESS_READWRITE to MIB_ACCESS_CREATE + if(strlen(indexsQuery)>3) + { + sprintf(tmpSql,"UPDATE OBJ_%d.paramConf SET maxAccess='%d' WHERE maxAccess='%d' AND %s", + global_mod_systype[global_mod_index],MIB_ACCESS_CREATE,MIB_ACCESS_READWRITE,indexsQuery); + mysql_getnores(dbConn,tmpSql); + } + + sprintf(tmpSql,"UPDATE OBJ_%d.paramConf SET operType='%d' WHERE name_2 LIKE '%%CreateTimeStamp'", + global_mod_systype[global_mod_index],DO_NOT_DISPLAY); + //printf("tmpSql=%s\n",tmpSql); + mysql_getnores(dbConn,tmpSql); + + sprintf(tmpSql,"UPDATE OBJ_%d.paramConf SET operType='%d' WHERE name_2 LIKE '%%AdministrationState'", + global_mod_systype[global_mod_index],LABEL); + //printf("tmpSql=%s\n",tmpSql); + mysql_getnores(dbConn,tmpSql); + } + close_mib(); + + return 1; +} + +/************************************************* +Function: // preOrderBinTree +Description: // Preorder traversal the mibtree(bintree) +Calls: // +Called By: // initDbFromMib +Table Accessed: // +Table Updated: // +Input: // struct tree *mibTree +Output: // +Return: // +Others: // +*************************************************/ +void preOrderMibTree(struct tree *mibTree) +{ + int i; + //16384 + char tmpStr[40960]; + char tmpStr1[20480]; + char tmpSql[40960]; + + char tmpEnumsList[1024]; + char tmpIndexesList[1024]; + char *onePart; + char *anotherPart; + int tmpLen; + char *tempc; + char name[128]; + char desc[2048]; + + if(mibTree){ + //printf("%s\n",mibTree->label); + sprintf(tmpSql,"REPLACE INTO OBJ_%d.paramConf SET ",global_mod_systype[global_mod_index]); + // name + sprintf(tmpStr,"name_1='%s',name_2='%s'",mibTree->label,mibTree->label); + strcat(tmpSql,tmpStr); + + + sprintf(name,"none"); + if(mibTree->description && strstr(mibTree->description,"Name:")!=NULL) + { + sprintf(desc,mibTree->description); + tempc=strstr(desc,"\n"); + if(tempc != NULL) + *tempc=0; + tempc=strstr(desc,"Name:"); + if(tempc == NULL) + { + sprintf(name,"none"); + } + else + { + sprintf(name,"%s",tempc+5); + //printf("%s\n",name); + } + } + + + //Description + if(mibTree->indexes){ + if(mibTree->description && !strstr(mibTree->description,"Description.")) + sprintf(tmpStr,",desc_1='Table Parameter, %s',desc_2='Table Parameter, %s'",mibTree->description,mibTree->description); + else + { + if(strcmp(name,"none")) + sprintf(tmpStr,",desc_1='Table Parameter, level:1, Name:%s',desc_2='Table Parameter, level:1, Name:%s'",name,name); + else + sprintf(tmpStr,",desc_1='Table Parameter, level:1',desc_2='Table Parameter, level:1'"); + } + strcat(tmpSql,tmpStr); + }else{ + char tmpdesc[4096]; + tmpdesc[0]=0; + if(mibTree->description) + { + if(strstr(mibTree->description,"Hidden Flag:Yes")) + { + strcat(tmpdesc,"Hidden Parameter;"); + } + else if(strstr(mibTree->description,"Key Parameter:Yes")) + { + strcat(tmpdesc,"Key Parameter;"); + } + else if(strstr(mibTree->description,"PASSWORD:Visible")) + { + strcat(tmpdesc,"PASSWORD:Visible;"); + } + else if(strstr(mibTree->description,"PASSWORD:Invisible")) + { + strcat(tmpdesc,"PASSWORD:Invisible;"); + } + + if(strcmp(name,"none")) + { + sprintf(tmpStr,"Name:%s;",name); + strcat(tmpdesc,tmpStr); + } + + if((tempc=strstr(mibTree->description,"RelationPoint:"))) + { + char *tempc1=NULL; + + tempc1=strstr(tempc,"\n"); + if(tempc1 != NULL) + *tempc1=0; + sprintf(tmpStr,"%s;",tempc); + strcat(tmpdesc,tmpStr); + } + + } + + if(strlen(tmpdesc)>0) + { + sprintf(tmpStr,",desc_1='%s',desc_2='%s'",tmpdesc,tmpdesc); + strcat(tmpSql,tmpStr); + } + /* + + if(mibTree->description&&strstr(mibTree->description,"Hidden Flag:Yes")) + { + sprintf(tmpStr,",desc_1='Hidden Parameter',desc_2='Hidden Parameter'"); + strcat(tmpSql,tmpStr); + } + else if(mibTree->description&& + strstr(mibTree->description,"Key Parameter:Yes")){ + if(strcmp(name,"none")) + sprintf(tmpStr,",desc_1='Key Parameter, Name:%s',desc_2='Key Parameter, Name:%s'",name,name); + else + sprintf(tmpStr,",desc_1='Key Parameter',desc_2='Key Parameter'"); + strcat(tmpSql,tmpStr); + } + else if(strcmp(name,"none")) + { + sprintf(tmpStr,",desc_1='Name:%s',desc_2='Name:%s'",name,name); + strcat(tmpSql,tmpStr); + } + */ + } + + //OPAQUE DECODE RULE: + if(mibTree->description){ + if((onePart=strstr(mibTree->description,"OPAQUE DECODE RULE:"))){ + + strsep(&(onePart),":"); + if((anotherPart=strstr(mibTree->description,"Remark:"))) + strncpy(tmpStr1,onePart,(anotherPart-onePart)); + else + strcpy(tmpStr1,onePart); + sprintf(tmpStr,",setTemplate_1='%s',setTemplate_2='%s'",tmpStr1,tmpStr1); + strcat(tmpSql,tmpStr); + } + } + + if(mibTree->description){ + //Note + if((onePart=strstr(mibTree->description,"Remark:"))){ + strsep(&(onePart),":"); + if(onePart){ + sprintf(tmpStr,",note_1=\"%s\",note_2=\"%s\"",onePart,onePart); + strcat(tmpSql,tmpStr); + } + } + } + + //Max Access + sprintf(tmpStr,",maxAccess='%d'",mibTree->access); + strcat(tmpSql,tmpStr); + + //operType + if(mibTree->access==MIB_ACCESS_READONLY){ + sprintf(tmpStr,",operType='%d'",LABEL); + strcat(tmpSql,tmpStr); + }else if(mibTree->access==MIB_ACCESS_NOACCESS){ + sprintf(tmpStr,",operType='%d'",DO_NOT_DISPLAY); + strcat(tmpSql,tmpStr); + }else{ + if(mibTree->type==TYPE_INTEGER&&mibTree->enums){ + sprintf(tmpStr,",operType='%d'",PULLDOWN_MENU); + strcat(tmpSql,tmpStr); + }else{ + sprintf(tmpStr,",operType='%d'",TEXTBOX); + strcat(tmpSql,tmpStr); + } + } + + //valueType + sprintf(tmpStr,",valueType='%d'",mibTree->type); + strcat(tmpSql,tmpStr); + + //initValue + if(mibTree->defaultValue){ + sprintf(tmpStr,",initValue='%s'",mibTree->defaultValue); + strcat(tmpSql,tmpStr); + } + + //minValue + //maxValue + if(mibTree->ranges){ + sprintf(tmpStr,",`minValue`='%d',`maxValue`='%d'",mibTree->ranges->low,mibTree->ranges->high); + strcat(tmpSql,tmpStr); + } + + //template + if(mibTree->enums){ + tmpEnumsList[0]=0; + orderEnums(mibTree->enums,tmpEnumsList); + + tmpLen=strlen(tmpEnumsList); + tmpEnumsList[tmpLen-1]=0; + + sprintf(tmpStr,",setTemplate_1='%s',setTemplate_2='%s'",tmpEnumsList,tmpEnumsList); + strcat(tmpSql,tmpStr); + }else if(mibTree->indexes){ + tmpIndexesList[0]=0; + orderIndexes(mibTree->indexes,tmpIndexesList); + + tmpLen=strlen(tmpIndexesList); + tmpIndexesList[tmpLen-1]=0; + + sprintf(tmpStr,",setTemplate_1='%s',setTemplate_2='%s'",tmpIndexesList,tmpIndexesList); + strcat(tmpSql,tmpStr); + } + + //level_x + for(i=11;ioid_len;i++){ + sprintf(tmpStr,",level_%d=%d",i-10,mibTree->oid[i]); + strcat(tmpSql,tmpStr); + } + + if(mysql_getnores(dbConn,tmpSql)<0){ + printf("\n%s\n",tmpSql); + } + + /* + for(i=0;ioid_len;i++){ + printf("%d.",mibTree->oid[i]); + } + printf("\n"); + */ + preOrderMibTree(mibTree->child_list); + preOrderMibTree(mibTree->next_peer); + } + return; +} + +/************************************************* +Function: // orderEnums +Description: // construct the list of enumerated integers to a string +Calls: // +Called By: // preOrderMibTree +Table Accessed: // +Table Updated: // +Input: // struct enum_list *enums, +Output: // char *str +Return: // +Others: // +*************************************************/ +void orderEnums(struct enum_list *enums,char *str) +{ + char tmpStr[64]; + if(enums){ + sprintf(tmpStr,"%s=%d;",enums->label,enums->value); + strcat(str,tmpStr); + orderEnums(enums->next,str); + } +} + +/************************************************* +Function: // orderIndexes +Description: // construct the list of enumerated indexes to a string +Calls: // +Called By: // preOrderMibTree +Table Accessed: // +Table Updated: // +Input: // struct index_list *indexes +Output: // char *str +Return: // +Others: // +*************************************************/ +void orderIndexes(struct index_list *indexes,char *str) +{ + char tmpStr[64]; + if(indexes){ + sprintf(tmpStr,"%s;",indexes->ilabel); + strcat(str,tmpStr); + if(strlen(indexsQuery)>0) + sprintf(tmpStr," OR name_2='%s'",indexes->ilabel); + else + sprintf(tmpStr," (name_2='%s'",indexes->ilabel); + strcat(indexsQuery,tmpStr); + orderIndexes(indexes->next,str); + } +} + +//BYTE str2oid(char *str, DWORD * array, BYTE max) +BYTE str2oid(char *str, int * array, BYTE max) +{ + BYTE sub = 0; + short len, i; + char *pvar; + len = strlen(str); + pvar = str; + for (i = 0; i < len && sub < max; i++) { + if (str[i] == '.') { + str[i] = '\0'; + if (strlen(pvar) == 0) + continue; + array[sub++] = atoi(pvar); + pvar = str + i + 1; + } + } + if (strlen(pvar) == 0) + return sub; + array[sub++] = atoi(pvar); + return sub; +} diff --git a/omc/bin/mib/LGC-MIB.my b/src/configMgr/c_program/paraComm/mib/LGC-MIB.my similarity index 99% rename from omc/bin/mib/LGC-MIB.my rename to src/configMgr/c_program/paraComm/mib/LGC-MIB.my index ddc8a11..851f89f 100644 --- a/omc/bin/mib/LGC-MIB.my +++ b/src/configMgr/c_program/paraComm/mib/LGC-MIB.my @@ -1,7 +1,7 @@ -- --- LGC-MIB.my +-- LGC-MIB-070927.my -- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, December 16, 2011 at 15:52:13 +-- Thursday, September 27, 2007 at 09:40:50 -- LGC-MIB DEFINITIONS ::= BEGIN @@ -652,5 +652,5 @@ END -- --- LGC-MIB.my +-- LGC-MIB-070927.my -- diff --git a/omc/bin/mib/LGC-SS-MSC-MIB_bak.my b/src/configMgr/c_program/paraComm/mib/LGC-SS-MSC-MIB.my similarity index 53% rename from omc/bin/mib/LGC-SS-MSC-MIB_bak.my rename to src/configMgr/c_program/paraComm/mib/LGC-SS-MSC-MIB.my index 74ceaf9..09eba1f 100644 --- a/omc/bin/mib/LGC-SS-MSC-MIB_bak.my +++ b/src/configMgr/c_program/paraComm/mib/LGC-SS-MSC-MIB.my @@ -1,7 +1,7 @@ -- --- LGC-SS-MSC-MIB.my --- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 --- Friday, December 30, 2011 at 10:52:19 +-- LGC-SS-MSC-MIB-R91-official-080825.my +-- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 220 +-- Monday, August 25, 2008 at 14:01:05 -- LGC-SS-MSC-MIB DEFINITIONS ::= BEGIN @@ -14,7 +14,7 @@ FROM SNMPv2-SMI; - -- 1.3.6.1.4.1.1373.2.3.3.1 + -- 1.3.6.1.4.1.1373.2.3.3.2 msc MODULE-IDENTITY LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT ORGANIZATION @@ -27,7 +27,7 @@ REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT DESCRIPTION "This is the first release version of the MSC MIB" - ::= { application 1 } + ::= { application 2 } @@ -66,7 +66,7 @@ application OBJECT IDENTIFIER ::= { wxc2 3 } - -- 1.3.6.1.4.1.1373.2.3.3.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.1 heartbeat OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only @@ -77,16 +77,16 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2 parameter OBJECT IDENTIFIER ::= { msc 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1 system OBJECT IDENTIFIER ::= { parameter 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.1 - cDROption OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1 + cdrOption OBJECT-TYPE SYNTAX Opaque (SIZE (8)) MAX-ACCESS read-write STATUS current @@ -98,212 +98,77 @@ [unit]MT Call[u]00.1-00.1[u]select [v]0[opt]Disable [v]1[opt]Enable - [unit]In Gateway[u]00.2-00.2[u]select + [unit]Roaming[u]00.2-00.2[u]select [v]0[opt]Disable [v]1[opt]Enable - [unit]Out Gateway[u]00.3-00.3[u]select + [unit]In Gateway[u]00.3-00.3[u]select [v]0[opt]Disable [v]1[opt]Enable - [unit]MO SMS[u]00.4-00.4[u]select + [unit]Out Gateway[u]00.4-00.4[u]select [v]0[opt]Disable [v]1[opt]Enable - [unit]MT SMS[u]00.5-00.5[u]select + [unit]Transit Call[u]00.5-00.5[u]select [v]0[opt]Disable [v]1[opt]Enable - [unit]Transit Call[u]00.6-00.6[u]select + [unit]SS Action[u]00.6-00.6[u]select [v]0[opt]Disable [v]1[opt]Enable - [unit]Roaming[u]00.7-00.7[u]select + [unit]MO SMS[u]00.7-00.7[u]select + [v]0[opt]Disable + [v]1[opt]Enable + [unit]MT SMS[u]01.0-01.0[u]select [v]0[opt]Disable [v]1[opt]Enable - [unit]Reserved[u]01.0-01.0[u]select [unit]Common Equipment[u]01.1-01.1[u]select [v]0[opt]Disable [v]1[opt]Enable - [unit]SS Action[u]01.2-01.2[u]select + [unit]Term CAMEL[u]01.2-01.2[u]select [v]0[opt]Disable [v]1[opt]Enable - [unit]Term CAMEL[u]01.3-01.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI White List[u]01.4-01.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI Black List[u]01.5-01.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI Grey List[u]01.6-01.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]IMEI Unknown[u]01.7-01.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Reserved[u]02.0-02.7[u]select - [unit]Reserved[u]03.0-03.7[u]select - [remark]Control the Call Detail Record generation for different call types." + [unit]Reserved[u]01.3-01.7[u]select + [unit]Reserved[u]02.0-03.7[u]select" ::= { system 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2 maxCallDurationMO OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:MO Max Call Duration - Remark:Define the permitted maximum call duration for MO call. Any ongoing call reaching this threshold will be compulsively cut off.

- Set 0 to disable this function." + "Remark:Define the permitted maximum call duration for MO call. Any ongoing call reaching this threshold will be compulsively cut off. Set 0 to disable this function." ::= { system 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.3 maxCallDurationMT OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:MT Max Call Duration - Remark:Define the permitted maximum call duration for MT call. Any incoming call reaching this threshold will be compulsively cut off.

- Set 0 to disable this function." + "Remark:Define the permitted maximum call duration for MT call. Any incoming call reaching this threshold will be compulsively cut off. Set 0 to disable this function." ::= { system 3 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4 locationNumber OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Location Number - Remark:Specify the location routing number for MNP service." + "Description." ::= { system 4 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.5 - suspendTimer OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Suspend Timer - Remark:If receives ISUP SUSPEND message in an ISUP call, then start the suspend timer to wait for the ISUP RESUME message. If time out, then send RELEASE to ISUP. Unit is second." - ::= { system 5 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.6 - emlppPciOption OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:eMLPP PCI Option - OPAQUE DECODE RULE: - [unit]Reserved[u]00.0-00.0[u]select - [unit]Level A[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level B[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 0[u]00.3-00.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 1[u]00.4-00.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 2[u]00.5-00.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 3[u]00.6-00.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 4[u]00.7-00.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [remark] - The enhanced Multi-Level Precedence and Preemption (eMLPP) service provides the capability to classify the mobile subscribers according to a subscriber specific priority.

The Preemption Capability Indicator (PCI) is set when the traffic channel to be assigned may preempt (forced release) an existing connection with a lower priority level (active preemption)." - ::= { system 6 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.7 - emlppPviOption OBJECT-TYPE - SYNTAX Opaque (SIZE (1)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:eMLPP PVI Option - OPAQUE DECODE RULE: - [unit]Reserved[u]00.0-00.0[u]select - [unit]Level A[u]00.1-00.1[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level B[u]00.2-00.2[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 0[u]00.3-00.3[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 1[u]00.4-00.4[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 2[u]00.5-00.5[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 3[u]00.6-00.6[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [unit]Level 4[u]00.7-00.7[u]select - [v]0[opt]Disable - [v]1[opt]Enable - [remark] - The enhanced Multi-Level Precedence and Preemption (eMLPP) service provides the capability to classify the mobile subscribers according to a subscriber specific priority.

The Preemption Vulnerability Indicator (PVI) is set when the traffic channel to be assigned can be preempted by another connection that might be established later with a higher priority level (passive preemption)." - ::= { system 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.8 - assignmentTimer OBJECT-TYPE - SYNTAX INTEGER (10..250) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Assignment Timer - Remark:Specify the maximum waiting time for receiving Assignment Complete message after the Assignment Request message has been sent. Unit is 100ms." - ::= { system 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.9 - pagingTimer OBJECT-TYPE - SYNTAX INTEGER (10..40) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Paging Timer - Remark:Specify the maximum waiting time for receiving Paging Response message after the Paging message has been sent. Unit is 1 second." - ::= { system 9 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.1.10 - splitEtcNumber OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Split ETC Number - Remark:Allow or forbid splitting the Correlation ID and SCF ID in the Establish Temporary Connection message." - ::= { system 10 } - - -- 1.3.6.1.4.1.1373.1.3.3.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2 routingZoneSet OBJECT IDENTIFIER ::= { parameter 2 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1 - routingZoneSetTable OBJECT-TYPE - SYNTAX SEQUENCE OF RoutingZoneSetEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1 + rzsTable OBJECT-TYPE + SYNTAX SEQUENCE OF RzsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -312,18 +177,18 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1 - routingZoneSetEntry OBJECT-TYPE - SYNTAX RoutingZoneSetEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1 + rzsEntry OBJECT-TYPE + SYNTAX RzsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:1" + "Description." INDEX { rzsIndex } - ::= { routingZoneSetTable 1 } + ::= { rzsTable 1 } - RoutingZoneSetEntry ::= + RzsEntry ::= SEQUENCE { rzsIndex INTEGER, @@ -339,6 +204,8 @@ DisplayString16, rzsMSRNRangeEnd DisplayString16, + rzsNITZ + INTEGER, rzsSRFNumber0 DisplayString16, rzsSRFNumber1 @@ -353,152 +220,160 @@ -- Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 rzsIndex OBJECT-TYPE SYNTAX INTEGER (1..31) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing Zone Set index number ranges from 1 to 31." - ::= { routingZoneSetEntry 1 } + "Key Parameter:Yes + Remark:Index number range from 1 to 32." + ::= { rzsEntry 1 } -- Title -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 rzsTitle OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing Zone Set name for identification purpose only." + "Key Parameter:Yes + Remark:Title of the Routing Zone Set (max 16 characters)." DEFVAL { "RZS#" } - ::= { routingZoneSetEntry 2 } + ::= { rzsEntry 2 } -- Creation Time Stamp -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.3 rzsCreateTimeStamp OBJECT-TYPE SYNTAX TimeStamp - MAX-ACCESS not-accessible + MAX-ACCESS read-only STATUS current DESCRIPTION "Remark:Creation date and time of the Routing Zone Set." - ::= { routingZoneSetEntry 3 } + ::= { rzsEntry 3 } -- Dialing Prefix Set ID -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.4 rzsDialingPrefixSetID OBJECT-TYPE SYNTAX INTEGER (1..256) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Dialing Prefix Set ID - Remark:Specify the Dialing Prefix Set to this Routing Zone Set." + "Key Parameter:Yes + Remark:Specify the Dialing Prefix Set ID to this Routing Zone Set." DEFVAL { 0 } - ::= { routingZoneSetEntry 4 } + ::= { rzsEntry 4 } -- Announcement(CUA) Set ID -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.5 rzsAnnouncementSetID OBJECT-TYPE - SYNTAX INTEGER (0..256) + SYNTAX INTEGER (1..256) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Announcement Set ID - Remark:Specify the Announcement Set to this Routing Zone Set." - ::= { routingZoneSetEntry 5 } + "Key Parameter:Yes + Remark:Specify the Call Unattainable Announcement Set ID to this Routing Zone Set." + ::= { rzsEntry 5 } -- MSRN Range Start -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.6 rzsMSRNRangeStart OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:MSRN Start - Remark:The beginning of the MSRN range for this Routing Zone Set." - ::= { routingZoneSetEntry 6 } + "Key Parameter:Yes + Remark:The start of the MSRN range for this Routing Zone." + ::= { rzsEntry 6 } -- MSRN Range End -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.7 rzsMSRNRangeEnd OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:MSRN End - Remark:The end of the MSRN range for this Routing Zone Set." - ::= { routingZoneSetEntry 7 } + "Key Parameter:Yes + Remark:The end of the MSRN range for this Routing Zone." + ::= { rzsEntry 7 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.8 + rzsNITZ OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Specify the Network Identity and Time Zone." + ::= { rzsEntry 8 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.9 rzsSRFNumber0 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:SRF 0 Number - Remark:The E.164 node address of the SRF connecting to MSS platform 0." - ::= { routingZoneSetEntry 8 } + "Remark:The E.164 node address of the SRF connecting to MSS platform 0." + ::= { rzsEntry 9 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.10 rzsSRFNumber1 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:SRF 1 Number - Remark:The E.164 node address of the SRF connecting to MSS platform 1." - ::= { routingZoneSetEntry 9 } + "Remark:The E.164 node address of the SRF connecting to MSS platform 1." + ::= { rzsEntry 10 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.11 rzsCreateEntryRoutingSelection OBJECT-TYPE SYNTAX INTEGER (1..31) MAX-ACCESS read-write STATUS current DESCRIPTION " " - ::= { routingZoneSetEntry 10 } + ::= { rzsEntry 11 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.12 rzsRoutingSelectionEntries OBJECT-TYPE SYNTAX INTEGER (0..31) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Routing Selection Entries + "Key Parameter:Yes Remark:The total number of configured Routing Selections in this Routing Zone Set." - ::= { routingZoneSetEntry 11 } + ::= { rzsEntry 12 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.1.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.13 rzsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "Key Parameter:Yes" - ::= { routingZoneSetEntry 12 } + ::= { rzsEntry 13 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2 - routingSelectionTable OBJECT-TYPE - SYNTAX SEQUENCE OF RoutingSelectionEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2 + rsTable OBJECT-TYPE + SYNTAX SEQUENCE OF RsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -507,20 +382,20 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1 - routingSelectionEntry OBJECT-TYPE - SYNTAX RoutingSelectionEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1 + rsEntry OBJECT-TYPE + SYNTAX RsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:2" - INDEX { rsIndex, rsRZSIndex } - ::= { routingSelectionTable 1 } + "Description." + INDEX { rsRzsIndex, rsIndex } + ::= { rsTable 1 } - RoutingSelectionEntry ::= + RsEntry ::= SEQUENCE { - rsRZSIndex + rsRzsIndex INTEGER, rsIndex INTEGER, @@ -546,73 +421,71 @@ -- Route Selection RZS Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.1 - rsRZSIndex OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.1 + rsRzsIndex OBJECT-TYPE SYNTAX INTEGER (1..31) MAX-ACCESS read-only STATUS current - DESCRIPTION - "Name:RSZ Index - Remark:Routing Zone Set Index for the Routing Selection." - ::= { routingSelectionEntry 1 } + DESCRIPTION " " + ::= { rsEntry 1 } -- Route Selection Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.2 rsIndex OBJECT-TYPE SYNTAX INTEGER (1..31) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Routing Selection index number range from 1 to 31." - ::= { routingSelectionEntry 2 } + "Key Parameter:Yes + Remark:Index number range from 1 to 32." + ::= { rsEntry 2 } -- Title -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.3 rsTitle OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Routing Selection name for identification purpose only." + "Key Parameter:Yes + Remark:Title of the Routing Selection (max 16 characters)." DEFVAL { "RS#" } - ::= { routingSelectionEntry 3 } + ::= { rsEntry 3 } -- Creation Time Stamp -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.4 rsCreateTimeStamp OBJECT-TYPE SYNTAX TimeStamp - MAX-ACCESS not-accessible + MAX-ACCESS read-only STATUS current DESCRIPTION "Remark:Creation date and time of the Routing Selection." - ::= { routingSelectionEntry 4 } + ::= { rsEntry 4 } -- Trunk Group -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.5 rsTrunkGroup OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Trunk Group - Remark:Select the Trunk Group for the outgoing routing." + "Key Parameter:Yes + Remark:Select the Trunk Group for the outgoing routing. " DEFVAL { 0 } - ::= { routingSelectionEntry 5 } + ::= { rsEntry 5 } -- Alternative Trunk Group Option -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.6 rsAlternativeTrunkGroupOption OBJECT-TYPE SYNTAX INTEGER { @@ -622,29 +495,29 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Alternative TG Flag - Remark:Enable or disable alternative Trunk Group when the primary Trunk Group is unavailable." + "Key Parameter:Yes + Remark:Enable or disable alternative Trunk Group when the primary Trunk Group is unavailable. " DEFVAL { disable } - ::= { routingSelectionEntry 6 } + ::= { rsEntry 6 } -- Alternative Trunk Group -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.7 rsAlternativeTrunkGroup OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Alternative TG - Remark:Specify the alternative Trunk Group. It's available only when the previous Alternative TG Flag is enabled." + "Key Parameter:Yes + Remark:Specify the alternative Trunk Group. It is available only when the previous Alternative TG Flag is enabled." DEFVAL { 0 } - ::= { routingSelectionEntry 7 } + ::= { rsEntry 7 } -- NAI For Outgoing Call -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.8 rsNAIForOutgoingCall OBJECT-TYPE SYNTAX INTEGER { @@ -657,60 +530,59 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:NAI for Outgoing Call - Remark:Select the required Network Address Identifier (NAI). The NAI option enables the MSC to perform call routing." - ::= { routingSelectionEntry 8 } + "Key Parameter:Yes + Remark:Type Of Number for outgoing call." + ::= { rsEntry 8 } -- Number Of Digit Deletion -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.9 rsNumberOfDigitDeletion OBJECT-TYPE SYNTAX INTEGER (0..16) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Deletion Count - Remark:Number of digits to be deleted from the beginning of the dialed number." + "Key Parameter:Yes + Remark:Number of digits to be deleted from the beginning of the dialed number. " DEFVAL { 0 } - ::= { routingSelectionEntry 9 } + ::= { rsEntry 9 } -- Insertion Number -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.10 rsInsertionNumber OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Inserted Digits - Remark:The digits to be inserted to the front of the dialed number." + "Remark:The digits to be inserted to the front of the dialed number." DEFVAL { "FFFFFFFFFFFFFFFF" } - ::= { routingSelectionEntry 10 } + ::= { rsEntry 10 } -- Row Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.2.2.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.11 rsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "Key Parameter:Yes" - ::= { routingSelectionEntry 11 } + ::= { rsEntry 11 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3 dialingPrefixSet OBJECT IDENTIFIER ::= { parameter 3 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1 - dialingPrefixSetTable OBJECT-TYPE - SYNTAX SEQUENCE OF DialingPrefixSetEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1 + dpsTable OBJECT-TYPE + SYNTAX SEQUENCE OF DpsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -719,18 +591,18 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1 - dialingPrefixSetEntry OBJECT-TYPE - SYNTAX DialingPrefixSetEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1 + dpsEntry OBJECT-TYPE + SYNTAX DpsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:1" + "Description." INDEX { dpsIndex } - ::= { dialingPrefixSetTable 1 } + ::= { dpsTable 1 } - DialingPrefixSetEntry ::= + DpsEntry ::= SEQUENCE { dpsIndex INTEGER, @@ -762,9 +634,7 @@ DisplayString16, dpsHPLMNCC7 DisplayString16, - dpsNumberPlanArea - DisplayString8, - dpsCreateEntryDialingPrefix + dpsCreateEntrydDalingPrefix INTEGER, dpsDialingPrefixEntries INTEGER, @@ -774,249 +644,230 @@ -- Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 dpsIndex OBJECT-TYPE SYNTAX INTEGER (1..15) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Dialing Prefix Set index number ranges from 1 to 15." - ::= { dialingPrefixSetEntry 1 } + "Key Parameter:Yes + Remark:Index number range from 1 to 16." + ::= { dpsEntry 1 } -- Title -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 dpsTitle OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Dialing Prefix Set name for identification purpose only." + "Key Parameter:Yes + Remark:Title of the Dialing Prefix Set (max 16 characters)." DEFVAL { "DPS#" } - ::= { dialingPrefixSetEntry 2 } + ::= { dpsEntry 2 } -- Creation Time Stamp -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.3 dpsCreateTimeStamp OBJECT-TYPE SYNTAX TimeStamp - MAX-ACCESS not-accessible + MAX-ACCESS read-only STATUS current DESCRIPTION "Remark:Creation date and time of the Dialing Prefix Set." - ::= { dialingPrefixSetEntry 3 } + ::= { dpsEntry 3 } -- Country Code -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 dpsCC OBJECT-TYPE SYNTAX DisplayString8 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:CC - Remark:Country Code identifies the country's network." - ::= { dialingPrefixSetEntry 4 } + "Key Parameter:Yes + Remark:(Read Only) Country Code: The code that identifies the network in the country." + ::= { dpsEntry 4 } -- National Destination Code -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 dpsNDC OBJECT-TYPE SYNTAX DisplayString8 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:NDC - Remark:National Destination Code defines the national calling area or national network to which the subscriber belongs." - ::= { dialingPrefixSetEntry 5 } + "Key Parameter:Yes + Remark:National Destination Code: Defines the national calling area or national network to which the subscriber belongs." + ::= { dpsEntry 5 } -- International Prefix -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.6 dpsInternationalPrefix OBJECT-TYPE SYNTAX DisplayString8 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:International Prefix - Remark:Access code for international network." - ::= { dialingPrefixSetEntry 6 } + "Key Parameter:Yes + Remark:A digit or combination of digits used by a subscriber when making an international call. The international prefix is used to indicate that the following digits represent an international number and should be routed to an international gateway." + ::= { dpsEntry 6 } -- National Prefix -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 dpsNationalPrefix OBJECT-TYPE SYNTAX DisplayString8 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:National Prefix - Remark:National prefix for the operating country to make a national call." + "Key Parameter:Yes + Remark:A digit or combination of digits used by a subscriber when calling a national destination (within the country) other than that of the local area network." DEFVAL { "0" } - ::= { dialingPrefixSetEntry 7 } + ::= { dpsEntry 7 } -- HPLMN CC0 -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.8 dpsHPLMNCC0 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:HPLMN CC 0 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 8 } + "Remark:Assign up to 8 Country Code to the home PLMN. " + ::= { dpsEntry 8 } -- HPLMN CC1 -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 dpsHPLMNCC1 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:HPLMN CC 1 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 9 } + "Remark:Assign up to 8 Country Code to the home PLMN. " + ::= { dpsEntry 9 } -- HPLMN CC2 -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.10 dpsHPLMNCC2 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:HPLMN CC 2 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 10 } + "Remark:Assign up to 8 Country Code to the home PLMN. " + ::= { dpsEntry 10 } -- HPLMN CC3 -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.11 dpsHPLMNCC3 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:HPLMN CC 3 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 11 } + "Remark:Assign up to 8 Country Code to the home PLMN. " + ::= { dpsEntry 11 } -- HPLMN CC4 -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.12 dpsHPLMNCC4 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:HPLMN CC 4 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 12 } + "Remark:Assign up to 8 Country Code to the home PLMN. " + ::= { dpsEntry 12 } -- HPLMN CC5 -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.13 dpsHPLMNCC5 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:HPLMN CC 5 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 13 } + "Remark:Assign up to 8 Country Code to the home PLMN. " + ::= { dpsEntry 13 } -- HPLMN CC6 -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.14 dpsHPLMNCC6 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:HPLMN CC 6 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 14 } + "Remark:Assign up to 8 Country Code to the home PLMN. " + ::= { dpsEntry 14 } -- HPLMN CC7 -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.15 dpsHPLMNCC7 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:HPLMN CC 7 - Remark:Assign up to 8 Country Code to the home PLMN." - ::= { dialingPrefixSetEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.16 - dpsNumberPlanArea OBJECT-TYPE - SYNTAX DisplayString8 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Number Plan Area - Remark:Specify number plan area number for MNP outbound." - ::= { dialingPrefixSetEntry 16 } + "Remark:Assign up to 8 Country Code to the home PLMN. " + ::= { dpsEntry 15 } -- Dialing Prefix -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.17 - dpsCreateEntryDialingPrefix OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.16 + dpsCreateEntrydDalingPrefix OBJECT-TYPE SYNTAX INTEGER { create(1) } MAX-ACCESS read-write STATUS current DESCRIPTION " " - ::= { dialingPrefixSetEntry 17 } + ::= { dpsEntry 16 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.18 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.17 dpsDialingPrefixEntries OBJECT-TYPE SYNTAX INTEGER (0..1024) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Dialing Prefix Entries + "Key Parameter:Yes Remark:The total number of the configured Dialing Prefixes in this Dialing Prefix Set." - ::= { dialingPrefixSetEntry 18 } + ::= { dpsEntry 17 } -- Row Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.17 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.1.1.19 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.18 dpsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "Key Parameter:Yes" - ::= { dialingPrefixSetEntry 19 } + ::= { dpsEntry 18 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2 - dialingPrefixTable OBJECT-TYPE - SYNTAX SEQUENCE OF DialingPrefixEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2 + dpTable OBJECT-TYPE + SYNTAX SEQUENCE OF DpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -1025,18 +876,18 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1 - dialingPrefixEntry OBJECT-TYPE - SYNTAX DialingPrefixEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1 + dpEntry OBJECT-TYPE + SYNTAX DpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:2" + "Description." INDEX { dpIndex, dpDPSIndex } - ::= { dialingPrefixTable 1 } + ::= { dpTable 1 } - DialingPrefixEntry ::= + DpEntry ::= SEQUENCE { dpDPSIndex INTEGER, @@ -1044,14 +895,8 @@ INTEGER, dpTitle DisplayString16, - dpLookupMethod - INTEGER, dpCallNumberPrefix DisplayString16, - dpStartNumber - DisplayString16, - dpEndNumber - DisplayString16, dpCallNumberAttribute INTEGER, dpAdministrationState @@ -1072,11 +917,7 @@ INTEGER, dpCDRFlag INTEGER, - dpOptionForSRFMNP - INTEGER, - dpMSCOptionForINMNP - INTEGER, - dpGMSCOptionForINMNP + dpMNPFlag INTEGER, dpPremiumCall INTEGER, @@ -1100,101 +941,54 @@ -- DP DPS Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.1 dpDPSIndex OBJECT-TYPE SYNTAX INTEGER (1..15) MAX-ACCESS read-only STATUS current - DESCRIPTION - "Name:DPS Index - Remark:Dialing Prefix Set index number for this Dialing Prefix." - ::= { dialingPrefixEntry 1 } + DESCRIPTION " " + ::= { dpEntry 1 } -- Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.2 dpIndex OBJECT-TYPE SYNTAX INTEGER (1..1024) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Dialing Prefix index number ranges from 1 to 1024." - ::= { dialingPrefixEntry 2 } + "Key Parameter:Yes + Remark:Index number range from 1 to 1024." + ::= { dpEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.3 dpTitle OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Dialing Prefix name for identification purpose only." - ::= { dialingPrefixEntry 3 } - - --- Lookup Method --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.4 - dpLookupMethod OBJECT-TYPE - SYNTAX INTEGER - { - prefixLookup(0), - groupLookup(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Lookup Method - Remark:Select a dialing plan lookup method. Group Lookup Method has a higher priority than Prefix Lookup Method." - DEFVAL { prefix } - ::= { dialingPrefixEntry 4 } + "Key Parameter:Yes" + ::= { dpEntry 3 } -- Call Number Prefix -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.4 dpCallNumberPrefix OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Prefix - Remark:A combination digits that dial to originate a call. It's only valid when the lookup method selected Prefix." - ::= { dialingPrefixEntry 5 } - - --- Start Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.6 - dpStartNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Group Prefix Start - Remark:The beginning of the group prefix range. It's only valid when the lookup method selected Group." - ::= { dialingPrefixEntry 6 } - - --- End Number --- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.7 - dpEndNumber OBJECT-TYPE - SYNTAX DisplayString16 - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Group Prefix End - Remark:The end of the group prefix range. Start prefix and end prefix must have the same length." - ::= { dialingPrefixEntry 7 } + "Key Parameter:Yes + Remark:A combination digits that dial to originate a call." + ::= { dpEntry 4 } -- Call Number Attribute -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.5 dpCallNumberAttribute OBJECT-TYPE SYNTAX INTEGER { @@ -1207,41 +1001,40 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Number Attribute + "Key Parameter:Yes Remark:The original type of the incoming number. It is specified by originating node for terminating node to route this call with proper dialed number manipulation." - ::= { dialingPrefixEntry 8 } + ::= { dpEntry 5 } -- Administration State -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.6 dpAdministrationState OBJECT-TYPE SYNTAX AdminStateChoices MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:The state of the current Dialing Prefix entry." - ::= { dialingPrefixEntry 9 } + "Key Parameter:Yes + Remark:Enable or disable this prefix." + ::= { dpEntry 6 } -- Call Number Length -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.7 dpCallNumberLength OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Number Length - Remark:The length of the dialed number. Set 0 for uncertain length." + "Remark:The length of the dialed number. Set 0 for uncertain length. " DEFVAL { 0 } - ::= { dialingPrefixEntry 10 } + ::= { dpEntry 7 } -- Service Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.8 dpServiceType OBJECT-TYPE SYNTAX INTEGER { @@ -1252,13 +1045,13 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Service Type - Remark:Service type of the outgoing call:

- Normal = No verification for MT
- Emergency Call = No verification for MO (free call)
- Intelligent Call = Calls to intelligent peripheral" + "Key Parameter:Yes + Remark:Service type of the outgoing call." DEFVAL { normalCall } - ::= { dialingPrefixEntry 11 } + ::= { dpEntry 8 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 dpEmergencyType OBJECT-TYPE SYNTAX INTEGER { @@ -1274,26 +1067,24 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Type - Remark:Specify index number which associated with the 8 emergency call numbers in Location Area or Cell setting." + "Description." DEFVAL { zero } - ::= { dialingPrefixEntry 12 } + ::= { dpEntry 9 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.10 dpServiceKey OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Service Key - Remark:Specify service hot key which associated with the service key configuration in the PPS SRF setting." - ::= { dialingPrefixEntry 13 } + "Description." + ::= { dpEntry 10 } -- Number Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.11 dpNumberType OBJECT-TYPE SYNTAX INTEGER { @@ -1304,15 +1095,15 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Number Type + "Key Parameter:Yes Remark:It determines how the numbers are sent out." DEFVAL { msisdn } - ::= { dialingPrefixEntry 14 } + ::= { dpEntry 11 } -- CLI Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.12 dpCLIType OBJECT-TYPE SYNTAX INTEGER { @@ -1326,29 +1117,27 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:CLI Type - Remark:It determines the format of the Caller Line ID (CLI).

- Sub = Unknown(Sub) = SN
- NDD = NDC+SN
- Unknown(NDD) = Nat Prefix+NDC+SN
- IDD = +CC+NDC+SN
- Unknown(IDD) = Int Prefix+CC+NDC+SN" + "Remark:It determines the format of the Caller Line ID (CLI)." DEFVAL { ndd } - ::= { dialingPrefixEntry 15 } + ::= { dpEntry 12 } -- Routing Selection Code -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.13 dpRSC OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Routing Selection ID - Remark:Specify the Routing Selection ID to this Dialing Prefix." + "Remark:Specify the Routing Selection ID to this Dialing Prefix." DEFVAL { 0 } - ::= { dialingPrefixEntry 16 } + ::= { dpEntry 13 } -- CDR Flag -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.17 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.14 dpCDRFlag OBJECT-TYPE SYNTAX INTEGER { @@ -1358,16 +1147,15 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable the Call Detail Record generation of this prefix." + "Remark:Enable or disable the Call Detail Record generation of this prefix." DEFVAL { enable } - ::= { dialingPrefixEntry 17 } + ::= { dpEntry 14 } -- MNP Flag -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.18 - dpOptionForSRFMNP OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.15 + dpMNPFlag OBJECT-TYPE SYNTAX INTEGER { disable(0), @@ -1377,46 +1165,14 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:SRF-MNP Flag - Remark:Enable if this prefix relating to SRF MNP service." + "Remark:Enable if this prefix relating to Mobile Number Portability service." DEFVAL { disable } - ::= { dialingPrefixEntry 18 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.19 - dpMSCOptionForINMNP OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - OQoD(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IN-MNP Flag (MSC) - Remark:Enable or disable IN MNP service when the system performs as an MSC." - ::= { dialingPrefixEntry 19 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.20 - dpGMSCOptionForINMNP OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - TQoD(1), - QoHR(2) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:IN-MNP Flag (GMSC) - Remark:Enable or disable IN MNP service when the system performs as a GMSC." - ::= { dialingPrefixEntry 20 } + ::= { dpEntry 15 } -- Premium Call -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.21 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.16 dpPremiumCall OBJECT-TYPE SYNTAX INTEGER { @@ -1427,13 +1183,12 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Premium Call Flag - Remark:Enable if this prefix relating to Premium Call service." + "Remark:Enable if this prefix relating to Premium Call service." DEFVAL { disable } - ::= { dialingPrefixEntry 21 } + ::= { dpEntry 16 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.22 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.17 dpOSB1Flag OBJECT-TYPE SYNTAX INTEGER { @@ -1443,13 +1198,12 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:OSB 1 Flag - Remark:Subscribers with OSB type 1 can only make calls to this dialing prefix with Call Allow Flag enabled." + "Remark:Subscribers with OSB type 1 can only make calls to this dialing prefix with Call Allow Flag enabled." DEFVAL { disable } - ::= { dialingPrefixEntry 22 } + ::= { dpEntry 17 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.23 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.18 dpOSB2Flag OBJECT-TYPE SYNTAX INTEGER { @@ -1459,15 +1213,14 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:OSB 2 Flag - Remark:Subscribers with OSB type 2 can't make calls to this dialing prefix with Call Bar Flag enabled." + "Remark:Subscribers with OSB type 2 cannot make calls to this dialing prefix with Call Bar Flag enabled." DEFVAL { disable } - ::= { dialingPrefixEntry 23 } + ::= { dpEntry 18 } -- NAI For Outgoing Call -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.24 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.19 dpNAIForOutgoingCall OBJECT-TYPE SYNTAX INTEGER { @@ -1480,87 +1233,82 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:NAI for Outgoing Call - Remark:Select the required Network Address Identifier (NAI). The transformed incoming number will be routed to the associated trunk group." - ::= { dialingPrefixEntry 24 } + "Remark:The transformed type of the incoming number, which will be routed to the associated trunk group. " + ::= { dpEntry 19 } -- PSTN Number Of Digit Deletion -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.25 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.20 dpPSTNNumberOfDigitDeletion OBJECT-TYPE SYNTAX INTEGER (0..16) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:PSTN Deletion Count - Remark:Number of digits to be deleted from the beginning of the dialed number." + "Remark:Number of digits to be deleted from the beginning of the dialed number." DEFVAL { 0 } - ::= { dialingPrefixEntry 25 } + ::= { dpEntry 20 } -- PSTN Insertion Number -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.26 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.21 dpPSTNInsertionNumber OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:PSTN Inserted Digits - Remark:Digits of the number to be added to the front of the dialed number." + "Remark:Digits of the number to be added to the front of the dialed number. " DEFVAL { 'FFFFFFFFFFFFFFFF'h } - ::= { dialingPrefixEntry 26 } + ::= { dpEntry 21 } -- E164 Number Of Digit Deletion -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.17 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.27 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.22 dpE164NumberOfDigitDeletion OBJECT-TYPE SYNTAX INTEGER (0..16) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:E.164 Deletion Count - Remark:Number of digits to be deleted from the beginning of the incoming number." - ::= { dialingPrefixEntry 27 } + "Remark:Number of digits to be deleted from the beginning of the incoming number." + ::= { dpEntry 22 } -- E164 Insertion Number -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.18 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.28 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.23 dpE164InsertionNumber OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:E.164 Inserted Digits - Remark:Digits of the number to be added to the front of the incoming number to convert it to an international E.164 format." + "Remark:Digits of the number to be added to the front of the incoming number to convert it to an international E.164 format." DEFVAL { 'FFFFFFFFFFFFFFFF'h } - ::= { dialingPrefixEntry 28 } + ::= { dpEntry 23 } -- Row Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.19 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.3.2.1.29 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.24 dpRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "Key Parameter:Yes" - ::= { dialingPrefixEntry 29 } + ::= { dpEntry 24 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4 trunkGroup OBJECT IDENTIFIER ::= { parameter 4 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1 - trunkGroupTable OBJECT-TYPE - SYNTAX SEQUENCE OF TrunkGroupEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1 + tgTable OBJECT-TYPE + SYNTAX SEQUENCE OF TgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -1569,18 +1317,18 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1 - trunkGroupEntry OBJECT-TYPE - SYNTAX TrunkGroupEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1 + tgEntry OBJECT-TYPE + SYNTAX TgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:1" + "Description." INDEX { tgIndex } - ::= { trunkGroupTable 1 } + ::= { tgTable 1 } - TrunkGroupEntry ::= + TgEntry ::= SEQUENCE { tgIndex INTEGER, @@ -1594,9 +1342,9 @@ OperStateChoices, tgAvailabilityStatus AvailStateChoices, - tgOPC + tgOpc INTEGER, - tgDPC + tgDpc INTEGER, tgNetworkIndicator INTEGER, @@ -1604,20 +1352,6 @@ INTEGER, tgProtocolVariant INTEGER, - tgLocalDomain - OCTET STRING, - tgDestDomain - OCTET STRING, - tgDestIP0 - IpAddress, - tgDestIP1 - IpAddress, - tgDestPort - INTEGER, - tgRemoteProcessISUP - INTEGER, - tgTONIncomingSIPCall - INTEGER, tgCircuitSelectionMode INTEGER, tgBackoffFlag @@ -1632,22 +1366,12 @@ INTEGER, tgAlternativeRoutingTrigger INTEGER, - tgIgnoreNumberPortabilityInformation - INTEGER, - tgSignalPortedNumber - INTEGER, tgNFAS INTEGER, tgPrimaryLink INTEGER, tgBackupLink INTEGER, - tgBSCCodec - Opaque, - tgEchoControlDeviceIndicator - INTEGER, - tgSatelliteIndicator - INTEGER, tgCreateEntryTrunk INTEGER, tgTrunkEntries @@ -1660,109 +1384,108 @@ -- Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 tgIndex OBJECT-TYPE SYNTAX INTEGER (1..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Trunk Group index number ranges from 1 to 255." - ::= { trunkGroupEntry 1 } + "Key Parameter:Yes + Remark:Index number range from 1 to 256." + ::= { tgEntry 1 } -- Title -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.2 tgTitle OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Trunk Group name for identification purpose only." + "Key Parameter:Yes + Remark:Title of the selected Trunk Group (max 16 characters)." DEFVAL { "TG#" } - ::= { trunkGroupEntry 2 } + ::= { tgEntry 2 } -- Creation Time Stamp -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 tgCreateTimeStamp OBJECT-TYPE SYNTAX TimeStamp - MAX-ACCESS not-accessible + MAX-ACCESS read-only STATUS current DESCRIPTION "Remark:Creation date and time of the Trunk Group." - ::= { trunkGroupEntry 3 } + ::= { tgEntry 3 } -- Administration State -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.4 tgAdministrationState OBJECT-TYPE SYNTAX AdminStateChoices MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Admin State + "Key Parameter:Yes Remark:Control the operation of the managed Trunk Group." - ::= { trunkGroupEntry 4 } + ::= { tgEntry 4 } -- Operability Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.5 tgOperabilityStatus OBJECT-TYPE SYNTAX OperStateChoices MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Oper State - Remark:(Read Only) Indicate the current Trunk Group operation is qualified by Availability State." - ::= { trunkGroupEntry 5 } + "Key Parameter:Yes + Remark:(Read Only) Indicate the current Trunk Group operation is qualified by Availability Status." + ::= { tgEntry 5 } -- Availability Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.6 tgAvailabilityStatus OBJECT-TYPE SYNTAX AvailStateChoices MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Avail State - Remark:(Read Only) Qualify Operation State providing details about the current operational state." - ::= { trunkGroupEntry 6 } + "Key Parameter:Yes + Remark:(Read Only) Qualify Operation State providing details about the current operational status." + ::= { tgEntry 6 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.7 - tgOPC OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.7 + tgOpc OBJECT-TYPE SYNTAX INTEGER (0..16777215) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:OPC - Remark:The Originating Point Code of the current TG." - ::= { trunkGroupEntry 7 } + "Remark:The Originating Point Code of the current TG." + ::= { tgEntry 7 } -- DPC -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.8 - tgDPC OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.8 + tgDpc OBJECT-TYPE SYNTAX INTEGER (0..16777215) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:DPC + "Key Parameter:Yes Remark:The Destination Point Code of the current TG." - ::= { trunkGroupEntry 8 } + ::= { tgEntry 8 } -- Network Indication -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.9 tgNetworkIndicator OBJECT-TYPE SYNTAX INTEGER { @@ -1774,146 +1497,51 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:NI - Remark:Network Indicator specifies the Trunk Group to a network." + "Remark:Specify the Trunk Group to a network." DEFVAL { int } - ::= { trunkGroupEntry 9 } + ::= { tgEntry 9 } -- Protocol Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.10 tgProtocolType OBJECT-TYPE SYNTAX INTEGER { aif(0), isup(1), bicc(2), - isdn(3), - sip(5), - staticConnection(7), - iuCS(8) + isdn(3) } MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Protocol Type - Remark:Select the protocol type for this Trunk Group." - ::= { trunkGroupEntry 10 } + "Remark:Select the protocol type for this Trunk Group. " + ::= { tgEntry 10 } -- Protocol Variant -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.11 tgProtocolVariant OBJECT-TYPE SYNTAX INTEGER { itu(0), ansi(1), etsi(2), - uk(3), - Qsig(4) + uk(3) } MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Protocol Variant - Remark:Select the protocol variant for this Trunk Group." + "Remark:Select the protocol variant for this Trunk Group." DEFVAL { itu } - ::= { trunkGroupEntry 11 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.12 - tgLocalDomain OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Local Domain - Remark:(For SIP) Define the local domain name for a SIP TG." - ::= { trunkGroupEntry 12 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.13 - tgDestDomain OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..32)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest Domain - Remark:(For SIP) Specify the destination domain name for a SIP TG." - ::= { trunkGroupEntry 13 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.14 - tgDestIP0 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest IP 0 - Remark:(For SIP) Specify the destination IP address for a SIP TG." - ::= { trunkGroupEntry 14 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.15 - tgDestIP1 OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest IP 1 - Remark:(For SIP) Specify the destination IP address for a SIP TG." - ::= { trunkGroupEntry 15 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.16 - tgDestPort OBJECT-TYPE - SYNTAX INTEGER (0..65535) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Dest Port - Remark:(For SIP) Specify the destination port for a SIP TG." - ::= { trunkGroupEntry 16 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.17 - tgRemoteProcessISUP OBJECT-TYPE - SYNTAX INTEGER - { - notSupport(0), - support(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Remote Process ISUP - Remark:(For SIP) Indicate whether the remote SIP UA is able to process ISUP in SIP-ISUP interworking." - ::= { trunkGroupEntry 17 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.18 - tgTONIncomingSIPCall OBJECT-TYPE - SYNTAX INTEGER - { - CLIR(0), - Sub(1), - Unknown(2), - NDD(3), - IDD(4) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Incoming SIP Calls TON - Remark:(For SIP) Manipulate the type of calling number for a SIP TG. It doesn't take effect when the calling number's attribute is International. It is used for Calling Line Identification Presentation (CLIP) of incoming SIP calls." - ::= { trunkGroupEntry 18 } + ::= { tgEntry 11 } -- Circuit Selection Mode -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.19 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.12 tgCircuitSelectionMode OBJECT-TYPE SYNTAX INTEGER { @@ -1925,15 +1553,14 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Circuit Selection - Remark:Circuit selection mode of the traffic channel connections." + "Remark:Circuit selection mode of the traffic channel connections." DEFVAL { clockwise } - ::= { trunkGroupEntry 19 } + ::= { tgEntry 12 } -- Backoff Flag -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.20 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.13 tgBackoffFlag OBJECT-TYPE SYNTAX INTEGER { @@ -1943,15 +1570,14 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Backoff Flag - Remark:Enable or disable back off when simultaneously select the same channel with the opposite side." + "Remark:Enable or disable Back Off when simultaneously select the same channel with the opposite side." DEFVAL { enable } - ::= { trunkGroupEntry 20 } + ::= { tgEntry 13 } -- Tandem Restriction -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.21 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.14 tgTandemRestriction OBJECT-TYPE SYNTAX INTEGER { @@ -1961,15 +1587,14 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Tandem Restriction - Remark:Enable or disable Tandem to allow or prohibit transit calls from PSTN to PSTN via this trunk group." + "Remark:Enable or disable Tandem to allow or prohibit transit calls from PSTN to PSTN via this trunk group." DEFVAL { enable } - ::= { trunkGroupEntry 21 } + ::= { tgEntry 14 } -- CDR Flag -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.22 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.15 tgCDRFlag OBJECT-TYPE SYNTAX INTEGER { @@ -1979,15 +1604,14 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:CDR Flag - Remark:Enable or disable the Call Detail Record generation of this Trunk Group." + "Remark:Enable or disable the Call Detail Record generation of this Trunk Group." DEFVAL { enable } - ::= { trunkGroupEntry 22 } + ::= { tgEntry 15 } -- Trunk Group Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.23 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 tgTrunkGroupType OBJECT-TYPE SYNTAX INTEGER { @@ -1998,71 +1622,38 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:TG Type - Remark:Application type of this Trunk Group." + "Remark:Application type of this Trunk Group." DEFVAL { normal } - ::= { trunkGroupEntry 23 } + ::= { tgEntry 16 } -- Routing Zone ID -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.24 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.17 tgRoutingZoneID OBJECT-TYPE SYNTAX INTEGER (0..31) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:RZS ID - Remark:Specify the Trunk Group to a Routing Zone Set. Set 255 to apply this TG in all Routing Zone Sets." + "Remark:Specify the Trunk Group to a Routing Zone Set. Set 255 to apply this TG in all Routing Zone Sets." DEFVAL { 0 } - ::= { trunkGroupEntry 24 } + ::= { tgEntry 17 } -- Alternative Routing Trigger -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.17 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.25 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.18 tgAlternativeRoutingTrigger OBJECT-TYPE SYNTAX INTEGER (0..15) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Alternative RZS Trigger - Remark:Specify the Trunk Group to an alternative Routing Zone Set for backup purpose.

- 0 = Disable Alternative Routing Zone Set" + "Remark:Specify the ID of the Alternative Routing Trigger for backup purpose. " DEFVAL { 0 } - ::= { trunkGroupEntry 25 } + ::= { tgEntry 18 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.26 - tgIgnoreNumberPortabilityInformation OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Ignore MNP Info - Remark:(For MNP) In the MNP port-in processing, enable to ignore the optional parameters in the incoming IAM message." - ::= { trunkGroupEntry 26 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.27 - tgSignalPortedNumber OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Signal Ported Number - Remark:(For MNP) In the MNP port-out processing, enable to ignore the optional parameters in the outgoing IAM message." - ::= { trunkGroupEntry 27 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.28 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.19 tgNFAS OBJECT-TYPE SYNTAX INTEGER { @@ -2072,316 +1663,76 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:NFAS Flag - Remark:(For ISDN) Enable or disable Non-Facility Associated Signaling (NFAS) with D Channel Backup feature." - ::= { trunkGroupEntry 28 } + "Description." + ::= { tgEntry 19 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.29 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.20 tgPrimaryLink OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Primary Link - Remark:(For ISDN) Specify the primary D channel to control multiple trunks." - ::= { trunkGroupEntry 29 } + "Description." + ::= { tgEntry 20 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.30 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.21 tgBackupLink OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Backup Link - Remark:(For ISDN) Specify a backup D channel for use when the primary NFAS D channel is unavailable." - ::= { trunkGroupEntry 30 } - - --- Codec Type --- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.31 - tgBSCCodec OBJECT-TYPE - SYNTAX Opaque (SIZE (16)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Codec 0[u]00.0-00.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 1[u]01.0-01.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 2[u]02.0-02.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 3[u]03.0-03.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 4[u]04.0-04.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 5[u]05.0-05.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 6[u]06.0-06.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 7[u]07.0-07.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 8[u]08.0-08.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 9[u]09.0-09.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 10[u]10.0-10.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 11[u]11.0-11.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 12[u]12.0-12.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 13[u]13.0-13.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 14[u]14.0-14.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [unit]Codec 15[u]15.0-15.7[u]select - [v]2[opt]FR - [v]3[opt]EFR - [v]4[opt]AMR_12_2 - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_15 - [v]11[opt]AMR_5_9 - [v]12[opt]AMR_4_75 - [v]255[opt]NULL - [remark] - Specify the codec type of the BSC. It is available only for circuit BSC.

Entry 0 is the highest priority, entry 13 is the lowest." - ::= { trunkGroupEntry 31 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.32 - tgEchoControlDeviceIndicator OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:Echo Control Device Indicator - Remark:Indicate including echo control device in outbound IAM message or not." - ::= { trunkGroupEntry 32 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.33 - tgSatelliteIndicator OBJECT-TYPE - SYNTAX INTEGER - { - noSatelliteCircuit(0), - oneSatelliteCircuit(1), - twoSatelliteCircuit(2), - transit(3) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Remark:Specify the bearing value of the Satellite Indicator in the outgoing ISUP IAM message. For Transit, just adopts the same value from incoming ISUP IAM message." - ::= { trunkGroupEntry 33 } + "Description." + ::= { tgEntry 21 } -- Trunk -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.18 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.34 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.22 tgCreateEntryTrunk OBJECT-TYPE SYNTAX INTEGER { create(1) } MAX-ACCESS read-write STATUS current DESCRIPTION " " - ::= { trunkGroupEntry 34 } + ::= { tgEntry 22 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.35 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.23 tgTrunkEntries OBJECT-TYPE SYNTAX INTEGER (0..32) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Trunk Entries + "Key Parameter:Yes Remark:The total number of configured Trunks in this Trunk Group." - ::= { trunkGroupEntry 35 } + ::= { tgEntry 23 } -- Row Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.19 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.36 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.24 tgRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "Key Parameter:Yes" - ::= { trunkGroupEntry 36 } + ::= { tgEntry 24 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.1.1.37 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.25 tgEventLog OBJECT-TYPE SYNTAX DisplayString - MAX-ACCESS not-accessible + MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Description." - ::= { trunkGroupEntry 37 } + ::= { tgEntry 25 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2 trunkTable OBJECT-TYPE SYNTAX SEQUENCE OF TrunkEntry MAX-ACCESS not-accessible @@ -2392,20 +1743,20 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1 trunkEntry OBJECT-TYPE SYNTAX TrunkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:2" - INDEX { trunkIndex, trunkTGIndex } + "Description." + INDEX { trunkIndex, trunkTgIndex } ::= { trunkTable 1 } TrunkEntry ::= SEQUENCE { - trunkTGIndex + trunkTgIndex INTEGER, trunkIndex INTEGER, @@ -2437,7 +1788,7 @@ INTEGER, trunkChannelInUse INTEGER, - trunkChannelEntries + trunkTimeSlotEntries INTEGER, trunkRowStatus RowStatus @@ -2445,50 +1796,48 @@ -- Trunk TG Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.1 - trunkTGIndex OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.1 + trunkTgIndex OBJECT-TYPE SYNTAX INTEGER (1..255) MAX-ACCESS read-only STATUS current - DESCRIPTION - "Name:TG Index - Remark:Trunk Group index number for the Trunk." + DESCRIPTION " " ::= { trunkEntry 1 } -- Trunk Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.2 trunkIndex OBJECT-TYPE SYNTAX INTEGER (1..32) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Trunk index number ranges from 1 to 32." + "Key Parameter:Yes + Remark:Index number range from 1 to 32." ::= { trunkEntry 2 } -- Title -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.3 trunkTitle OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Trunk name for identification purpose only." + "Key Parameter:Yes + Remark:Title of the selected Trunk (max 16 characters)." DEFVAL { "TK#" } ::= { trunkEntry 3 } -- Creation Time Stamp -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.4 trunkCreateTimeStamp OBJECT-TYPE SYNTAX TimeStamp - MAX-ACCESS not-accessible + MAX-ACCESS read-only STATUS current DESCRIPTION "Remark:Creation date and time of the Trunk" @@ -2497,52 +1846,52 @@ -- Administration State -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.5 trunkAdministrationState OBJECT-TYPE SYNTAX AdminStateChoices MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Admin State + "Key Parameter:Yes Remark:Control the operation of the managed Trunk." ::= { trunkEntry 5 } -- Operability Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.6 trunkOperabilityStatus OBJECT-TYPE SYNTAX OperStateChoices MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Oper State - Remark:(Read Only) Indicate the current Trunk operation is qualified by Availability Status." + "Key Parameter:Yes + Remark:(Read Only) Indicate the current linkset operation is qualified by Availability Status." ::= { trunkEntry 6 } -- Availability Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.7 trunkAvailabilityStatus OBJECT-TYPE SYNTAX AvailStateChoices MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Avail State - Remark:(Read Only) Qualify Operation State providing details about the current operational state." + "Key Parameter:Yes + Remark:(Read Only) Qualify Operation State providing details about the current operational status." ::= { trunkEntry 7 } -- MG ID -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.8 trunkMgID OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:MG ID + "Key Parameter:Yes Remark:Specify the Trunk to a Media Gateway. Not applicable to virtual MG." DEFVAL { 0 } ::= { trunkEntry 8 } @@ -2550,20 +1899,19 @@ -- Port ID -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.9 trunkPortID OBJECT-TYPE SYNTAX INTEGER (0..31) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Port ID - Remark:Specify the Trunk to a physical port of the selected Media Gateway. Not applicable to virtual MG." + "Remark:Specify the Trunk to a physical port of the selected Media Gateway. Not applicable to virtual MG." ::= { trunkEntry 9 } -- Port Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.10 trunkPortType OBJECT-TYPE SYNTAX INTEGER { @@ -2574,15 +1922,14 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Port Type - Remark:Specify the type of MG physical ports." + "Remark:Specify the type of MG physical ports." DEFVAL { enable } ::= { trunkEntry 10 } -- Group ID -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.11 trunkGroupID OBJECT-TYPE SYNTAX INTEGER { @@ -2592,15 +1939,14 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Group ID - Remark:Select the application group for the Trunk.

- Group0 = Master is MSC 0
- Group1 = Master is MSC1" + "Remark:Select the application group of the Trunk for redundancy backup." DEFVAL { group0 } ::= { trunkEntry 11 } -- Typical CIC Assignment Plan -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.12 trunkSupervisionMethod OBJECT-TYPE SYNTAX INTEGER { @@ -2610,24 +1956,22 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Supervision Method - Remark:Specify the type of block request indication delivered in the ISUP trunk initialization process." + "Remark:Select a mode for the Circuit Identity Code assignment of this Trunk." DEFVAL { enable } ::= { trunkEntry 12 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.13 trunkLinkID OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Link ID - Remark:(For ISDN) Specify the corresponding IUA link ID which is configured in the MTP3 setting." + "Description." ::= { trunkEntry 13 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.14 trunkUserNetworkInterface OBJECT-TYPE SYNTAX INTEGER { @@ -2637,49 +1981,45 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:User Network Interface - Remark:(For ISDN) Select Q.931 switch type for ISDN call processing." + "Description." ::= { trunkEntry 14 } -- Typical CIC Value Assignment -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.15 trunkCICValueAssignment OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:CIC Assignment - Remark:Specify the start CIC to the Trunk for typical mode.

- E1 = 0, 32, 64 ...
- T1 = 0, 24, 48 ..." + "Remark:Specify the start CIC to the Trunk for typical mode." ::= { trunkEntry 15 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.16 trunkChannelInUse OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION - "Name:Channel in Use - Remark:(Read Only) Display the quantity of occupied channels of this trunk in real-time." + "Description." ::= { trunkEntry 16 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.17 - trunkChannelEntries OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.17 + trunkTimeSlotEntries OBJECT-TYPE SYNTAX INTEGER (0..32) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Channel Entries - Remark:The total number of configured Channels in this Trunk." + "Key Parameter:Yes" ::= { trunkEntry 17 } -- Row Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.2.1.18 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.18 trunkRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write @@ -2690,9 +2030,9 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3 - channelTable OBJECT-TYPE - SYNTAX SEQUENCE OF ChannelEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3 + tsTable OBJECT-TYPE + SYNTAX SEQUENCE OF TsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -2701,20 +2041,20 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1 - channelEntry OBJECT-TYPE - SYNTAX ChannelEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1 + tsEntry OBJECT-TYPE + SYNTAX TsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:3" - INDEX { tsTrunkIndex, tsIndex, tsTrunkTGIndex } - ::= { channelTable 1 } + "Description." + INDEX { tsTrunkTgIndex, tsTrunkIndex, tsIndex } + ::= { tsTable 1 } - ChannelEntry ::= + TsEntry ::= SEQUENCE { - tsTrunkTGIndex + tsTrunkTgIndex INTEGER, tsTrunkIndex INTEGER, @@ -2734,46 +2074,42 @@ -- CIC Trunk TG Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.1 - tsTrunkTGIndex OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.1 + tsTrunkTgIndex OBJECT-TYPE SYNTAX INTEGER (1..255) MAX-ACCESS read-only STATUS current - DESCRIPTION - "Name:TG Index - Remark:Trunk Group index number for this Timeslot." - ::= { channelEntry 1 } + DESCRIPTION " " + ::= { tsEntry 1 } -- CIC Trunk Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.2 tsTrunkIndex OBJECT-TYPE SYNTAX INTEGER (1..32) MAX-ACCESS read-only STATUS current - DESCRIPTION - "Name:Trunk Index - Remark:Trunk index number for this Timeslot." - ::= { channelEntry 2 } + DESCRIPTION " " + ::= { tsEntry 2 } -- CIC Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.3 tsIndex OBJECT-TYPE SYNTAX INTEGER (1..32) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Timeslot index number ranges from 1 to 32." - ::= { channelEntry 3 } + "Key Parameter:Yes + Remark:Index number range from 1 to 32." + ::= { tsEntry 3 } -- CIC Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.4 tsType OBJECT-TYPE SYNTAX INTEGER { @@ -2788,47 +2124,45 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Type + "Key Parameter:Yes Remark:Specify the type of the channel." DEFVAL { bidirectiona } - ::= { channelEntry 4 } + ::= { tsEntry 4 } -- Channel CIC -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.5 tsChannelCIC OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:CIC - Remark:Assign a Circuit Identity Code (CIC) to the channel." - ::= { channelEntry 5 } + "Key Parameter:Yes + Remark:Assign a Circuit Identity Code to the channel." + ::= { tsEntry 5 } -- Call Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.6 tsChannelStatus OBJECT-TYPE SYNTAX INTEGER { outOfService(0), idle(1), - busy(2), - iPALIMUsed(3) + busy(2) } MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Status - Remark:(Read Only) The current status of the serving channel." - ::= { channelEntry 6 } + "Key Parameter:Yes" + ::= { tsEntry 6 } -- Local Block -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 tsLocalBlock OBJECT-TYPE SYNTAX INTEGER { @@ -2838,14 +2172,13 @@ MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Local Block - Remark:(Read Only) Display the local block error if the channel is out of service." - ::= { channelEntry 7 } + "Key Parameter:Yes" + ::= { tsEntry 7 } -- Remote Block -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.4.3.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.8 tsRemoteBlock OBJECT-TYPE SYNTAX INTEGER { @@ -2855,20 +2188,19 @@ MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Remote Block - Remark:(Read Only) Display the remote block error if the channel is out of service." - ::= { channelEntry 8 } + "Key Parameter:Yes" + ::= { tsEntry 8 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5 locationArea OBJECT IDENTIFIER ::= { parameter 5 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1 - locationAreaTable OBJECT-TYPE - SYNTAX SEQUENCE OF LocationAreaEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1 + laTable OBJECT-TYPE + SYNTAX SEQUENCE OF LaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -2877,18 +2209,18 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1 - locationAreaEntry OBJECT-TYPE - SYNTAX LocationAreaEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1 + laEntry OBJECT-TYPE + SYNTAX LaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:1" + "Description." INDEX { laIndex } - ::= { locationAreaTable 1 } + ::= { laTable 1 } - LocationAreaEntry ::= + LaEntry ::= SEQUENCE { laIndex INTEGER, @@ -2904,8 +2236,6 @@ INTEGER, laNumberOfRepeatPaging INTEGER, - laNITZ - Opaque, laLocalEmergencyNumber0 DisplayString16, laLocalEmergencyNumber1 @@ -2932,70 +2262,69 @@ -- Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.1 laIndex OBJECT-TYPE - SYNTAX INTEGER { create(1) } + SYNTAX INTEGER (1..256) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Location Area index number ranges from 1 to 1023." - ::= { locationAreaEntry 1 } + "Key Parameter:Yes + Remark:Index number range from 1 to 256." + ::= { laEntry 1 } -- Title -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.2 laTitle OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Location Area name for identification purpose only." + "Key Parameter:Yes + Remark:Title of the selected Location Area (max 16 characters)." DEFVAL { "LA#" } - ::= { locationAreaEntry 2 } + ::= { laEntry 2 } -- Creation Time Stamp -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.3 laCreateTimeStamp OBJECT-TYPE SYNTAX TimeStamp - MAX-ACCESS not-accessible + MAX-ACCESS read-only STATUS current DESCRIPTION "Remark:Creation date and time of the Location Area." - ::= { locationAreaEntry 3 } + ::= { laEntry 3 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.4 laLAC OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:LAC - Remark:Specify the Location Area Code of this location area.

- Range = 1 - 65535" - ::= { locationAreaEntry 4 } + "Key Parameter:Yes" + ::= { laEntry 4 } -- Trunk Group -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.5 laTrunkGroup OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Trunk Group - Remark:Specify the serving Trunk Group of this location area." - ::= { locationAreaEntry 5 } + "Key Parameter:Yes + Remark:Specify the Trunk Group to the BSC." + ::= { laEntry 5 } -- Page Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 laPageType OBJECT-TYPE SYNTAX INTEGER { @@ -3005,177 +2334,158 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Paging Mode - Remark:Paging messages broadcast in the specified location area or in the whole network." + "Key Parameter:Yes + Remark:Paging messages broadcast in the specified LAC or in the whole network." DEFVAL { byLAC } - ::= { locationAreaEntry 6 } + ::= { laEntry 6 } -- Number Of Repeat Paging -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 laNumberOfRepeatPaging OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Repeat Paging Times + "Key Parameter:Yes Remark:Specify the subsequent paging times if the initial paging fails." DEFVAL { 2 } - ::= { locationAreaEntry 7 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.8 - laNITZ OBJECT-TYPE - SYNTAX Opaque (SIZE (35)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Name:NITZ - Remark:Network Identity and Time Zone" - ::= { locationAreaEntry 8 } + ::= { laEntry 7 } -- Local Emergency Number0 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.8 laLocalEmergencyNumber0 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 0 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 9 } + "Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." + ::= { laEntry 8 } -- Local Emergency Number1 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.9 laLocalEmergencyNumber1 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 1 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 10 } + "Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." + ::= { laEntry 9 } -- Local Emergency Number2 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.10 laLocalEmergencyNumber2 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 2 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 11 } + "Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." + ::= { laEntry 10 } -- Local Emergency Number3 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.11 laLocalEmergencyNumber3 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 3 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 12 } + "Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." + ::= { laEntry 11 } -- Local Emergency Number4 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.12 laLocalEmergencyNumber4 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 4 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 13 } + "Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." + ::= { laEntry 12 } -- Local Emergency Number5 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 laLocalEmergencyNumber5 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 5 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 14 } + "Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." + ::= { laEntry 13 } -- Local Emergency Number6 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.14 laLocalEmergencyNumber6 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 6 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 15 } + "Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." + ::= { laEntry 14 } -- Local Emergency Number7 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.15 laLocalEmergencyNumber7 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 7 - Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." - ::= { locationAreaEntry 16 } + "Remark:The emergency number, which subscriber dialed in the specific Location Area, will be transformed to this number and route to the emergency center." + ::= { laEntry 15 } -- Cell -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.17 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.16 laCreateEntryCell OBJECT-TYPE SYNTAX INTEGER { create(1) } MAX-ACCESS read-write STATUS current DESCRIPTION " " - ::= { locationAreaEntry 17 } + ::= { laEntry 16 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.18 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.17 laCellEntries OBJECT-TYPE SYNTAX INTEGER (0..16) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Cell Entries - Remark:The total number of configured Cells in this Location Area." - ::= { locationAreaEntry 18 } + "Key Parameter:Yes + Remark:The total number of configured Cells in this LAC." + ::= { laEntry 17 } -- Row Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.1.1.19 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.18 laRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "Key Parameter:Yes" - ::= { locationAreaEntry 19 } + ::= { laEntry 18 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2 cellTable OBJECT-TYPE SYNTAX SEQUENCE OF CellEntry MAX-ACCESS not-accessible @@ -3186,20 +2496,20 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1 cellEntry OBJECT-TYPE SYNTAX CellEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:2" - INDEX { cellIndex, cellLAIndex } + "Description." + INDEX { cellLaIndex, cellIndex } ::= { cellTable 1 } CellEntry ::= SEQUENCE { - cellLAIndex + cellLaIndex INTEGER, cellIndex INTEGER, @@ -3211,12 +2521,8 @@ INTEGER, cellRegionalSubscriptionZoneCode INTEGER, - cellCellID + cellID INTEGER, - cellLatitude - Opaque, - cellLongitude - Opaque, cellLocalEmergencyNumber0 DisplayString16, cellLocalEmergencyNumber1 @@ -3239,50 +2545,48 @@ -- Cell Location Area Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.1 - cellLAIndex OBJECT-TYPE - SYNTAX INTEGER (1..255) + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.1 + cellLaIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) MAX-ACCESS read-only STATUS current - DESCRIPTION - "Name:LA Index - Remark:Location Area index number for this Cell." + DESCRIPTION " " ::= { cellEntry 1 } -- Cell Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.2 cellIndex OBJECT-TYPE SYNTAX INTEGER (1..16) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Cell index number ranges from 1 to 16." + "Key Parameter:Yes + Remark:Index number range from 1 to 16." ::= { cellEntry 2 } -- Title -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.3 cellTitle OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Cell name for identification purpose only." + "Key Parameter:Yes + Remark:Title of the selected Cell (max 16 characters)." DEFVAL { "CELL#" } ::= { cellEntry 3 } -- Creation Time Stamp -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.4 cellCreateTimeStamp OBJECT-TYPE SYNTAX TimeStamp - MAX-ACCESS not-accessible + MAX-ACCESS read-only STATUS current DESCRIPTION "Remark:Creation date and time of the Cell." @@ -3291,198 +2595,162 @@ -- Rounting Zone ID -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.5 cellRoutingZoneID OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:RZS ID - Remark:Specify the Routing Zone Set to this Cell." + "Key Parameter:Yes + Remark:Specify the Routing Zone Set ID to this Cell." DEFVAL { 0 } ::= { cellEntry 5 } -- Regional Subscription Zone Code -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.6 cellRegionalSubscriptionZoneCode OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:RSZC - Remark:Assign a Regional Subscription Zone Code (RSZC) to the LAC.

- RSZC = CC + NDC + Zone Code" + "Key Parameter:Yes + Remark:Assign a regional subscription zone code to the LAC. Regional Subscription Code = CC+NDC+Zone Code." DEFVAL { 'FF'h } ::= { cellEntry 6 } -- Cell ID -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.7 - cellCellID OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.7 + cellID OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Cell ID - Remark:Global Cell Identity defined in GSM 03.03.

- Range = 0 - 65535" + "Key Parameter:Yes + Remark:Global Cell Identity defined in GSM 03.03." ::= { cellEntry 7 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.8 - cellLatitude OBJECT-TYPE - SYNTAX Opaque (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Latitude[u]00.0-03.7[u]input - [v]toLatitude-formula-pow(2,23)/90 - [remark] - Specify the latitude of this cell for a location service use.

- Range = -90.00 - 90.00" - ::= { cellEntry 8 } - - - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.9 - cellLongitude OBJECT-TYPE - SYNTAX Opaque (SIZE (0..4)) - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "OPAQUE DECODE RULE: - [unit]Longitude[u]00.0-03.7[u]input - [v]toLongitude-formula-pow(2,24)/360 - [remark] - Specify the longitude of this cell for a location service use.

- Range = -180.00 - 180.00" - ::= { cellEntry 9 } - - -- Cell Local Emergency Number0 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.8 cellLocalEmergencyNumber0 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 0 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 10 } + "Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." + ::= { cellEntry 8 } -- Cell Local Emergency Number1 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.9 cellLocalEmergencyNumber1 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 1 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 11 } + "Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." + ::= { cellEntry 9 } -- Cell Local Emergency Number2 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.10 cellLocalEmergencyNumber2 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 2 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 12 } + "Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." + ::= { cellEntry 10 } -- Cell Local Emergency Number3 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.11 cellLocalEmergencyNumber3 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 3 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 13 } + "Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." + ::= { cellEntry 11 } -- Cell Local Emergency Number4 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.12 cellLocalEmergencyNumber4 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 4 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 14 } + "Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." + ::= { cellEntry 12 } -- Cell Local Emergency Number5 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.13 cellLocalEmergencyNumber5 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 5 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 15 } + "Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." + ::= { cellEntry 13 } -- Cell Local Emergency Number6 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.14 cellLocalEmergencyNumber6 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 6 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 16 } + "Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." + ::= { cellEntry 14 } -- Cell Local Emergency Number7 -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.15 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.17 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.15 cellLocalEmergencyNumber7 OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Emergency Number 7 - Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." - ::= { cellEntry 17 } + "Remark:The emergency number, which subscriber dialed in the specific Cell, will be transformed to this number and route to the emergency center." + ::= { cellEntry 15 } -- Row Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.16 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.5.2.1.18 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.16 cellRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "Key Parameter:Yes" - ::= { cellEntry 18 } + ::= { cellEntry 16 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6 mediaGateway OBJECT IDENTIFIER ::= { parameter 6 } -- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1 - mediaGatewayTable OBJECT-TYPE - SYNTAX SEQUENCE OF MediaGatewayEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1 + mgTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -3491,18 +2759,18 @@ -- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1 - mediaGatewayEntry OBJECT-TYPE - SYNTAX MediaGatewayEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1 + mgEntry OBJECT-TYPE + SYNTAX MgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:1" + "Description." INDEX { mgIndex } - ::= { mediaGatewayTable 1 } + ::= { mgTable 1 } - MediaGatewayEntry ::= + MgEntry ::= SEQUENCE { mgIndex INTEGER, @@ -3512,7 +2780,7 @@ TimeStamp, mgAdministrationState AdminStateChoices, - mgIP + mgIp IpAddress, mgDomainName DisplayString16, @@ -3544,121 +2812,117 @@ -- Index -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.1 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.1 mgIndex OBJECT-TYPE SYNTAX INTEGER (1..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Media Gateway index number ranges from 1 to 255." - ::= { mediaGatewayEntry 1 } + "Key Parameter:Yes + Remark:Index number range from 1 to 256." + ::= { mgEntry 1 } -- Title -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.2 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.2 mgTitle OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Title - Remark:Media Gateway name for identification purpose only." + "Key Parameter:Yes + Remark:Title of the selected Media Gateway (max 16 characters)." DEFVAL { "MG#" } - ::= { mediaGatewayEntry 2 } + ::= { mgEntry 2 } -- Creation Time Stamp -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.3 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.3 mgCreateTimeStamp OBJECT-TYPE SYNTAX TimeStamp - MAX-ACCESS not-accessible + MAX-ACCESS read-only STATUS current DESCRIPTION "Remark:Creation date and time of the MG entry." - ::= { mediaGatewayEntry 3 } + ::= { mgEntry 3 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.4 mgAdministrationState OBJECT-TYPE SYNTAX AdminStateChoices MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Admin State - Remark:Control the operation of the managed Media Gateway." - ::= { mediaGatewayEntry 4 } + "Remark:Control the operation of the managed Media Gateway." + ::= { mgEntry 4 } -- IP -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.4 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.5 - mgIP OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.5 + mgIp OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:IP - Remark:IP address of the Media Gateway." - ::= { mediaGatewayEntry 5 } + "Key Parameter:Yes + Remark:IP address of the Media Gateway or 8KE1 Card." + ::= { mgEntry 5 } -- Domain Name -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.5 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.6 mgDomainName OBJECT-TYPE SYNTAX DisplayString16 MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Domain Name - Remark:Specify a domain name to the Media Gateway." - ::= { mediaGatewayEntry 6 } + "Remark:Specify a domain name to the Media Gateway." + ::= { mgEntry 6 } -- Switching Mode -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.7 mgSwitchingMode OBJECT-TYPE SYNTAX INTEGER { mgcp(0), - eightECP(1), - megaco(2) + eightECP(1) } MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Switching Mode - Remark:Select the switching mode of the specific Media Gateway.

- 8ECP = Circuit Switch (8KE1 Card)
- MGCP = Soft Switch" + "Key Parameter:Yes + Remark:Select the switching mode of the specified MG." DEFVAL { mgcp } - ::= { mediaGatewayEntry 7 } + ::= { mgEntry 7 } -- End Point Description -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.8 mgEndPoint OBJECT-TYPE SYNTAX INTEGER { structured(1), - unStructured(2), - unStructuredHex(3) + unStructured(2) } MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Endpoint + "Key Parameter:Yes Remark:Specify the method of MGCP endpoint description." DEFVAL { structured } - ::= { mediaGatewayEntry 8 } + ::= { mgEntry 8 } -- Tone Gen Capability -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.8 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.9 mgToneGenCapability OBJECT-TYPE SYNTAX INTEGER { @@ -3668,15 +2932,14 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Tone Generation Capacity - Remark:Enable if the Media Gateway has tone generation capability." + "Remark:Enable if the Media Gateway has tone generation capability." DEFVAL { enable } - ::= { mediaGatewayEntry 9 } + ::= { mgEntry 9 } -- MG Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.9 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.10 mgType OBJECT-TYPE SYNTAX INTEGER { @@ -3685,10 +2948,7 @@ lgcCS(3), ipBSS(4), analogLine(11), - vim(19), - tandem(20), announcementServer(21), - iuupGW(23), interactiveVoiceResponse(31), conferenceBridge(41), packetRelay(51), @@ -3698,41 +2958,39 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Key Parameter:Yes Name:Type - Remark:Select the type of Media Gateway endpoint." + "Key Parameter:Yes + Remark:Select the type of MG endpoint." DEFVAL { digitalChannel } - ::= { mediaGatewayEntry 10 } + ::= { mgEntry 10 } -- Max Physical Ports -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.10 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.11 mgMaxPhysicalPorts OBJECT-TYPE SYNTAX INTEGER (0..32) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Max Ports - Remark:The total physical port number of the Media Gateway. Not applicable to virtual MG." - ::= { mediaGatewayEntry 11 } + "Remark:The total physical port number of the MG. Not applicable to virtual MG." + ::= { mgEntry 11 } -- Max Channels -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.11 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.12 mgMaxChannels OBJECT-TYPE SYNTAX INTEGER (0..1024) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Max Channels - Remark:The total channel number of the virtual Media Gateway. Applicable to virtual MG only." - ::= { mediaGatewayEntry 12 } + "Remark:The total channel number of the virtual MG. Applicable to virtual MG only." + ::= { mgEntry 12 } -- Packetization Period -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.12 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.13 mgPacketizationPeriod OBJECT-TYPE SYNTAX INTEGER { @@ -3744,26 +3002,24 @@ MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Packetization Period - Remark:The period over which encoded voice bits are collected for encapsulation in." + "Remark:The period over which encoded voice bits are collected for encapsulation in." DEFVAL { x20ms } - ::= { mediaGatewayEntry 13 } + ::= { mgEntry 13 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.14 mgPriorityLevel OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Priority Level - Remark:Set the priority level of the MG codec table:

- 0 = Lowest priority level
- 255 = Highest priority level" - ::= { mediaGatewayEntry 14 } + "Remark:Set the priority level of the MG codec table. Specify priority level as an integer between from 0 and 255. Use 0 to indicate the lowest priority and 255 to indicate the highest priority." + ::= { mgEntry 14 } -- Codec Type -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.15 mgCodecType OBJECT-TYPE SYNTAX Opaque (SIZE (16)) MAX-ACCESS read-write @@ -3775,299 +3031,152 @@ [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 1[u]01.0-01.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 2[u]02.0-02.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 3[u]03.0-03.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 4[u]04.0-04.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 5[u]05.0-05.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 6[u]06.0-06.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 7[u]07.0-07.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 8[u]08.0-08.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 9[u]09.0-09.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 10[u]10.0-10.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 11[u]11.0-11.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 12[u]12.0-12.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 13[u]13.0-13.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 14[u]14.0-14.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 [v]255[opt]NULL [unit]Codec 15[u]15.0-15.7[u]select [v]0[opt]aLaw [v]1[opt]uLaw [v]2[opt]FR [v]3[opt]EFR - [v]4[opt]AMR_12_2 [v]5[opt]G729b - [v]6[opt]AMR_10_2 - [v]7[opt]AMR_7_95 - [v]8[opt]AMR_7_4 - [v]9[opt]AMR_6_7 - [v]10[opt]AMR_5_9 - [v]11[opt]AMR_5_15 - [v]12[opt]AMR_4_75 - [v]13[opt]G729 - [v]255[opt]NULL - [remark] - Specify the codec type of the Media Gateway. Entry 0 is the highest priority, entry 13 is the lowest." - ::= { mediaGatewayEntry 15 } + [v]255[opt]NULL" + ::= { mgEntry 15 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.16 mgAuditTimer OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION - "Name:Audit Timer - Remark:The time interval between sending AUEP message from MGC to MGW to check the trunk status. Unit is second." - ::= { mediaGatewayEntry 16 } + "Description." + ::= { mgEntry 16 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.17 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.17 mgPhysicalPortEntries OBJECT-TYPE SYNTAX INTEGER (0..32) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Port Entries - Remark:The total number of the configured physical Ports of this Media Gateway." - ::= { mediaGatewayEntry 17 } + "Key Parameter:Yes + Remark:The total number of the configured Physical Ports in this Media Gateway." + ::= { mgEntry 17 } -- Row Status -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.14 - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.1.1.18 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.18 mgRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "Key Parameter:Yes" - ::= { mediaGatewayEntry 18 } + ::= { mgEntry 18 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2 - physicalPortTable OBJECT-TYPE - SYNTAX SEQUENCE OF PhysicalPortEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2 + ppTable OBJECT-TYPE + SYNTAX SEQUENCE OF PpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -4075,54 +3184,51 @@ ::= { mediaGateway 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1 - physicalPortEntry OBJECT-TYPE - SYNTAX PhysicalPortEntry + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1 + ppEntry OBJECT-TYPE + SYNTAX PpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "level:2" - INDEX { ppIndex, ppMGIndex } - ::= { physicalPortTable 1 } + "Description." + INDEX { ppMgIndex, ppIndex } + ::= { ppTable 1 } - PhysicalPortEntry ::= + PpEntry ::= SEQUENCE { - ppMGIndex + ppMgIndex INTEGER, ppIndex INTEGER, ppUsedFlag INTEGER, ppStatus - INTEGER, - ppSeizure - OCTET STRING + INTEGER } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.1 - ppMGIndex OBJECT-TYPE + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.1 + ppMgIndex OBJECT-TYPE SYNTAX INTEGER (1..255) MAX-ACCESS read-only STATUS current DESCRIPTION - "Name:MG Index - Remark:Media Gateway index number for this physical Port." - ::= { physicalPortEntry 1 } + "Description." + ::= { ppEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.2 ppIndex OBJECT-TYPE SYNTAX INTEGER (1..32) MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Index - Remark:Port index number ranges from 1 to 32." - ::= { physicalPortEntry 2 } + "Key Parameter:Yes + Remark:Index number range from 1 to 32." + ::= { ppEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.3 ppUsedFlag OBJECT-TYPE SYNTAX INTEGER { @@ -4132,12 +3238,11 @@ MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Used Flag - Remark:(Read Only) This field indicates whether the port is in service." - ::= { physicalPortEntry 3 } + "Key Parameter:Yes" + ::= { ppEntry 3 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.4 ppStatus OBJECT-TYPE SYNTAX INTEGER { @@ -4147,28 +3252,194 @@ MAX-ACCESS read-only STATUS current DESCRIPTION - "Key Parameter:Yes Name:Status - Remark:(Read Only) The availability status of the physical port." - ::= { physicalPortEntry 4 } + "Key Parameter:Yes" + ::= { ppEntry 4 } - -- 1.3.6.1.4.1.1373.2.3.3.1.2.6.2.1.5 - ppSeizure OBJECT-TYPE - SYNTAX OCTET STRING (SIZE (0..128)) - MAX-ACCESS read-only +-- 1.3.6.1.4.1.1373.1.3.3.2.2.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8 + leaseCircuitStaticConnection OBJECT IDENTIFIER ::= { parameter 8 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.8.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1 + lcscTable OBJECT-TYPE + SYNTAX SEQUENCE OF LcscEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { leaseCircuitStaticConnection 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.8.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1 + lcscEntry OBJECT-TYPE + SYNTAX LcscEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { lcscIndex } + ::= { lcscTable 1 } + + + LcscEntry ::= + SEQUENCE { + lcscIndex + INTEGER, + lcscTitle + DisplayString16, + lcscCreateTimeStamp + TimeStamp, + lcscOMG + INTEGER, + lcscOTrunk + INTEGER, + lcscOChannel + INTEGER, + lcscDMG + INTEGER, + lcscDTrunk + INTEGER, + lcscDChannel + INTEGER, + lcscRowStatus + RowStatus + } + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.1 + lcscIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-write STATUS current DESCRIPTION "Key Parameter:Yes - RelationPoint:2.4.2.1 - Remark:(Read Only) Hyperlink of the related Trunk Group and Trunk." - ::= { physicalPortEntry 5 } + Remark:Index number range from 1 to 256." + ::= { lcscEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3 +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.2 + lcscTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Title of the selected Lease Circuit (max 16 characters)." + DEFVAL { "LC#" } + ::= { lcscEntry 2 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.3 + lcscCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the Lease Circuit." + ::= { lcscEntry 3 } + + +-- Origination MG +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.4 + lcscOMG OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:ID of the originating Media Gateway." + ::= { lcscEntry 4 } + + +-- Origination Trunk +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.5 + lcscOTrunk OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Trunk ID of the originating Media Gateway." + ::= { lcscEntry 5 } + + +-- Origination Channel +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.6 + lcscOChannel OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Channel ID of the originating Trunk." + ::= { lcscEntry 6 } + + +-- Destination MG +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.7 + lcscDMG OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:ID of the destination Media Gateway." + ::= { lcscEntry 7 } + + +-- Destination Trunk +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.8 + lcscDTrunk OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Trunk ID of the destination Media Gateway." + ::= { lcscEntry 8 } + + +-- Destination Channel +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.9 + lcscDChannel OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Channel ID of the destination Trunk." + ::= { lcscEntry 9 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.10 + lcscRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { lcscEntry 10 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3 csta OBJECT IDENTIFIER ::= { msc 3 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3 tgIncomingTable OBJECT-TYPE SYNTAX SEQUENCE OF TgIncomingEntry MAX-ACCESS not-accessible @@ -4178,7 +3449,7 @@ ::= { csta 3 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3.1 tgIncomingEntry OBJECT-TYPE SYNTAX TgIncomingEntry MAX-ACCESS not-accessible @@ -4199,7 +3470,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3.1.1 tgIncomingTgndex OBJECT-TYPE SYNTAX INTEGER (1..256) MAX-ACCESS read-only @@ -4209,7 +3480,7 @@ ::= { tgIncomingEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3.1.2 tgIncomingIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4219,7 +3490,7 @@ ::= { tgIncomingEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.3.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3.1.3 tgIncomingData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4229,7 +3500,7 @@ ::= { tgIncomingEntry 3 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4 tgOutgoingTable OBJECT-TYPE SYNTAX SEQUENCE OF TgOutgoingEntry MAX-ACCESS not-accessible @@ -4239,7 +3510,7 @@ ::= { csta 4 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4.1 tgOutgoingEntry OBJECT-TYPE SYNTAX TgOutgoingEntry MAX-ACCESS not-accessible @@ -4260,7 +3531,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4.1.1 tgOutgoingTgIndex OBJECT-TYPE SYNTAX INTEGER (1..256) MAX-ACCESS read-only @@ -4270,7 +3541,7 @@ ::= { tgOutgoingEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4.1.2 tgOutgoingIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4280,7 +3551,7 @@ ::= { tgOutgoingEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.4.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4.1.3 tgOutgoingData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4290,7 +3561,7 @@ ::= { tgOutgoingEntry 3 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.5 subsToSubsTable OBJECT-TYPE SYNTAX SEQUENCE OF SubsToSubsEntry MAX-ACCESS not-accessible @@ -4300,7 +3571,7 @@ ::= { csta 5 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.5.1 subsToSubsEntry OBJECT-TYPE SYNTAX SubsToSubsEntry MAX-ACCESS not-accessible @@ -4319,7 +3590,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.5.1.1 subsToSubsIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4329,7 +3600,7 @@ ::= { subsToSubsEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.5.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.5.1.2 subsToSubsData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4339,7 +3610,7 @@ ::= { subsToSubsEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.6 subsToTrunkTable OBJECT-TYPE SYNTAX SEQUENCE OF SubsToTrunkEntry MAX-ACCESS not-accessible @@ -4349,7 +3620,7 @@ ::= { csta 6 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.6.1 subsToTrunkEntry OBJECT-TYPE SYNTAX SubsToTrunkEntry MAX-ACCESS not-accessible @@ -4368,7 +3639,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.6.1.1 subsToTrunkIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4378,7 +3649,7 @@ ::= { subsToTrunkEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.6.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.6.1.2 subsToTrunkData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4388,7 +3659,7 @@ ::= { subsToTrunkEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.7 trunkToSubsTable OBJECT-TYPE SYNTAX SEQUENCE OF TrunkToSubsEntry MAX-ACCESS not-accessible @@ -4398,7 +3669,7 @@ ::= { csta 7 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.7.1 trunkToSubsEntry OBJECT-TYPE SYNTAX TrunkToSubsEntry MAX-ACCESS not-accessible @@ -4417,7 +3688,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.7.1.1 trunkToSubsIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4427,7 +3698,7 @@ ::= { trunkToSubsEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.7.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.7.1.2 trunkToSubsData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4437,7 +3708,7 @@ ::= { trunkToSubsEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.8 trunkToTrunkTable OBJECT-TYPE SYNTAX SEQUENCE OF TrunkToTrunkEntry MAX-ACCESS not-accessible @@ -4447,7 +3718,7 @@ ::= { csta 8 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.8.1 trunkToTrunkEntry OBJECT-TYPE SYNTAX TrunkToTrunkEntry MAX-ACCESS not-accessible @@ -4466,7 +3737,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.8.1.1 trunkToTrunkIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4476,7 +3747,7 @@ ::= { trunkToTrunkEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.8.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.8.1.2 trunkToTrunkData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4486,7 +3757,7 @@ ::= { trunkToTrunkEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.9 intraconnectionTable OBJECT-TYPE SYNTAX SEQUENCE OF IntraconnectionEntry MAX-ACCESS not-accessible @@ -4496,7 +3767,7 @@ ::= { csta 9 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.9.1 intraconnectionEntry OBJECT-TYPE SYNTAX IntraconnectionEntry MAX-ACCESS not-accessible @@ -4515,7 +3786,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.9.1.1 intraconnectionIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4525,7 +3796,7 @@ ::= { intraconnectionEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.9.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.9.1.2 intraconnectionData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4535,7 +3806,7 @@ ::= { intraconnectionEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.10 subsToIpTable OBJECT-TYPE SYNTAX SEQUENCE OF SubsToIpEntry MAX-ACCESS not-accessible @@ -4545,7 +3816,7 @@ ::= { csta 10 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.10.1 subsToIpEntry OBJECT-TYPE SYNTAX SubsToIpEntry MAX-ACCESS not-accessible @@ -4564,7 +3835,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.10.1.1 subsToIpIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4574,7 +3845,7 @@ ::= { subsToIpEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.10.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.10.1.2 subsToIpData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4584,7 +3855,7 @@ ::= { subsToIpEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.11 trunkToIpTable OBJECT-TYPE SYNTAX SEQUENCE OF TrunkToIpEntry MAX-ACCESS not-accessible @@ -4594,7 +3865,7 @@ ::= { csta 11 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.11.1 trunkToIpEntry OBJECT-TYPE SYNTAX TrunkToIpEntry MAX-ACCESS not-accessible @@ -4613,7 +3884,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.11.1.1 trunkToIpIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4623,7 +3894,7 @@ ::= { trunkToIpEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.11.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.11.1.2 trunkToIpData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4633,7 +3904,7 @@ ::= { trunkToIpEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.12 mobileOriginatedTable OBJECT-TYPE SYNTAX SEQUENCE OF MobileOriginatedEntry MAX-ACCESS not-accessible @@ -4643,7 +3914,7 @@ ::= { csta 12 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.12.1 mobileOriginatedEntry OBJECT-TYPE SYNTAX MobileOriginatedEntry MAX-ACCESS not-accessible @@ -4662,7 +3933,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.12.1.1 mobileOriginatedIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4672,7 +3943,7 @@ ::= { mobileOriginatedEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.12.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.12.1.2 mobileOriginatedData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4682,7 +3953,7 @@ ::= { mobileOriginatedEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.13 mobileTerminatedTable OBJECT-TYPE SYNTAX SEQUENCE OF MobileTerminatedEntry MAX-ACCESS not-accessible @@ -4692,7 +3963,7 @@ ::= { csta 13 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.13.1 mobileTerminatedEntry OBJECT-TYPE SYNTAX MobileTerminatedEntry MAX-ACCESS not-accessible @@ -4711,7 +3982,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.13.1.1 mobileTerminatedIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4721,7 +3992,7 @@ ::= { mobileTerminatedEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.13.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.13.1.2 mobileTermiginatedData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4731,7 +4002,7 @@ ::= { mobileTerminatedEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.14 inTrunkTable OBJECT-TYPE SYNTAX SEQUENCE OF InTrunkEntry MAX-ACCESS not-accessible @@ -4741,7 +4012,7 @@ ::= { csta 14 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.14.1 inTrunkEntry OBJECT-TYPE SYNTAX InTrunkEntry MAX-ACCESS not-accessible @@ -4760,7 +4031,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.14.1.1 inTrunkIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4770,7 +4041,7 @@ ::= { inTrunkEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.14.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.14.1.2 inTrunkData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4780,7 +4051,7 @@ ::= { inTrunkEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.15 outTrunkTable OBJECT-TYPE SYNTAX SEQUENCE OF OutTrunkEntry MAX-ACCESS not-accessible @@ -4790,7 +4061,7 @@ ::= { csta 15 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.15.1 outTrunkEntry OBJECT-TYPE SYNTAX OutTrunkEntry MAX-ACCESS not-accessible @@ -4809,7 +4080,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.15.1.1 outTrunkIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4819,7 +4090,7 @@ ::= { outTrunkEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.15.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.15.1.2 outTrunkData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4829,7 +4100,7 @@ ::= { outTrunkEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.16 ipTerminatedTable OBJECT-TYPE SYNTAX SEQUENCE OF IpTerminatedEntry MAX-ACCESS not-accessible @@ -4839,7 +4110,7 @@ ::= { csta 16 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.16.1 ipTerminatedEntry OBJECT-TYPE SYNTAX IpTerminatedEntry MAX-ACCESS not-accessible @@ -4858,7 +4129,7 @@ DisplayString } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.16.1.1 ipTermiginatedIndex OBJECT-TYPE SYNTAX INTEGER (0..95) MAX-ACCESS read-write @@ -4868,7 +4139,7 @@ ::= { ipTerminatedEntry 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.3.16.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.3.16.1.2 ipTermiginatedData OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write @@ -4878,11 +4149,11 @@ ::= { ipTerminatedEntry 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.4 cdr OBJECT IDENTIFIER ::= { msc 4 } - -- 1.3.6.1.4.1.1373.2.3.3.1.4.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.4.1 cdrHeadOid OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only @@ -4892,7 +4163,7 @@ ::= { cdr 1 } - -- 1.3.6.1.4.1.1373.2.3.3.1.4.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.4.2 cdrTailOid OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only @@ -4902,7 +4173,7 @@ ::= { cdr 2 } - -- 1.3.6.1.4.1.1373.2.3.3.1.4.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.4.3 cdrDataOid OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only @@ -4916,5 +4187,5 @@ END -- --- LGC-SS-MSC-MIB.my +-- LGC-SS-MSC-MIB-R91-official-080825.my -- diff --git a/src/configMgr/c_program/paraComm/mib/LGC-SS-MSC-MIB_070824.my b/src/configMgr/c_program/paraComm/mib/LGC-SS-MSC-MIB_070824.my new file mode 100644 index 0000000..a301319 --- /dev/null +++ b/src/configMgr/c_program/paraComm/mib/LGC-SS-MSC-MIB_070824.my @@ -0,0 +1,4356 @@ +-- +-- LGC-SS-MSC-MIB_070824.my +-- MIB generated by MG-SOFT Visual MIB Builder Version 7.0 Build 209 +-- Friday, August 24, 2007 at 09:51:33 +-- + + LGC-SS-MSC-MIB DEFINITIONS ::= BEGIN + + IMPORTS + lgcSS, DisplayString16, TimeStamp, RowStatus, DisplayString8, + DisplayString32, DisplayString, AdminStateChoices + FROM LGC-MIB + IpAddress, Integer32, Counter32, OBJECT-TYPE, MODULE-IDENTITY + FROM SNMPv2-SMI; + + + -- 1.3.6.1.4.1.1373.2.3.3.2 + msc MODULE-IDENTITY + LAST-UPDATED "200706291606Z" -- June 29, 2007 at 16:06 GMT + ORGANIZATION + "LGC Wireless" + CONTACT-INFO + "lcrd + lcrdsupport@lgcwireless.com" + DESCRIPTION + "Description." + REVISION "200706051219Z" -- June 05, 2007 at 12:19 GMT + DESCRIPTION + "This is the first release version of the MSC MIB" + ::= { application 2 } + + + +-- +-- Type definitions +-- + + AvailStateChoices ::= INTEGER + { + inTest(0), + failed(1), + powerOff(2), + offLine(3), + onLine(4), + dependency(5), + degraded(6), + notInstalled(7) + } + +-- shutdown +-- enabled +-- deleted + OperStateChoices ::= INTEGER + { + online(1), + offline(2) + } + + + +-- +-- Node definitions +-- + +-- Node definitions +-- +-- The MIB module for WXC2. +-- 1.3.6.1.4.1.1373.1.3 + -- 1.3.6.1.4.1.1373.2.3 + wxc2 OBJECT IDENTIFIER ::= { lgcSS 3 } + + +-- 1.3.6.1.4.1.1373.1.3.3 + -- 1.3.6.1.4.1.1373.2.3.3 + application OBJECT IDENTIFIER ::= { wxc2 3 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.1 + heartbeat OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Description." + ::= { msc 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2 + parameter OBJECT IDENTIFIER ::= { msc 2 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1 + routingZoneSet OBJECT IDENTIFIER ::= { parameter 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1 + rzsTable OBJECT-TYPE + SYNTAX SEQUENCE OF RzsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { routingZoneSet 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1 + rzsEntry OBJECT-TYPE + SYNTAX RzsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { rzsIndex } + ::= { rzsTable 1 } + + + RzsEntry ::= + SEQUENCE { + rzsIndex + INTEGER, + rzsTitle + DisplayString16, + rzsCreateTimeStamp + TimeStamp, + rzsDialingPrefixSetID + INTEGER, + rzsAnnouncementSetID + INTEGER, + rzsMSRNRangeStart + DisplayString16, + rzsMSRNRangeEnd + DisplayString16, + cdrOption + OCTET STRING, + rzsNITZ + Counter32, + rzsMaxCallDurationOfMO + INTEGER, + rzsMaxCallDurationOfMT + INTEGER, + rzsCallDisconnectionMidCallWarning + INTEGER, + rzsSRFNumber0 + Integer32, + rzsSRFNumber1 + Integer32, + rzsCreateEntryRoutingSelection + INTEGER, + rzsRoutingSelectionEntries + INTEGER, + rzsRowStatus + RowStatus + } + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.1 + rzsIndex OBJECT-TYPE + SYNTAX INTEGER (1..32) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { rzsEntry 1 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.2 + rzsTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Routing Zone (max 16 characters)" + DEFVAL { "RZS#" } + ::= { rzsEntry 2 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.3 + rzsCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the Routing Zone Set" + ::= { rzsEntry 3 } + + +-- Dialing Prefix Set ID +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.4 + rzsDialingPrefixSetID OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Select the Dialing Prefix Set for this Routing Zone" + DEFVAL { 0 } + ::= { rzsEntry 4 } + + +-- Announcement(CUA) Set ID +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.5 + rzsAnnouncementSetID OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Select the Call Unattainable Announcement Set for this Routing Zone" + ::= { rzsEntry 5 } + + +-- MSRN Range Start +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.6 + rzsMSRNRangeStart OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:The start of the MSRN range for this Routing Zone" + ::= { rzsEntry 6 } + + +-- MSRN Range End +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.7 + rzsMSRNRangeEnd OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:The end of the MSRN range for this Routing Zone" + ::= { rzsEntry 7 } + + +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.8 + cdrOption OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (11)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { rzsEntry 8 } + + +-- NITZ +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.9 + rzsNITZ OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Network Identity and Time Zone" + ::= { rzsEntry 9 } + + +-- Max Call Duration Of MO +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.10 + rzsMaxCallDurationOfMO OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Define the permitted maximum call duration for MO call. Any ongoing call reaching this threshold will be compulsively cut off. + Set 0 to disable this function. + " + DEFVAL { 0 } + ::= { rzsEntry 10 } + + +-- Max Call Duration Of MT +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.11 + rzsMaxCallDurationOfMT OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Define the permitted maximum call duration for MT call. Any incoming call reaching this threshold will be compulsively cut off. + Set 0 to disable this function." + DEFVAL { 0 } + ::= { rzsEntry 11 } + + +-- Call Disconnection Mid-call Warning +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.12 + rzsCallDisconnectionMidCallWarning OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Specify the time based trigger to play indicating tone for an ongoing prepaid call before the account balance is used up. Unit is second. + Set 0 to disable this function. + " + DEFVAL { 0 } + ::= { rzsEntry 12 } + + +-- SRF Number0 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.13 + rzsSRFNumber0 OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:The E.164 node address of the SRF connecting to MSS platform 0." + ::= { rzsEntry 13 } + + +-- SRF Number1 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.14 + rzsSRFNumber1 OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:The E.164 node address of the SRF connecting to MSS platform 1." + ::= { rzsEntry 14 } + + +-- Route Selection +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.15 + rzsCreateEntryRoutingSelection OBJECT-TYPE + SYNTAX INTEGER (0..32) + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { rzsEntry 15 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.16 + rzsRoutingSelectionEntries OBJECT-TYPE + SYNTAX INTEGER (0..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { rzsEntry 16 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.1.1.17 + rzsRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { rzsEntry 17 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2 + rsTable OBJECT-TYPE + SYNTAX SEQUENCE OF RsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { routingZoneSet 2 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.1.4.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1 + rsEntry OBJECT-TYPE + SYNTAX RsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { rsRzsIndex, rsIndex } + ::= { rsTable 1 } + + + RsEntry ::= + SEQUENCE { + rsRzsIndex + INTEGER, + rsIndex + INTEGER, + rsTitle + DisplayString16, + rsCreateTimeStamp + TimeStamp, + rsTrunkGroup + INTEGER, + rsAlternativeTrunkGroupOption + INTEGER, + rsAlternativeTrunkGroup + INTEGER, + rsNAIForOutgoingCall + INTEGER, + rsNumberOfDigitDeletion + INTEGER, + rsInsertionNumber + DisplayString16, + rsRowStatus + RowStatus + } + +-- Route Selection RZS Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.1 + rsRzsIndex OBJECT-TYPE + SYNTAX INTEGER (1..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION " " + ::= { rsEntry 1 } + + +-- Route Selection Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.2 + rsIndex OBJECT-TYPE + SYNTAX INTEGER (1..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Select the routing plan according to the RSC getting from the dialing prefix" + ::= { rsEntry 2 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.3 + rsTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Routing Selection (max 16 characters)" + DEFVAL { "RS#" } + ::= { rsEntry 3 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.4 + rsCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the Routing Selection" + ::= { rsEntry 4 } + + +-- Trunk Group +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.5 + rsTrunkGroup OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + DEFVAL { 0 } + ::= { rsEntry 5 } + + +-- Alternative Trunk Group Option +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.6 + rsAlternativeTrunkGroupOption OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + DEFVAL { disable } + ::= { rsEntry 6 } + + +-- Alternative Trunk Group +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.7 + rsAlternativeTrunkGroup OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + DEFVAL { 0 } + ::= { rsEntry 7 } + + +-- NAI For Outgoing Call +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.8 + rsNAIForOutgoingCall OBJECT-TYPE + SYNTAX INTEGER + { + sub(1), + unknown(2), + ndd(3), + idd(4) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Specify the Nature of Address Indicator (NAI) of an outgoing call for the terminating node to route this call with proper dialed number digit manipulation" + ::= { rsEntry 8 } + + +-- Number Of Digit Deletion +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.9 + rsNumberOfDigitDeletion OBJECT-TYPE + SYNTAX INTEGER (0..16) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:number of deleted prefix digit (0-16)" + DEFVAL { 0 } + ::= { rsEntry 9 } + + +-- Insertion Number +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.10 + rsInsertionNumber OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:inserted digits (0-9999999999999999)" + DEFVAL { "FFFFFFFFFFFFFFFF" } + ::= { rsEntry 10 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.1.4.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.1.2.1.11 + rsRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { rsEntry 11 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2 + dialingPrefixSet OBJECT IDENTIFIER ::= { parameter 2 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1 + dpsTable OBJECT-TYPE + SYNTAX SEQUENCE OF DpsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { dialingPrefixSet 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.2.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1 + dpsEntry OBJECT-TYPE + SYNTAX DpsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { dpsIndex } + ::= { dpsTable 1 } + + + DpsEntry ::= + SEQUENCE { + dpsIndex + INTEGER, + dpsTitle + DisplayString16, + dpsCreateTimeStamp + TimeStamp, + dpsCC + INTEGER, + dpsNDC + Counter32, + dpsInternationalPrefix + DisplayString8, + dpsNationalPrefix + DisplayString8, + dpsHPLMNCC0 + DisplayString16, + dpsHPLMNCC1 + DisplayString16, + dpsHPLMNCC2 + DisplayString16, + dpsHPLMNCC3 + DisplayString16, + dpsHPLMNCC4 + DisplayString16, + dpsHPLMNCC5 + DisplayString16, + dpsHPLMNCC6 + DisplayString16, + dpsHPLMNCC7 + DisplayString16, + dpsCreateEntrydDalingPrefix + INTEGER, + dpsDalingPrefixEntries + INTEGER, + dpsRowStatus + RowStatus + } + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.1 + dpsIndex OBJECT-TYPE + SYNTAX INTEGER (1..16) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { dpsEntry 1 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.2 + dpsTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Dialing Prefix Set (max 16 characters)" + DEFVAL { "DPS#" } + ::= { dpsEntry 2 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.3 + dpsCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the Dialing Prefix Set" + ::= { dpsEntry 3 } + + +-- Country Code +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.4 + dpsCC OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Country Code (Read only)" + ::= { dpsEntry 4 } + + +-- National Destination Code +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.5 + dpsNDC OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:National Destination Code" + ::= { dpsEntry 5 } + + +-- International Prefix +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.6 + dpsInternationalPrefix OBJECT-TYPE + SYNTAX DisplayString8 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:A digit or combination of digits used by a subscriber when making an international call. + The international prefix is used to indicate that the following digits represent an international number and should be routed to an international gateway. + " + DEFVAL { "00" } + ::= { dpsEntry 6 } + + +-- National Prefix +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.7 + dpsNationalPrefix OBJECT-TYPE + SYNTAX DisplayString8 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:A digit or combination of digits used by a subscriber when calling a national destination (within the country) other than that of the local area network. + " + DEFVAL { "0" } + ::= { dpsEntry 7 } + + +-- HPLMN CC0 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.8 + dpsHPLMNCC0 OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:HPLMN Country Code Table: define multiple CC as one country" + ::= { dpsEntry 8 } + + +-- HPLMN CC1 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.9 + dpsHPLMNCC1 OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:HPLMN Country Code Table: define multiple CC as one country" + ::= { dpsEntry 9 } + + +-- HPLMN CC2 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.10 + dpsHPLMNCC2 OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:HPLMN Country Code Table: define multiple CC as one country" + ::= { dpsEntry 10 } + + +-- HPLMN CC3 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.11 + dpsHPLMNCC3 OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:HPLMN Country Code Table: define multiple CC as one country" + ::= { dpsEntry 11 } + + +-- HPLMN CC4 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.12 + dpsHPLMNCC4 OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:HPLMN Country Code Table: define multiple CC as one country" + ::= { dpsEntry 12 } + + +-- HPLMN CC5 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.13 + dpsHPLMNCC5 OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:HPLMN Country Code Table: define multiple CC as one country" + ::= { dpsEntry 13 } + + +-- HPLMN CC6 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.14 + dpsHPLMNCC6 OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:HPLMN Country Code Table: define multiple CC as one country" + ::= { dpsEntry 14 } + + +-- HPLMN CC7 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.15 + dpsHPLMNCC7 OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:HPLMN Country Code Table: define multiple CC as one country" + ::= { dpsEntry 15 } + + +-- Dialing Prefix +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.16 + dpsCreateEntrydDalingPrefix OBJECT-TYPE + SYNTAX INTEGER { create(1) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { dpsEntry 16 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.17 + dpsDalingPrefixEntries OBJECT-TYPE + SYNTAX INTEGER (0..1024) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { dpsEntry 17 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.17 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.1.1.18 + dpsRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { dpsEntry 18 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2 + dpTable OBJECT-TYPE + SYNTAX SEQUENCE OF DpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { dialingPrefixSet 2 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.2.3.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1 + dpEntry OBJECT-TYPE + SYNTAX DpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { dpdpsIndex, dpIndex } + ::= { dpTable 1 } + + + DpEntry ::= + SEQUENCE { + dpdpsIndex + INTEGER, + dpIndex + INTEGER, + dpCallNumberPrefix + DisplayString16, + dpCallNumberAttribute + INTEGER, + dpAdministrationState + AdminStateChoices, + dpCallNumberLength + INTEGER, + dpServiceType + INTEGER, + dpEmergencyType + INTEGER, + dpNumberType + INTEGER, + dpCLIType + INTEGER, + dpRSC + INTEGER, + dpCDRFlag + INTEGER, + dpMNPFlag + INTEGER, + dpPremiumCall + INTEGER, + dpCallAllowFlag + INTEGER, + dpCallBarFlag + INTEGER, + dpNAIForOutgoingCall + INTEGER, + dpPSTNNumberOfDigitDeletion + INTEGER, + dpPSTNInsertionNumber + DisplayString16, + dpE164NumberOfDigitDeletion + INTEGER, + dpE164InsertionNumber + DisplayString16, + dpRowStatus + RowStatus + } + +-- DP DPS Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.1 + dpdpsIndex OBJECT-TYPE + SYNTAX INTEGER (1..16) + MAX-ACCESS read-only + STATUS current + DESCRIPTION " " + ::= { dpEntry 1 } + + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.2 + dpIndex OBJECT-TYPE + SYNTAX INTEGER (1..1024) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { dpEntry 2 } + + +-- Call Number Prefix +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.3 + dpCallNumberPrefix OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:A combination digits that dial to originate a call. + " + ::= { dpEntry 3 } + + +-- Call Number Attribute +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.4 + dpCallNumberAttribute OBJECT-TYPE + SYNTAX INTEGER + { + sub(1), + unknown(2), + ndd(3), + idd(4) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { dpEntry 4 } + + +-- Administration State +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.5 + dpAdministrationState OBJECT-TYPE + SYNTAX AdminStateChoices + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { dpEntry 5 } + + +-- Call Number Length +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.6 + dpCallNumberLength OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Set the called number length; =0 means do not care" + DEFVAL { 0 } + ::= { dpEntry 6 } + + +-- Service Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.7 + dpServiceType OBJECT-TYPE + SYNTAX INTEGER + { + normalCall(0), + emergencyType(1), + intelligentCall(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Service Type#:0-7=Emergency Numberl [Type A-H]; 8=Normal call; 9=Intelligent call" + DEFVAL { normalCall } + ::= { dpEntry 7 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.8 + dpEmergencyType OBJECT-TYPE + SYNTAX INTEGER + { + zero(0), + one(1), + two(2), + three(3), + four(4), + five(5), + six(6), + seven(7) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + DEFVAL { zero } + ::= { dpEntry 8 } + + +-- Number Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.9 + dpNumberType OBJECT-TYPE + SYNTAX INTEGER + { + msisdn(0), + msrn(1), + pstn(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Indicatior: 0=MSISDN; MSRN; PSTN, Emergency (0-7)" + DEFVAL { msisdn } + ::= { dpEntry 9 } + + +-- CLI Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.10 + dpCLIType OBJECT-TYPE + SYNTAX INTEGER + { + sub(0), + ndd(1), + idd(2), + unknownSub(3), + unknownNdd(4), + unknownIdd(5) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Calling number CLI number type" + DEFVAL { ndd } + ::= { dpEntry 10 } + + +-- Routing Selection Code +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.11 + dpRSC OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark: set the routing selection plan [RSC] " + DEFVAL { 0 } + ::= { dpEntry 11 } + + +-- CDR Flag +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.12 + dpCDRFlag OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Generate CDR" + DEFVAL { enable } + ::= { dpEntry 12 } + + +-- MNP Flag +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.13 + dpMNPFlag OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { disable } + ::= { dpEntry 13 } + + +-- Premium Call +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.14 + dpPremiumCall OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { disable } + ::= { dpEntry 14 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.15 + dpCallAllowFlag OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + DEFVAL { enable } + ::= { dpEntry 15 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.16 + dpCallBarFlag OBJECT-TYPE + SYNTAX INTEGER + { + disbale(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + DEFVAL { enable } + ::= { dpEntry 16 } + + +-- NAI For Outgoing Call +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.17 + dpNAIForOutgoingCall OBJECT-TYPE + SYNTAX INTEGER + { + sub(1), + unknown(2), + ndd(3), + idd(4) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Specify the Nature of Address Indicator (NAI) of an outgoing call for the terminating node to route this call with proper dialed number digit manipulation" + ::= { dpEntry 17 } + + +-- PSTN Number Of Digit Deletion +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.18 + dpPSTNNumberOfDigitDeletion OBJECT-TYPE + SYNTAX INTEGER (0..16) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:number of prefix digit to delete (0-16)" + DEFVAL { 0 } + ::= { dpEntry 18 } + + +-- PSTN Insertion Number +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.19 + dpPSTNInsertionNumber OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:digits to insert (0-9999999999999999)" + DEFVAL { 'FFFFFFFFFFFFFFFF'h } + ::= { dpEntry 19 } + + +-- E164 Number Of Digit Deletion +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.17 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.20 + dpE164NumberOfDigitDeletion OBJECT-TYPE + SYNTAX INTEGER (0..16) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:number of prefix digit to delete (0-16)" + ::= { dpEntry 20 } + + +-- E164 Insertion Number +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.18 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.21 + dpE164InsertionNumber OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:digits to insert (0-9999999999999999)" + DEFVAL { 'FFFFFFFFFFFFFFFF'h } + ::= { dpEntry 21 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.2.3.1.19 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.2.2.1.22 + dpRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { dpEntry 22 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3 + trunkGroup OBJECT IDENTIFIER ::= { parameter 3 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1 + tgTable OBJECT-TYPE + SYNTAX SEQUENCE OF TgEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { trunkGroup 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.3.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1 + tgEntry OBJECT-TYPE + SYNTAX TgEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { tgIndex } + ::= { tgTable 1 } + + + TgEntry ::= + SEQUENCE { + tgIndex + INTEGER, + tgTitle + DisplayString16, + tgCreateTimeStamp + TimeStamp, + tgAdministrationState + AdminStateChoices, + tgOperabilityStatus + OperStateChoices, + tgAvailabilityStatus + AvailStateChoices, + tgOpc + INTEGER, + tgDpc + INTEGER, + tgNetworkIndication + INTEGER, + tgProtocolType + INTEGER, + tgProtocolVariant + INTEGER, + tgCircuitSelectionMode + INTEGER, + tgBackoffFlag + INTEGER, + tgTandemRestriction + INTEGER, + tgCDRFlag + INTEGER, + tgTrunkGroupType + INTEGER, + tgRoutingZoneID + INTEGER, + tgAlternativeRoutingTrigger + INTEGER, + tgCreateEntryTrunk + INTEGER, + tgTrunkEntries + INTEGER, + tgRowStatus + RowStatus + } + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.1 + tgIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { tgEntry 1 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.2 + tgTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Trunk Group(max length = 16 characters)" + DEFVAL { "TG#" } + ::= { tgEntry 2 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.3 + tgCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the TG" + ::= { tgEntry 3 } + + +-- Administration State +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.4 + tgAdministrationState OBJECT-TYPE + SYNTAX AdminStateChoices + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { tgEntry 4 } + + +-- Operability Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.5 + tgOperabilityStatus OBJECT-TYPE + SYNTAX OperStateChoices + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { tgEntry 5 } + + +-- Availability Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.6 + tgAvailabilityStatus OBJECT-TYPE + SYNTAX AvailStateChoices + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { tgEntry 6 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 + tgOpc OBJECT-TYPE + SYNTAX INTEGER (0..16777215) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { tgEntry 7 } + + +-- DPC +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.8 + tgDpc OBJECT-TYPE + SYNTAX INTEGER (0..16777215) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { tgEntry 8 } + + +-- Network Indication +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 + tgNetworkIndication OBJECT-TYPE + SYNTAX INTEGER + { + int(0), + intSpare(1), + nat(2), + natSpare(3) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { int } + ::= { tgEntry 9 } + + +-- Protocol Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.10 + tgProtocolType OBJECT-TYPE + SYNTAX INTEGER + { + aif(0), + isup(1), + bicc(2), + isdn(3), + tup(4) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { tgEntry 10 } + + +-- Protocol Variant +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.11 + tgProtocolVariant OBJECT-TYPE + SYNTAX INTEGER + { + itu(0), + etsi(1), + ansi(2), + china(3) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { itu } + ::= { tgEntry 11 } + + +-- Circuit Selection Mode +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.12 + tgCircuitSelectionMode OBJECT-TYPE + SYNTAX INTEGER + { + clockwise(0), + antiClockwise(1), + odd(2), + even(3) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { clockwise } + ::= { tgEntry 12 } + + +-- Backoff Flag +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.13 + tgBackoffFlag OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Backoff when dual-seizure happen" + DEFVAL { enable } + ::= { tgEntry 13 } + + +-- Tandem Restriction +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.14 + tgTandemRestriction OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Inhibit PSTN-PSTN transit call via this trunk group" + DEFVAL { enable } + ::= { tgEntry 14 } + + +-- CDR Flag +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.15 + tgCDRFlag OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { enable } + ::= { tgEntry 15 } + + +-- Trunk Group Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.16 + tgTrunkGroupType OBJECT-TYPE + SYNTAX INTEGER + { + interconnection(0), + normal(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { normal } + ::= { tgEntry 16 } + + +-- Routing Zone ID +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.17 + tgRoutingZoneID OBJECT-TYPE + SYNTAX INTEGER (0..31) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Set the Routing Zone of the Trunk Group" + DEFVAL { 0 } + ::= { tgEntry 17 } + + +-- Alternative Routing Trigger +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.17 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.18 + tgAlternativeRoutingTrigger OBJECT-TYPE + SYNTAX INTEGER (0..15) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Alternative Routing Trigger [ART ID]" + DEFVAL { 0 } + ::= { tgEntry 18 } + + +-- Trunk +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.18 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.19 + tgCreateEntryTrunk OBJECT-TYPE + SYNTAX INTEGER { create(1) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { tgEntry 19 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.20 + tgTrunkEntries OBJECT-TYPE + SYNTAX INTEGER (0..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { tgEntry 20 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.19 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.1.1.21 + tgRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { tgEntry 21 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2 + trunkTable OBJECT-TYPE + SYNTAX SEQUENCE OF TrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { trunkGroup 2 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.3.2.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1 + trunkEntry OBJECT-TYPE + SYNTAX TrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { trunkIndex, trunkTgIndex } + ::= { trunkTable 1 } + + + TrunkEntry ::= + SEQUENCE { + trunkTgIndex + INTEGER, + trunkIndex + INTEGER, + trunkTitle + DisplayString16, + trunkCreateTimeStamp + TimeStamp, + trunkAdministrationState + AdminStateChoices, + trunkOperabilityStatus + OperStateChoices, + trunkAvailabilityStatus + AvailStateChoices, + trunkMgID + INTEGER, + trunkPortID + INTEGER, + trunkPortType + INTEGER, + trunkGroupID + INTEGER, + trunkTypicalCICAssignmentPlan + INTEGER, + trunkTypicalCICValueAssignment + Integer32, + trunkChannelInUse + INTEGER, + trunkCICEntries + INTEGER, + trunkRowStatus + RowStatus + } + +-- Trunk TG Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.1 + trunkTgIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-only + STATUS current + DESCRIPTION " " + ::= { trunkEntry 1 } + + +-- Trunk Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.2 + trunkIndex OBJECT-TYPE + SYNTAX INTEGER (1..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { trunkEntry 2 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.3 + trunkTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Trunk(max length = 16 characters)" + DEFVAL { "TK#" } + ::= { trunkEntry 3 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.4 + trunkCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the Trunk" + ::= { trunkEntry 4 } + + +-- Administration State +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.5 + trunkAdministrationState OBJECT-TYPE + SYNTAX AdminStateChoices + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { trunkEntry 5 } + + +-- Operability Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.6 + trunkOperabilityStatus OBJECT-TYPE + SYNTAX OperStateChoices + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { trunkEntry 6 } + + +-- Availability Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.7 + trunkAvailabilityStatus OBJECT-TYPE + SYNTAX AvailStateChoices + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { trunkEntry 7 } + + +-- MG ID +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.8 + trunkMgID OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Which MG; Not applicable to virtual MG" + DEFVAL { 0 } + ::= { trunkEntry 8 } + + +-- Port ID +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.9 + trunkPortID OBJECT-TYPE + SYNTAX INTEGER (0..31) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Which port of the MG; not applicable to virtual MG" + ::= { trunkEntry 9 } + + +-- Port Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.10 + trunkPortType OBJECT-TYPE + SYNTAX INTEGER + { + e1(0), + t1(1), + analogue(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { enable } + ::= { trunkEntry 10 } + + +-- Group ID +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.11 + trunkGroupID OBJECT-TYPE + SYNTAX INTEGER + { + group0(0), + group1(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:For redundancy backup" + DEFVAL { group0 } + ::= { trunkEntry 11 } + + +-- Typical CIC Assignment Plan +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.12 + trunkTypicalCICAssignmentPlan OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { enable } + ::= { trunkEntry 12 } + + +-- Typical CIC Value Assignment +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.13 + trunkTypicalCICValueAssignment OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Typical CIC value assignment: E1=0, 31, 64… T1=0, 24, 48…" + ::= { trunkEntry 13 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.14 + trunkChannelInUse OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { trunkEntry 14 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.15 + trunkCICEntries OBJECT-TYPE + SYNTAX INTEGER (0..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { trunkEntry 15 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.2.1.16 + trunkRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { trunkEntry 16 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3 + cicTable OBJECT-TYPE + SYNTAX SEQUENCE OF CicEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { trunkGroup 3 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.3.3.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1 + cicEntry OBJECT-TYPE + SYNTAX CicEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { cicIndex, cicTrunkIndex, cicTrunkTgIndex } + ::= { cicTable 1 } + + + CicEntry ::= + SEQUENCE { + cicTrunkTgIndex + INTEGER, + cicTrunkIndex + INTEGER, + cicIndex + INTEGER, + cicType + INTEGER, + cicChannelCIC + Counter32, + cicCallStatus + INTEGER, + cicLocalBlock + INTEGER, + cicRemoteBlock + INTEGER + } + +-- CIC Trunk TG Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.1 + cicTrunkTgIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-only + STATUS current + DESCRIPTION " " + ::= { cicEntry 1 } + + +-- CIC Trunk Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.2 + cicTrunkIndex OBJECT-TYPE + SYNTAX INTEGER (1..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION " " + ::= { cicEntry 2 } + + +-- CIC Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.3 + cicIndex OBJECT-TYPE + SYNTAX INTEGER (1..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cicEntry 3 } + + +-- CIC Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.4 + cicType OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + incoming(1), + outgoing(2), + bidirectional(3), + leaseLine(4), + dChannel(5), + xChannel(6) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + DEFVAL { bidirectiona } + ::= { cicEntry 4 } + + +-- Channel CIC +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.5 + cicChannelCIC OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:CIC assigned to the channel" + ::= { cicEntry 5 } + + +-- Call Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.6 + cicCallStatus OBJECT-TYPE + SYNTAX INTEGER + { + idle(0), + incomingCallOccupied(1), + outgoingCallOccupied(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cicEntry 6 } + + +-- Local Block +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.7 + cicLocalBlock OBJECT-TYPE + SYNTAX INTEGER + { + unblocked(0), + localBlocked(1) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cicEntry 7 } + + +-- Remote Block +-- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.3.3.1.8 + cicRemoteBlock OBJECT-TYPE + SYNTAX INTEGER + { + unblocked(0), + remoteBlocked(1) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cicEntry 8 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4 + locationArea OBJECT IDENTIFIER ::= { parameter 4 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1 + laTable OBJECT-TYPE + SYNTAX SEQUENCE OF LaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { locationArea 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.4.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1 + laEntry OBJECT-TYPE + SYNTAX LaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { laIndex } + ::= { laTable 1 } + + + LaEntry ::= + SEQUENCE { + laIndex + INTEGER, + laTitle + DisplayString16, + laCreateTimeStamp + TimeStamp, + laLAC + Integer32, + laTrunkGroup + INTEGER, + laPageType + INTEGER, + laNumberOfRepeatPaging + INTEGER, + laLocalEmergencyNumber0 + DisplayString32, + laLocalEmergencyNumber1 + DisplayString32, + laLocalEmergencyNumber2 + DisplayString32, + laLocalEmergencyNumber3 + DisplayString32, + laLocalEmergencyNumber4 + DisplayString32, + laLocalEmergencyNumber5 + DisplayString32, + laLocalEmergencyNumber6 + DisplayString32, + laLocalEmergencyNumber7 + DisplayString32, + laCreateEntryCell + INTEGER, + laCellEntries + INTEGER, + laRowStatus + RowStatus + } + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.1 + laIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { laEntry 1 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.2 + laTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Location Area(max length = 16 characters)" + DEFVAL { "LA#" } + ::= { laEntry 2 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.3 + laCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the Location Area" + ::= { laEntry 3 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.4 + laLAC OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { laEntry 4 } + + +-- Trunk Group +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.5 + laTrunkGroup OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Trunk Group of the BSC" + ::= { laEntry 5 } + + +-- Page Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.6 + laPageType OBJECT-TYPE + SYNTAX INTEGER + { + byLAC(0), + byAllCell(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + DEFVAL { byLAC } + ::= { laEntry 6 } + + +-- Number Of Repeat Paging +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.7 + laNumberOfRepeatPaging OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Number of repeat paging for a MT call before give up." + DEFVAL { 2 } + ::= { laEntry 7 } + + +-- Local Emergency Number0 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.8 + laLocalEmergencyNumber0 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { laEntry 8 } + + +-- Local Emergency Number1 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.9 + laLocalEmergencyNumber1 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { laEntry 9 } + + +-- Local Emergency Number2 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.10 + laLocalEmergencyNumber2 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { laEntry 10 } + + +-- Local Emergency Number3 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.11 + laLocalEmergencyNumber3 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { laEntry 11 } + + +-- Local Emergency Number4 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.12 + laLocalEmergencyNumber4 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { laEntry 12 } + + +-- Local Emergency Number5 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.13 + laLocalEmergencyNumber5 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { laEntry 13 } + + +-- Local Emergency Number6 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.14 + laLocalEmergencyNumber6 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { laEntry 14 } + + +-- Local Emergency Number7 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.15 + laLocalEmergencyNumber7 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { laEntry 15 } + + +-- Cell +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 + laCreateEntryCell OBJECT-TYPE + SYNTAX INTEGER { create(1) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { laEntry 16 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.17 + laCellEntries OBJECT-TYPE + SYNTAX INTEGER (0..16) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { laEntry 17 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.1.1.18 + laRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { laEntry 18 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2 + cellTable OBJECT-TYPE + SYNTAX SEQUENCE OF CellEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { locationArea 2 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.4.3.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1 + cellEntry OBJECT-TYPE + SYNTAX CellEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { cellLaIndex, cellIndex } + ::= { cellTable 1 } + + + CellEntry ::= + SEQUENCE { + cellLaIndex + INTEGER, + cellIndex + INTEGER, + cellTitle + DisplayString16, + cellCreateTimeStamp + TimeStamp, + cellRoutingZoneID + INTEGER, + cellRegionalSubscriptionZoneCode + INTEGER, + cellID + INTEGER, + cellLocalEmergencyNumber0 + DisplayString32, + cellLocalEmergencyNumber1 + DisplayString32, + cellLocalEmergencyNumber2 + DisplayString32, + cellLocalEmergencyNumber3 + DisplayString32, + cellLocalEmergencyNumber4 + DisplayString32, + cellLocalEmergencyNumber5 + DisplayString32, + cellLocalEmergencyNumber6 + DisplayString32, + cellLocalEmergencyNumber7 + DisplayString32, + cellRowStatus + RowStatus + } + +-- Cell Location Area Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.1 + cellLaIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-only + STATUS current + DESCRIPTION " " + ::= { cellEntry 1 } + + +-- Cell Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.2 + cellIndex OBJECT-TYPE + SYNTAX INTEGER (1..16) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cellEntry 2 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.3 + cellTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Location Area(max length = 16 characters)" + DEFVAL { "CELL#" } + ::= { cellEntry 3 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.4 + cellCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the Cell" + ::= { cellEntry 4 } + + +-- Rounting Zone ID +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.5 + cellRoutingZoneID OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Select the routing zone of the cell" + DEFVAL { 0 } + ::= { cellEntry 5 } + + +-- Regional Subscription Zone Code +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.6 + cellRegionalSubscriptionZoneCode OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:A 2 byte Regional Subscription Zone Code. Defines the regional subscription zone that this cell belong to. FFFF=no RSZC" + DEFVAL { 'FF'h } + ::= { cellEntry 6 } + + +-- Cell ID +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.7 + cellID OBJECT-TYPE + SYNTAX INTEGER (0..65535) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cellEntry 7 } + + +-- Cell Local Emergency Number0 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.8 + cellLocalEmergencyNumber0 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { cellEntry 8 } + + +-- Cell Local Emergency Number1 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.9 + cellLocalEmergencyNumber1 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { cellEntry 9 } + + +-- Cell Local Emergency Number2 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.10 + cellLocalEmergencyNumber2 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { cellEntry 10 } + + +-- Cell Local Emergency Number3 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.11 + cellLocalEmergencyNumber3 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { cellEntry 11 } + + +-- Cell Local Emergency Number4 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.12 + cellLocalEmergencyNumber4 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { cellEntry 12 } + + +-- Cell Local Emergency Number5 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.13 + cellLocalEmergencyNumber5 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { cellEntry 13 } + + +-- Cell Local Emergency Number6 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.14 + cellLocalEmergencyNumber6 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { cellEntry 14 } + + +-- Cell Local Emergency Number7 +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.15 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.15 + cellLocalEmergencyNumber7 OBJECT-TYPE + SYNTAX DisplayString32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { cellEntry 15 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.4.3.1.16 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.4.2.1.16 + cellRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cellEntry 16 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5 + mediaGateway OBJECT IDENTIFIER ::= { parameter 5 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1 + mgTable OBJECT-TYPE + SYNTAX SEQUENCE OF MgEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { mediaGateway 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.5.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1 + mgEntry OBJECT-TYPE + SYNTAX MgEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { mgIndex } + ::= { mgTable 1 } + + + MgEntry ::= + SEQUENCE { + mgIndex + INTEGER, + mgTitle + DisplayString16, + mgCreateTimeStamp + TimeStamp, + mgAdministrationState + AdminStateChoices, + mgIp + IpAddress, + mgDomainName + DisplayString16, + mgSwitchingMode + INTEGER, + mgEndPoint + INTEGER, + mgToneGenCapability + INTEGER, + mgType + INTEGER, + mgMaxPhysicalPorts + INTEGER, + mgMaxChannels + INTEGER, + mgPacketizationPeriod + INTEGER, + mgPriorityLevel + INTEGER, + mgCodecType + OCTET STRING, + mgPhysicalPortEntries + INTEGER, + mgRowStatus + RowStatus + } + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.1 + mgIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { mgEntry 1 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.2 + mgTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the MG (max length = 16 characters)" + DEFVAL { "MG#" } + ::= { mgEntry 2 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.3 + mgCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the MG table" + ::= { mgEntry 3 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.4 + mgAdministrationState OBJECT-TYPE + SYNTAX AdminStateChoices + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { mgEntry 4 } + + +-- IP +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.5 + mgIp OBJECT-TYPE + SYNTAX IpAddress + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:IP address of the MG or 8KE1 Card" + ::= { mgEntry 5 } + + +-- Domain Name +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 + mgDomainName OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Domain Name of the MG" + ::= { mgEntry 6 } + + +-- Switching Mode +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 + mgSwitchingMode OBJECT-TYPE + SYNTAX INTEGER + { + mgcp(0), + eightECP(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Circuit Switch (8KE1) or Soft Switch (MG)" + DEFVAL { mgcp } + ::= { mgEntry 7 } + + +-- End Point Description +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.8 + mgEndPoint OBJECT-TYPE + SYNTAX INTEGER + { + structured(1), + unStructured(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:MGCP Endpoint description method: structured or unstructured" + DEFVAL { structured } + ::= { mgEntry 8 } + + +-- Tone Gen Capability +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.9 + mgToneGenCapability OBJECT-TYPE + SYNTAX INTEGER + { + disable(0), + enable(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:If MG has tone gen cap then will use its tone gen" + DEFVAL { enable } + ::= { mgEntry 9 } + + +-- MG Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.10 + mgType OBJECT-TYPE + SYNTAX INTEGER + { + audioCodes(1), + lgcMG(2), + lgcCS(3), + analogLine(11), + announcementServer(21), + interactiveVoiceResponse(31), + conferenceBridge(41), + packetRelay(51), + wiretap(61), + atm(71) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + DEFVAL { digitalChannel } + ::= { mgEntry 10 } + + +-- Max Physical Ports +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.11 + mgMaxPhysicalPorts OBJECT-TYPE + SYNTAX INTEGER (0..32) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Max Physical Port number of the MG. Max=32 ports; Not applicable to virtual MG + " + ::= { mgEntry 11 } + + +-- Max Channels +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.11 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.12 + mgMaxChannels OBJECT-TYPE + SYNTAX INTEGER (0..1024) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Maximum channels of the virtual MG.Max=1024channels; Applicable to virtual MG only + " + ::= { mgEntry 12 } + + +-- Packetization Period +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.12 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 + mgPacketizationPeriod OBJECT-TYPE + SYNTAX INTEGER + { + x20ms(20), + x40ms(40), + x60ms(60), + x80ms(80) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + DEFVAL { x20ms } + ::= { mgEntry 13 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.14 + mgPriorityLevel OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:Set the priority level of the MG codec table; 255=highest priority level; 0=least priority level. In the MGCP codec negotiation, codec type always follow the MG [Codec Table] with the higher priority level. If two MGs are in the same priority level then follows the MG with higher MG ID#" + ::= { mgEntry 14 } + + +-- Codec Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.13 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.15 + mgCodecType OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (16)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:0=ALaw, 1=uLaw, 2=FR, 3-EFR, 4=AMR, G729b, ff=nil; + Entry 0-15, entry 0 is the highest priority, entry 15 is the least" + ::= { mgEntry 15 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.16 + mgPhysicalPortEntries OBJECT-TYPE + SYNTAX INTEGER (0..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { mgEntry 16 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.14 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.1.1.17 + mgRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { mgEntry 17 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2 + ppTable OBJECT-TYPE + SYNTAX SEQUENCE OF PpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { mediaGateway 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1 + ppEntry OBJECT-TYPE + SYNTAX PpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { ppMgIndex, ppIndex } + ::= { ppTable 1 } + + + PpEntry ::= + SEQUENCE { + ppMgIndex + INTEGER, + ppIndex + INTEGER, + ppUsedFlag + INTEGER, + ppStatus + INTEGER + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.1 + ppMgIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Description." + ::= { ppEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.2 + ppIndex OBJECT-TYPE + SYNTAX INTEGER (1..32) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { ppEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.3 + ppUsedFlag OBJECT-TYPE + SYNTAX INTEGER + { + idle(0), + inUse(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { ppEntry 3 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.5.2.1.4 + ppStatus OBJECT-TYPE + SYNTAX INTEGER + { + l1NotReady(0), + l1Ready(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { ppEntry 4 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6 + alternativeRoutingTrigger OBJECT IDENTIFIER ::= { parameter 6 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.6.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1 + artTable OBJECT-TYPE + SYNTAX SEQUENCE OF ArtEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { alternativeRoutingTrigger 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.6.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1 + artEntry OBJECT-TYPE + SYNTAX ArtEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { artIndex } + ::= { artTable 1 } + + + ArtEntry ::= + SEQUENCE { + artIndex + INTEGER, + artTitle + DisplayString16, + artCreateTimeStamp + TimeStamp, + artCreateEntryTriggerCause + INTEGER, + artTriggerCauseEntries + INTEGER, + artRowStatus + RowStatus + } + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.1 + artIndex OBJECT-TYPE + SYNTAX INTEGER (1..16) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { artEntry 1 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.2 + artTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Alternative Routing Trigger Table(max length = 16 characters)" + DEFVAL { "ART#" } + ::= { artEntry 2 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.3 + artCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Creation date and time of the Alternative Routing Trigger Table" + ::= { artEntry 3 } + + +-- Trigger Cause +-- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.4 + artCreateEntryTriggerCause OBJECT-TYPE + SYNTAX INTEGER { create(1) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { artEntry 4 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.5 + artTriggerCauseEntries OBJECT-TYPE + SYNTAX INTEGER (0..128) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { artEntry 5 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.1.1.6 + artRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { artEntry 6 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.6.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2 + tcTable OBJECT-TYPE + SYNTAX SEQUENCE OF TcEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { alternativeRoutingTrigger 2 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.6.2.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1 + tcEntry OBJECT-TYPE + SYNTAX TcEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { tcArtIndex, tcIndex } + ::= { tcTable 1 } + + + TcEntry ::= + SEQUENCE { + tcArtIndex + INTEGER, + tcIndex + INTEGER, + tcCauseValue + INTEGER, + tcRowStatus + RowStatus + } + +-- Trigger Cause Art Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.1 + tcArtIndex OBJECT-TYPE + SYNTAX INTEGER (1..16) + MAX-ACCESS read-only + STATUS current + DESCRIPTION " " + ::= { tcEntry 1 } + + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.2 + tcIndex OBJECT-TYPE + SYNTAX INTEGER (1..128) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { tcEntry 2 } + + +-- Cause Value +-- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.3 + tcCauseValue OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ISUP cause values in this table will trigger the alternative routing" + ::= { tcEntry 3 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.6.2.1.4 + tcRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { tcEntry 4 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7 + callUnattainableAnnouncements OBJECT IDENTIFIER ::= { parameter 7 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.7.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1 + cuaTable OBJECT-TYPE + SYNTAX SEQUENCE OF CuaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { callUnattainableAnnouncements 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.7.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1 + cuaEntry OBJECT-TYPE + SYNTAX CuaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { cuaIndex } + ::= { cuaTable 1 } + + + CuaEntry ::= + SEQUENCE { + cuaIndex + INTEGER, + cuaTitle + DisplayString16, + cuaCreateTimeStamp + TimeStamp, + cuaAASPrefix + DisplayString16, + cuaCreateEntryAnnouncementCUA + INTEGER, + cuaAnnouncementCUAEntries + INTEGER, + cuaRowStatus + RowStatus + } + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.1 + cuaIndex OBJECT-TYPE + SYNTAX INTEGER (1..16) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cuaEntry 1 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.2 + cuaTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Call Unattainable Announcement Set (max length = 16 characters)" + DEFVAL { "CUA#" } + ::= { cuaEntry 2 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.3 + cuaCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the Call Unattainable Announcement Table" + ::= { cuaEntry 3 } + + +-- AAS Prefix +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.4 + cuaAASPrefix OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Dailing Prefix of the AAS." + DEFVAL { "***8" } + ::= { cuaEntry 4 } + + +-- Announcement +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.5 + cuaCreateEntryAnnouncementCUA OBJECT-TYPE + SYNTAX INTEGER { create(1) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION " " + ::= { cuaEntry 5 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.6 + cuaAnnouncementCUAEntries OBJECT-TYPE + SYNTAX INTEGER (0..128) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cuaEntry 6 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.1.1.7 + cuaRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { cuaEntry 7 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.7.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2 + acTable OBJECT-TYPE + SYNTAX SEQUENCE OF AcEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { callUnattainableAnnouncements 2 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.7.2.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1 + acEntry OBJECT-TYPE + SYNTAX AcEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { acCuaIndex, acIndex } + ::= { acTable 1 } + + + AcEntry ::= + SEQUENCE { + acCuaIndex + INTEGER, + acIndex + INTEGER, + acCauseValue + INTEGER, + acAnnouncementType + INTEGER, + acAnnouncementCode + INTEGER, + acRowStatus + RowStatus + } + +-- Announcement CUA Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.1 + acCuaIndex OBJECT-TYPE + SYNTAX INTEGER (1..16) + MAX-ACCESS read-only + STATUS current + DESCRIPTION " " + ::= { acEntry 1 } + + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.2 + acIndex OBJECT-TYPE + SYNTAX INTEGER (1..128) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { acEntry 2 } + + +-- Cause Value +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.3 + acCauseValue OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ISUP cause value" + ::= { acEntry 3 } + + +-- Announcement Type +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.4 + acAnnouncementType OBJECT-TYPE + SYNTAX INTEGER + { + playAnnouncement(0), + playTone(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + DEFVAL { playAnnouncement } + ::= { acEntry 4 } + + +-- Announcement Code +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.5 + acAnnouncementCode OBJECT-TYPE + SYNTAX INTEGER (0..999) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Announcement Number = AAS Prefix + Announcement code. Announcement code is concatenated with AAS prefix to form the announcement number" + ::= { acEntry 5 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.7.2.1.6 + acRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { acEntry 6 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8 + leaseCircuitStatisticConnection OBJECT IDENTIFIER ::= { parameter 8 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.8.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1 + sctTable OBJECT-TYPE + SYNTAX SEQUENCE OF SctEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { leaseCircuitStatisticConnection 1 } + + +-- 1.3.6.1.4.1.1373.1.3.3.2.2.8.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1 + sctEntry OBJECT-TYPE + SYNTAX SctEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { sctIndex } + ::= { sctTable 1 } + + + SctEntry ::= + SEQUENCE { + sctIndex + INTEGER, + sctTitle + DisplayString16, + sctCreateTimeStamp + TimeStamp, + sctOMG + INTEGER, + sctOTrunk + INTEGER, + sctOChannel + INTEGER, + sctDMG + INTEGER, + sctDTrunk + INTEGER, + sctDChannel + INTEGER, + sctRowStatus + RowStatus + } + +-- Index +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.1 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.1 + sctIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { sctEntry 1 } + + +-- Title +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.2 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.2 + sctTitle OBJECT-TYPE + SYNTAX DisplayString16 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:ASCII Title of the Lease Circuit(max length = 16 characters)" + DEFVAL { "LC#" } + ::= { sctEntry 2 } + + +-- Creation Time Stamp +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.3 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.3 + sctCreateTimeStamp OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Remark:Creation date and time of the Lease Circuit" + ::= { sctEntry 3 } + + +-- Origination MG +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.4 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.4 + sctOMG OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:MG# of the origination MG" + ::= { sctEntry 4 } + + +-- Origination Trunk +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.5 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.5 + sctOTrunk OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Trunk# of the origination MG" + ::= { sctEntry 5 } + + +-- Origination Channel +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.6 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.6 + sctOChannel OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Channelt# of the lease line of the origination Trunk" + ::= { sctEntry 6 } + + +-- Destination MG +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.7 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.7 + sctDMG OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Remark:MG# of the destination MG" + ::= { sctEntry 7 } + + +-- Destination Trunk +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.8 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.8 + sctDTrunk OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Trunk# of the destination MG" + ::= { sctEntry 8 } + + +-- Destination Channel +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.9 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.9 + sctDChannel OBJECT-TYPE + SYNTAX INTEGER (0..255) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes + Remark:Channel# of the lease line of the destination Trunk" + ::= { sctEntry 9 } + + +-- Row Status +-- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.10 + -- 1.3.6.1.4.1.1373.2.3.3.2.2.8.1.1.10 + sctRowStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Key Parameter:Yes" + ::= { sctEntry 10 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3 + csta OBJECT IDENTIFIER ::= { msc 3 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3 + tgIncomingTable OBJECT-TYPE + SYNTAX SEQUENCE OF TgIncomingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 3 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3.1 + tgIncomingEntry OBJECT-TYPE + SYNTAX TgIncomingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { tgIncomingTgndex, tgIncomingIndex } + ::= { tgIncomingTable 1 } + + + TgIncomingEntry ::= + SEQUENCE { + tgIncomingTgndex + INTEGER, + tgIncomingIndex + INTEGER, + tgIncomingData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3.1.1 + tgIncomingTgndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Description." + ::= { tgIncomingEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3.1.2 + tgIncomingIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { tgIncomingEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.3.1.3 + tgIncomingData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { tgIncomingEntry 3 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4 + tgOutgoingTable OBJECT-TYPE + SYNTAX SEQUENCE OF TgOutgoingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 4 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4.1 + tgOutgoingEntry OBJECT-TYPE + SYNTAX TgOutgoingEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { tgOutgoingTgIndex, tgOutgoingIndex } + ::= { tgOutgoingTable 1 } + + + TgOutgoingEntry ::= + SEQUENCE { + tgOutgoingTgIndex + INTEGER, + tgOutgoingIndex + INTEGER, + tgOutgoingData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4.1.1 + tgOutgoingTgIndex OBJECT-TYPE + SYNTAX INTEGER (1..256) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Description." + ::= { tgOutgoingEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4.1.2 + tgOutgoingIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { tgOutgoingEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.4.1.3 + tgOutgoingData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { tgOutgoingEntry 3 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.5 + subsToSubsTable OBJECT-TYPE + SYNTAX SEQUENCE OF SubsToSubsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 5 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.5.1 + subsToSubsEntry OBJECT-TYPE + SYNTAX SubsToSubsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { subsToSubsIndex } + ::= { subsToSubsTable 1 } + + + SubsToSubsEntry ::= + SEQUENCE { + subsToSubsIndex + INTEGER, + subsToSubsData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.5.1.1 + subsToSubsIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { subsToSubsEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.5.1.2 + subsToSubsData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { subsToSubsEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.6 + subsToTrunkTable OBJECT-TYPE + SYNTAX SEQUENCE OF SubsToTrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 6 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.6.1 + subsToTrunkEntry OBJECT-TYPE + SYNTAX SubsToTrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { subsToTrunkIndex } + ::= { subsToTrunkTable 1 } + + + SubsToTrunkEntry ::= + SEQUENCE { + subsToTrunkIndex + INTEGER, + subsToTrunkData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.6.1.1 + subsToTrunkIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { subsToTrunkEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.6.1.2 + subsToTrunkData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { subsToTrunkEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.7 + trunkToSubsTable OBJECT-TYPE + SYNTAX SEQUENCE OF TrunkToSubsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 7 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.7.1 + trunkToSubsEntry OBJECT-TYPE + SYNTAX TrunkToSubsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { trunkToSubsIndex } + ::= { trunkToSubsTable 1 } + + + TrunkToSubsEntry ::= + SEQUENCE { + trunkToSubsIndex + INTEGER, + trunkToSubsData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.7.1.1 + trunkToSubsIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { trunkToSubsEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.7.1.2 + trunkToSubsData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { trunkToSubsEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.8 + trunkToTrunkTable OBJECT-TYPE + SYNTAX SEQUENCE OF TrunkToTrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 8 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.8.1 + trunkToTrunkEntry OBJECT-TYPE + SYNTAX TrunkToTrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { trunkToTrunkIndex } + ::= { trunkToTrunkTable 1 } + + + TrunkToTrunkEntry ::= + SEQUENCE { + trunkToTrunkIndex + INTEGER, + trunkToTrunkData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.8.1.1 + trunkToTrunkIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { trunkToTrunkEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.8.1.2 + trunkToTrunkData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { trunkToTrunkEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.9 + intraconnectionTable OBJECT-TYPE + SYNTAX SEQUENCE OF IntraconnectionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 9 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.9.1 + intraconnectionEntry OBJECT-TYPE + SYNTAX IntraconnectionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { intraconnectionIndex } + ::= { intraconnectionTable 1 } + + + IntraconnectionEntry ::= + SEQUENCE { + intraconnectionIndex + INTEGER, + intraconnectionData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.9.1.1 + intraconnectionIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { intraconnectionEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.9.1.2 + intraconnectionData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { intraconnectionEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.10 + subsToIpTable OBJECT-TYPE + SYNTAX SEQUENCE OF SubsToIpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 10 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.10.1 + subsToIpEntry OBJECT-TYPE + SYNTAX SubsToIpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { subsToIpIndex } + ::= { subsToIpTable 1 } + + + SubsToIpEntry ::= + SEQUENCE { + subsToIpIndex + INTEGER, + subsToIpData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.10.1.1 + subsToIpIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { subsToIpEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.10.1.2 + subsToIpData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { subsToIpEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.11 + trunkToIpTable OBJECT-TYPE + SYNTAX SEQUENCE OF TrunkToIpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 11 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.11.1 + trunkToIpEntry OBJECT-TYPE + SYNTAX TrunkToIpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { trunkToIpIndex } + ::= { trunkToIpTable 1 } + + + TrunkToIpEntry ::= + SEQUENCE { + trunkToIpIndex + INTEGER, + trunkToIpData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.11.1.1 + trunkToIpIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { trunkToIpEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.11.1.2 + trunkToIpData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { trunkToIpEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.12 + mobileOriginatedTable OBJECT-TYPE + SYNTAX SEQUENCE OF MobileOriginatedEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 12 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.12.1 + mobileOriginatedEntry OBJECT-TYPE + SYNTAX MobileOriginatedEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { mobileOriginatedIndex } + ::= { mobileOriginatedTable 1 } + + + MobileOriginatedEntry ::= + SEQUENCE { + mobileOriginatedIndex + INTEGER, + mobileOriginatedData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.12.1.1 + mobileOriginatedIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { mobileOriginatedEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.12.1.2 + mobileOriginatedData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { mobileOriginatedEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.13 + mobileTerminatedTable OBJECT-TYPE + SYNTAX SEQUENCE OF MobileTerminatedEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 13 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.13.1 + mobileTerminatedEntry OBJECT-TYPE + SYNTAX MobileTerminatedEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { mobileTerminatedIndex } + ::= { mobileTerminatedTable 1 } + + + MobileTerminatedEntry ::= + SEQUENCE { + mobileTerminatedIndex + INTEGER, + mobileTermiginatedData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.13.1.1 + mobileTerminatedIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { mobileTerminatedEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.13.1.2 + mobileTermiginatedData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { mobileTerminatedEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.14 + inTrunkTable OBJECT-TYPE + SYNTAX SEQUENCE OF InTrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 14 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.14.1 + inTrunkEntry OBJECT-TYPE + SYNTAX InTrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { inTrunkIndex } + ::= { inTrunkTable 1 } + + + InTrunkEntry ::= + SEQUENCE { + inTrunkIndex + INTEGER, + inTrunkData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.14.1.1 + inTrunkIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { inTrunkEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.14.1.2 + inTrunkData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { inTrunkEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.15 + outTrunkTable OBJECT-TYPE + SYNTAX SEQUENCE OF OutTrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 15 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.15.1 + outTrunkEntry OBJECT-TYPE + SYNTAX OutTrunkEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { outTrunkIndex } + ::= { outTrunkTable 1 } + + + OutTrunkEntry ::= + SEQUENCE { + outTrunkIndex + INTEGER, + outTrunkData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.15.1.1 + outTrunkIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { outTrunkEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.15.1.2 + outTrunkData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { outTrunkEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.16 + ipTerminatedTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpTerminatedEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + ::= { csta 16 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.16.1 + ipTerminatedEntry OBJECT-TYPE + SYNTAX IpTerminatedEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Description." + INDEX { ipTermiginatedIndex } + ::= { ipTerminatedTable 1 } + + + IpTerminatedEntry ::= + SEQUENCE { + ipTermiginatedIndex + INTEGER, + ipTermiginatedData + DisplayString + } + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.16.1.1 + ipTermiginatedIndex OBJECT-TYPE + SYNTAX INTEGER (0..95) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { ipTerminatedEntry 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.3.16.1.2 + ipTermiginatedData OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Description." + ::= { ipTerminatedEntry 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.4 + cdr OBJECT IDENTIFIER ::= { msc 4 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.4.1 + cdrHeadOid OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Description." + ::= { cdr 1 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.4.2 + cdrTailOid OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Description." + ::= { cdr 2 } + + + -- 1.3.6.1.4.1.1373.2.3.3.2.4.3 + cdrDataOid OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Description." + ::= { cdr 3 } + + + + END + +-- +-- LGC-SS-MSC-MIB_070824.my +-- diff --git a/omc/bin/mib/SNMPv2-SMI b/src/configMgr/c_program/paraComm/mib/SNMPv2-SMI similarity index 100% rename from omc/bin/mib/SNMPv2-SMI rename to src/configMgr/c_program/paraComm/mib/SNMPv2-SMI diff --git a/omc/bin/mib/SNMPv2-TC b/src/configMgr/c_program/paraComm/mib/SNMPv2-TC similarity index 100% rename from omc/bin/mib/SNMPv2-TC rename to src/configMgr/c_program/paraComm/mib/SNMPv2-TC diff --git a/src/configMgr/c_program/paraComm/mib/index b/src/configMgr/c_program/paraComm/mib/index new file mode 100644 index 0000000..8fc3a91 --- /dev/null +++ b/src/configMgr/c_program/paraComm/mib/index @@ -0,0 +1,5 @@ +LGC-MIB.my +LGC-SS-MSC-MIB.my +SNMPv2-SMI +SNMPv2-TC + diff --git a/src/configMgr/c_program/paraComm/paraComm.c b/src/configMgr/c_program/paraComm/paraComm.c new file mode 100644 index 0000000..71f55b1 --- /dev/null +++ b/src/configMgr/c_program/paraComm/paraComm.c @@ -0,0 +1,1916 @@ +/************************************************* +File name: paraComm.c +Author: Cui Ticun +Version: 9.00.00 +Date: 2007-7-1 +Description:Operate system's parameter + +History: +No. +Author +Date +Version +Description +*************************************************/ +#include "paraComm.h" + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,1}; +int PROC_HEARTBEAT_OIDLEN=11; +int sendHeartbeat(); + +/*******define in omcLib/omcDbLib.c ***/ +MYSQL *mysql_conn(); +MYSQL_RES *mysql_getres(); +int mysql_getnores(); + +/******Private Functions***/ +int paraCommScan(); +int paraCommProc(); +int respProc(int *commNo, snmp_pdu * pdu); +int updateCommTable(int commNo); +int getSysAddr(int commNo); +int getParamTable(int sysTypeNo, int sysNo, int paramType, + char *tableName); +int mkVarArr(int commNo, var_list * varArr); +int mkAddr(int commNo, snmp_addr * msgAddr); +int mkPdu(int commNo, var_list * varArr, snmp_pdu * pdu); +int initUnitComm(int commNo); +void freeParamSet(int commNo); +void optErr(unitComm *ucomm); + + +/*******Global Var*********/ +FILE *paraCommLog; +int oldDay = 0; //1-31 + +static unitComm commArr[MaxCommNum]; +static MYSQL *dbConn; + +static int MaxErrorStatusNum = 19; +static char errorStatusDescArr[19][30] = + { "NoError", "TooBig", "NoSuchName", "BadValue", "ReadOnly", + "GenErr", "NoAccess", "WrongType", "WrongLength", "WrongEncoding", + "wrongValue", "noCreation", "inconsistentValue", "resourceUnavailabe", + "commitFailed", + "UndoFailed", "AuthorizationError", "NoWritable", "inconsistentName" +}; + +int paraComm_timerCount = 0; //for paraCommTimer + +int checkMibSystem(int sysTypeNo) +{ + switch(sysTypeNo) + { + case 320://MSC + case 355://SMEG + case 375://OPPS + case 225://XAPP + case 260://SMPP + case 311://AAS + case 325://VLR + case 330://HLR + case 340://AUC + case 350://SMSC + case 380://EIR + case 385://MRFC + case 360://PPS + case 361://MME + case 362://SPGW + case 363://IMS + case 364://ACS + case 365://UDM + case 366://AUSF + case 390://VMS + case 378://iPALIM + case 379://iRLS + case 386://MHC + case 370://MNP + case 387://iGRS + case 389://IUUPGW + case 391://TMG + case 392://AMRMG + case 393://GbC + case 394://GbC + case 395://RCM + case 222://MTP3 + case 223://SCCP + case 480://DEA + return 1; + break; + default: + return 0; + break; + } + + return 0; +} + +int checkPlatHasSubSysNo(int sysTypeNo,int sysNo) +{ + // modified by simon at 2024/04/12 + //if(sysNo != 9) + if (sysNo != 9 && sysNo != 3 && sysNo != 5 && sysNo != 6 ) // 9-MSS,3-HLR,5-OCS/PPS,6-SMSC + { + switch(sysTypeNo) + { + case 260://SMPP + case 222://MTP3 + case 223://SCCP + return 1; + break; + default: + return 0; + break; + } + } + + return 0; +} + +/************************************************* +Function: // paraCommInit +Description: // 1.Init OMC_PUB.parameterComm + // 2.Init Commands Array + // 3.Init Every module's paramConf +Calls: // omcLogInit();initUnitComm();initDbFromMib(); +Called By: // +Table Accessed: // +Table Updated: // OMC_PUB.parameterComm;OBJ_xxx.paramConf +Input: // +Output: // +Return: // 1:OK,0:error +Others: // +*************************************************/ +//extern int global_mod_index; +int paraCommInit() +{ + int commNo; + long nowTime; + struct tm *nowTm; + char commQuery[128] = "\0"; + + //init log + omcLogInit(paraComm_LogPath, paraComm_LogFile, ¶CommLog); + nowTime = time(NULL); + nowTm = localtime(&nowTime); + oldDay = nowTm->tm_mday; + + //init db connect + dbConn = mysql_conn(HOSTNAME, PUB_DB); + if (dbConn == NULL) { + omcLog(paraCommLog,"[ERR][paraCommInit]:mysql connect OMC_PUB"); + return (0); + } + + //init command table + sprintf(commQuery, "DELETE FROM %s", CommTable); + mysql_getnores(dbConn, commQuery); + + //init command arrary + for (commNo = 0; commNo < MaxCommNum; commNo++) { + initUnitComm(commNo); + } + + //init every module's paramCOnf + //for(global_mod_index=0;global_mod_index 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + + paraCommScan(); + + if (paraComm_timerCount > 5000) {//100s + long l_time; + struct tm *t; + l_time = time(NULL); + t = localtime(&l_time); + if (t->tm_mday != oldDay) { + //init logfile,create a new log file to restore log + omcLogInit(paraComm_LogPath, paraComm_LogFile, ¶CommLog); + oldDay = t->tm_mday; + } + paraComm_timerCount = 0; + } + paraComm_timerCount++; + + + returnResult=paraCommProc(); + if (returnResult) { + return (1); + } else { + return (0); + } +} + + +/************************************************* +Function: // paraCommScan +Description: // 扫描命令表,插入命令到命令数组。 + // 最多可同时处理32条命令 + +Calls: // +Called By: // int paraCommTimer() +Table Accessed: // OMC_PUB.parameterComm +Table Updated: // +Input: // +Output: // +Return: // 1->find command,0->no command,-1->failed +Others: // +*************************************************/ +int paraCommScan() +{ + int i = 0, commNo = 0; + + char commQuery[512] = "\0"; + char cfgQuery[512] = "\0"; + char paramConfQuery[512]= "\0"; + char paramQuery[1024] = "\0"; + char paramTableName[64] = "\0"; + MYSQL_RES *commResult = NULL,*cfgResult = NULL,*paramConfResult = NULL,*paramResult = NULL;; + MYSQL_ROW commRow,cfgRow, paramConfRow; + +/* + char paramSelect[512] = "SELECT T1.level_1,T1.level_2,T1.level_3,T1.level_4,T1.level_5," + "T1.level_6,T1.level_7,T1.level_8,T1.level_9,T1.level_10," + "T1.instanceNo,T1.initValue,T1.readValue,T2.valueType"; +*/ +//AdministrationState do not set + + char paramSelect[512] = "SELECT T1.level_1,T1.level_2,T1.level_3,T1.level_4,T1.level_5," + "T1.level_6,T1.level_7,T1.level_8,T1.level_9,T1.level_10," + "T1.instanceNo,T1.`initValue`,T1.`readValue`,T2.valueType,T2.name_2"; + + + char queryOrderBy[256] = " T1.level_1,T1.level_2,T1.level_3,T1.level_4,T1.level_5,"\ + "T1.level_6,T1.level_7,T1.level_8,T1.level_9,T1.level_10"; + char levelStr[64] = "\0"; + char queryWhere[512] = "\0"; + + char *oneOid; + char *oneInstanceNo; + char instanceNo[32]; + + sprintf(commQuery, + "SELECT commId,commType,sysTypeNo,sysNo,subSysNo,paramType,objId,instanceNo" + " FROM %s WHERE commState = '%d' ORDER BY sendTime", + CommTable, nWaitProc); + //printf("commQuery=%s\n",commQuery); + commResult = (MYSQL_RES *) mysql_getres(dbConn, commQuery); + if (commResult == NULL) { + omcLog(paraCommLog, " Database may be stopped,when get commands"); + return (-1); + } else if (mysql_num_rows(commResult) == 0) { + mysql_free_result(commResult); + return (0); + } + + while ((commRow = mysql_fetch_row(commResult))) { + //Try to Find a available command array + for (commNo = 0; commNo < MaxCommNum; commNo++) { + if ((commArr[commNo].procState == nIdle) + && (commArr[commNo].commState != nWaitProc) + && (commArr[commNo].commState != nInProc)) { + initUnitComm(commNo); + break; + } + }//end of for(..) + + if (commNo == MaxCommNum) { + omcLog(paraCommLog, "Commands array is full"); + break; + } + + commArr[commNo].commState = nInProc; + commArr[commNo].commId = atoi(commRow[0]); + commArr[commNo].commType = atoi(commRow[1]); + commArr[commNo].sysTypeNo = atoi(commRow[2]); + commArr[commNo].sysNo = atoi(commRow[3]); + commArr[commNo].subSysNo = atoi(commRow[4]); + commArr[commNo].paramType = (BYTE) atoi(commRow[5]); + + //Get Active IP From IpTable + if (!getSysAddr(commNo)) { + sprintf(commArr[commNo].desc, CONF_COMMAND_ERR_0101); + commArr[commNo].commState = nProcFail; + commArr[commNo].procState = nIdle; + updateCommTable(commNo); + initUnitComm(commNo); + continue; + } + + //Get General Info From ConfTable + sprintf(cfgQuery, + "SELECT maxMsgLen,snmpHead,snmpPort,needMuliObj,snmpCommunity " + "FROM %s WHERE sysTypeNo='%d'", ConfTable, + commArr[commNo].sysTypeNo); + //printf("cfgQuery=%s\n",cfgQuery); + cfgResult = (MYSQL_RES *) mysql_getres(dbConn, cfgQuery); + if (cfgResult == NULL) { + omcLog(paraCommLog, "Get system configuration informations error!!"); + return (-1); + } + if ((cfgRow = mysql_fetch_row(cfgResult)) != NULL) { + commArr[commNo].snmpInfo.maxMsgLen = atoi(cfgRow[0]); //<-- + commArr[commNo].snmpInfo.dstPort = atoi(cfgRow[2]); //<-- + commArr[commNo].snmpInfo.needMuliObj= atoi(cfgRow[3]); //<-- + sprintf(commArr[commNo].snmpInfo.snmpCommunity, "%s", cfgRow[4]); //<-- + + i = 0; + while ((oneOid = strsep(&(cfgRow[1]), "."))) { + commArr[commNo].snmpInfo.oid[i] = atoi(oneOid); //<-- + i++; + } + commArr[commNo].snmpInfo.preOidLen = i; //<-- + commArr[commNo].snmpInfo.oidLen = i; //<-- + if (i < 1) { + omcLog(paraCommLog, "Get objId error!!"); + mysql_free_result(cfgResult); + return (-1); + } + } + mysql_free_result(cfgResult); + + //Get Oid Info + i = 0; + queryWhere[0]=0; + while ((oneOid = strsep(&(commRow[6]), ".")) != NULL) { + commArr[commNo].snmpInfo.oid[i+commArr[commNo].snmpInfo.oidLen] = atoi(oneOid); + i++; + levelStr[0] = 0; + if(i==1){ + sprintf(levelStr, "T1.level_%d = '%s' ", i, oneOid); + }else{ + sprintf(levelStr, "AND T1.level_%d = '%s' ", i, oneOid); + } + strcat(queryWhere, levelStr); + } + commArr[commNo].snmpInfo.oidLen = commArr[commNo].snmpInfo.oidLen+i; + if (commArr[commNo].snmpInfo.oidLen < 1) { + omcLog(paraCommLog, "Get subObjId error!!"); + return (-1); + } + + sprintf(paramConfQuery, + "SELECT T1.level_%d FROM OBJ_%d.paramConf AS T1 WHERE %s AND level_%d !=0 ORDER BY %s", + i+1,commArr[commNo].sysTypeNo,queryWhere, i+1,queryOrderBy); + //printf("paramConfQuery=%s\n",paramConfQuery); + paramConfResult = (MYSQL_RES *) mysql_getres(dbConn, paramConfQuery); + if (paramConfResult == NULL) { + omcLog(paraCommLog, + " Database may be stopped,when get paramConf"); + return (-1); + } + + commArr[commNo].snmpInfo.columnNum=mysql_num_rows(paramConfResult); + i=0; + while ((paramConfRow = mysql_fetch_row(paramConfResult))) { + commArr[commNo].snmpInfo.column[i]=atoi(paramConfRow[0]); + i++; + } + + mysql_free_result(paramConfResult); + + //Get InstanceNo info + if(strlen(commRow[7])>0){ + //ISSUE-2 + if(strstr(commRow[7],".")) + sprintf(levelStr, "AND T1.instanceNo = '%s' ",commRow[7]); + else + sprintf(levelStr, "AND T1.instanceNo = '%s' ",commRow[7]); + strcat(queryWhere, levelStr); + + strcpy(instanceNo,commRow[7]); + i = 0; + while ((oneInstanceNo = strsep(&(commRow[7]), ".")) != NULL) { + commArr[commNo].snmpInfo.instanceNo[i] = atoi(oneInstanceNo); + i++; + } + + commArr[commNo].snmpInfo.instanceNoLevel = i; + if (commArr[commNo].snmpInfo.instanceNoLevel < 1) { + omcLog(paraCommLog, "Get instanceNo error!!"); + return (-1); + } + } + + getParamTable(commArr[commNo].sysTypeNo, commArr[commNo].sysNo, + commArr[commNo].paramType, paramTableName); + sprintf(commArr[commNo].paramTable, "%s", paramTableName); //<-- + + for(i=1;i<=10;i++){ + sprintf(levelStr, "AND T1.level_%d = T2.level_%d ", i,i); + strcat(queryWhere, levelStr); + } + + + if(checkMibSystem(commArr[commNo].sysTypeNo)) + { + /* + if(commArr[commNo].commType==nSetComm){ + sprintf(paramQuery,"%s FROM %s AS T1,OBJ_%d.paramConf AS T2 " + " WHERE %s AND (T2.maxAccess='%d' OR T2.maxAccess='%d') ORDER BY %s,instanceNo ", + paramSelect,paramTableName,commArr[commNo].sysTypeNo, + queryWhere,MIB_ACCESS_READWRITE,MIB_ACCESS_CREATE,queryOrderBy); + */ + if(commArr[commNo].commType==nSetComm){ + sprintf(paramQuery,"%s FROM %s AS T1,OBJ_%d.paramConf AS T2 " + " WHERE %s AND T2.maxAccess='%d' ORDER BY %s,instanceNo ", + paramSelect,paramTableName,commArr[commNo].sysTypeNo, + queryWhere,MIB_ACCESS_READWRITE,queryOrderBy); + + //ISSUE-3 + if(checkPlatHasSubSysNo(commArr[commNo].sysTypeNo,commArr[commNo].sysNo)) + { + sprintf(paramQuery,"%s FROM %s AS T1,OBJ_%d.paramConf AS T2 " + " WHERE %s AND T2.maxAccess='%d' AND T1.subSysNo='%d' ORDER BY %s,instanceNo ", + paramSelect,paramTableName,commArr[commNo].sysTypeNo, + queryWhere,MIB_ACCESS_READWRITE,commArr[commNo].subSysNo,queryOrderBy); + } + }else if(commArr[commNo].commType!=nGetBulkComm){ + sprintf(paramQuery,"%s FROM %s AS T1,OBJ_%d.paramConf AS T2 " + " WHERE %s AND T2.maxAccess!='%d' AND T2.maxAccess!='%d' ORDER BY %s,instanceNo ", + paramSelect,paramTableName,commArr[commNo].sysTypeNo, + queryWhere,MIB_ACCESS_NOACCESS,MIB_ACCESS_NOTIFY,queryOrderBy); + + //ISSUE-3 + if(checkPlatHasSubSysNo(commArr[commNo].sysTypeNo,commArr[commNo].sysNo)) + { + sprintf(paramQuery,"%s FROM %s AS T1,OBJ_%d.paramConf AS T2 " + " WHERE %s AND T2.maxAccess!='%d' AND T2.maxAccess!='%d' AND T1.subSysNo='%d' ORDER BY %s,instanceNo ", + paramSelect,paramTableName,commArr[commNo].sysTypeNo, + queryWhere,MIB_ACCESS_NOACCESS,MIB_ACCESS_NOTIFY,commArr[commNo].subSysNo,queryOrderBy); + } + } + omcLog(paraCommLog,"\nSQL=%s",paramQuery); + + }else{ + strcat(paramSelect,",T2.length"); + if(commArr[commNo].paramType!=nSubSysParam){ + if(commArr[commNo].commType==nSetComm){ + sprintf(paramQuery,"%s FROM %s AS T1,OBJ_%d.paramConf AS T2 " + " WHERE %s AND subSysNo='%d' AND (T2.operType='2' OR T2.operType='3' OR T2.operType='4') ORDER BY %s,instanceNo ", + paramSelect,paramTableName,commArr[commNo].sysTypeNo,queryWhere,nPubFlag,queryOrderBy); + }else{ + sprintf(paramQuery,"%s FROM %s AS T1,OBJ_%d.paramConf AS T2 " + "WHERE %s AND subSysNo='%d' AND (T2.operType='1' OR T2.operType='3' OR T2.operType='4') ORDER BY %s,instanceNo ", + paramSelect,paramTableName,commArr[commNo].sysTypeNo,queryWhere,nPubFlag,queryOrderBy); + } + }else{ + if(commArr[commNo].commType==nSetComm){ + sprintf(paramQuery,"%s FROM %s AS T1,OBJ_%d.paramConf AS T2 " + " WHERE %s AND subSysNo='%d' AND (T2.operType='2' OR T2.operType='3' OR T2.operType='4') ORDER BY %s,instanceNo ", + paramSelect,paramTableName,commArr[commNo].sysTypeNo,queryWhere,commArr[commNo].subSysNo,queryOrderBy); + }else{ + sprintf(paramQuery,"%s FROM %s AS T1,OBJ_%d.paramConf AS T2 " + " WHERE %s AND subSysNo='%d' AND (T2.operType='1' OR T2.operType='3' OR T2.operType='4') ORDER BY %s,instanceNo ", + paramSelect,paramTableName,commArr[commNo].sysTypeNo,queryWhere,commArr[commNo].subSysNo,queryOrderBy); + } + } + } + + if(strlen(paramQuery)>0){ + //printf("paramQuery=%s\n",paramQuery); + paramResult = (MYSQL_RES *) mysql_getres(dbConn, paramQuery); + if (paramResult == NULL) { + omcLog(paraCommLog, + " Database may be stopped,when get paramSet"); + return (-1); + } + commArr[commNo].totalNum = mysql_num_rows(paramResult); //<-- + if (commArr[commNo].totalNum <= 0) { + omcLog(paraCommLog, + "TotalNum <= 0,Cannot get the object value record!\nSQL=%s", + paramQuery); + sprintf(commArr[commNo].desc,CONF_COMMAND_ERR_0201); + + commArr[commNo].commState = nProcFail; + commArr[commNo].procState = nIdle; + mysql_free_result(paramResult); + commArr[commNo].paramSet = NULL; + updateCommTable(commNo); + initUnitComm(commNo); + return (-1); + } else { + commArr[commNo].finishNum = 0; //<-- + commArr[commNo].paramSet = paramResult; //<-- + + updateCommTable(commNo); + } + } + + +#if paraComm_DEBUG + //General Info + omcLog(paraCommLog,"commArr[%d].commId =%d", commNo, + commArr[commNo].commId); + omcLog(paraCommLog,"commArr[%d].commType=%d", commNo, + commArr[commNo].commType); + omcLog(paraCommLog,"commArr[%d].sysTypeNo=%d", commNo, + commArr[commNo].sysTypeNo); + omcLog(paraCommLog,"commArr[%d].sysNo =%d", commNo, + commArr[commNo].sysNo); + omcLog(paraCommLog,"commArr[%d].subSysNo =%d", commNo, + commArr[commNo].subSysNo); + omcLog(paraCommLog,"commArr[%d].paramType =%d", commNo, + commArr[commNo].paramType); + + omcLog(paraCommLog,"commArr[%d].snmpInfo.dstIP =%s", commNo, + commArr[commNo].snmpInfo.dstIP); + omcLog(paraCommLog,"commArr[%d].snmpInfo.needMuliObj=%d", commNo, + commArr[commNo].snmpInfo.needMuliObj); + omcLog(paraCommLog,"commArr[%d].snmpInfo.dstPort=%ld", commNo, + commArr[commNo].snmpInfo.dstPort); + omcLog(paraCommLog,"commArr[%d].snmpInfo.maxMsgLen =%ld", commNo, + commArr[commNo].snmpInfo.maxMsgLen); + omcLog(paraCommLog,"commArr[%d].snmpInfo.snmpCommunity =%s", commNo, + commArr[commNo].snmpInfo.snmpCommunity); + + omcLog(paraCommLog,"commArr[%d].snmpInfo.preOidLen =%d", commNo, + commArr[commNo].snmpInfo.preOidLen); + omcLog(paraCommLog,"commArr[%d].snmpInfo.oidLen=%d", commNo, + commArr[commNo].snmpInfo.oidLen); + for(i=0;ifinish all,1->finish part,0->failed +Others: // +*************************************************/ + +int paraCommProc() +{ + int i = 0; + int j = 0; + int errorIndex; + char errorCause[128]; + char tmpStr[32]; + int idleCommCount = 0; + snmp_pdu tmpPdu; + snmp_addr tmpAddr; + var_list tmpVarArr[MaxVarNum]; + +#if paraComm_DEBUG + clrscr(); + printf + ("\n commId systemId systemIp comm/procState finish/total Desc"); +#endif + + for (i = 0; i < MaxCommNum; i++) { +#if paraComm_DEBUG + printf("\n %d \t %d-%d-%d %s \t %d/%d \t %d/%d \t%s ", i, + commArr[i].sysTypeNo, commArr[i].sysNo, commArr[i].subSysNo, + commArr[i].snmpInfo.dstIP, + commArr[i].commState, commArr[i].procState, + commArr[i].finishNum, commArr[i].totalNum, commArr[i].desc); +#endif + if (commArr[i].commState == nInProc) { +#if paraComm_DEBUG + omcLog(paraCommLog, " commArr[%d]:", i); + omcLog(paraCommLog, " commState = %d \t procState = %d", + commArr[i].commState, commArr[i].procState); +#endif + switch (commArr[i].procState) { + case nIdle: + if(commArr[i].commType!=nGetBulkComm&&commArr[i].totalNum==commArr[i].finishNum){ + commArr[i].commState = nOutProc; + commArr[i].procState = nIdle; + sprintf(commArr[i].desc, CONF_COMMAND_ERR_0000); + updateCommTable(i); + initUnitComm(i); + freeParamSet(i); + break; + } + + + mkVarArr(i, tmpVarArr); + + mkAddr(i, &tmpAddr); + mkPdu(i, tmpVarArr, &tmpPdu); + + commArr[i].waitTimeCount = 0; + commArr[i].timeoutCount = 0; + if (snmp_send(&tmpPdu, &tmpAddr) > 0) { +#if paraComm_DEBUG +{ + int k,kk; + + omcLog(paraCommLog, " send snmp message ok!"); + + for(k=0;k 0) {//received msg + int respProcReturn = 0; +#if paraComm_DEBUG + omcLog(paraCommLog, " Receive snmp message ok!"); +#endif + respProcReturn = respProc(&i, &tmpPdu); //here changed commState's value + if (respProcReturn > 0) {//vaild message + commArr[i].waitTimeCount = 0; + commArr[i].timeoutCount = 0; + } else if (respProcReturn == 0) {//invaild message + commArr[i].waitTimeCount++; + omcLog(paraCommLog, + "Invailed response message,throw away"); + sprintf(commArr[i].desc,CONF_COMMAND_ERR_0401); + //Don't send msg again when find invaild message, + //Because iptrans is a FIFO buffer + if (commArr[i].waitTimeCount % 3) { + continue; + } + } else {//error report message + commArr[i].commState = nProcFail; + + /***********************/ + errorIndex=tmpPdu.error_index-1; + //errorIndex=tmpPdu.error_index; + //printf("error_status=%d,error_index=%d,len=%d\n",tmpPdu.error_status,errorIndex,tmpPdu.var[errorIndex].msglen); + //printf("pdu_type=%d,var_type=%d\n",tmpPdu.pdu_type,tmpPdu.var[errorIndex].vartype); + for(j=0;j 0) { + commArr[i].procState = nWaitResponse; + updateCommTable(i); + } else { + commArr[i].commState = nProcFail; + commArr[i].procState = nIdle; + sprintf(commArr[i].desc,CONF_COMMAND_ERR_0301); + omcLog(paraCommLog, + "Send snmp message failed!"); + updateCommTable(i); + initUnitComm(i); + } + } + break; + case nOutProc: + commArr[i].procState = nIdle; + sprintf(commArr[i].desc, CONF_COMMAND_ERR_0000); + updateCommTable(i); + initUnitComm(i); + break; + default: //error + commArr[i].commState = nProcFail; + commArr[i].procState = nIdle; + sprintf(commArr[i].desc, CONF_COMMAND_ERR_0402); + //printf("desc:%s\n",commArr[i].desc); + + updateCommTable(i); + initUnitComm(i); + break; + } + + } else { //not received msg +#if paraComm_DEBUG + omcLog(paraCommLog, " Receive snmp message failed!"); +#endif + commArr[i].waitTimeCount++; +#if paraComm_DEBUG + if(commArr[i].waitTimeCount>16) + omcLog(paraCommLog, + "commId=%ld \t waitTimeCount=%d \t timeoutCount=%d", + commArr[i].commId, + commArr[i].waitTimeCount, + commArr[i].timeoutCount); +#endif + if (commArr[i].waitTimeCount >= 16) {//Time out + commArr[i].waitTimeCount = 0; + commArr[i].timeoutCount++; + if (commArr[i].timeoutCount > 4) { + commArr[i].timeoutCount=0; + commArr[i].commState = nProcFail; + sprintf(commArr[i].desc, CONF_COMMAND_ERR_0403); + omcLog(paraCommLog, "Response timeout"); + updateCommTable(i); + initUnitComm(i); + commArr[i].procState = nIdle; + } else {//resend msg + if(commArr[i].totalNum==commArr[i].finishNum&&commArr[i].commType!=nGetBulkComm){ + commArr[i].commState = nOutProc; + commArr[i].procState = nIdle; + sprintf(commArr[i].desc, CONF_COMMAND_ERR_0000); + updateCommTable(i); + initUnitComm(i); + break; + } + //ISSUE-1 + if(commArr[i].sysTypeNo==223) + { + commArr[i].timeoutCount++; + break; + } + + mkAddr(i, &tmpAddr); + mkVarArr(i, tmpVarArr); + + mkPdu(i, tmpVarArr, &tmpPdu); + if (snmp_send(&tmpPdu, &tmpAddr) > 0) { + commArr[i].procState = nWaitResponse; + } else { + commArr[i].commState = nProcFail; + sprintf(commArr[i].desc,CONF_COMMAND_ERR_0301); + omcLog(paraCommLog, + "failed to send snmp message!"); + updateCommTable(i); + //commArr[i].procState = nIdle; + } + } + } //end of time out handle + } //end of not received msg + break; + default: + commArr[i].procState = nIdle; + commArr[i].commState = nProcFail; + sprintf(commArr[i].desc,CONF_COMMAND_ERR_9999); + omcLog(paraCommLog, "unknown procState,Please check!"); + break; + } //end of switch(..) + } else { + idleCommCount++; + } + } //end of for(..) + + if (idleCommCount == MaxCommNum) { + snmp_receive(&tmpPdu, &tmpAddr); + return (2); + } else { + return (1); + } +} + + +/************************************************* +Function: // respProc +Description: // 处理命令编号为commNo的命令的回应消息。 + // commNo为命令编号,由于需要比较回应消息与各个命令的request_id是否相等,并可能根据回应消息改变commNo + +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1 -> ok;0 -> invalid msg;-1 -> error report msg +Others: // +*************************************************/ +int respProc(int *oldCommNo, snmp_pdu * pdu) +{ + int i, j, commNo; + char updateField[16] = "readValue"; + char updateSql[8192]; + char tmpStr[4096]; + int str_index; + + + snmp_pdu tmpPdu; + snmp_addr tmpAddr; + + //Check commNo + if (*oldCommNo >= MaxCommNum) { + omcLog(paraCommLog, " Error: oldCommNo is too big (%d)", + *oldCommNo); + return (0); + } + commNo = *oldCommNo; + + //Check PDU Type + if (pdu->pdu_type != PDU_RSP) { + omcLog(paraCommLog, " Error pdu type:%d(!=Resp%d)", pdu->pdu_type, + PDU_RSP); + return (0); + } + + //Check Request ID + if (pdu->request_id != commArr[commNo].commId) { + int isRequestIdMatch = 0; + for (i = 0; i < MaxCommNum; i++) { + if (pdu->request_id == commArr[i].commId) { + isRequestIdMatch = 1; + *oldCommNo = i; + commNo = i; + break; + } + } + if (isRequestIdMatch == 0) { + omcLog(paraCommLog, "Unknown pdu->request_id(%ld) ", + pdu->request_id); + return (0); + } + } + + for (i = 0; i < pdu->var_num; i++) { + int tmpLongInt = 0; + char tmpValue[512] = "\0"; + int levelNo = 1; + char tmpInstanceNo[16]=""; + char instanceNo[32]=""; + char queryWhere[256] = "\0"; + //Check Msg Length + if (pdu->var[i].msglen > MaxLenOfParaValue) { + omcLog(paraCommLog, + " Msg is too long(pdu->var[%d].msglen =%d)", i, + pdu->var[i].msglen); + return (0); + } + + //check PreObjId + for (j = 0; j < commArr[commNo].snmpInfo.preOidLen; j++) { + if (commArr[commNo].snmpInfo.oid[j] != pdu->var[i].oid[j]) { + int k = 0; + omcLog(paraCommLog, " Oid is not match!"); + for (k = 0; k < commArr[commNo].snmpInfo.preOidLen; k++) { + omcLog(paraCommLog, " %d: %ld [%ld]", k, + commArr[commNo].snmpInfo.oid[k], + pdu->var[i].oid[k]); + } + return (0); + } + } + + //check subObjId + for (j = commArr[commNo].snmpInfo.preOidLen; j < commArr[commNo].snmpInfo.oidLen; j++) { + if (commArr[commNo].snmpInfo.oid[j] != pdu->var[i].oid[j]) { + if(commArr[commNo].commType==nGetBulkComm){//Finished GetBulk Table + commArr[commNo].commState = nOutProc; + break; + }else + return(0); + } + } + + if(checkMibSystem(commArr[commNo].sysTypeNo)) + { + if(commArr[commNo].snmpInfo.columnNum!=0){//Is a table + sprintf(updateSql,"REPLACE INTO %s SET ",commArr[commNo].paramTable); + levelNo=1; + for (j = commArr[commNo].snmpInfo.preOidLen; j < commArr[commNo].snmpInfo.oidLen+1;j++) { + sprintf(tmpStr, "level_%d = '%ld',", levelNo, pdu->var[i].oid[j]); + strcat(updateSql,tmpStr); + levelNo++; + } + + //Check instanceNo + for(j=commArr[commNo].snmpInfo.oidLen+1;jvar[i].oid[j]&& + commArr[commNo].snmpInfo.instanceNo[j-commArr[commNo].snmpInfo.oidLen-1]!=0){ + commArr[commNo].commState = nOutProc; + break; + } + } + + //organize instanceNo + for(j=commArr[commNo].snmpInfo.oidLen+1;jvar[i].oidlen;j++){ + if(j==commArr[commNo].snmpInfo.oidLen+1) + sprintf(tmpInstanceNo, "%04ld", pdu->var[i].oid[j]); + else + sprintf(tmpInstanceNo, ".%04ld", pdu->var[i].oid[j]); + strcat(instanceNo, tmpInstanceNo); + } + + sprintf(tmpStr, "instanceNo='%s',",instanceNo); + + strcat(updateSql,tmpStr); + }else{ + sprintf(updateSql,"REPLACE INTO %s SET ",commArr[commNo].paramTable); + levelNo=1; + for (j = commArr[commNo].snmpInfo.preOidLen; j < commArr[commNo].snmpInfo.oidLen;j++) { + sprintf(tmpStr, "level_%d = '%ld',", levelNo, pdu->var[i].oid[j]); + strcat(updateSql,tmpStr); + levelNo++; + } + + + for(j=commArr[commNo].snmpInfo.oidLen;jvar[i].oidlen;j++){ + if(j==commArr[commNo].snmpInfo.oidLen) + sprintf(tmpInstanceNo, "%04ld", pdu->var[i].oid[j]); + else + sprintf(tmpInstanceNo, ".%04ld", pdu->var[i].oid[j]); + strcat(instanceNo, tmpInstanceNo); + } + + sprintf(tmpStr, "instanceNo='%s',",instanceNo); + strcat(updateSql,tmpStr); + + + } + }else{ + sprintf(updateSql,"UPDATE %s SET ",commArr[commNo].paramTable); + + for (j = commArr[commNo].snmpInfo.preOidLen; j < commArr[commNo].snmpInfo.preOidLen+commArr[commNo].levelWidth[i];j++) { + if(j==commArr[commNo].snmpInfo.preOidLen) + sprintf(tmpStr, " WHERE level_%d = '%ld'", levelNo, pdu->var[i].oid[j]); + else + sprintf(tmpStr, " AND level_%d = '%ld'", levelNo, pdu->var[i].oid[j]); + strcat(queryWhere,tmpStr); + levelNo++; + } + + for(j=commArr[commNo].snmpInfo.preOidLen+commArr[commNo].levelWidth[i];jvar[i].oidlen;j++){ + if(j==commArr[commNo].snmpInfo.preOidLen+commArr[commNo].levelWidth[i]) + sprintf(tmpInstanceNo, "%ld", pdu->var[i].oid[j]); + else + sprintf(tmpInstanceNo, ".%ld", pdu->var[i].oid[j]); + strcat(instanceNo, tmpInstanceNo); + } + + sprintf(tmpStr, " AND instanceNo='%s'",instanceNo); + strcat(queryWhere,tmpStr); + } + + if ((pdu->error_status > 0) && (pdu->error_index == (i + 1))) { + omcLog(paraCommLog, + "Error message: pdu->error_status =%d pdu->error_index =%d", + pdu->error_status, pdu->error_index); + + if (pdu->error_status < MaxErrorStatusNum) { + sprintf(tmpStr,",`%s`='Error:%s'", updateField, + errorStatusDescArr[pdu->error_status]); + + } else { + sprintf(tmpStr,",`%s`='Error:Unknown Error'", updateField); + } + return (-1); + } + + if(commArr[commNo].commState == nOutProc) + break; + + switch (pdu->var[i].vartype) { + case 0x02: //INTEGER + tmpLongInt = + decode_integer(pdu->var[i].msg, pdu->var[i].msglen); + + sprintf(tmpStr,"`%s`='%d'", updateField,tmpLongInt); + commArr[commNo].finishNum++; + break; + case 0x04: //OCTET STRING + if(checkMibSystem(commArr[commNo].sysTypeNo)) + { + str_index=0; + for(j=0;jvar[i].msglen;j++) + { + tmpValue[str_index]=toascii(pdu->var[i].msg[j]); + str_index++; + if(tmpValue[str_index-1] == '\\') + { + tmpValue[str_index]='\\'; + str_index++; + } + } + tmpValue[str_index]=0; + }else{ + omc_RbcdToAscii(tmpValue, pdu->var[i].msg, + pdu->var[i].msglen * 2); + } + sprintf(tmpStr,"`%s`='%s'", updateField,tmpValue); + commArr[commNo].finishNum++; + break; + case 0x05: //NULL(unSpecified) + sprintf(tmpStr,"`%s`=''", updateField); + commArr[commNo].finishNum++; + break; + case 0x06: //OBJECT IDENTIFIER + tmpLongInt =decode_integer(pdu->var[i].msg, pdu->var[i].msglen); + tmpLongInt = + decode_integer(pdu->var[i].msg, pdu->var[i].msglen); + + sprintf(tmpStr,"`%s`='%d'", updateField,tmpLongInt); + commArr[commNo].finishNum++; + break; + case 0x40: //IP Address + sprintf(tmpStr,"`%s`='%d.%d.%d.%d'", updateField, + pdu->var[i].msg[0],pdu->var[i].msg[1], + pdu->var[i].msg[2],pdu->var[i].msg[3]); + commArr[commNo].finishNum++; + break; + case 0x44: //Opaque + omc_RbcdToAscii(tmpValue, pdu->var[i].msg, + pdu->var[i].msglen * 2); + sprintf(tmpStr,"`%s`='%s'", updateField,tmpValue); + commArr[commNo].finishNum++; + break; + case 0x80: //noSuchObject + sprintf(tmpStr,"`%s`='Error:NoSuchObject'", updateField); + commArr[commNo].finishNum++; + break; + case 0x81: //NoSuchInstance + sprintf(tmpStr,"`%s`='Error:NoSuchInstance'", updateField); + commArr[commNo].finishNum++; + break; + case 0x82: //endOfMibView + commArr[commNo].commState = nOutProc; + commArr[commNo].finishNum++; + break; + default: + omcLog(paraCommLog, + " Invailed vartype(pdu->var[%d].vartype=%d)--> unknown var type", + i, pdu->var[i].vartype); + return (-1); + } + + if(commArr[commNo].commState == nOutProc) + break; + + strcat(updateSql,tmpStr); + // by simon, at 2023-11-15 + strcat(updateSql,",`initValue`=`readValue`"); + if(commArr[commNo].sysTypeNo!=320){ + strcat(updateSql,queryWhere); + } + //omcLog(paraCommLog,"\nupdateSql=%s\n",updateSql); + + //ISSUE-3, SMPP(VSS,EMS) need subSysNo + if(checkPlatHasSubSysNo(commArr[commNo].sysTypeNo,commArr[commNo].sysNo)) + { + sprintf(tmpStr,",subSysNo=%d",commArr[commNo].subSysNo); + strcat(updateSql,tmpStr); + } + + mysql_getnores(dbConn, updateSql); + + //if(commArr[commNo].commType!=nSetComm){ + // sprintf(updateSql,"UPDATE %s SET initValue=readValue %s",commArr[commNo].paramTable,queryWhere); + // mysql_getnores(dbConn, updateSql); + //} + } + + + if(commArr[commNo].commType == nGetBulkComm){ + if(commArr[commNo].commState != nOutProc){//Send command again + mkAddr(commNo, &tmpAddr); + mkPdu(commNo, pdu->var, &tmpPdu); + commArr[commNo].waitTimeCount = 0; + commArr[commNo].timeoutCount = 0; + if (snmp_send(&tmpPdu, &tmpAddr) > 0) { + commArr[commNo].procState = nWaitResponse; + } else { + omcLog(paraCommLog, "Send snmp message failed!(IP=%s)", + commArr[commNo].snmpInfo.dstIP); + commArr[commNo].commState = nProcFail; + sprintf(commArr[commNo].desc,CONF_COMMAND_ERR_0301); + updateCommTable(commNo); + commArr[commNo].procState = nIdle; + initUnitComm(commNo); + } + }else{ + freeParamSet(commNo); + } + }else if (commArr[commNo].finishNum >= commArr[commNo].totalNum) { + commArr[commNo].commState = nOutProc; + freeParamSet(commNo); + } + + return (1); +} + +/************************************************* +Function: // updateCommTable +Description: // 将指定命令编号的信息,更新到命令表。 + // commNo为命令编号, +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1->ok,0->failed +Others: // +*************************************************/ +int updateCommTable(int commNo) +{ + char tmpQuery[256] = "\0"; +#if paraComm_DEBUG + omcLog(paraCommLog, "commArr[%d].commState=%d", commNo, + commArr[commNo].commState); +#endif + if (commArr[commNo].procState == nIdle) { + sprintf(tmpQuery, + "UPDATE %s SET `commState` = '%d',`finishNum`= '0', `totalNum`= '%d'," + "bgnTime = CURRENT_TIMESTAMP, `remark`='%s' WHERE commId = '%d'", + CommTable, commArr[commNo].commState, + commArr[commNo].totalNum, commArr[commNo].desc, + commArr[commNo].commId); + } else { + sprintf(tmpQuery, + "UPDATE %s SET `commState`='%d',`finishNum`='%d', " + "`endTime` = CURRENT_TIMESTAMP, `remark`='%s' WHERE `commId` = '%d'", + CommTable, commArr[commNo].commState, + commArr[commNo].finishNum, commArr[commNo].desc, + commArr[commNo].commId); + } + mysql_getnores(dbConn, tmpQuery); + return (1); +} + + +/************************************************* +Function: // getSysAddr +Description: // 根据系统id从OMC_PUB.sysInfo表,获取该系统的ip + // commNo为命令编号, +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1->ok,0->failed +Others: // +*************************************************/ +int getSysAddr(int commNo) +{ + int nReturn = 0; + MYSQL_RES *tmpResult; + MYSQL_ROW tmpRow; + char tmpQuery[512] = "\0"; + sprintf(tmpQuery, + "SELECT isRemote,netId,DPC,ip FROM %s WHERE sysTypeNo='%d' " + "AND sysNo='%d' AND subsysNo='%d' ", IpTable, + commArr[commNo].sysTypeNo, commArr[commNo].sysNo, + commArr[commNo].subSysNo); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpQuery); + if (tmpResult == NULL) { + omcLog(paraCommLog, + " Database may be stopped,when get IP address from IpTable"); + return (0); + } + if ((tmpRow = mysql_fetch_row(tmpResult)) != NULL) { + strcpy(commArr[commNo].snmpInfo.dstIP, tmpRow[3]); +#if paraComm_DEBUG + //omcLog(paraCommLog, " dstIP=%s", commArr[commNo].dstIP); +#endif + nReturn = 1; + } else { + nReturn = 0; + } + mysql_free_result(tmpResult); + return (nReturn); +} + +/************************************************* +Function: // getParamTable +Description: // 根据系统类型编号,系统编号,参数类型,得出表名 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1->ok,0->failed +Others: // +*************************************************/ +int getParamTable(int sysTypeNo, int sysNo, int paramType, char *tableName) +{ + if (paramType == nGlobalSysParam) { + sprintf(tableName, "OBJ_%d.param_%d", sysTypeNo, nPubFlag); + } else { + sprintf(tableName, "OBJ_%d.param_%d", sysTypeNo, sysNo); + } + return (1); +} + + +/************************************************* +Function: // mkVarArr +Description: // 将指定命令的数据变量添加到snmp的数据类型var_list中,为mkPdu做准备。\ +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: //命令编号,pdu中的var_list的指针。 +Output: // +Return: // 1->ok,0->failed +Others: // +*************************************************/ +int mkVarArr(int commNo, var_list * varArr) +{ + int i,tmpColumnNo; + + MYSQL_ROW tmpRow; + int nInstanceNo= 10; + int nInitValue = 11; + int nReadValue = 12; + int nValueType = 13; + int nLengthInTemplate=15; + + var_list *unitVar; + int varCount = 0; + int unitVarLen = 0; + int unitVarMsgLen = 0; + int msgLen = 0; + long tmpInt = 0; + + char *oneInstanceNo; + + if(checkMibSystem(commArr[commNo].sysTypeNo)) + { + if(commArr[commNo].commType==nGetBulkComm){ + for(tmpColumnNo=0;tmpColumnNooid[i] = commArr[commNo].snmpInfo.oid[i]; + } + unitVar->oidlen = commArr[commNo].snmpInfo.oidLen; + + //Column + unitVar->oid[unitVar->oidlen] = commArr[commNo].snmpInfo.column[tmpColumnNo]; + unitVar->oidlen++; + + //Instance + for (i = 0; i < commArr[commNo].snmpInfo.instanceNoLevel; i++) { + unitVar->oid[unitVar->oidlen+i] = commArr[commNo].snmpInfo.instanceNo[i]; + } + + unitVar->oidlen = unitVar->oidlen+commArr[commNo].snmpInfo.instanceNoLevel; + unitVar->msglen = 0; +#if paraComm_DEBUG + omcLog(paraCommLog,"unitVar->oidlen=%d", unitVar->oidlen); + for(i=0;ioidlen;i++){ + omcLog(paraCommLog,"unitVar->oid=%d", unitVar->oid[i]); + } +#endif + varCount++; + } + }else{ + //sql="SELECT level_1,...level_10,instanceNo,readValue,initValue,valueType FROM %s WHERE %s + //field define + if (commArr[commNo].paramSet == NULL) { + omcLog(paraCommLog, "Error: commArr[%d].paramSet == NULL", commNo); + return (0); + } + + mysql_data_seek(commArr[commNo].paramSet, commArr[commNo].finishNum); + while ((varCount < MaxVarNum) + && (tmpRow = mysql_fetch_row(commArr[commNo].paramSet))) { + + //if(strcmp(tmpRow[nReadValue],tmpRow[nInitValue])==0&&commArr[commNo].commType == nSetComm){ + // commArr[commNo].finishNum++; + // continue; + //} + + //AdministrationState do not set + if(commArr[commNo].commType == nSetComm && commArr[commNo].snmpInfo.columnNum > 0) + { + if(strstr(tmpRow[14],"AdministrationState") || strstr(tmpRow[14],"CreateEntry")) + { + commArr[commNo].finishNum++; + continue; + } + } + + //Command do not set + if(commArr[commNo].commType == nSetComm && commArr[commNo].snmpInfo.columnNum > 0 && strstr(tmpRow[14],"Command")) + { + commArr[commNo].finishNum++; + continue; + } + + unitVarMsgLen = strlen(tmpRow[nInitValue]); + + unitVarLen = + commArr[commNo].snmpInfo.oidLen + commArr[commNo].snmpInfo.instanceNoLevel + unitVarMsgLen; + + if (unitVarLen > (commArr[commNo].snmpInfo.maxMsgLen - msgLen)) { + break; + } + unitVar = varArr + varCount; + + for (i = 0; i < commArr[commNo].snmpInfo.preOidLen; i++) { + unitVar->oid[i] = commArr[commNo].snmpInfo.oid[i]; + } + unitVar->oidlen = commArr[commNo].snmpInfo.preOidLen; + + //level_1,....level_10 + i=0; + while ((atoi(tmpRow[i]) > 0) && ((i + unitVar->oidlen)< MaxOidLen)) { + unitVar->oid[i+unitVar->oidlen] = atoi(tmpRow[i]); + i++; + } + commArr[commNo].levelWidth[varCount]=(BYTE)i; + unitVar->oidlen=unitVar->oidlen+i; + + if(commArr[commNo].snmpInfo.instanceNoLevel>0){ + for (i = 0; i < commArr[commNo].snmpInfo.instanceNoLevel; i++) { + unitVar->oid[i+unitVar->oidlen] = commArr[commNo].snmpInfo.instanceNo[i]; + } + unitVar->oidlen = unitVar->oidlen + commArr[commNo].snmpInfo.instanceNoLevel; + }else{ + i=0; + while ((oneInstanceNo = strsep(&(tmpRow[nInstanceNo]), ".")) != NULL) { + unitVar->oid[unitVar->oidlen] = atoi(oneInstanceNo); + i++; + } + unitVar->oidlen = unitVar->oidlen + i; + } + + // fj modify + int key_val_type = atoi(tmpRow[nValueType]); + if(strstr(tmpRow[14], "RowStatus") != NULL && key_val_type == 0) + { + + key_val_type = TYPE_INTEGER; + + omcLog(paraCommLog, " change from 0 to %d", TYPE_INTEGER); + } + + switch (key_val_type){ + case TYPE_INTEGER: + case TYPE_INTEGER32: + case TYPE_UNSIGNED32: + case TYPE_UINTEGER: + case TYPE_BITSTRING: + unitVar->vartype = 0x02; + tmpInt = atol(tmpRow[nInitValue]); + unitVar->msglen = encode_integer(unitVar->msg, tmpInt); + break; + case TYPE_OCTETSTR: + case TYPE_NSAPADDRESS: + unitVar->vartype = 0x04; + memcpy(unitVar->msg, tmpRow[nInitValue], + strlen(tmpRow[nInitValue])); + unitVar->msglen = strlen(tmpRow[nInitValue]); + + break; + case TYPE_NULL: + break; + case TYPE_NETADDR: + case TYPE_IPADDR: + unitVar->vartype = 0x40; + tmpInt=inet_addr(tmpRow[nInitValue]); + memcpy(unitVar->msg, &tmpInt,4); + unitVar->msglen = 4; + break; + case TYPE_COUNTER: + case TYPE_COUNTER64: + break; + case TYPE_GAUGE: + break; + case TYPE_TIMETICKS: + break; + case TYPE_OPAQUE: + unitVar->vartype = 0x44; + omc_AsciiToRbcd(unitVar->msg, tmpRow[nInitValue], + strlen(tmpRow[nInitValue])); + unitVar->msglen = strlen(tmpRow[nInitValue])/2; + if(strlen(tmpRow[nInitValue])%2 == 1) + unitVar->msglen++; + break; + default: + omcLog(paraCommLog, " Invailed vartype=%d", + nValueType); + return (0); + break; + } + + + sprintf(commArr[commNo].readValue[varCount],tmpRow[nReadValue]); + msgLen += (unitVar->oidlen + unitVar->msglen + 2); +#if paraComm_DEBUG + omcLog(paraCommLog, " varArr[%d].oidlen=%d", varCount, + varArr[varCount].oidlen); + omcLog(paraCommLog, " varArr[%d].objId=", varCount); + for (i = 0; i < varArr[varCount].oidlen; i++) { + omcLog(paraCommLog, "%ld.", varArr[varCount].oid[i]); + } + omcLog(paraCommLog, " varArr[%d].vartype=%d", varCount, + varArr[varCount].vartype); + omcLog(paraCommLog, " varArr[%d].msglen=%d", varCount, + varArr[varCount].msglen); + for (i = 0; i < varArr[varCount].msglen; i++) { + omcLog(paraCommLog, " varArr[%d].msg[%d]=%x", varCount, i, + varArr[varCount].msg[i]); + } + omcLog(paraCommLog, " filled message len=%d", msgLen); +#endif + varCount++; + if (commArr[commNo].snmpInfo.needMuliObj < 1) { + break; + } + } //end of while(..) + } + }else{ + //sql="SELECT level_1,...level_10,instanceNo,readValue,initValue,valueType FROM %s WHERE %s + //field define + if (commArr[commNo].paramSet == NULL) { + omcLog(paraCommLog, "Error: commArr[%d].paramSet == NULL", commNo); + return (0); + } + + mysql_data_seek(commArr[commNo].paramSet, commArr[commNo].finishNum); + while ((varCount < MaxVarNum) + && (tmpRow = mysql_fetch_row(commArr[commNo].paramSet))) { + + //if(strcmp(tmpRow[nReadValue],tmpRow[nInitValue])==0&&commArr[commNo].commType == nSetComm){ + // commArr[commNo].finishNum++; + // continue; + //} + + //unitVarMsgLen = strlen(tmpRow[nInitValue]); + //unitVarMsgLen = strlen(tmpRow[nInitValueTemplate]); + unitVarMsgLen=atoi(tmpRow[nLengthInTemplate]); + unitVarLen = + commArr[commNo].snmpInfo.oidLen + commArr[commNo].snmpInfo.instanceNoLevel + unitVarMsgLen; + + if (unitVarLen > (commArr[commNo].snmpInfo.maxMsgLen - msgLen)) { + break; + } + unitVar = varArr + varCount; + + for (i = 0; i < commArr[commNo].snmpInfo.preOidLen; i++) { + unitVar->oid[i] = commArr[commNo].snmpInfo.oid[i]; + } + unitVar->oidlen = commArr[commNo].snmpInfo.preOidLen; + + //level_1,....level_10 + i=0; + while ((atoi(tmpRow[i]) > 0) && ((i + unitVar->oidlen)< MaxOidLen)) { + unitVar->oid[i+unitVar->oidlen] = atoi(tmpRow[i]); + i++; + } + commArr[commNo].levelWidth[varCount]=(BYTE)i; + unitVar->oidlen=unitVar->oidlen+i; + + if(commArr[commNo].snmpInfo.instanceNoLevel>0){ + for (i = 0; i < commArr[commNo].snmpInfo.instanceNoLevel; i++) { + unitVar->oid[i+unitVar->oidlen] = commArr[commNo].snmpInfo.instanceNo[i]; + } + unitVar->oidlen = unitVar->oidlen + commArr[commNo].snmpInfo.instanceNoLevel; + }else{ + i=0; + while ((oneInstanceNo = strsep(&(tmpRow[nInstanceNo]), ".")) != NULL) { + unitVar->oid[unitVar->oidlen] = atoi(oneInstanceNo); + i++; + } + unitVar->oidlen = unitVar->oidlen + i; + } + + unitVar->vartype = atoi(tmpRow[nValueType]); + switch (atoi(tmpRow[nValueType])) { + case 0x02: //INTEGER + tmpInt = atol(tmpRow[nInitValue]); + unitVar->msglen = encode_integer(unitVar->msg, tmpInt); + //unitVar->msglen = strlen(tmpRow[nInitValue]); + break; + case 0x04: //OCTET STRING + omc_AsciiToRbcd(unitVar->msg, tmpRow[nInitValue], + strlen(tmpRow[nInitValue])); + //unitVar->msglen = strlen(tmpRow[nInitValue])/2; + //unitVar->msglen = strlen(tmpRow[nInitValueTemplate])/2; + unitVar->msglen = atoi(tmpRow[nLengthInTemplate]); + break; + case 0x05: //NULL(unSpecified) + case 0x06: //OBJECT IDENTIFIER + case 0x80: //noSuchObject + case 0x81: //NoSuchInstance + case 0x82: //endOfMibView + default: + omcLog(paraCommLog, " Invailed vartype=%d", + unitVar->vartype); + return (0); + } + + + sprintf(commArr[commNo].readValue[varCount],tmpRow[nReadValue]); + msgLen += (unitVar->oidlen + unitVar->msglen + 2); +#if paraComm_DEBUG + omcLog(paraCommLog, " varArr[%d].oidlen=%d", varCount, + varArr[varCount].oidlen); + omcLog(paraCommLog, " varArr[%d].objId=", varCount); + for (i = 0; i < varArr[varCount].oidlen; i++) { + omcLog(paraCommLog, "%ld.", varArr[varCount].oid[i]); + } + omcLog(paraCommLog, " varArr[%d].vartype=%d", varCount, + varArr[varCount].vartype); + omcLog(paraCommLog, " varArr[%d].msglen=%d", varCount, + varArr[varCount].msglen); + for (i = 0; i < varArr[varCount].msglen; i++) { + omcLog(paraCommLog, " varArr[%d].msg[%d]=%x", varCount, i, + varArr[varCount].msg[i]); + } + omcLog(paraCommLog, " filled message len=%d", msgLen); +#endif + varCount++; + if (commArr[commNo].snmpInfo.needMuliObj < 1) { + break; + } + } //end of while(..) + } + + commArr[commNo].varNum = varCount; + + return (1); +} + +/************************************************* +Function: // mkAddr +Description: // 合成指定命令的snmp地址,从该命令的数据结构中可取出ip和端口,为发送和接收snmp消息做准备。 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: //命令编号,snmp_addr的指针。 +Output: // +Return: // 1->ok,0->failed +Others: // +*************************************************/ +int mkAddr(int commNo, snmp_addr * msgAddr) +{ +#if paraComm_DEBUG + omcLog(paraCommLog, "\n Initing message address----"); + omcLog(paraCommLog, " addr->local_port:%d", DefPort); + //omcLog(paraCommLog, " addr->remote_ip:%s", commArr[commNo].dstIP); + //omcLog(paraCommLog, " addr->remote_port:%d", commArr[commNo].dstPort); +#endif + + //make snmp address + if (strlen(commArr[commNo].snmpInfo.dstIP) <= 0) { + omcLog(paraCommLog, "Initing snmp_addr error: Cannot get ip"); + sprintf(commArr[commNo].desc, CONF_COMMAND_ERR_0102); + commArr[commNo].commState = nProcFail; + updateCommTable(commNo); + commArr[commNo].procState = nIdle; + return (0); + } + //addr->local_ip = ; + msgAddr->local_port = DefPort; + msgAddr->remote_ip = inet_addr(commArr[commNo].snmpInfo.dstIP); + msgAddr->remote_port = commArr[commNo].snmpInfo.dstPort; + msgAddr->broadcast = 0; + return (1); +} + +/************************************************* +Function: // mkPdu +Description: // 合成指定命令的snmp数据包,为snmp_send做准备。 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: //命令编号,var_list的指针,snmp_pdu的指针。 +Output: // +Return: // 1->ok,0->failed +Others: // +*************************************************/ +int mkPdu(int commNo, var_list * varArr, snmp_pdu * pdu) +{ + BYTE pduType; +#if paraComm_DEBUG + omcLog(paraCommLog, " Making snmp_pdu"); +#endif + switch (commArr[commNo].commType) { + case nGetComm: + pduType = PDU_GET ; + break; + case nSetComm: + case nNewEntryComm: + pduType = PDU_SET; + break; + case nGetBulkComm: + pduType = PDU_GETNEXT; + break; + default: + return (0); + } + pdu->pdu_type = pduType; + pdu->request_id = commArr[commNo].commId; + pdu->var_num = commArr[commNo].varNum; + sprintf(pdu->community, "%s", commArr[commNo].snmpInfo.snmpCommunity); + + memcpy(pdu->var, varArr, sizeof(var_list) * BIND_MAX); +#if paraComm_DEBUG + omcLog(paraCommLog, " memcpy finished!"); +#endif + pdu->error_status = 0x0; //0:no error 1:too big 2:nosuchname 3:badvalue 4:readonly 5:agenerr + pdu->error_index = 0x0; + return (1); +} + +/************************************************* +Function: // initUnitComm +Description: // 初始化指定命令,将该命令数据初始化,并释放未释放的结果集。 +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: //命令编号 +Output: // +Return: // 1->ok,0->failed +Others: // +*************************************************/ +int initUnitComm(int commNo) +{ + int i = 0; +#if paraComm_DEBUG + omcLog(paraCommLog, " Try to init commArr[%d] ", commNo); +#endif + if (commNo > MaxCommNum) { + return (0); + } + commArr[commNo].commId = 0; + commArr[commNo].commType = 0; + commArr[commNo].paramType = 0; + commArr[commNo].sysTypeNo = 0; + commArr[commNo].sysNo = 0; + commArr[commNo].subSysNo = 0; + + freeParamSet(commNo); +#if paraComm_DEBUG + omcLog(paraCommLog," commArr[%d].paramSet = %x",commNo,commArr[commNo].paramSet); +#endif + commArr[commNo].totalNum = 0; + commArr[commNo].finishNum = 0; + commArr[commNo].desc[0] = 0; + commArr[commNo].paramTable[0] = 0; + + commArr[commNo].snmpInfo.needMuliObj = 0; + commArr[commNo].snmpInfo.dstIP[0] = 0; + commArr[commNo].snmpInfo.dstPort = DefPort; + commArr[commNo].snmpInfo.oidLen = 0; + for (i = 0; i < MaxOidLen; i++) { + commArr[commNo].snmpInfo.oid[i] = 0; + } + + commArr[commNo].snmpInfo.instanceNoLevel = 0; + for (i = 0; i < MaxInstanceNoLevel; i++) { + commArr[commNo].snmpInfo.instanceNo[i] = 0; + } + + commArr[commNo].snmpInfo.snmpCommunity[0] = 0; + + commArr[commNo].commState = 0; + commArr[commNo].procState = 0; + commArr[commNo].waitTimeCount = 0; + commArr[commNo].timeoutCount = 0; + + commArr[commNo].varNum = 0; + +#if paraComm_DEBUG + omcLog(paraCommLog, " init commArr[%d] ok", commNo); +#endif + return (1); +} + + +/************************************************* +Function: // freeParamSet +Description: // check and free commArr[commNo].paramSet +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: //命令编号 +Output: // +Return: // +Others: // +*************************************************/ + +void freeParamSet(int commNo) +{ + int i; + if (commArr[commNo].paramSet != NULL) { + int isCanFree = 1; + //because same sql's resultSet's address will be same,so it is must check other command's state + for (i = 0; i < MaxCommNum; i++) { + if ((i != commNo) + && (commArr[i].paramSet == commArr[commNo].paramSet)) { + if ((commArr[i].commState == nWaitProc) + || (commArr[i].commState == nInProc)) { + isCanFree = 0; + } else { + //omcLog(paraCommLog," Set commArr[%d].paramSet (%x) = NULL",i,commArr[i].paramSet); + commArr[i].paramSet = NULL; + } + } + } + if (isCanFree > 0) { +#if paraComm_DEBUG + //omcLog(paraCommLog," Try to free commArr[%d].paramSet (%x)",commNo,commArr[commNo].paramSet); +#endif + mysql_free_result(commArr[commNo].paramSet); + } + commArr[commNo].paramSet = NULL; + } +} + +void optErr(unitComm *ucomm) +{ + int ii; + char where[128]; + char updatesql[256]; + char instanceList[32]; + char tmp[16]; + int ilen; + int ioid; + + memset(instanceList,0,32); + for(ii=0;iisnmpInfo.instanceNoLevel;ii++) + { + sprintf(tmp,"%04d.",ucomm->snmpInfo.instanceNo[ii]); + strcat(instanceList,tmp); + } + ilen=strlen(instanceList); + if(instanceList[ilen-1] == '.') + instanceList[ilen-1]='\0'; + + + //printf("\n"); + //printf("instanceNo=%s\n",instanceList); + memset(where,0,128); + strcat(where,"where "); + ioid=1; + for(ii=ucomm->snmpInfo.preOidLen;iisnmpInfo.oidLen;ii++) + { + //printf("%d ",ucomm->snmpInfo.oid[ii]); + sprintf(tmp,"level_%d=%d and ",ioid++,ucomm->snmpInfo.oid[ii]); + strcat(where,tmp); + } + sprintf(tmp,"instanceNo='%s' ",instanceList); + strcat(where,tmp); + //printf("\nwhere=%s\n",where); + //printf("paramTable=%s\n",ucomm->paramTable); + sprintf(updatesql, "update %s set `initValue`=`readValue` %s",ucomm->paramTable,where); + mysql_getnores(dbConn, updatesql); + omcLog(paraCommLog, "opt error,sql=%s",updatesql); +} diff --git a/src/configMgr/c_program/paraComm/paraComm.h b/src/configMgr/c_program/paraComm/paraComm.h new file mode 100644 index 0000000..d8f7c63 --- /dev/null +++ b/src/configMgr/c_program/paraComm/paraComm.h @@ -0,0 +1,220 @@ +/************************************************* +File name: paraComm.h +Author: Cui Ticun +Version: 9.00.00 +Date: 2007-7-1 +Description: + +History: +No. +Author +Date +Version +Description +*************************************************/ + +#ifndef paraComm__H +#define paraComm__H + +#ifndef SNMP__H +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../../plat/snmp/src/mib_parser/snmp_mib_api.h" +#include "../../../../plat/snmp/src/mib_parser/snmp_mib.h" +#endif + +#include "../../../omcLib/c_program/omcLib/omcLib.h" + +#ifndef MYSQL__H +#include "mysql.h" +#endif + +#ifndef paraComm_DEBUG +#define paraComm_DEBUG 0 +#endif + +#define paraComm_LogPath "../log" +#define paraComm_LogFile "paraComm" + +#define MaxCommNum 32 //max number of command can be execute at the same time +#define MaxOidLen 20 //max number of object ID +#define MaxColumnNum 4096 //max number of columns in one table +#define MaxInstanceNoLevel 4 //max level of instanceNo +#define MaxVarNum 50 //max number of var in one pdu +#define MaxLenOfParaValue 512 //max len of One parameter value +#define DefPort 4958 //define port +#define HOSTNAME "localhost" //DB's adress +#define PUB_DB "OMC_PUB" //OMC's public database +#define ConfTable "OMC_PUB.sysConf" //system config table +#define CommTable "OMC_PUB.parameterComm" //command table +#define IpTable "OMC_PUB.sysInfo" //system's IP table +#define nPubFlag 99 //if sysNo == nPubFlag this parameter is system param + +//commState flag define +#define nProcFail 0 +#define nWaitProc 1 +#define nInProc 2 +#define nOutProc 3 + +//procState flag define +#define nIdle 0 +#define nWaitResponse 1 + +//parameter type define +#define nSubSysParam 0 +#define nGlobalSubSysParam 1 +#define nGlobalSysParam 2 + +//snmp pdu type define [define in snmp.h] +/* +#define PDU_GET 0 +#define PDU_GETNEXT 1 +#define PDU_RSP 2 +#define PDU_SET 3 +#define PDU_GETBULK 5 +#define PDU_INFORM 6 +#define PDU_TRAP 7 +#define PDU_REPORT 8 +*/ + +//snmp var type code +#define nInteger 0x02 +#define nOctetString 0x04 +#define nNull 0x05 +#define nObjectId 0x06 +#define nIPAddress 0x40 +#define nNoSuchObject 0x80 +#define nNoSuchInstance 0x81 +#define nEndOfMibView 0x82 + +//Operation_type +#define DO_NOT_DISPLAY 0 +#define PULLDOWN_MENU 1 +#define TEXTBOX 2 +#define LABEL 3 + +//command type define +#define nGetComm 0 +#define nSetComm 3 +#define nGetBulkComm 5 +#define nNewEntryComm 9 + +/***********************Error display define***************************/ +#define CONF_COMMAND_ERR_0000 "0000:Command successful" + +//ERR_001*:should prompt the operator "Check the device's status" +#define CONF_COMMAND_ERR_0101 "0101:OMC cannot get the device IP" +#define CONF_COMMAND_ERR_0102 "0102:The device IP is error" + +//ERR_002*:should prompt the operator "Check the software version of OMC and device" +#define CONF_COMMAND_ERR_0201 "0201:OMC cannot get the object value" +#define CONF_COMMAND_ERR_0202 "0202:OMC cannot get the instance value" + +//ERR_003*:should prompt the operator "Check the OMC's status or send command again" +#define CONF_COMMAND_ERR_0301 "0301:OMC send snmp message failed" + +//ERR_004*:should prompt the operator "Check the device's status or send command again" +#define CONF_COMMAND_ERR_0401 "0401:Invailed response message" +#define CONF_COMMAND_ERR_0402 "0402:Error Response message" +#define CONF_COMMAND_ERR_0403 "0403:Response timeout" + + +#define CONF_COMMAND_ERR_9999 "9999:Unknown error" +/******************Error display define End*******************************/ + + +typedef struct snmpInfoDef{ + /*General Info*/ + char dstIP[16]; + int needMuliObj; //can send or get more one objid in one packet + WORD dstPort; + WORD maxMsgLen; + char snmpCommunity[16]; + + BYTE preOidLen; //The total OID of one system,it's defined in sysConf + BYTE oidLen; //The oid len of the command's parameters + int oid[MaxOidLen]; //The oid of this command's parameters + BOOL isTablePara; //If or Not this command's parameters are table parameters + int columnNum; //The column number of this table parameters + int column[MaxColumnNum];//The columns of this table parameters + BYTE instanceNoLevel; //The instanceNo level of this command's parameters + int instanceNo[MaxInstanceNoLevel];//The instanceNo of this command's parameters +}snmpInfoDef; + +typedef struct unitComm { + /*General Info*/ + WORD commId; //ID in command table,which is also SNMP's request_id + WORD commType; //Command type get,set,get bulk,newEntry + BYTE paramType; //0:subsys param/1:global subsys param/2:global sys param + WORD sysTypeNo; + WORD sysNo; + WORD subSysNo; + + MYSQL_RES *paramSet; //Store the infor,which is need when packeting SNMP message + WORD totalNum; + WORD finishNum; + char desc[256]; + char paramTable[64]; + + snmpInfoDef snmpInfo; + + /*command process info*/ + BYTE commState; //this command's state:0= nFailed, 1=nWaitProc, 2=nNoFinish, 3=nFinished + BYTE procState; //command process state:0=idle,1=waitResponse + BYTE waitTimeCount; //the times number of timeout + BYTE timeoutCount; //the timeCount + + //var_list info + BYTE varNum; + + BYTE levelWidth[MaxVarNum]; //The level(!=0) number of the parameter + + char readValue[MaxVarNum][512]; +} unitComm; + +/************************************************* +Function: // initDbFromMib +Description: // Get oid info from MIB file and init the paramConf tables. +Calls: // extern int init_mib();extern struct tree *getLGCroot();extern struct get_tree;extern void close_mib(); +Called By: // paraCommInit(); +Table Accessed: // +Table Updated: // paramConf +Input: // +Output: // +Return: // 1:OK,0:error +Others: // +*************************************************/ +int initDbFromMib(); + +/************************************************* +Function: // paraCommInit +Description: // 1.Init OMC_PUB.parameterComm + // 2.Init Commands Array + // 3.Init Every module's paramConf +Calls: // omcLogInit();initUnitComm();initDbFromMib(); +Called By: // +Table Accessed: // +Table Updated: // OMC_PUB.parameterComm;OBJ_xxx.paramConf +Input: // +Output: // +Return: // 1:OK,0:error +Others: // +*************************************************/ +int paraCommInit(); + +/************************************************* +Function: // paraCommTimer +Description: // 锟借备锟斤拷锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 + // 扫锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷畹斤拷锟斤拷锟斤拷锟斤拷椤 + // 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷锟斤拷锟筋。 + +Calls: // paraCommScan();paraCommProc();omcLogInit(); +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK,0:error +Others: // +*************************************************/ +int paraCommTimer(); +#endif diff --git a/src/configMgr/c_program/paraComm/paraCommMain.c b/src/configMgr/c_program/paraComm/paraCommMain.c new file mode 100644 index 0000000..008cbd3 --- /dev/null +++ b/src/configMgr/c_program/paraComm/paraCommMain.c @@ -0,0 +1,137 @@ +/************************************************* +File name: paraCommMain.c +Author: Cui Ticun +Version: 9:00:00 +Date: 2007-7-2 +Description: + +History: +No. +Author +Date +Version +Description +*************************************************/ +#include +#include +#include +#include +#include + +#include "paraComm.h" + +static struct itimerval itimer, old_itimer; + +void onParaCommTimer(); +void setParaCommTimer(); +void setup_daemon(void); +int timerCounter = 0; + +int main(int argc, char *argv[]) +{ + char runMode; + + runMode = getopt(argc, argv, "d"); + switch (runMode) { + case 'd': + setup_daemon(); + break; + case '?': + break; + } + debug_init(); + fprintf(stderr, "\n Calling iptrans_init() \n"); + iptrans_init(); + + fprintf(stderr, "\n Calling snmp_init() \n"); + snmp_init(4957); + + fprintf(stderr, "\n Calling paraCommInit() \n"); + if(paraCommInit()<=0) + { + exitLog("paraComm:main, paraCommInit function error"); + exit(1); + } + + setParaCommTimer(); + + while (1) { + usleep(50); + } + + return (1); +} + +void onParaCommTimer() +{ + paraCommTimer(); + /* + if (timerCounter > 5) { + paraCommTimer(); + timerCounter = 0; + } + timerCounter++; + */ +} + +void setParaCommTimer() +{ + struct sigaction act; + act.sa_handler = onParaCommTimer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exitLog("paraComm:setParaCommTimer, sigaction function error"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exitLog("paraComm:setParaCommTimer, setitimer function error"); + exit(1); + } +} + +void setup_daemon(void) +{ + /* + int i; + + for (i = 0; i < 3; ++i) + close(i); + */ + switch (fork()) { + case -1: + { + perror("setup_daemon(), 1st fork()"); + exit(2); + } + default: + exit(0); + case 0: + if (setsid() == -1) { + perror("setup_daemon(), setsid()"); + exit(3); + } + switch (fork()) { + case -1: + { + perror("setup_daemon(), 2nd fork()"); + exit(3); + } + + default: + exit(0); + case 0: + umask(0); + /* and return with daemon set up */ + return; + } + } +} diff --git a/src/faultMgr/c_program/alarmAgent/Makefile b/src/faultMgr/c_program/alarmAgent/Makefile new file mode 100644 index 0000000..9d48369 --- /dev/null +++ b/src/faultMgr/c_program/alarmAgent/Makefile @@ -0,0 +1,79 @@ +#!/bin/sh + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall -D_TEST_ + +dbINCLUDE_FLAGS = -I/usr/local/mysql/include +dbINCLUDE_FLAGS.ES = -I/usr/include/mariadb + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L/usr/local/mysql/lib -lmariadbclient -lz \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ + +LINKFLAG.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L/usr/lib/mysql -lmariadbclient -lz \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ + +LINK_SUFFIX = $(dbINCLUDE_FLAGS) $(LINKFLAG) +LINK_SUFFIX.ES = $(dbINCLUDE_FLAGS.ES) $(LINKFLAG.ES) + +PROGS=alarmAgent + +ALL_OBJ = alarmSnmp.o alarmAgent.o +ALL_OBJ.ES = alarmSnmp.o.ES alarmAgent.o.ES + +LIB_OBJ = alarmSnmp.o +LIB_OBJ.ES = alarmSnmp.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(ALL_OBJ) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(ALL_OBJ) $(LINK_SUFFIX) -lm + ar r libalarmAgent.a $(LIB_OBJ) + rm -rf *.o *~ + cp -f $(PROGS) ../../../../bin/ + cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(ALL_OBJ.ES) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(ALL_OBJ) $(LINK_SUFFIX.ES) -lm + ar r libalarmAgent.a $(LIB_OBJ) + # rm -rf *.o *~ + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +alarmSnmp.o: alarmSnmp.c alarmAgent.h + $(CC) $(CFLAGS) -c alarmSnmp.c $(dbINCLUDE_FLAGS) + +alarmAgent.o: alarmAgent.c alarmAgent.h + $(CC) $(CFLAGS) -c alarmAgent.c $(dbINCLUDE_FLAGS) + +alarmSnmp.o.ES: alarmSnmp.c alarmAgent.h + $(CC) $(CFLAGS) -c alarmSnmp.c $(dbINCLUDE_FLAGS.ES) + +alarmAgent.o.ES: alarmAgent.c alarmAgent.h + $(CC) $(CFLAGS) -c alarmAgent.c $(dbINCLUDE_FLAGS.ES) + +clean: + rm -f *.o *.a $(PROGS) + diff --git a/src/faultMgr/c_program/alarmAgent/alarmAgent.c b/src/faultMgr/c_program/alarmAgent/alarmAgent.c new file mode 100644 index 0000000..09cdcf2 --- /dev/null +++ b/src/faultMgr/c_program/alarmAgent/alarmAgent.c @@ -0,0 +1,89 @@ +/**************************************/ +/*Title: alarmagent.c */ +/*Descr: Alarm Agent */ +/* --MIB(WXC2-ALARM) */ +/*Author: Yi zheng */ +/*Create: 2006-6-1 */ +/**************************************/ +#include "alarmAgent.h" +static struct itimerval itimer, old_itimer; +static void On_Timer(); +static void SetTimer(); + +extern int alarm_SnmpInit(void); +extern int alarm_db_init(void); +extern void alarm_Agent_timer(void); + +int main(int argc, char *argv[]) +{ + pid_t pid; + debug_init(); + if (argc == 2 && strstr(argv[1], "-d")) + { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } +/* +#ifndef __RUN_SELF + iptrans_init(); +// debug_init(0); +#else + debug_init(1); +// iptrMainInit(); +#endif +*/ + iptrans_init(); + + alarm_SnmpInit(); + SetTimer(); + while (1) + usleep(50); + return 1; +} + + +void On_Timer() +{ + static BYTE flag=0; +#ifdef __RUN_SELF + iptrans_timer(); + debug_rt(); +#endif + if(flag==0) + { + flag = 1; + snmp_timer(); + alarm_Agent_timer(); + flag = 0; + } +} + + +void SetTimer() +{ + struct sigaction act; + act.sa_handler = On_Timer; + sigemptyset(&act.sa_mask); + + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) + { + perror("Produce Sigaction"); + exitLog("alarmAgent:SetTimer, sigaction function error"); + exit(1); + } + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) + { + printf("Setting Timer error! \n"); + exitLog("alarmAgent:SetTimer, setitimer function error"); + exit(1); + } +} + + diff --git a/src/faultMgr/c_program/alarmAgent/alarmAgent.h b/src/faultMgr/c_program/alarmAgent/alarmAgent.h new file mode 100644 index 0000000..e14f885 --- /dev/null +++ b/src/faultMgr/c_program/alarmAgent/alarmAgent.h @@ -0,0 +1,55 @@ +/********************************************************/ +/*Title: alarmagent.c */ +/*Descr: Alarm Agent */ +/* --MIB(WXC2-ALARM) */ +/*Author: Yi zheng */ +/*Create: 2006-6-1 */ +/********************************************************/ + +#ifndef __ALARM_AGENT_FILE +#define __ALARM_AGENT_FILE +#endif + +//#define __RUN_SELF +#define WXC2_R8 1 +#define ALARM_SNMP_PORT 4961 +#define OMCD_CONF_FILE "./conf/omcd.conf" + +#ifndef _LINUX_ES + #include "mysql.h" +// #define ALARM_TABLE_FILE "/usr/local/mysql-3.23.52-pc-linux-gnu-i686/data/OMC_PUB/sysAlarmLog.MYD" + #define ALARM_TABLE_FILE "/var/lib/mysql/OMC_PUB/sysAlarmLog.MYD" +#else + #include "/usr/include/mysql/mysql.h" + #define ALARM_TABLE_FILE "/var/lib/mysql/OMC_PUB/sysAlarmLog.MYD" +#endif + +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../../plat/debug/src/include/debug.h" + +int alarm_SnmpInit(void); +void alarm_Agent_timer(void); + +typedef struct alarm_set +{ + DWORD sq_Num; // alarmSequenceNumber Counter32, + char mag_ObjName[64]; // alarmManagedObjName OCTET STRING, + WORD mag_ObjIns; // alarmManagedObjInstance INTEGER, + char mag_ComName[64]; // alarmComponentName OCTET STRING, + WORD mag_ComIns; // alarmComponentInstance INTEGER, + char date_Time[64]; // alarmDateAndTime TimeTicks, + char ip_Addr[64]; // alarmEventEngineAddress IpAddress, + WORD event_Code; // alarmEventCode INTEGER, + WORD severity_ID; // alarmSeverity INTEGER, + char active_Desc[128]; // alarmActiveDescription OCTET STRING, + WORD notifiy_ID; // alarmNotificationID OBJECT IDENTIFIER + + + WORD sysTypeNo; // + WORD compCode; // + BYTE alarmCode; // +} alarm_set; + + + diff --git a/src/faultMgr/c_program/alarmAgent/alarmSnmp.c b/src/faultMgr/c_program/alarmAgent/alarmSnmp.c new file mode 100644 index 0000000..64723c2 --- /dev/null +++ b/src/faultMgr/c_program/alarmAgent/alarmSnmp.c @@ -0,0 +1,1044 @@ +/************************************/ +/*Title: alarmsnmp.c */ +/*Descr: SNMP Interface */ +/* --MIB(WXC2-ALARM) */ +/*Author: Yi Zheng */ +/*Create: 2006-6-1 */ +/************************************/ +#include "alarmAgent.h" + + +#define DB_CONFIG_FILE "./conf/omc_db.conf" +#define MAX_RECORD 100 + + + +#define ALARM_AGENT_OID {1,3,6,1,4,1,1373,2,4,2} +#define ALARM_AGENT_OIDLEN 10 +#define OMC_VERSION_OID {1,3,6,1,4,1,1373,2,4,3} +#define OMC_VERSION_OIDLEN 10 + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,9}; +int PROC_HEARTBEAT_OIDLEN=11; +int sendHeartbeat(); + +/*----------------------------------------------------------*/ +/* +static char* objlist[] = {"MTP2","8KE1","LAN","IPTR","MTP3","SCCP","TCAP","MAP","XAPP", + "OMC" ,"MSC","HLR","AUC","SMSC","PPS","MNP","VMS","AAS","PCR","CNF"}; + +static WORD objID[] = {113,111,200,200,200,200,200,200,200, + 0 ,320,330,340,350,360,370,390,311,130,160}; + +static DWORD _8KE1_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,1,1,1}; +#define _8KE1_TRAN_OIDLEN 12 +static DWORD _LAN_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,1,1,2}; +#define _LAN_TRAN_OIDLEN 12 +static DWORD _MTP2_TRAN_OID[]= {1,3,6,1,4,1,1373,1,3,1,1,3}; +#define _MTP2_TRAN_OIDLEN 12 +static DWORD _PCR_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,1,3}; +#define _PCR_TRAN_OIDLEN 11 +static DWORD _CNF_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,1,6}; +#define _CNF_TRAN_OIDLEN 11 +static DWORD _PLAT_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,2}; +#define _PLAT_TRAN_OIDLEN 10 +static DWORD _MSC_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,2}; +#define _MSC_TRAN_OIDLEN 11 +static DWORD _HLR_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,3}; +#define _HLR_TRAN_OIDLEN 11 +static DWORD _AUC_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,4}; +#define _AUC_TRAN_OIDLEN 11 +static DWORD _SMSC_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,5}; +#define _SMSC_TRAN_OIDLEN 11 +static DWORD _PPS_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,6}; +#define _PPS_TRAN_OIDLEN 11 +static DWORD _MNP_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,32}; +#define _MNP_TRAN_OIDLEN 11 +static DWORD _EIR_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,8}; +#define _EIR_TRAN_OIDLEN 11 +static DWORD _VMS_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,9}; +#define _VMS_TRAN_OIDLEN 11 +static DWORD _IWF_TRAN_OID[] = {1,3,6,1,4,1,1373,1,2,8}; +#define _IWF_TRAN_OIDLEN 10 +static DWORD _PPPRT_TRAN_OID[]= {1,3,6,1,4,1,1373,1,2,10}; +#define _PPPRT_TRAN_OIDLEN 10 +static DWORD _AAS_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,10}; +#define _AAS_TRAN_OIDLEN 11 +static DWORD _OMC_TRAP_OID[] = {1,3,6,1,4,1,1373,1,4.0} ; +#define _OMC_TRAP_OIDLEN 10 +*/ +/*----------------------------------------------------------*/ + + +/*----------------------*/ +static BYTE testflag = 0; +static WORD selDeviceID = 0; +static BYTE selAlarmLevel = 0; +static WORD selEvencode = 0; + +//static char szWhere[128]; +/*----------------------*/ + +static BYTE loadflag = 1; +//static BYTE alarm_interval = 50; +static MYSQL *omcPub_conn; +static int alarm_get_record; +static char pre_time[32]; +static char modify_time[32]; +char omcVersion[16]; + +alarm_set AlarmSet[MAX_RECORD]; + +int getOmcConf(); + +int alarm_getnext_rsp(BYTE pre_oidlen, DWORD pre_oid[], BYTE *oidlen, DWORD *oid, BYTE *pdata,BYTE *vartype); +int alarm_get_rsp(BYTE oidlen, DWORD *oid, BYTE *pdata,BYTE *vartype); +int omcVersion_get_rsp(BYTE oidlen, DWORD *oid, BYTE *pdata,BYTE *vartype); +//int alarm_set_rsp(BYTE oidlen, DWORD *oid, BYTE *pdata, WORD datalen); + +int alarm_SnmpInit(void); +void alarm_Agent_timer(void); +/*-----------------------------*/ +static int alarm_db_init(void); +static int getLastChangedTime(BYTE *pdata, BYTE *vartype); +static int getRemoveDelayTime(BYTE *pdata, BYTE *vartype); +static int getAlarmActiveRecord(BYTE *pdata, BYTE *vartype,int col,int row); +static int loadAlarmTable(); +static int getFileModifyTime(char *File,char *szTime); +void logMessage(const char *fmt,...); +//static int testtimer(); +//static void sendHeartbeat(); +/*-----------------------------*/ + + + +int alarm_SnmpInit(void) +{ + DWORD alarm_oid_prefix[20] = ALARM_AGENT_OID; + DWORD omc_version_oid[20] = OMC_VERSION_OID; + + logMessage("alarmAgent is starting..."); + + snmp_init(ALARM_SNMP_PORT); + getOmcConf(); + + inquire_getnextmsg(ALARM_AGENT_OIDLEN, alarm_oid_prefix, alarm_getnext_rsp); + inquire_getmsg(ALARM_AGENT_OIDLEN, alarm_oid_prefix, alarm_get_rsp); + inquire_getmsg(OMC_VERSION_OIDLEN, omc_version_oid, omcVersion_get_rsp); + +#ifdef _TEST_ +// inquire_setmsg(ALARM_AGENT_OIDLEN, alarm_oid_prefix, alarm_set_rsp); +#endif + + printf("Alarm agent on...\n"); + alarm_db_init(); + testflag =0; + selDeviceID =0xFFFF; + selAlarmLevel =0xFF; + selEvencode =0xFFFF; + return 1; +} + + +int alarm_db_init(void) +{ + omcPub_conn=mysql_conn("localhost","OMC_PUB"); + if(omcPub_conn == NULL) + { + printf("alarm_db_init:mysql_conn OMC_PUB error"); + logMessage("[ERR][alarm_db_init]:mysql connect OMC_PUB"); + return 0; + } + + printf("Connect Datebase ok...\n"); + return 1; +} + +/************************************************* +Function: // sendHeartbeat +Description: // Send process heartbeat to beatProc +Calls: // snmp_send +Called By: // on_Timer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK; 0:Fail +Others: // +*************************************************/ +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"alarmAgent"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + logMessage("Send heartbeat fail"); + return 0; + } + return 1; +} +unsigned long heartbeat_timeout=0; +void alarm_Agent_timer(void) +{ + static int m_state = 200; + static BYTE retry=5; + + + if(time(NULL) - heartbeat_timeout > 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + + if(m_state++ > 200) + { + loadAlarmTable(); + m_state = 1; + getFileModifyTime(ALARM_TABLE_FILE,modify_time); + if(strcmp(modify_time,pre_time)&&loadflag) + { + retry=5; + loadAlarmTable(); + sprintf(pre_time,"%s",modify_time); + } + //ooooo + else + { + if(retry) + { + retry--; + loadAlarmTable(); + } + } + //ooooo + + } +// if(m_state%alarm_interval==0) +// { +// if(testflag) +// testtimer(); +// } +} + +int alarm_getnext_rsp(BYTE pre_oidlen, DWORD *pre_oid, BYTE *oidlen, DWORD *oid, BYTE *pdata,BYTE *vartype) +{ + + DWORD *alarmOid = pre_oid + ALARM_AGENT_OIDLEN; + DWORD *rspOid = oid + ALARM_AGENT_OIDLEN; + int ret; + + memcpy(oid,pre_oid,pre_oidlen*sizeof(DWORD)); + *oidlen = pre_oidlen; + loadflag = 1; + switch(alarmOid[0]) + { + case 0: //alarmlist + rspOid[0] = 1; //->wxc2alarmActiveLastChanged + *oidlen = ALARM_AGENT_OIDLEN +1; + return getLastChangedTime(pdata,vartype); + case 1: //wxc2alarmActiveLastChanged + rspOid[0] = 2; + rspOid[1] = 1; + rspOid[2] = 1; //->alarmSequenceNumber + rspOid[3] = 1; + *oidlen = ALARM_AGENT_OIDLEN +4; + ret = getAlarmActiveRecord(pdata,vartype,rspOid[2],rspOid[3]); + if(ret ==-1) + { + rspOid[0] =3; + rspOid[1] =0; + rspOid[2] =0; + *oidlen = ALARM_AGENT_OIDLEN +1; + return getRemoveDelayTime(pdata,vartype); + } + return ret; + case 2: //wxc2alarmActiveTable + switch(alarmOid[1]) + { + case 0: + rspOid[1] = 1; + rspOid[2] = 1; //->alarmSequenceNumber + rspOid[3] = 1; + *oidlen = ALARM_AGENT_OIDLEN +4; + ret = getAlarmActiveRecord(pdata,vartype,rspOid[2],rspOid[3]); + if(ret ==-1) + { + rspOid[0] =3; + rspOid[1] =0; + rspOid[2] =0; + *oidlen = ALARM_AGENT_OIDLEN +1; + return getRemoveDelayTime(pdata,vartype); + } + return ret; + case 1: + if(alarm_get_record==0) + { + rspOid[0] =3; + rspOid[1] =0; + rspOid[2] =0; + *oidlen = ALARM_AGENT_OIDLEN +1; + return getRemoveDelayTime(pdata,vartype); + } + if(alarmOid[2] ==0) + { + rspOid[1] = 1; + rspOid[2] = 1; //->alarmSequenceNumber + rspOid[3] = 1; + *oidlen = ALARM_AGENT_OIDLEN +4; + ret = getAlarmActiveRecord(pdata,vartype,rspOid[2],rspOid[3]); + if(ret ==-1) + { + rspOid[0] =3; + rspOid[1] =0; + rspOid[2] =0; + *oidlen = ALARM_AGENT_OIDLEN +1; + return getRemoveDelayTime(pdata,vartype); + } + return ret; + } + else if(alarmOid[2]<12) + { + rspOid[3] = alarmOid[3]+1; + *oidlen = ALARM_AGENT_OIDLEN +4; + if(rspOid[3]<=alarm_get_record) + { + ret = getAlarmActiveRecord(pdata,vartype,rspOid[2],rspOid[3]); + if(ret ==-1) + { + rspOid[0] =3; + rspOid[1] =0; + rspOid[2] =0; + *oidlen = ALARM_AGENT_OIDLEN +1; + return getRemoveDelayTime(pdata,vartype); + } + return ret; + } + else + { + rspOid[2] = alarmOid[2]+1; + if(rspOid[2]<12) + { + rspOid[3] = 1; + ret = getAlarmActiveRecord(pdata,vartype,rspOid[2],rspOid[3]); + if(ret ==-1) + { + rspOid[0] =3; + rspOid[1] =0; + rspOid[2] =0; + *oidlen = ALARM_AGENT_OIDLEN +1; + return getRemoveDelayTime(pdata,vartype); + } + return ret; + } + else + { + rspOid[0] =3; + rspOid[1] =0; + rspOid[2] =0; + *oidlen = ALARM_AGENT_OIDLEN +1; + return getRemoveDelayTime(pdata,vartype); + } + } + } + else + { + rspOid[0] =3; + rspOid[1] =0; + rspOid[2] =0; + *oidlen = ALARM_AGENT_OIDLEN +1; + return getRemoveDelayTime(pdata,vartype); + } + default: + rspOid[0] =3; + rspOid[1] =0; + rspOid[2] =0; + *oidlen = ALARM_AGENT_OIDLEN +1; + return getRemoveDelayTime(pdata,vartype); + } + break; + default: + loadflag = 1; + return -1; + } +} + +int alarm_get_rsp(BYTE oidlen, DWORD *oid, BYTE *pdata,BYTE *vartype) +{ + DWORD *alarmOid = oid + ALARM_AGENT_OIDLEN; + + //printf("I Receive get message,oid:\n"); + loadflag = 1; + switch(alarmOid[0]) + { + case 1: //wxc2alarmActiveLastChanged + return getLastChangedTime(pdata,vartype); + case 2: //wxc2alarmActiveTable + switch(alarmOid[1]) + { + case 1: + if(alarmOid[2]<13) + { + return getAlarmActiveRecord(pdata,vartype,alarmOid[2],alarmOid[3]); + } + else + return -1; + default: + return -1; + } + break; + case 3: //wxc2alarmClearedRemoveDelay + return getRemoveDelayTime(pdata,vartype); + default: + return -1; + } + return 1; +} + + +int omcVersion_get_rsp(BYTE oidlen, DWORD *oid, BYTE *pdata,BYTE *vartype) +{ + *vartype=4; //octet string + sprintf((char*)pdata,"%s",omcVersion); + return strlen((char*)pdata); +} +static int getLastChangedTime(BYTE *pdata, BYTE *vartype) +{ + loadflag = 1; + + *vartype=4; //octet string + sprintf((char*)pdata,"%s",modify_time); + return strlen((char*)pdata); +} + +static int getFileModifyTime(char *File,char *szTime) +{ + struct stat fileinfo; + if (stat(File, &fileinfo) == 0) + { + sprintf(szTime,"%s",ctime(&fileinfo.st_mtime)); + return strlen(szTime); + } + return -1; +} + +static int getRemoveDelayTime(BYTE *pdata, BYTE *vartype) +{ + char s[80]; + char *p1; + char sflag[]="OMC_PUB,dbAlarm,alarmTime,"; + FILE *fp; + + loadflag = 1; + + *vartype=2; //integer + fp = fopen(DB_CONFIG_FILE, "r"); + if (NULL == fp) + { + return -1; + } + while(1) + { + if ((fgets(s, 1024, fp)) == NULL) + { + fclose(fp); + return -1; + } + p1=strstr(s,sflag); + if (p1!=NULL) + { + p1 = p1+sizeof(sflag)-1; + if(p1==NULL) + pdata[0] = 0; + else + pdata[0] = atoi(p1); + fclose(fp); + return 1; + } + } +} + + +static int loadAlarmTable() +{ + char sqlstr[2048]; + DWORD res_num=0; + alarm_set *pAlarm; + MYSQL_RES *alarm_res; + MYSQL_ROW alarm_row; + int lel; + + sprintf(sqlstr, + "SELECT level_1,a.sysNo,level_2,instanceNo,alarmTime,ip,EventCode,alarmLevel,alarmDesc_2,a.subSysNo,a.sysTypeNo,a.compCode,a.alarmCode\ + FROM (sysAlarmLog a ,sysAlarmConf b)\ + LEFT OUTER JOIN sysInfo c\ + ON a.sysTypeNo=c.sysTypeNo and a.sysNo=c.sysNo and a.subSysNo=c.subSysNo\ + Where a.clearTime = '0000-00-00 00:00:00' and a.sysTypeNo=b.sysTypeNo and a.compCode=b.compCode and a.alarmCode=b.alarmCode \ + order by alarmTime desc LIMIT %d",MAX_RECORD); + + alarm_res=mysql_getres(omcPub_conn,sqlstr); + if(alarm_res == NULL) + { + logMessage("[ERR %d][loadAlarmTable]:%s",mysql_errno(omcPub_conn),sqlstr); + return -1; + } + + alarm_get_record = mysql_num_rows(alarm_res); + while ((alarm_row = mysql_fetch_row(alarm_res)) != NULL) + { + pAlarm = &AlarmSet[res_num]; + + pAlarm->sq_Num = res_num; + if(alarm_row[0] == NULL) + sprintf(pAlarm->mag_ObjName," "); + else + sprintf(pAlarm->mag_ObjName,"%s",alarm_row[0]); + + if(atoi(alarm_row[10])==200) //for platform subSysNo=objid + { + if(alarm_row[9]==NULL) + pAlarm->mag_ObjIns = 0; + else + pAlarm->mag_ObjIns = atoi(alarm_row[9]); + } + else //for others sysNo = objid + { + if(alarm_row[1]==NULL) + pAlarm->mag_ObjIns = 0; + else + pAlarm->mag_ObjIns = atoi(alarm_row[1]); + } + if(alarm_row[2] == NULL) + sprintf(pAlarm->mag_ComName," "); + else + sprintf(pAlarm->mag_ComName,"%s",alarm_row[2]); + + if(alarm_row[3]==NULL) + pAlarm->mag_ComIns = 0; + else + pAlarm->mag_ComIns = atoi(alarm_row[3]); + + if(alarm_row[4] == NULL) + sprintf(pAlarm->date_Time,"0000-00-00 00:00:00"); + else + sprintf(pAlarm->date_Time,"%s",alarm_row[4]); + + if(alarm_row[5] == NULL) + sprintf(pAlarm->ip_Addr," "); + else + sprintf(pAlarm->ip_Addr,"%s",alarm_row[5]); + + if(alarm_row[6]==NULL) + pAlarm->event_Code = 9999;//unknown + else + pAlarm->event_Code = atoi(alarm_row[6]); + + if(alarm_row[7]==NULL) + lel = 5; + else + lel = atoi(alarm_row[7]); + + pAlarm->severity_ID = lel; + if(alarm_row[8] == NULL) + sprintf(pAlarm->active_Desc," "); + else + sprintf(pAlarm->active_Desc,"%s",alarm_row[8]); + pAlarm->notifiy_ID = 0; + if(alarm_row[10]!=NULL) + pAlarm->sysTypeNo = atoi(alarm_row[10]); //sysTypeNo + if(alarm_row[11]!=NULL) + pAlarm->compCode = atoi(alarm_row[11]); //compCode + if(alarm_row[12]!=NULL) + pAlarm->alarmCode = atoi(alarm_row[12]); //alarmCode + + res_num++; + } + + mysql_free_result(alarm_res); +// printf("Loading %d record in AlarmTable...\n",alarm_get_record); + return 0; +} + + +static int getAlarmActiveRecord(BYTE *pdata, BYTE *vartype,int col,int row) +{ + + DWORD *pDW; + WORD *pW; + alarm_set *pAlarm; + + + if(col>12 || row >alarm_get_record ||col < 1 || row< 1) + return -1; + pAlarm = &AlarmSet[row-1]; + switch (col) + { + case 1: // alarmSequenceNumber Counter32, + { + pDW = (DWORD *)pdata; + pDW[0] = htonl(pAlarm->sq_Num); + *vartype=2; + return 4; + } + case 2: // alarmManagedObjName OCTET STRING, + // "MTP2,8KE1,LAN,IPTR,MTP3,SCCP,TCAP,MAP,XAPP,OMC ,MSC, HLR, AUC,SMSC,PPS, MNP, VMS,AAS, PCR, CNF,TEST,UNKOWN " + { + sprintf((char*)pdata,"%s ",pAlarm->mag_ObjName); + *vartype=4; + return strlen((char*)pdata); + } + + case 3: // alarmManagedObjInstance INTEGER, + { + pDW = (DWORD *)pdata; + pDW[0] = htonl(pAlarm->mag_ObjIns); + *vartype=2; + return 4; + } + + case 4: // alarmComponentName OCTET STRING, + { + sprintf((char*)pdata,"%s ",pAlarm->mag_ComName); + *vartype=4; + return strlen((char*)pdata); + } + + case 5: // alarmComponentInstance INTEGER, + { + pW = (WORD *)pdata; + pW[0] = htons(pAlarm->mag_ComIns); + *vartype=2; + return 2; + } + + case 6: // alarmDateAndTime TimeTicks, + { + sprintf((char*)pdata,"%s ",pAlarm->date_Time); + *vartype=4; + return strlen((char*)pdata); + } + + case 7: // alarmEventEngineAddress IpAddress, + { + sprintf((char*)pdata,"%s ",pAlarm->ip_Addr); + *vartype=4; + return strlen((char*)pdata); + } + + case 8: // alarmEventCode INTEGER, + { + pW = (WORD *)pdata; + pW[0] = htons(pAlarm->event_Code); + *vartype=2; + return 2; + } + + case 9: // alarmSeverity INTEGER, + { + pW = (WORD *)pdata; + pW[0] = htons(pAlarm->severity_ID); + *vartype=2; + return 2; + } + + case 10: // alarmActiveDescription OCTET STRING, + { + sprintf((char*)pdata,"%s ",pAlarm->active_Desc); + *vartype=4; + return strlen((char*)pdata); + } + + case 11: // alarmNotificationID OBJECT IDENTIFIER + { + pW = (WORD *)pdata; + pW[0] = htons(pAlarm->notifiy_ID); + *vartype=2; + return 2; + } + + case 12: // sysTypeNo+compCode+alarmCode + { + pW = (WORD *)pdata; + pW[0] = htons(pAlarm->sysTypeNo); + pW = (WORD *)(pdata+2); + pW[0] = htons(pAlarm->compCode); + pdata[4] = pAlarm->alarmCode; + *vartype=2; + return 5; + } + + + default: + { + *vartype=2; + return -1; + } + } +} + + +/* +int alarm_set_rsp(BYTE oidlen, DWORD *oid, BYTE *pdata, WORD datalen) +{ + DWORD *alarmOid = oid + ALARM_AGENT_OIDLEN; + WORD *pW; + int p=0; + + if(alarmOid[0]==2&&alarmOid[1]==1&&alarmOid[2]==0) + { + if(pdata[0]==0xF1) + testflag = 1; //generate + else if(pdata[0]==0x1F) + testflag = 2; //clear + else + testflag = 3; //stop + + selDeviceID = pdata[1]; + selAlarmLevel = pdata[2]; + pW = (WORD *)(pdata+3); + selEvencode = htons(pW[0]); + + if(selDeviceID<20) + p+=sprintf(szWhere+p,"AND level_1='%s' ",objlist[selDeviceID]); +// if(selAlarmLevel<5) +// p+=sprintf(szWhere+p,"AND alarmLevel=%d ",selAlarmLevel); +// if(selEvencode<9999) +// p+=sprintf(szWhere+p,"AND EventCode=%d ",selEvencode); +// printf("Command=%d %s\n",testflag,szWhere); + } + + return datalen; +} + + +static void sendHeartbeat(int sysTypeNo,int compCode,int alarmCode) +{ + DWORD *oid_prefix; + int len; + static int count=0; + DWORD request_id; + BYTE *buf; + time_t cur_time; + + snmp_pdu pdu; + snmp_addr request_addr; + + pdu.pdu_type = PDU_TRAP; + pdu.error_status = 0; + pdu.error_index = 0; + pdu.request_id = 0; + pdu.var_num = 1; + sprintf(pdu.community, "public"); + + buf = pdu.var[0].msg; + buf[0] = 0x00; // system id + switch (sysTypeNo) + { + case 111: //_8KE1_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,1,1,1}; + oid_prefix = _8KE1_TRAN_OID; + len = _8KE1_TRAN_OIDLEN; + break; + case 112: //_LAN_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,1,1,2}; + oid_prefix = _LAN_TRAN_OID; + len = _LAN_TRAN_OIDLEN; + break; + case 113: //_MTP2_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,1,1,3}; + oid_prefix = _MTP2_TRAN_OID; + len = _MTP2_TRAN_OIDLEN; + break; + case 130: //_PCR_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,1,3}; + oid_prefix = _PCR_TRAN_OID; + len = _PCR_TRAN_OIDLEN; + break; + case 160: //_CNF_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,1,6}; + oid_prefix = _CNF_TRAN_OID; + len = _CNF_TRAN_OIDLEN; + break; + case 200: //_PLAT_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,2}; + buf[0] = 0x09; // system id + oid_prefix = _PLAT_TRAN_OID; + len = _PLAT_TRAN_OIDLEN; + break; + case 320: //_MSC_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,2}; + oid_prefix = _MSC_TRAN_OID; + len = _MSC_TRAN_OIDLEN; + break; + case 330: //_HLR_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,3}; + oid_prefix = _HLR_TRAN_OID; + len = _HLR_TRAN_OIDLEN; + break; + case 340: //_AUC_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,4}; + oid_prefix = _AUC_TRAN_OID; + len = _AUC_TRAN_OIDLEN; + break; + case 350: //_SMSC_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,5}; + oid_prefix = _SMSC_TRAN_OID; + len = _SMSC_TRAN_OIDLEN; + break; + case 360: //_PPS_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,6}; + oid_prefix = _PPS_TRAN_OID; + len = _PPS_TRAN_OIDLEN; + break; + case 370: //_MNP_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,32}; + oid_prefix = _MNP_TRAN_OID; + len = _MNP_TRAN_OIDLEN; + break; + case 380: //_EIR_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,8}; + oid_prefix = _EIR_TRAN_OID; + len = _EIR_TRAN_OIDLEN; + break; + case 390: //_VMS_TRAN_OID[] = {1,3,6,1,4,1,1373,1,3,3,9}; + oid_prefix = _VMS_TRAN_OID; + len = _VMS_TRAN_OIDLEN; + break; + case 280: //_IWF_TRAN_OID[] = {1,3,6,1,4,1,1373,1,2,8}; + oid_prefix = _IWF_TRAN_OID; + len = _IWF_TRAN_OIDLEN; + break; + case 210: //_PPPRT_TRAN_OID[]= {1,3,6,1,4,1,1373,1,2,10}; + oid_prefix = _PPPRT_TRAN_OID; + len = _PPPRT_TRAN_OIDLEN; + break; + case 311: //AAS --- 1.3.6.1.4.1.1373.1.3.3.10 + oid_prefix = _AAS_TRAN_OID; + len = _AAS_TRAN_OIDLEN; + break; + case 0: //OMC --- 1.3.6.1.4.1.1373.1.4 + buf[0] = 0x01; // system id + oid_prefix = _OMC_TRAP_OID; + len = _OMC_TRAP_OIDLEN; + break; + default: + return; + } + memcpy(pdu.var[0].oid, oid_prefix, len*4); + + pdu.var[0].oidlen = len; + pdu.var[0].vartype = 4; + + buf[1] = 0; + cur_time = time(NULL); + buf[2] = cur_time >> 24; // time stamp + buf[3] = cur_time >> 16; + buf[4] = cur_time >> 8; + buf[5] = cur_time; + buf[6] = 0x99; + buf[7] = 90; + buf[8] = 90; + buf[9] = 0; + buf[10] = 0; + buf[11] = 0; + buf[12] = 0; + buf[13] = 0; + #ifdef WXC2_R8 + buf[14] = compCode; + buf[15] = alarmCode; + buf[16] = 0; + #else + buf[14] = compCode>>8; + buf[15] = compCode&255; + buf[16] = alarmCode; + #endif + buf[17] = 0; + buf[18] = 0;//length 1 + + buf[19] = 0;//component id + buf[20] = 0;//component id + + buf[21] = 0; + buf[22] = 20;//length 2 + + pdu.var[0].msglen = 23; + + request_addr.remote_ip =inet_addr("127.0.0.1"); + request_addr.local_ip =inet_addr("127.0.0.1"); + request_addr.remote_port =4957; + request_addr.local_port =4961; + request_addr.broadcast =0; + + request_id = snmp_send(&pdu, &request_addr); +#ifdef _TEST_ +// if(request_id==0) +// printf("\33[31m%d--->%d-%d-%d--Failed\n\33[37m",count,sysTypeNo,compCode,alarmCode); +// else +// printf("%d--->%d-%d-%d--Succeed\n",count,sysTypeNo,compCode,alarmCode); +#endif + count++; +} + + +static int testtimer() +{ + char sqlstr[2048]; + MYSQL_ROW get_row; + static MYSQL_RES *get_res; + static int send_state = 0; + + int i; + + if(testflag==1) //generate + { + switch (send_state) + { + case 0: + sprintf(sqlstr, + "SELECT sysTypeNo,compCode,alarmCode + FROM sysAlarmConf + WHERE 2=2 %s",szWhere); + if (mysql_query(omcPub_conn, sqlstr) != 0) + return -1; + if ((get_res = mysql_store_result(omcPub_conn)) == NULL) + return -1; + send_state = 1; + return 0; + case 1: + if ((get_row = mysql_fetch_row(get_res)) != NULL) + { + if(get_row[0]!=NULL&&get_row[1]!=NULL&&get_row[2]!=NULL) + sendHeartbeat(atoi(get_row[0]),atoi(get_row[1]),atoi(get_row[2])); + return 0; + } + + if(get_res!=NULL) + mysql_free_result(get_res); + send_state = 0; + testflag = 0; + return 0; + default: + if(get_res!=NULL) + mysql_free_result(get_res); + send_state = 0; + testflag = 0; + return 0; + } + } + else if(testflag==2) //clear + { + if(selDeviceID<20) + sendHeartbeat(objID[selDeviceID],0,0); + else + { + for(i=0;i<20;i++) + { + sendHeartbeat(objID[i],0,0); + sleep(50); + } + } + send_state = 0; + testflag = 0; + return 0; + } + else if(testflag==3) //stop + { + send_state = 0; + testflag = 0; + if(get_res!=NULL) + mysql_free_result(get_res); + return 0; + } + return 0; +} + +*/ + +/************************************************* +Function: // getOmcVersion +Description: // +Calls: // +Called By: // alarm_SnmpInit +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK,-1:error +Others: // +*************************************************/ +int getOmcConf() +{ + int statfd; + int buffSize = 1024; + char buff[buffSize]; + char strBuf[64]; + char *b=NULL; + + if ((statfd = open(OMCD_CONF_FILE, O_RDONLY, 0)) != -1){ + buff[buffSize-1] = 0; + read(statfd, buff, buffSize-1); + close(statfd); + + b = strstr(buff, "omcVersion="); + if(b == NULL){ + fprintf(stderr,"[%s:%d] %s Error: Cannot get omcVersion!! \n",__FILE__,__LINE__,__FUNCTION__); + exitLog("alarmAgent:getOmcConf, Can not get omcVersion"); + exit(1); + }else{ + sscanf(b, "omcVersion=%s \n", strBuf); + printf("omcVersion=%s \n", strBuf); + } + sprintf(omcVersion,"%s",strBuf); + + return(1); + }else{ + fprintf(stderr,"[%s:%d] %s Error: Can not open config file:%s!! \n",__FILE__,__LINE__,__FUNCTION__,OMCD_CONF_FILE); + return(-1); + } +} + +void logMessage(const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/alarmAgent%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} diff --git a/src/faultMgr/c_program/alarmGenerator/Alarm List.xls b/src/faultMgr/c_program/alarmGenerator/Alarm List.xls new file mode 100644 index 0000000..078500f Binary files /dev/null and b/src/faultMgr/c_program/alarmGenerator/Alarm List.xls differ diff --git a/src/faultMgr/c_program/alarmGenerator/Makefile b/src/faultMgr/c_program/alarmGenerator/Makefile new file mode 100644 index 0000000..632e040 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/Makefile @@ -0,0 +1,77 @@ +#!/bin/sh + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall -D_TEST_ -D__RUN_SELF + +dbINCLUDE_FLAGS = -I/usr/local/mysql/include +dbINCLUDE_FLAGS.ES = -I/usr/include/mariadb + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L/usr/local/mysql/lib -lmariadbclient -lz \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ + +LINKFLAG.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L/usr/lib/mysql -lmariadbclient -lz \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ + +LINK_SUFFIX = $(dbINCLUDE_FLAGS) $(LINKFLAG) +LINK_SUFFIX.ES = $(dbINCLUDE_FLAGS.ES) $(LINKFLAG.ES) + +PROGS=alarmGenerator + +OBJ = alarmGen.o +OBJ.ES = alarmGen.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(OBJ) alarmMain.o + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) alarmMain.o $(OBJ) $(LINKFLAG) -lm + ar r libalarmGen.a $(OBJ) + rm -rf *.o *bak *~ + #cp -f $(PROGS) ../../../../bin/ + #cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(OBJ.ES) alarmMain.o.ES + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) alarmMain.o $(OBJ) $(LINKFLAG.ES) -lm + ar r libalarmGen.a $(OBJ) + rm -rf *.o *bak *~ + #cp -f $(PROGS) ../../../../bin/ + #cp -f $(PROGS) /usr/local/omc/bin/ + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +alarmGen.o: alarmGen.c alarmGen.h + $(CC) $(CFLAGS) -c alarmGen.c $(dbINCLUDE_FLAGS) + +alarmMain.o: alarmMain.c alarmGen.h + $(CC) $(CFLAGS) -c alarmMain.c $(dbINCLUDE_FLAGS) + +alarmGen.o.ES: alarmGen.c alarmGen.h + $(CC) $(CFLAGS) -c alarmGen.c $(dbINCLUDE_FLAGS.ES) + +alarmMain.o.ES: alarmMain.c alarmGen.h + $(CC) $(CFLAGS) -c alarmMain.c $(dbINCLUDE_FLAGS.ES) + +clean: + rm -f *.o *.a $(PROGS) diff --git a/src/faultMgr/c_program/alarmGenerator/WXCII_AlarmSupport_Test_report.doc b/src/faultMgr/c_program/alarmGenerator/WXCII_AlarmSupport_Test_report.doc new file mode 100644 index 0000000..284b12f Binary files /dev/null and b/src/faultMgr/c_program/alarmGenerator/WXCII_AlarmSupport_Test_report.doc differ diff --git a/src/faultMgr/c_program/alarmGenerator/alarmAgent.c b/src/faultMgr/c_program/alarmGenerator/alarmAgent.c new file mode 100644 index 0000000..e6cc89c --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/alarmAgent.c @@ -0,0 +1,86 @@ +/**************************************/ +/*Title: alarmagent.c */ +/*Descr: Alarm Agent */ +/* --MIB(WXC2-ALARM) */ +/*Author: Yi zheng */ +/*Create: 2006-6-1 */ +/**************************************/ +#include "alarmAgent.h" +#define ALARM_SNMP_PORT 4961 +static struct itimerval itimer, old_itimer; +static void On_Timer(); +static void SetTimer(); + +extern int alarm_SnmpInit(void); +extern int alarm_db_init(void); +extern void alarm_Agent_timer(void); + +int main(int argc, char *argv[]) +{ + pid_t pid; + + if (argc == 2 && strstr(argv[1], "-d")) + { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } +#ifndef __RUN_SELF + iptrans_init(); +// debug_init(0); +#else + debug_init(1); + iptrMainInit(); +#endif + snmp_init(ALARM_SNMP_PORT); + + alarm_SnmpInit(); + SetTimer(); + while (1) + usleep(50); + return 1; +} + + +void On_Timer() +{ + static BYTE flag=0; +#ifdef __RUN_SELF + iptrans_timer(); + debug_rt(); +#endif + if(flag==0) + { + flag = 1; + snmp_timer(); + alarm_Agent_timer(); + flag = 0; + } +} + + +void SetTimer() +{ + struct sigaction act; + act.sa_handler = On_Timer; + sigemptyset(&act.sa_mask); + + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) + { + perror("Produce Sigaction"); + exit(1); + } + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) + { + printf("Setting Timer error! \n"); + exit(1); + } +} + + diff --git a/src/faultMgr/c_program/alarmGenerator/alarmAgent.h b/src/faultMgr/c_program/alarmGenerator/alarmAgent.h new file mode 100644 index 0000000..53b6619 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/alarmAgent.h @@ -0,0 +1,47 @@ +/********************************************************/ +/*Title: alarmagent.c */ +/*Descr: Alarm Agent */ +/* --MIB(WXC2-ALARM) */ +/*Author: Yi zheng */ +/*Create: 2006-6-1 */ +/********************************************************/ + +#ifndef __ALARM_AGENT_FILE +#define __ALARM_AGENT_FILE +#endif + +//#define __RUN_SELF +#define WXC2_R8 1 + + +#ifndef _LINUX_ES + #include "mysql.h" + #define ALARM_TABLE_FILE "/usr/local/mysql-3.23.52-pc-linux-gnu-i686/data/OMC_PUB/sysAlarmLog.MYD" +#else + #include "/usr/include/mysql/mysql.h" + #define ALARM_TABLE_FILE "/var/lib/mysql/OMC_PUB/sysAlarmLog.MYD" +#endif + +#include "../snmp_new/snmp.h" +#include "../debug/debug.h" + +int alarm_SnmpInit(void); +void alarm_Agent_timer(void); + +typedef struct alarm_set +{ + DWORD sq_Num; // alarmSequenceNumber Counter32, + char mag_ObjName[64]; // alarmManagedObjName OCTET STRING, + WORD mag_ObjIns; // alarmManagedObjInstance INTEGER, + char mag_ComName[64]; // alarmComponentName OCTET STRING, + WORD mag_ComIns; // alarmComponentInstance INTEGER, + char date_Time[64]; // alarmDateAndTime TimeTicks, + char ip_Addr[64]; // alarmEventEngineAddress IpAddress, + WORD event_Code; // alarmEventCode INTEGER, + WORD severity_ID; // alarmSeverity INTEGER, + char active_Desc[128]; // alarmActiveDescription OCTET STRING, + WORD notifiy_ID; // alarmNotificationID OBJECT IDENTIFIER +} alarm_set; + + + diff --git a/src/faultMgr/c_program/alarmGenerator/alarmGen.c b/src/faultMgr/c_program/alarmGenerator/alarmGen.c new file mode 100644 index 0000000..6eb0efa --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/alarmGen.c @@ -0,0 +1,1176 @@ +/************************************/ +/*Title: alarmGen.c */ +/*Descr: Alram Generator */ +/*Author: Yi Zheng */ +/*Create: 2006-6-21 */ +/************************************/ +#include "alarmGen.h" + +#define ALARM_AGENT_OID {1,3,6,1,4,1,1373,2,4,2} +#define ALARM_AGENT_OIDLEN 10 +#define CONF_FILE + +void alarm_Gen_timer(void); +/*----------------------------------------------------------------------------*/ +static BYTE testflag = 0; +static WORD selDeviceID = 0; +static BYTE selAlarmLevel = 0; +static WORD selCompCode = 0; +static BYTE selAlarmCode = 0; +static BYTE selInterval = 100; +static BYTE snmp_packet_log = 0; +static FILE *alarmlog_fp; + +static char szWhere[128]; +static char szVersion[16]; +static char szOmcIP[16]="127.0.0.1"; +static DWORD omc0_ip; +static char omc_ver; +static BYTE sysNo=0; +static BYTE subSysNo=0; + + +const BYTE wxc2_trap_prelen = 8; +const BYTE alarm_version[3]={ 8, 0, 1}; +/*DateBase----------------------------------------------------------------*/ +static BYTE DbconnFlag = 0; +static MYSQL *omcPub_conn; +/*for MMI------------------------------------------------------------------*/ +static char debug_flag; +static char debug_buf[4096]; +static char asc_in[256]; +void alarm_MMIInit(void); +void alarm_MMItimer(); +void alarm_debug_out(char *info); +void alarm_debug(const char *fmt,...); +static char help_info[] = + "***************************************\r\n" + "* Alarm Generator Command Help Menu *\r\n" + "***************************************\r\n" +"[0.] help Display this page\r\n" +"[1.] log all Output all debug information\r\n" +"[2.] log none Turn off all information\r\n" +"[3.] list par List Generator parameter\r\n" +"[4.] list omcip List the ip address of OMC\r\n" +" Set Generator command/parameter(s):\r\n" +"[5.] set alarmLevel=xxx e.g: >set alarmLevel=6\r\n" +" 1=Critical, 2=Major, 3=Minor,\r\n" +" 4=Warning, 5=Indeterminate, 6=ALL\r\n" +"[6.] set DeviceID=xxx e.g: >set DeviceID=9999\r\n" +" 0 = OMC, 111 = 8KE1, 113 = MTP2,\r\n" +" 130 = PCR, 160 = CNF, 200 = PLAT,\r\n" +" 320 = MSC, 330 = HLR, 340 = AUC, \r\n" +" 350 = SMSC, 360 = PPS, 370 = MNP,\r\n" +" 390 = VMS, 311 = AAS, 9999= ALL\r\n" +"[7.] set compCode=xxx e.g: >set compCode=9999\r\n" +" xxx: 9999=ALL\r\n" +"[8.] set alarmCode=xxx e.g: >set alarmCode=6\r\n" +" xxx: 255=ALL\r\n" +"[9.] set sysNo=xxx e.g: >set sysNo=0\r\n" +" Degault=0\r\n" +"[10.]set subSysNo=xxx e.g: >set subSysNo=0\r\n" +" Degault=0\r\n" +"[11.]set Interval=xxx e.g: >set Interval=5\r\n" +" Interval=xxx*100ms\r\n" +"[12.]set omcver=x e.g: >set omcver=9\r\n" +" Default=9\r\n" +"[13.]set omcip=xxx e.g: >set omcip=172.18.128.1\r\n" +" xxx= ip address or host name\r\n" +"[14.]./start Start generating alarm. e.g: >./start\r\n" +"[15.]./stop Stop generating alarm. e.g: >./stop\r\n" +"[16.]./clear Clear alarm. e.g: >./clear\r\n" +"[17.]snmp_packet log on save snmp packet to log file.\r\n" +"[18.]snmp_packet log off disable save snmp packet to log file.\r\n" +"Press 'x' or 'X' to return \"Help Menu\"\r\n" +"\33[33m-->Press \"Esc\" then \"Enter\"<--\33[37m\r\n"; + +/*for SNMP-----------------------------------------------------------------*/ + +int alarm_set_rsp(BYTE oidlen, DWORD *oid, BYTE *pdata, WORD datalen); +void alarm_snmp_trap(BYTE oidlen,DWORD *oid, BYTE *pdata,WORD msg_len,snmp_addr *addr); +int alarm_GenInit(void); + +/*for Log-----------------------------------------------------------------*/ +void alarmlog_init(); +void alarmlog_timer(); +void alarmlog_put(const char *fmt, ...); + +static char ascii[16] = {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, + 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46}; +int hex_to_ascii(BYTE *from_hex, BYTE from_len, BYTE *to_asc); +/*private-------------------------------------------------------------------*/ +static DWORD assign_rid(); +static int build_snmpmsg(BYTE *pbuf, snmp_pdu *psnmp); +static int snmp_send_self(snmp_pdu *msgbuf, snmp_addr *addr); +static int alarm_db_init(void); +static int testtimer(); +static int loadConfigure(); +static int saveConfigure(); +static void sendHeartbeat(); + +/*---------------------------------------------------------------------------*/ +void alarm_MMIInit(void) +{ + DWORD ascout_id[20] ={1,3,6,1,4,1,1373,2,1,2,3,1,2,17,4}; + DWORD ascin_id[20] ={1,3,6,1,4,1,1373,2,1,2,3,1,2,17,3}; +// DWORD name_id[20] ={1,3,6,1,4,1,1373,1,1,2,3,1,2,17,2}; +// DWORD status_id[20] ={1,3,6,1,4,1,1373,1,1,2,3,1,2,17,1}; + + +// static BYTE debug_status=1; + + debug_set_response(15,ascout_id,(BYTE*)debug_buf,1); + debug_set_response(15,ascin_id,(BYTE*)asc_in,1); + +// debug_set_response(15,status_id,&debug_status,1); +// debug_set_response(15,name_id, szVersion, strlen(szVersion)); +} + + +void alarm_MMItimer() +{ + BYTE npage, nline; + char *cmdstr = asc_in + 1; + char *pParam = NULL; + char info[1024]; + int num; + + if(strlen(asc_in) <= 1) + return; + debug_buf[0] = '\0'; + npage = asc_in[0] - 1; + + if(npage > 0) + { + nline = atoi(asc_in + 1); + switch(npage) + { + case 1: // + break; + } + asc_in[0]='\0'; + return; + } + + asc_in[0]='\0'; + if(strstr(cmdstr, "help") != NULL || strstr(cmdstr, "?") != NULL) + { + alarm_debug_out(help_info); + return; + } + else if(strstr(cmdstr, "log all") != NULL) + { + debug_flag=1; + } + else if(strstr(cmdstr, "log none") != NULL) + { + debug_flag=0; + } + else if(strstr(cmdstr, "list par") != NULL) + { + char status[10]; + if(testflag==1) + { + sprintf(status,"Running..."); + } + else if(testflag==2) + sprintf(status,"Clearing..."); + else + sprintf(status,"Stop."); + sprintf(info,"Generator parameter:\r\n\ + \r\tDeviceID=%d\r\n\ + \r\tcompCode=%d\r\n\ + \r\talarmCode=%d\r\n\ + \r\tsysNo=%d\r\n\ + \r\tsubSysNo=%d\r\n\ + \r\talarmLevel=%d\r\n\ + \r\tInterval=%d\r\n\ + \r\tOMC Version=%d\r\n\ + \r\tOMC IP=%s\r\n\ + \r\tStatus=%s\r\n\ + " + ,selDeviceID,selCompCode,selAlarmCode,sysNo,subSysNo,selAlarmLevel,selInterval,omc_ver,szOmcIP,status); + alarm_debug_out(info); + } + else if(strstr(cmdstr, "list omcip") != NULL) + { + sprintf(info,"OMC IP=%s",szOmcIP); + alarm_debug_out(info); + } + else if(strncasecmp(cmdstr, "set omcip", 9) == 0) + { + pParam = strchr(cmdstr, '='); + if(pParam!=NULL) + { + memset(szOmcIP,0,sizeof(szOmcIP)); + sprintf(szOmcIP,"%s",pParam+1); + DbconnFlag = alarm_db_init(); + if(DbconnFlag) + { + saveConfigure(); + } + } + } + else if(strncasecmp(cmdstr, "set omcver", 10) == 0) + { + pParam = strchr(cmdstr, '='); + if(pParam == NULL ||strlen(pParam + 1) > 2) + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + omc_ver = atoi(pParam+1); + } + else if(strncasecmp(cmdstr, "./", 2) == 0) + { + pParam = strchr(cmdstr, '/'); + if(strncasecmp(pParam+1, "start",5) == 0) + { + int p=0; + testflag = 1; + num=0; + if(selDeviceID<9999) + { + p+=sprintf(szWhere+p,"AND sysTypeNo=%d ",selDeviceID); + num++; + } + if(selCompCode<9999) + { + p+=sprintf(szWhere+p,"AND compCode=%d ",selCompCode); + num++; + } + if(selAlarmCode<255) + { + p+=sprintf(szWhere+p,"AND alarmCode=%d ",selAlarmCode); + num++; + } + if(selAlarmLevel<6&&num<3) + p+=sprintf(szWhere+p,"AND alarmLevel=%d ",selAlarmLevel); + alarm_debug_out("Generating..."); + alarmlog_put("cmd>./start"); + + } + else if(strncasecmp(pParam+1, "clear",5) == 0) + { + testflag = 2; + alarm_debug_out("Clear..."); + alarmlog_put("cmd>./Clear"); + + } + else if(strncasecmp(pParam+1, "stop",4) == 0) + { + testflag = 3; + alarm_debug_out("Stop..."); + alarmlog_put("cmd>./Stop"); + + } + else + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + if(DbconnFlag==0) + { +// printf("%s\n",szOmcIP); + DbconnFlag = alarm_db_init(); + } + } + else if(strncasecmp(cmdstr, "set DeviceID", 12) == 0) + { + pParam = strchr(cmdstr, '='); + if(pParam == NULL ||strlen(pParam + 1) > 5) + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + num = atoi(pParam+1); + if(num>9999) + selDeviceID=9999; + else + selDeviceID = num; + sprintf(info,"DeviceID=%d",selDeviceID); + alarm_debug_out(info); + } + else if(strncasecmp(cmdstr, "set compCode", 12) == 0) + { + pParam = strchr(cmdstr, '='); + if(pParam == NULL ||strlen(pParam + 1) > 5) + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + num = atoi(pParam+1); + if(num>9999) + selCompCode=9999; + else + selCompCode = num; + sprintf(info,"compCode=%d",selCompCode); + alarm_debug_out(info); + } + else if(strncasecmp(cmdstr, "set alarmCode", 13) == 0) + { + pParam = strchr(cmdstr, '='); + if(pParam == NULL ||strlen(pParam + 1) > 5) + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + num = atoi(pParam+1); + if(num>255) + selAlarmCode=255; + else + selAlarmCode = num; + sprintf(info,"alarmCode=%d",selAlarmCode); + alarm_debug_out(info); + } + else if(strncasecmp(cmdstr, "set sysNo", 9) == 0) + { + pParam = strchr(cmdstr, '='); + if(pParam == NULL ||strlen(pParam + 1) > 3) + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + num= atoi(pParam+1); + if(num>256) + sysNo=0; + else + sysNo = num; + sprintf(info,"sysNo=%d",sysNo); + alarm_debug_out(info); + } + else if(strncasecmp(cmdstr, "set subSysNo", 12) == 0) + { + pParam = strchr(cmdstr, '='); + if(pParam == NULL ||strlen(pParam + 1) > 3) + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + num = atoi(pParam+1); + if(num>256) + subSysNo=0; + else + subSysNo = num; + sprintf(info,"subSysNo=%d",subSysNo); + alarm_debug_out(info); + } + else if(strncasecmp(cmdstr, "set alarmLevel", 13) == 0) + { + pParam = strchr(cmdstr, '='); + if(pParam == NULL ||strlen(pParam + 1) > 5) + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + num = atoi(pParam+1); + if(num>6||num==0) + selAlarmLevel=6; + else + selAlarmLevel = num; + sprintf(info,"alarmLevel=%d",selAlarmLevel); + alarm_debug_out(info); + } + else if(strncasecmp(cmdstr, "set Interval", 12) == 0) + { + pParam = strchr(cmdstr, '='); + if(pParam == NULL ||strlen(pParam + 1) > 5) + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + num = atoi(pParam+1); + if(num>255||num==0) + selInterval=5; + else + selInterval = num; + sprintf(info,"Interval=%d",selInterval); + alarm_debug_out(info); + } + else if(strncasecmp(cmdstr, "snmp_packet log on", 18) == 0) + { + snmp_packet_log =1; + } + else if(strncasecmp(cmdstr, "snmp_packet log off", 19) == 0) + { + snmp_packet_log =0; + } + else if(strncasecmp(cmdstr, "batch", 19) == 0) + { + + } + else + { + alarm_debug_out("Invalid command/parameter(s)."); + return; + } + alarm_debug_out("Command OK"); + return; +} + +void alarm_debug(const char *fmt,...) +{ + va_list ap; + char info[1024]; + + if(debug_flag==0) + return; + strcat(debug_buf, "--"); + va_start(ap, fmt); + vsnprintf(info, 1024, fmt, ap); + va_end(ap); + + alarm_debug_out(info); +} + +void alarm_debug_out(char *info) +{ + if(strlen(debug_buf) + strlen(info) > 4096) + { + return; + } + + strncat(debug_buf, info, 4094); + strcat(debug_buf, "\r\n"); + return; +} + +int alarm_GenInit(void) +{ +// DWORD alarm_oid_prefix[20] = ALARM_AGENT_OID; + +// inquire_setmsg(ALARM_AGENT_OIDLEN, alarm_oid_prefix, alarm_set_rsp); + inquire_trapmsg(alarm_snmp_trap); + sprintf(szVersion, "R%dV%d_%02d", alarm_version[0], alarm_version[1], alarm_version[2]); + alarm_MMIInit(); + printf("Alarm Generator ...\n"); + + testflag =0; + DbconnFlag =0; + selDeviceID =9999; + selAlarmLevel =6; + selCompCode =9999; + selAlarmCode =255; + selInterval =10; + debug_flag =1; + omc_ver =9; + snmp_packet_log =0; + sprintf(szOmcIP,"127.0.0.1"); + alarmlog_init(); + loadConfigure(); + + return 1; +} + + +int alarm_db_init(void) +{ + char info[1024]; + + while ((omcPub_conn = mysql_init(NULL)) == NULL) + { + sprintf(info,"Fail to init mysql:%s\n", mysql_error(omcPub_conn)); + alarm_debug_out(info); + sleep(2); + } + sprintf(info,"Connect Datebase:%s\n", szOmcIP); +// printf("Connect Datebase:%s\n", szOmcIP); + alarm_debug_out(info); + if(mysql_real_connect(omcPub_conn, szOmcIP, "root", "rootaa", "OMC_PUB", 0, NULL,0) == NULL) + { + sprintf(info,"Fail to init mysql:%s\n", mysql_error(omcPub_conn)); + alarm_debug_out(info); + return 0; + } +// printf("Connect Datebase ok...\n"); + alarm_debug_out("Connect Datebase ok...\n"); + return 1; +} + +void alarm_Gen_timer(void) +{ + static int m_state = 0,mlog_st = 0; + if(m_state++>selInterval*5) + { + if(testflag) + testtimer(); + m_state=0; + } + alarm_MMItimer(); + if(mlog_st++>500) + { + mlog_st = 0; + alarmlog_timer(); + } +} +/* +int alarm_set_rsp(BYTE oidlen, DWORD *oid, BYTE *pdata, WORD datalen) +{ + DWORD *alarmOid = oid + ALARM_AGENT_OIDLEN; + WORD *pW; + int p=0; + BYTE pri=0; + + if(alarmOid[0]==2&&alarmOid[1]==1&&alarmOid[2]==0) + { + if(pdata[1]!=0) + selInterval = pdata[1]; + pW = (WORD *)(pdata+2); + selDeviceID = htons(pW[0]); + selAlarmLevel = pdata[4]; + pW = (WORD *)(pdata+5); + selCompCode = htons(pW[0]); + selAlarmCode = pdata[7]; + + if(pdata[0]==0xF1) + { + testflag = 1; //generate + } + else if(pdata[0]==0x1F) + { + testflag = 2; //clear + return datalen; + } + else + { + testflag = 3; //stop + return datalen; + } + + pri=0; + if(selDeviceID!=0xFFFF) + { + p+=sprintf(szWhere+p,"AND sysTypeNo=%d ",selDeviceID); + pri++; + } + if(selCompCode!=0xFFFF) + { + p+=sprintf(szWhere+p,"AND compCode=%d ",selCompCode); + pri++; + } + if(selAlarmCode!=0xFF) + { + p+=sprintf(szWhere+p,"AND alarmCode=%d ",selAlarmCode); + pri++; + } + if(selAlarmLevel!=0xFF&&pri<3) + p+=sprintf(szWhere+p,"AND alarmLevel=%d ",selAlarmLevel); + printf("%s\n",szWhere); + } + + return datalen; +} +*/ +static void sendHeartbeat(int sysTypeNo,int compCode,int alarmCode) +{ + DWORD oid_prefix[20]; + char *oneOid; + int len,sub_sysTypeNo; + static int count=0; + DWORD request_id; + BYTE *buf; +// BYTE acsii_buf[64]; + time_t cur_time; + + char sqlstr[1024]; + char info[1024]; + MYSQL_ROW get_row; + MYSQL_RES *get_res; + + snmp_pdu pdu; + snmp_addr request_addr; + + pdu.pdu_type = PDU_TRAP; + pdu.error_status = 0; + pdu.error_index = 0; + pdu.request_id = 0; + pdu.var_num = 1; + buf = pdu.var[0].msg; + if(compCode>=9999) + compCode=0; + if(sysTypeNo>=9999) + sprintf(sqlstr, + "SELECT maxSysNum,maxSubSysNum,snmpHead,snmpPort,snmpCommunity,sysTypeNo " + "FROM sysConf WHERE snmpHead > '0' AND needHeartBeat > '0'"); + else + sprintf(sqlstr, + "SELECT maxSysNum,maxSubSysNum,snmpHead,snmpPort,snmpCommunity,sysTypeNo " + "FROM sysConf WHERE snmpHead > '0' AND needHeartBeat > '0' AND sysTypeNo='%d'", sysTypeNo); + + + if (mysql_query(omcPub_conn, sqlstr) != 0) + return; + if ((get_res = mysql_store_result(omcPub_conn)) == NULL) + return; + while ((get_row = mysql_fetch_row(get_res)) != NULL) + { + buf[0] = sysNo; + buf[1] = subSysNo; + if(get_row[5]!=NULL) + sub_sysTypeNo = atoi(get_row[5]); + sprintf(pdu.community, get_row[4]); + len = 0; + while ((oneOid = strsep(&(get_row[2]), "."))) + { + oid_prefix[len] = atol(oneOid); //<-- + len++; + } + if (len < 1) + break; + memcpy(pdu.var[0].oid, oid_prefix, len*4); + pdu.var[0].oidlen = len; + pdu.var[0].vartype = 4; + + cur_time = time(NULL); + buf[2] = cur_time >> 24; // time stamp + buf[3] = cur_time >> 16; + buf[4] = cur_time >> 8; + buf[5] = cur_time; + buf[6] = 0x99; //16 LED control code Byte6-13: + buf[7] = 90; + buf[8] = 90; + buf[9] = 0; + buf[10] = 0; + buf[11] = 0; + buf[12] = 0; + buf[13] = 0; + if(omc_ver==8) + { + buf[14] = compCode; + buf[15] = alarmCode; + buf[16] = 0; + } + else + { + buf[14] = compCode>>8; + buf[15] = compCode&255; + buf[16] = alarmCode; + } + buf[17] = 0; + buf[18] = 0;//length 1 + + buf[19] = 0;//component id + buf[20] = 0;//component id + + buf[21] = 0; + buf[22] = 20;//length 2 + + pdu.var[0].msglen = 23; + + request_addr.remote_ip =inet_addr(szOmcIP); + request_addr.remote_port =atoi(get_row[3]); + request_addr.local_port =GENPORT; + request_addr.broadcast =0; + + request_id = snmp_send_self(&pdu, &request_addr); +// hex_to_ascii(buf,pdu.var[0].msglen,acsii_buf); +// alarmlog_put("%s->%s:(sysTypeNo=%d compCode=%d alarmCode=%d)",acsii_buf,szOmcIP,sub_sysTypeNo,compCode,alarmCode); + if(request_id==0) + sprintf(info,"\33[31m%d.Send--->sysTypeNo=%d compCode=%d alarmCode=%d Failed\n\33[37m",count,sub_sysTypeNo,compCode,alarmCode); + else + sprintf(info,"%d.Send--->sysTypeNo=%d compCode=%d alarmCode=%d Succeed\n",count,sub_sysTypeNo,compCode,alarmCode); + alarm_debug(info); + count++; + if(sysTypeNo>=9999) + usleep(200); + } + mysql_free_result(get_res); +} + +static int testtimer() +{ + char sqlstr[2048]; + MYSQL_ROW get_row; + static MYSQL_RES *get_res; + static int send_state = 0; + if(DbconnFlag==0) + { + alarm_debug_out("connect to omc server Error!"); + testflag = 0; + return 0; + } + if(testflag==1) //generate + { + switch (send_state) + { + case 0: + sprintf(sqlstr,"SELECT sysTypeNo,compCode,alarmCode FROM sysAlarmConf WHERE 2=2 %s",szWhere); + alarm_debug(sqlstr); + alarmlog_put(sqlstr); + if (mysql_query(omcPub_conn, sqlstr) != 0) + return -1; + if ((get_res = mysql_store_result(omcPub_conn)) == NULL) + return -1; + send_state = 1; + return 0; + case 1: + if ((get_row = mysql_fetch_row(get_res)) != NULL) + { + if(get_row[0]!=NULL&&get_row[1]!=NULL&&get_row[2]!=NULL) + sendHeartbeat(atoi(get_row[0]),atoi(get_row[1]),atoi(get_row[2])); + return 0; + } + + if(get_res!=NULL) + mysql_free_result(get_res); + alarm_debug_out("Completed."); + alarmlog_put("Completed."); + send_state = 0; + testflag = 0; + return 0; + default: + if(get_res!=NULL) + mysql_free_result(get_res); + send_state = 0; + testflag = 0; + return 0; + } + } + else if(testflag==2) //clear + { + if(selCompCode!=0xFFFF) + sendHeartbeat(selDeviceID,selCompCode,0); + else + sendHeartbeat(selDeviceID,0,0); + alarm_debug_out("Completed."); + alarmlog_put("Completed."); + send_state = 0; + testflag = 0; + return 0; + } + else if(testflag==3) //stop + { + send_state = 0; + testflag = 0; + if(get_res!=NULL) + mysql_free_result(get_res); + alarm_debug_out("Stoped."); + alarmlog_put("Stoped."); + return 0; + } + return 0; +} + +void alarm_snmp_trap(BYTE oidlen,DWORD *oid, BYTE *pdata,WORD msg_len,snmp_addr *addr) +{ + DWORD *alarmOid = oid + wxc2_trap_prelen; + BYTE *pBYTE; + if(alarmOid[0]==4)//OMC + { + if(pdata[0] == 0) + { + omc0_ip = addr->remote_ip; + pBYTE = (BYTE *)&omc0_ip; +// sprintf(szOmcIP,"%d.%d.%d.%d",pBYTE[0],pBYTE[1],pBYTE[2],pBYTE[3]); +// if(DbconnFlag==0) +// { +// printf("%s\n",szOmcIP); +// DbconnFlag = alarm_db_init(); +// } + } + } + +} + + +void alarmlog_init() +{ + + char log_file[64],cmdstr[64]; + + long l_time; + struct tm *t; + + if (access("./log", F_OK) != 0) + { + sprintf(cmdstr, "mkdir -p -m755 ./log"); + printf("%s\n", cmdstr); + system(cmdstr); + } + + l_time = time(NULL); + t = localtime(&l_time); + + sprintf(log_file, "./log/alarmGen_%02d_%02d.log", + t->tm_mon + 1, t->tm_mday); + + if (alarmlog_fp != NULL) + fclose(alarmlog_fp); + alarmlog_fp = fopen(log_file, "a"); + alarmlog_put("Alarm Generator(R%dV%d_%02d) start up.%s%s", + alarm_version[0], alarm_version[1], alarm_version[2],ctime(&l_time),log_file); +} + +void alarmlog_put(const char *fmt, ...) +{ + char buf[2048]; + + va_list ap; + + if (alarmlog_fp == NULL) + return; + + va_start(ap, fmt); + + vsprintf(buf, fmt, ap); + fputs(buf, alarmlog_fp); + fputs("\n", alarmlog_fp); +// if(fputs(buf, alarmlog_fp)>0){ +// printf("write OK\n"); +// }else{ +// perror("write error\n"); +// } + + fflush(alarmlog_fp); +// if(fflush(alarmlog_fp)==0){ +// printf("flush OK\n"); +// }else{ +// perror("flush error\n"); +// } + + va_end(ap); +} + +void alarmlog_timer() +{ + long l_time; + struct tm *t; + static int ch = 0; + + + l_time = time(NULL); + t = localtime(&l_time); + + if (t->tm_hour == 0 && ch == 0) + { + alarmlog_init(); + ch = 1; + } + else if (t->tm_hour > 0) + ch = 0; +} + + +int hex_to_ascii(BYTE *from_hex, BYTE from_len, BYTE *to_asc) +{ + int i, j; + + j = 0; + + for (i = 0; i< from_len; i++) + { + to_asc[j] = ascii[from_hex[i] >> 4]; + j++; + to_asc[j] = ascii[from_hex[i] & 0x0F]; + j++; + to_asc[j] = ' '; + j++; + } + + to_asc[j] = '\0'; + + return 1; +} + +static DWORD assign_rid() +{ + static DWORD rid = 1; + + rid = (rid-1)%0x10000000+2; + return rid; +} + +int snmp_send_self(snmp_pdu *msgbuf, snmp_addr *addr) +{ + message_list msgout; + BYTE acsii_buf[1500]; + + if(msgbuf->var_num == 0 || msgbuf->var_num >50) + return 0; + + switch(msgbuf->pdu_type) + { + case PDU_SET: + msgbuf->error_index = msgbuf->error_status = 0; + if(msgbuf->request_id == 0 ) + msgbuf->request_id = assign_rid(); + break; + case PDU_GET: + msgbuf->error_index = msgbuf->error_status = 0; + if(msgbuf->request_id == 0 ) + msgbuf->request_id = assign_rid(); + break; + case PDU_TRAP: + msgbuf->request_id = 1; + break; + case PDU_RSP: + break; + default: + return 0; + } + + msgout.msgLength = build_snmpmsg(msgout.msgContent , msgbuf); + if(msgout.msgLength == 0 || msgout.msgLength > 1500) + { + return 0; + } + if(snmp_packet_log) + { + hex_to_ascii(msgout.msgContent,msgout.msgLength,acsii_buf); + alarmlog_put("SNMP: %s",acsii_buf); + } + msgout.msgDstIP = addr->remote_ip ; + msgout.msgDstPort = addr->remote_port ; + msgout.msgSrcIP = addr->local_ip ; + msgout.msgSrcPort = addr->local_port ; + msgout.msgBroadcast = addr->broadcast ; + + if(iptrPutMessage(msgout) == 0) + return 0; + else + return msgbuf->request_id; +} + +int build_snmpmsg(BYTE *pbuf, snmp_pdu *psnmp) +{ + BYTE msg[2000]; + short pos = 1900, len; + var_list *pvar; + BYTE var_num; + BYTE idlen; + DWORD *poid, val; + short stack[10]; + BYTE pstack = 0; + BOOL error_status = 0; + + + var_num = psnmp->var_num; + for(pstack = 0; pstack < 5; pstack++) + stack[pstack] = pos; //push + + while(var_num-- >0) + { + stack[pstack++] = pos; //push + pvar = &psnmp->var[var_num]; + if(psnmp->pdu_type == PDU_GET) + { + pvar->vartype = 5; + pvar->msglen = 0; + } + else + { + switch(pvar->vartype) + { + case 5: //NULL + case NoSuchObject: + case NosuchInstance: + case EndOfMibView: + pvar->msglen = 0; + } + } + poid = pvar->oid; + //Value + if(pvar->msglen>SNMP_VAR_MAX) + { + if(psnmp->error_status == 0) + { + psnmp->error_status = 1; //Too big + psnmp->error_index = var_num; + } +// snmp_debug(SNMPDB_ERR, "Variable length(%d) exceed limit:varindex = %d", pvar->msglen, SNMP_VAR_MAX, var_num); + pvar->msglen = 0; + error_status = 1; + } + else if((pos - pvar->msglen) < 500) + { + if(psnmp->error_status == 0) + { + psnmp->error_status = 1; //Too big + psnmp->error_index = var_num; + } + pvar->msglen = 0; + error_status = 1; + } + else if(pvar->msglen > 0) + { + memcpy(msg + pos - pvar->msglen + 1, pvar->msg, pvar->msglen); //V + } + pos -= pvar->msglen; + + insert_length(msg, pos, pvar->msglen); //L + msg[pos--] = pvar->vartype; //T + //Object ID + stack[pstack++] = pos; //push + + idlen = pvar->oidlen; + if(idlen >= OID_MAXLEN) + { +// snmp_debug(SNMPDB_ERR, "OIDs Length(%d) is Invalid.", idlen); + return 0; + } + + while(idlen-- > 2) //V + { + val = poid[idlen]; + if(val < 0x80) //1byte + *(msg + (pos--)) = val; + else if(val < 0x4000) //2byte + { + *(msg + (pos--)) = val & 0x7F; + *(msg + (pos--)) = ((val & 0x3FFF) >> 7) | 0x80; + } + else if(val < 0x200000) //3byte + { + *(msg + (pos--)) = val & 0x7F; + *(msg + (pos--)) = ((val & 0x3FFF) >> 7) | 0x80; + *(msg + (pos--)) = (val >> 14) | 0x80; + } + else if(val < 0x10000000) //4byte + { + *(msg + (pos--)) = val & 0x7F; + *(msg + (pos--)) = ((val & 0x3FFF) >> 7) | 0x80; + *(msg + (pos--)) = ((val & 0x1FFFFF) >> 14) | 0x80; + *(msg + (pos--)) = (val >> 21) | 0x80; + } + else //5byte + { + *(msg+(pos--)) = val & 0x7F; + *(msg+(pos--)) = ((val & 0x3FFF) >> 7) | 0x80; + *(msg+(pos--)) = ((val & 0x1FFFFF) >> 14) | 0x80; + *(msg+(pos--)) = ((val & 0x0FFFFFFF) >> 21) | 0x80; + *(msg+(pos--)) = (val>>28) | 0x80; + } + } + if(poid[0] > 3 || (poid[0] < 3 && poid[1] >= 40)) + { +// snmp_debug(SNMPDB_ERR, "Wrong oid, varindex = %d, oid = %ld.%ld...\n", var_num, poid[0], poid[1]); + return 0; + } + *(msg + (pos--)) = poid[idlen] + poid[idlen - 1] * 40; + + + len = stack[--pstack] - pos; //pop + insert_length(msg, pos, len); //L + msg[pos--] = 0x06; + //Variable + len = stack[--pstack] - pos; //pop + insert_length(msg, pos, len); //L + msg[pos--] = 0x30; //T + }; + + //Variable Binding + len = stack[--pstack] - pos; //pop + insert_length(msg, pos, len); //L + msg[pos--] = 0x30; //T + //error index + msg[pos--] = psnmp->error_index; //V + msg[pos--] = 1; //L + msg[pos--] = 0x02; //T + //error status + msg[pos--] = psnmp->error_status ; //V + msg[pos--] = 1; //L + msg[pos--] = 0x02; //T + //request-id + enc_integer(msg, pos, psnmp->request_id); //V L + msg[pos--] = 0x02; //T + //PDU + len = stack[--pstack] - pos; //pop + insert_length(msg, pos, len); //L + msg[pos--] = psnmp->pdu_type | 0xA0; //T + //community + + if(psnmp->pdu_type == PDU_TRAP) + { + memcpy(msg + pos - 5, (BYTE *)COMMUNITY, 6); //V + pos -= 6; + msg[pos--] = 6; + } + else + { +#if SNMP_ANY_COMMUNITY + psnmp->community[15] = 0; //max length = 15 + comm_len = strlen(psnmp->community); + + memcpy(msg + pos - comm_len + 1, (BYTE *)psnmp->community, comm_len); //V + pos -= comm_len; + msg[pos--] = comm_len; +#else //use "public" as community + memcpy(msg + pos - 5, (BYTE *)COMMUNITY, 6); //V + pos -= 6; + msg[pos--] = 6; +#endif + } + if(pos<4) return 0; + /*added by LHB, Oct. 30 04 */ + if(pstack<2) return 0; + /*added by LHB, Oct. 30 04 */ + //L + msg[pos--] = 0x04; //T + //version + msg[pos--] = SNMP_V2; //V + msg[pos--] = 1; //L + msg[pos--] = 0x02; //T + //head + len = stack[--pstack] - pos; //pop + if(len<0) return 0; + insert_length(msg, pos, len); //L + msg[pos--] = 0x30; //T + len = stack[--pstack] - pos; //pop + if(len<0) return 0; + memcpy(pbuf, msg + pos + 1, len); + return len; +} + +int loadConfigure() +{ + char confile[]={"./conf/alarmGen.conf"}; + char s[80],s1[80];//work[80]; + int len; +// int loop,priority,port,len,type,direct=0; +// char *off; + FILE *fpConf; + + fpConf = fopen(confile,"rb"); + if(fpConf==NULL) + { + printf("%s not found!\n",confile); + } + else + { + strcpy(s,""); + strcpy(s1,""); + if(fgets(s,1024,fpConf) !=(char *)0) + { + len = strlen(s); + if(len >15||len==0) + { + printf("Error line: %s len=%d\n",s,len); + } + else + { + memcpy(szOmcIP,s,len); + } + + } + fclose(fpConf); + } + return 1; +} + + int saveConfigure() +{ + char confile[]={"./conf/alarmGen.conf"}; + FILE *fpConf; + + fpConf = fopen(confile,"w"); + if(fpConf==NULL) + { + printf("%s not found!\n",confile); + } + else + { + fputs(szOmcIP, fpConf); + fclose(fpConf); + } + return 1; +} diff --git a/src/faultMgr/c_program/alarmGenerator/alarmGen.h b/src/faultMgr/c_program/alarmGenerator/alarmGen.h new file mode 100644 index 0000000..61efb87 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/alarmGen.h @@ -0,0 +1,30 @@ +/********************************************************/ +/*Title: alarmagent.c */ +/*Descr: Alarm Agent */ +/* --MIB(WXC2-ALARM) */ +/*Author: Yi zheng */ +/*Create: 2006-6-1 */ +/********************************************************/ + +#ifndef __ALARM_AGENT_FILE +#define __ALARM_AGENT_FILE +#endif + +//#define __RUN_SELF +#define WXC2_R8 1 +#define GENPORT 4957 + + +#ifndef _LINUX_ES + #include "mysql.h" +#else + #include "/usr/include/mysql/mysql.h" +#endif + +#include "../../../../plat/snmp/src/include/snmp.h" + + +int alarm_GenInit(void); +void alarm_Gen_timer(void); + + diff --git a/src/faultMgr/c_program/alarmGenerator/alarmMain.c b/src/faultMgr/c_program/alarmGenerator/alarmMain.c new file mode 100644 index 0000000..003e37a --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/alarmMain.c @@ -0,0 +1,86 @@ +/**************************************/ +/*Title: alarmagent.c */ +/*Descr: Alarm Agent */ +/* --MIB(WXC2-ALARM) */ +/*Author: Yi zheng */ +/*Create: 2006-6-1 */ +/**************************************/ +#include "alarmGen.h" +static struct itimerval itimer, old_itimer; +static void On_Timer(); +static void SetTimer(); + +extern int alarm_GenInit(void); +extern int alarm_db_init(void); +extern void alarm_Gen_timer(void); + +int main(int argc, char *argv[]) +{ + pid_t pid; + + if (argc == 2 && strstr(argv[1], "-d")) + { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } +#ifndef __RUN_SELF + iptrans_init(); + debug_init(1); +#else + debug_init(1); + iptrMainInit(); +// iptrans_init(); +#endif + snmp_init(GENPORT); + + alarm_GenInit(); + SetTimer(); + while (1) + usleep(50); + return 1; +} + + +void On_Timer() +{ + static BYTE flag=0; +#ifdef __RUN_SELF + iptrans_timer(); + debug_rt(); +#endif + if(flag==0) + { + flag = 1; + snmp_timer(); + alarm_Gen_timer(); + flag = 0; + } +} + + +void SetTimer() +{ + struct sigaction act; + act.sa_handler = On_Timer; + sigemptyset(&act.sa_mask); + + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) + { + perror("Produce Sigaction"); + exit(1); + } + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) + { + printf("Setting Timer error! \n"); + exit(1); + } +} + + diff --git a/src/faultMgr/c_program/alarmGenerator/conf.tgz b/src/faultMgr/c_program/alarmGenerator/conf.tgz new file mode 100644 index 0000000..0f7fc1e Binary files /dev/null and b/src/faultMgr/c_program/alarmGenerator/conf.tgz differ diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/IWV-SMI.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/IWV-SMI.txt new file mode 100644 index 0000000..f35678c --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/IWV-SMI.txt @@ -0,0 +1,40 @@ +-- ***************************************************************** +-- IWV-SMI: interWAVE Enterprise Structure of Management Information +-- +-- draft November 2000, Huang qilong +-- 1st November 2004, Sheng Xueqiang +-- +-- Copyright (c) 2000 by interWAVE, Inc. +-- All rights reserved. +-- +-- ***************************************************************** +-- + +IWV-SMI DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-IDENTITY, + enterprises + FROM SNMPv2-SMI; + +IWV MODULE-IDENTITY + LAST-UPDATED "0411170000Z" + ORGANIZATION "interWAVE, Inc." + CONTACT-INFO + "http://www.iwv.com" + DESCRIPTION + "The Structure of Management Information for the interWAVE enterprise." + REVISION "200411170000Z" + DESCRIPTION + "1st version of this MIB module." + ::= { enterprises 1373 } -- assigned by IANA + + +IWV_Products OBJECT-IDENTITY + STATUS current + DESCRIPTION + "iwvProducts is the root OBJECT IDENTIFIER from which sysObjectID values are assigned. Actual values are defined in IWV-PRODUCTS-MIB." + ::= { IWV 1 } + +END diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/Special_App-SMI.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/Special_App-SMI.txt new file mode 100644 index 0000000..36d2a55 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/Special_App-SMI.txt @@ -0,0 +1,43 @@ +-- ***************************************************************** +-- Special_App-SMI: WXC2 Structure of Management Information +-- +-- draft November 2004, Sheng Xueqiang +-- +-- Copyright (c) 2004 by interWAVE, Inc. +-- All rights reserved. +-- +-- ***************************************************************** +-- + +Special_App-SMI DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-IDENTITY, + FROM SNMPv2-SMI + IWV_Products + FROM IWV-SMI; + +Special_App MODULE-IDENTITY + LAST-UPDATED "0411180000Z" + ORGANIZATION "interWAVE, Inc." + CONTACT-INFO + "http://www.iwv.com" + DESCRIPTION + "The Structure of Management Information for the Special Application of interWAVE enterprise." + REVISION "200411180000Z" + DESCRIPTION + "1st version of this MIB module." + ::= { IWV_Products 2 } + +-- CNF Center +-- IWF +IWF OBJECT-IDENTITY + STATUS current + DESCRIPTION + "IWF " + ::= { Special_App 8 } + +-- PPP Route + +END diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/System_IP_List.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/System_IP_List.txt new file mode 100644 index 0000000..65a7dd6 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/System_IP_List.txt @@ -0,0 +1,60 @@ +// host ip +// "//" is the annotation characters; ";" is the septation characters; +8KE1_0_0 -- ; 172.18.0.1; +8KE1_0_1 -- ; 172.18.1.1; +8KE1_0_2 -- ; 172.18.2.1; +8KE1_0_3 -- ; 172.18.3.1; +8KE1_0_4 -- ; 172.18.4.1; +8KE1_0_5 -- ; 172.18.5.1; +8KE1_0_6 -- ; 172.18.6.1; +8KE1_0_7 -- ; 172.18.7.1; +8KE1_0_8 -- ; 172.18.8.1; +8KE1_0_9 -- ; 172.18.9.1; +8KE1_0_10 -- ; 172.18.9.1; +8KE1_0_11 -- ; 172.18.9.1; +8KE1_0_12 -- ; 172.18.9.1; +8KE1_0_13 -- ; 172.18.13.1; +8KE1_0_14 -- ; 172.18.14.1; +8KE1_0_15 -- ; 172.18.15.1; +8KE1_1_0 -- ; 172.18.16.1; +8KE1_1_1 -- ; 172.18.17.1; +8KE1_1_2 -- ; 172.18.18.1; +8KE1_1_3 -- ; 172.18.19.1; +8KE1_1_4 -- ; 172.18.20.1; +8KE1_1_5 -- ; 172.18.21.1; +8KE1_1_6 -- ; 172.18.22.1; +8KE1_1_7 -- ; 172.18.23.1; +8KE1_1_8 -- ; 172.18.24.1; +8KE1_1_9 -- ; 172.18.25.1; +8KE1_1_10 -- ; 172.18.26.1; +8KE1_1_11 -- ; 172.18.27.1; +8KE1_1_12 -- ; 172.18.28.1; +8KE1_1_13 -- ; 172.18.29.1; +8KE1_1_14 -- ; 172.18.30.1; +8KE1_1_15 -- ; 172.18.31.1; +PLAT_0_0 -- ; 172.18.144.1; +PLAT_1_0 -- ; 172.18.133.1; +MTP3_0_0 mss-0 ; 172.18.144.1; +MTP3_1_0 mss-1 ; 172.18.133.1; +SCCP_0_0 mss-0 ; 172.18.144.1; +SCCP_1_0 mss-1 ; 172.18.133.1; +XAPP_0_0 MSS-0 ; 172.18.144.1; +XAPP_1_0 MSS-1 ; 172.18.133.1; +SMPP_0_0 SMPP-0; 172.18.144.1; +MSC_0_0 -- ; 172.18.234.231; +MSC_1_0 -- ; 172.18.133.1; +CCF(MSC)_0_0 --; 172.18.234.231; +CCF(MSC)_1_0 --; 172.18.133.1; +VLR_0_0 VLR-0 ; 172.18.234.231; +VLR_1_0 VLR-1 ; 172.18..1; +HLR_0_0 -- ; 172.18.234.231; +HLR_1_0 -- ; 172.18.234.230; +AUC_0_0 -- ; 172.18.234.231; +AUC_1_0 -- ; 172.18.234.230; +SMSC_0_0 -- ; 172.18.224.231; +SMSC_1_0 -- ; 172.18.234.230; +PPS_0_0 -- ; 172.18.234.230; +PPS_1_0 -- ; 172.18.234.230; +EIR_0_0 -- ; 172.18.234.231; +MSS_0_0 wxc2-0 ; 172.18.234.231; +MSS_1_0 wxc2-1 ; 172.18.133.1; diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/WXC2-SMI.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/WXC2-SMI.txt new file mode 100644 index 0000000..2e3727b --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/WXC2-SMI.txt @@ -0,0 +1,57 @@ +-- ***************************************************************** +-- WXC2-SMI: WXC2 Structure of Management Information +-- +-- draft November 2000, Huang qilong +-- 1st November 2004, Sheng Xueqiang +-- +-- Copyright (c) 2004 by interWAVE, Inc. +-- All rights reserved. +-- +-- ***************************************************************** +-- + +WXC2-SMI DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-IDENTITY, + FROM SNMPv2-SMI + IWV_Products + FROM IWV-SMI; + +WXC2 MODULE-IDENTITY + LAST-UPDATED "200506050000Z" + ORGANIZATION "interWAVE, Inc." + CONTACT-INFO + "http://www.iwv.com" + DESCRIPTION + "The Structure of Management Information for the WXC2 of interWAVE enterprise." + REVISION "200506050000Z" + DESCRIPTION + "1st version of this MIB module." + ::= { IWV_Products 3 } + +-- WXC2_PCM +PCM OBJECT-IDENTITY + STATUS current + DESCRIPTION + "PCM " + ::= { WXC2 1 } + + +-- WXC2_platform +Platform OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Platform " + ::= { WXC2 2 } + +-- WXC2_App + +App OBJECT-IDENTITY + STATUS current + DESCRIPTION + "App platform" + ::= { WXC2 3 } + +END diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/WXC2-SS7-MIB.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/WXC2-SS7-MIB.txt new file mode 100644 index 0000000..dcbc749 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/WXC2-SS7-MIB.txt @@ -0,0 +1,3729 @@ +WXC2-SS7-MIB DEFINITIONS ::= BEGIN +IMPORTS + OBJECT-TYPE, Integer32, Opaque + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, DisplayString, TruthValue + FROM SNMPv2-TC + Platform + FROM WXC2-SMI; + +SS7 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + Subsystems for SS7 . + " + ::= { Platform 2 } + + +-- +-- sub system MTP3 +-- + +MTP3 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_Module]Subsystems for MTP3 . + " + ::= { SS7 2 } + +Config_MTP3 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " MTP3 Configuration. " + ::= { MTP3 2 } + +Network_Indicator OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Field: [1]International network + { + [u]0.0-0.0 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [2]International network spare + { + [u]0.1-0.1 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [3]National network + { + [u]0.2-0.2 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [4]National network spare + { + [u]0.3-0.3 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [5]International network + { + [u]0.4-0.4 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [6]International network spare + { + [u]0.5-0.5 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [7]National network + { + [u]0.6-0.6 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [8]National network spare + { + [u]0.7-0.7 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + Remark: MTP3 network indicator. + [End] + " + ::= { Config_MTP3 2 } + + + + +OPC OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Originating point code. " + ::= { Config_MTP3 3 } + +International_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 1 } + +International_Spare_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 2 } + +National_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 3 } + +National_Spare_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 4 } + +International_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 5 } + +International_Spare_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 6} + +National_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 7 } + +National_Spare_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 8 } + +Linkset OBJECT-IDENTITY + STATUS current + DESCRIPTION + " linkset. " + ::= { Config_MTP3 4 } + +Linkset_Attributes OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 4 + Default: 00000000 + Field: [1]Linkset DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Network indicator + { + [u]3.0-3.1 + [u]select + [v]0[opt]International + [v]1[opt]International spare + [v]2[opt]National + [v]3[opt]National spare + } + [3]Reserved + { + [u]3.2-3.2 + [u]select + } + [4]Linkset loopback + { + [u]3.3-3.3 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [5]Reserved + { + [u]3.4-3.7 + [u]select + } + Remark: Opposite point code: The opposite point code of the linkset. + Network indicator: The network type of the opposite point code. + Loop back: Loop back enable or disable, used for MSC loop back link. + [End] + " + ::= { Linkset 1 } + +Link OBJECT-IDENTITY + STATUS current + DESCRIPTION + " link. " + ::= { Config_MTP3 5 } + +Link_Attributes OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 15 + Default: 8010FFFFFFFF000000000000000000 + Field: [1]Linkset no. + { + [u]00.0-00.7 + [u]input + [v]toDec-high-0 + } + [2]SLC no. + { + [u]01.0-01.7 + [u]input + [v]toDec-high-0 + } + [3]CPC IP + { + [u]02.0-05.7 + [u]input + [v]keepHex-high-0 + } + [4]Link Type + { + [u]06.0-06.0 + [u]select + [v]0[opt]Non-sigtran + [v]1[opt]Sigtran + } + [5]Link Enable + { + [u]06.1-06.1 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [6]MTP3-Lite Enable + { + [u]06.2-06.2 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [7]Reserved + { + [u]06.3-06.7 + [u]select + } + [8]SG no. + { + [u]07.0-07.7 + [u]input + [v]toDec-high-0 + } + [9]M2UA Interface ID + { + [u]08.0-08.7 + [u]input + [v]toDec-high-0 + } + [10]MTP3-Lite Remote IP + { + [u]09.0-12.7 + [u]input + [v]keepHex-high-0 + } + [11]MTP3-Lite Inactivity Timeout + { + [u]13.0-13.7 + [u]input + [v]toDec-high-0 + } + [12]MTP3-Lite Allowed Inactivity Timeouts + { + [u]14.0-14.7 + [u]input + [v]toDec-high-0 + } + Remark: E1 link attributes. + Linkset no.: Assign linkset to E1 link, MSC has up to 128 linksets (0-127). 128=TCH E1. + SLC no.: Assign SLC to each E1 link of a linkset, each linkset has up to 13 E1 links (0-15). + IP: E1 link management IP. The third byte of CPC IP: + 98=E1 link 0-127, 99=E1 link 128-255. + Default=0x000032. + [End] + " + ::= { Link 1 } + +Link_Command OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 01 + Field: [1]E1 link + { + [u]0.0-0.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + [v]2[opt]Inhibit + [v]3[opt]Uninhibit + } + Remark: Used for E1 link control, not affect call traffic. + Disable=Disable E1 link MTP2 layer. + Enable=Enable a disabled E1 link MTP2 layer. + Inhibit=Inhibit E1 link MTP3 layer. + Uninhibit=Uninhibit a inhibited E1 link MTP3 layer. + Default=Enable a disabled E1 link MTP2 layer. + [End] + " + ::= { Link 2 } + +TCP_Port OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-writed + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 1388 + Field: [1]TCP Port + { + [u]0.0-1.7 + [u]input + [v]toDec-high-0 + } + Remark: TCP server port for SCCP-Lite. + [End] + " + ::= { Link 3 } + +Routing OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Routing. " + ::= { Config_MTP3 6 } + +International OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 1 } + +International_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 2 } + +National OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 3 } + +National_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 4 } + +SPC_to_ACN OBJECT-IDENTITY + STATUS current + DESCRIPTION + " SPC to ACN. " + ::= { Config_MTP3 7 } + +Local_ACN OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 1 } + +International OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 2 } + +International_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 3 } + +National OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 4 } + +National_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 5 } + +Signaling_Gateway OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 7 + Default: 00000000000000 + Field: [1]Enable + { + [u]00.0-00.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [2]Server + { + [u]01.0-01.7 + [u]select + [v]0[opt]Client + [v]1[opt]Server + } + [3]ACK + { + [u]02.0-02.7 + [u]select + [v]0[opt]no ACK + [v]1[opt]ACK + } + [4]IP + { + [u]03.0-06.7 + [u]input + [v]keepHex-high-0 + } + Remark: SG attributes + [End] + " + ::= { Config_MTP3 9 } + +Status_MTP3 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " MTP3 Status. " + ::= { MTP3 3 } + +Link_Status OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 01 + Field: [1]Link status + { + [u]0.0-0.7 + [u]select + [v]0[opt]Unavailable + [v]1[opt]Available + [v]2[opt]Inhibited + } + Remark: E1 link MTP3 status (Read Only). + [End] + " + ::= { Status_MTP3 1 } + +Linkset_Status OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 1 + Default: 01 + Field: [1]Linkset status + { + [u]0.0-0.7 + [u]select + [v]0[opt]Unavailable + [v]1[opt]Available + [v]2[opt]Reserved + } + Remark: Linkset status (Read only). + [End] + " + ::= { Status_MTP3 2 } + +International_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8A + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 3 } + +International_Spare_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 4 } + +National_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 5 } + +National_Spare_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 6 } + + + +Command_MTP3 OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag :S1.3 + Field: [1]command + { + [u]0.0-0.7 + [u]select + [v]0[opt]No command + [v]1[opt]Reset + [v]2[opt]Save parameter + } + Remark: Control command for MTP3 platform. + Reset=status initialization. + Save parameter=save parameters residing in memory into harddisk. + [End] + " + ::= { Status_MTP3 7 } + +-- +-- sub system SCCP +-- + +SCCP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_Module]Subsystems for SCCP . + " + ::= { SS7 3 } + +Config_SCCP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " SCCP Configuration. " + ::= { SCCP 2 } + +Local_Node OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Local Node. " + ::= { Config_SCCP 1 } + +OMC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: OMC E.134 number. + IP0: OMC0 IP, 172.18.128.1. + IP1: OMC1 IP, 172.18.129.1. + [End] + " + ::= { Local_Node 4 } + +HLR OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: HLR E.134 number. + IP0: HLR0 IP, 172.18.98.1. + IP1: HLR1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 6 } + +VLR OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: VLR E.134 number. + IP0: VLR0 IP, 172.18.98.1. + IP1: VLR1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 7 } + +MSC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: MSC E.134 number. + IP0: MSC0 IP, 172.18.98.1. + IP1: MSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 8 } + +EIR OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: EIR E.134 number. + IP0: EIR0 IP, 172.18.98.1. + IP1: EIR1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 9 } + +AUC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: AUC E.134 number. + IP0: AUC0 IP, 172.18.98.1. + IP1: AUC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 10 } + +SMSC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: SMSC E.134 number. + IP0: OMC0 IP, 172.18.98.1. + IP1: OMC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 11 } + +SMPP_EMSE OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: VMS-SMPP E.134 number. + IP0: VMS0 IP, 172.18.147.1. + IP1: VMS1 IP, 172.18.148.1. + [End] + " + ::= { Local_Node 19 } + +SMPP_SMSC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: SMSC-SMPP E.134 number. + IP0: SMSC0 IP, 172.18.98.1. + IP1: SMSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 20 } + +SMPP_OMC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: OMC-SMPP E.134 number. + IP0: OMC0 IP, 172.18.128.1. + IP1: OMC1 IP, 172.18.129.1. + [End] + " + ::= { Local_Node 21 } + +SRF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: VMS SRF E.134 number. + IP0: VMS0 IP, 172.18.147.1. + IP1: VMS1 IP, 172.18.148.1. + [End] + " + ::= { Local_Node 22 } + +SSF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: MSC SSF E.134 number. + IP0: MSC0 IP, 172.18.98.1. + IP1: MSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 143 } + +SCF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: PPS SCF E.134 number. + IP0: PPS0 IP, 172.18.98.1. + IP1: PPS1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 147 } + +AIF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: AIF E.134 number. + IP0: MSC0 IP, 172.18.98.1. + IP1: MSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 254 } + +GTT_Table OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 43 + Default: 000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000007000000FFFFFFFFFFFFFFFFFFFF + Field: [1]On/off + { + [u]00.0-00.7 + [u]select + [v]1[opt]On + [v]0[opt]Off + } + [2]Numbering plan + { + [u]01.0-01.7 + [u]select + [v]0[opt]0 + [v]1[opt]MSISDN + [v]6[opt]IMSI + [v]7[opt]GT + } + [3]TT + { + [u]02.0-02.7 + [u]input + [v]keepHex-low-F + } + [4]Start GT number + { + [u]03.0-12.7 + [u]input + [v]keepHex-low-F + } + [4]End GT number + { + [u]13.0-22.7 + [u]input + [v]keepHex-low-F + } + [5]Network indicator + { + [u]23.0-23.7 + [u]select + [v]0[opt]0 + [v]1[opt]1 + [v]2[opt]2 + [v]3[opt]3 + } + [6]DPC + { + [u]24.0-26.7 + [u]input + [v]toDec-high-0 + } + [7]SSN + { + [u]27.0-27.7 + [u]input + [v]toDec-high-0 + } + [8]Route indicator + { + [u]28.0-28.7 + [u]select + [v]0[opt]Route on GT + [v]1[opt]Route on SSN + } + [9]Address indicator + { + [u]29.0-29.7 + [u]select + [v]0[opt]NULL + [v]3[opt]DPC+SSN + [v]6[opt]GT+SSN + [v]7[opt]GT+DPC+SSN + } + [10]Replaced start digit + { + [u]30.0-30.7 + [u]input + [v]keepHex-high-0 + } + [11]Replaced end digit + { + [u]31.0-31.7 + [u]input + [v]keepHex-high-0 + } + [12]Outgoing number plan + { + [u]32.0-32.7 + [u]select + [v]1[opt]MSISDN + [v]6[opt]IMSI + [v]7[opt]GT + } + [13]Replacing digits + { + [u]33.0-42.7 + [u]input + [v]keepHex-low-F + } + Remark: On/off: GTT flag, off=disable, on=enable. + Numbering plan: 1=MSISDN, 3=IMSI, 7=GT. + Specify the beginning number of a group of consecutive numbers routed by GTT, for single-number GTT route, the start number is same as the end number. + End GT number: Specify the end number of a group of consecutive number routed by GT. If there are some inconsecutive numbers for a same destination, a different GTT record should be set. + Network indicator (NI): 0=International network, 1=International network spare, 2=National network, 3=National network spare, + DPC: Destination point code. + SSN: Subsystem number. + 2=Reserved for ITU-T allocation. + 3=ISDN user part. + 4=OMC. + 5=MAP. + 3=HLR. + 7=VLR. + 8=MSC. + 9=EIR. + 10=AUC. + 11=SMSC. + 147=PPS. + 254=BSSMAP. + Route indicator: For IMSI and MSISDN, select Route on SSN. For the record of the connected network, select Route on GT. + Address indicator: select the contribution of SCCP Address. + Replaced start digit: Specify the beginning digit of a segment of digits to be replaced within a GT number, the replacement is for changing number and numbering plan. + Replaced end digit: Specify the end digit of a segment of digits to be replaced within a GT number, the replacement is for changing number and numbering plan. + Outgoing number plan: Outgoing number plan, include MSISDN, IMSI and GT. + Replacing digits: Replacing digits, the length of replacing digits and replaced digits may be different. + [End] + " + ::= { Config_SCCP 2 } + +Management OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Management. " + ::= { SCCP 3 } + +Version OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: + Remark: Version of SCCP platform software (Read Only). + Byte0: System release version number, based on basic function and structure. + Byte1: Software module version number, based on software module. + Byte2: Test version, 0=Release version number, 1=Test version number. + [End] + " + ::= { Management 1 } + +Command_SCCP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag : S1.2 + Field: [1]Command + { + [u]00.0-00.7 + [u]select + [v]0[opt]Reset + [v]2[opt]Save parameters + } + Remark: Control command for SCCP. + Reset: Used for SCCP status initialization. + Load parameter: Load the parameters from device's harddisk to device's memory. + Save parameter: Save the parameters residing in device's memory into device's harddisk. + [End] + " + ::= { Management 2 } + +-- +-- sub system XAPP +-- + +XAPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_Module]Subsystems for XAPP . + " + ::= { SS7 5 } + +Config_XAPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " XAPP Configuration. " + ::= { XAPP 2 } + +MCC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 460E + Field: [1]MCC + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + + Remark: Mobile country code. + [End] + " + ::= { Config_XAPP 1 } + +MNC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 02 + Field: [1]MNC + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-E + } + Remark: Mobile network code. + [End] + " + ::= { Config_XAPP 2 } + +CC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 86EE + Field: [1]CC + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + Remark: Country code. + [End] + " + ::= { Config_XAPP 3 } + +NDC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 755EEE + Field: [1]NDC + { + [u]00.0-02.7 + [u]input + [v]keepHex-low-E + } + Remark: National destination code. + [End] + " + ::= { Config_XAPP 4 } + +International_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 00ee + Field: [1]International prefix + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + Remark: International call prefix. + [End] + " + ::= { Config_XAPP 5 } + +National_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 0EEE + Field: [1]National prefix + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + + Remark: National call prefix. + [End] + " + ::= { Config_XAPP 6 } + +Local_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: EEEE + Field: + Remark: Local prefix. + [End] + " + ::= { Config_XAPP 7 } + +Conv_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 35 + Default: 0000000000000000000000000000000000000000000000000000000000000000000000 + Field: [1]Prefix + { + [u]00.0-15.7 + [u]input + [v]toAscii-low-0 + } + [2]Delete length + { + [u]16.0-16.7[u]input + [v]toDec-high-0 + } + [3]Add length + { + [u]17.0-17.7 + [u]input + [v]toDec-high-0 + } + [4]Add digits + { + [u]18.0-33.7 + [u]input + [v]toAscii-low-0 + } + [5]Valid length + { + [u]34.0-34.7 + [u]input + [v]toDec-high-0 + } + Remark: Conv prefix . + [End] + " + ::= { Config_XAPP 8 } + +CLI_Conv_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 8 + Length: 37 + Default: 0000000000000000000000000000000000000000000000000000000000000000000000 + Field: [1]In property + { + [u]00.0-00.7 + [u]select + [v]1[opt]IDD + [v]2[opt]NDD + [v]3[opt]Unknown + } + [2]Prefix + { + [u]01.0-16.7 + [u]input + [v]toAscii-low-0 + } + [3]Delete length + { + [u]17.0-17.7 + [u]input + [v]toDec-high-0 + } + [4]Out property + { + [u]18.0-18.7 + [u]select + [v]1[opt]IDD + [v]2[opt]NDD + [v]3[opt]Unknown + } + [5]Add length + { + [u]19.0-19.7 + [u]input + [v]toDec-high-0 + } + [6]Add digits + { + [u]20.0-35.7 + [u]input + [v]toAscii-low-0 + + } + [7]Valid length + { + [u]36.0-36.7 + [u]input + [v]toDec-high-0 + } + Remark: CLI_Conv prefix . + [End] + " + ::= { Config_XAPP 9 } + +mscid_to_number OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 12 + Default: 00000000EEEEEEEEEEEEEEEE + Field: + + [1]Market ID + { + [u]0.0-1.7 + [u]input + [v]toDec-high-0 + } + [2]Switch Number + { + [u]2.0-2.7 + [u]input + [v]toDec-high-0 + } + [3]SSN + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [4]Number + { + [u]04.0-11.7 + [u]input + [v]keepHex-low-E + } + Remark: Conv prefix . + [End] + " + ::= { Config_XAPP 10 } + +Status_XAPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " XAPP Status. " + ::= { XAPP 3 } + +Version_XAPP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: + Remark: Version of XAPP module (Read Only). + Byte0: System release version number, based on basic function and structure. + Byte1: Software module version number, based on software module. + Byte2: Test version, 0=Release version number, 1=Test version number. + [End] + " + ::= { Status_XAPP 1 } + +Command_XAPP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag: S1.1 + Field: [1]Command + { + [u]00.0-00.7 + [u]select + [v]01[opt]Save parameters + } + Remark: Control command for XAPP. + Save parameter: Save the parameters in memory into local harddisk. + [End] + " + ::= { Status_XAPP 2 } + +Maplat OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + Subsystems for Maplat . + " + ::= { Platform 3 } +-- +-- sub system SMPP +-- + +SMPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_Module]Subsystems for SMPP . + " + ::= { Maplat 4 } + +Config_SMPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " SMPP Configuration. " + ::= { SMPP 2 } +SMPP_Link_Parameter OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 32 + Length: 106 + Default: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + Field:[1]Link enable + { + [u]0.0-0.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [2]Link type + { + [u]1.0-1.7 + [u]select + [v]0[opt]UDP + [v]1[opt]TCP + } + [3]Server type + { + [u]2.0-2.7 + [u]select + [v]0[opt]SMPP_CLIENT + [v]1[opt]SMPP_SERVER + } + [4]Session type + { + [u]3.0-3.7 + [u]select + [v]00[opt]BIND_TX + [v]01[opt]BIND_RX + [v]02[opt]BIND_TRX + } + [5]System ID + { + [u]4.0-19.7 + [u]input + [v]toAscii-low-0 + } + [6]Password + { + [u]20.0-28.7 + [u]input + [v]toAscii-low-0 + } + [7]System type + { + [u]29.0-41.7 + [u]input + [v]toAscii-low-0 + } + [8]Local GTT + { + [u]42.0-57.7 + [u]input + [v]toAscii-low-0 + } + [9]Remote GTT + { + [u]58.0-73.7 + [u]input + [v]toAscii-low-0 + } + [10]Local IP + { + [u]74.0-77.7 + [u]input + [v]keepHex-low-F + } + [11]Remote IP + { + [u]78.0-81.7 + [u]input + [v]keepHex-low-F + } + [12]Session init timer + { + [u]82.0-85.7 + [u]input + [v]toDec-high-0 + } + [13]Enquire link timer + { + [u]86.0-89.7 + [u]input + [v]toDec-high-0 + } + [14]Inactivity timer + { + [u]90.0-93.7 + [u]input + [v]toDec-high-0 + } + [15]Response timer + { + [u]94.0-97.7 + [u]input + [v]toDec-high-0 + } + [16]Remote service number + { + [u]98.0-105.7 + [u]input + [v]toAscii-low-0 + } + + Remark: Session type: BIND_TX-bind as transmitter, BIND_RX-bind as receiver, BIND_TRX-bind as transceiver. + System ID: using in BIND and OUTBIND. + Password: The password parameter is used by the SMSC to authenticate the identity of the binding ESME. The Service Provider may require ESME’s to provide a password when binding to the SMSC. This password is normally issued by the SMSC system administrator. + The password parameter may also be used by the ESME to authenticate the identity of the binding SMSC (e.g. in the case of the outbind operation). + System type: The system_type may be used to categorise the system, e.g., “EMAIL”, “WWW”, etc. + The system_type parameter is used to categorize the type of ESME that is binding to the SMSC. Examples include “VMS” (voice mail system) and “OTA” (over-the-air activation system). + Specification of the system_type is optional - some SMSC’s may not require ESME’s to provide this detail. In this case, the ESME can set the system_type to NULL. + IP: Specify the IP addresses of 16 SMPP connected devices.
e.g. 0xAC127001=172.18.112.1.
+ Session init timer: This timer specifies the time lapse allowed between a network connection being established and a bind_transmitter or bind_receiver request being sent to SMSC. This timer should be active on the SMSC. + Enquire link timer: This timer specifies the time lapse allowed between operations after which an SMPP entity should interrogate whether it's peer still has an active session. + The scale is second. + Inactivity timer: This timer specifies the maximum time lapse allowed between transactions, after which period of inactivity, an SMPP entity may assume that the session is no longer active. This timer may be active on either commnicating SMPP entity(i.e. SMSC or ESME) + Response timer: This timer specifies the maximum time lapse allowed between transactions, after which period of inactivity, an SMPP entity may assume that the session is no longer active. This timer may be active on either commnicating SMPP entity(i.e. SMSC or ESME) + Local service number: compare with application's service number while bind as TX or TRX. + remote service number: compare with application's service number while bind as RX + [End] + " + ::= { Config_SMPP 1 } + + +Status_SMPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " XAPP Status. " + ::= { SMPP 3 } + +Command_SMPP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 02 + Flag :S1.1 + Field: [1]Command + { + [u]00.0-00.7 + [u]select + [v]2[opt]save parameter + } + Remark: Control command for SMPP. + [End] + " + ::= { Status_SMPP 2 } + + +END diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/help_page b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/help_page new file mode 100644 index 0000000..19aac88 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/help_page @@ -0,0 +1,885 @@ +############## The debug menu tree config file root=wxc2 root_oid={1.3.6.1.4.1.1373.1.3} +#(0)(1)(2)(9) ip group +#/ the layer +#.1.1.3. menu_id +#{3.2.2.1.2} the last oid from the root +#[name] menu name +#M:8 the id of the menu in the current object +############## all the line must end for ';',and menu id and last oid must do not contain space + +##WXC2 +/. (9); + +M:1 [MSC] {3.2}; +M:2 [VLR] {3.2.5}; +M:3 [HLR] {3.3}; +M:4 [PPS] {3.6}; +M:5 [SMSC] {3.5}; +M:6 [AUC] {3.4}; +##M:7 [EIR] {3.8}; + +##MSC +/ /.1. (9); + +M:1 [Prefix Assignment] {3.2.2.2.1.1}; +M:2 [Prefix Attributes] {3.2.2.2.1.2}; +M:3 [Assign TG to Prefix] {3.2.2.2.1.3}; +M:4 [TG attributes] {3.2.2.2.1.4}; +M:5 [CDR Flag] {3.2.2.2.1.5}; +M:6 [Announcement Option] {3.2.2.2.1.6}; +M:7 [Warning tone] {3.2.2.2.1.7}; +M:8 [Emergency call] {3.2.2.2.2.5}; +M:9 [Location management] {3.2.2.2.2.8}; +M:10 [Max. call duration] {3.2.2.2.3.7}; +M:11 [E1 Port] {3.2.2.2.4}; +M:12 [channel attributes] {3.2.2.2.5}; +M:13 [Platform] {2}; +M:14 [MSC0] (1) {3.2}; +M:15 [MSC1] (2) {3.2}; + +##MSC->E1 Port +/ / /.1.11. (9); + +M:1 [E1 interface] {3.2.2.2.4.1}; +M:2 [Assign TG to E1] {3.2.2.2.4.2}; +M:3 [CIC of E1] {3.2.2.2.4.3}; + +##MSC->channel attributes->8K card 0-31 +/ / /.1.12. (9); + +M:1 [Card 0 channel attributes] {3.2.2.2.5.1}; +M:2 [Card 1 channel attributes] {3.2.2.2.5.2}; +M:3 [Card 2 channel attributes] {3.2.2.2.5.3}; +M:4 [Card 3 channel attributes] {3.2.2.2.5.4}; +M:5 [Card 4 channel attributes] {3.2.2.2.5.5}; +M:6 [Card 5 channel attributes] {3.2.2.2.5.6}; +M:7 [Card 6 channel attributes] {3.2.2.2.5.7}; +M:8 [Card 7 channel attributes] {3.2.2.2.5.8}; +M:9 [Card 8 channel attributes] {3.2.2.2.5.9}; +M:10 [Card 9 channel attributes] {3.2.2.2.5.10}; +M:11 [Card 10 channel attributes] {3.2.2.2.5.11}; +M:12 [Card 11 channel attributes] {3.2.2.2.5.12}; +M:13 [Card 12 channel attributes] {3.2.2.2.5.13}; +M:14 [Card 13 channel attributes] {3.2.2.2.5.14}; +M:15 [Card 14 channel attributes] {3.2.2.2.5.15}; +M:16 [Card 15 channel attributes] {3.2.2.2.5.16}; +M:17 [Card 16 channel attributes] {3.2.2.2.5.17}; +M:18 [Card 17 channel attributes] {3.2.2.2.5.18}; +M:19 [Card 18 channel attributes] {3.2.2.2.5.19}; +M:20 [Card 19 channel attributes] {3.2.2.2.5.20}; +M:21 [Card 20 channel attributes] {3.2.2.2.5.21}; +M:22 [Card 21 channel attributes] {3.2.2.2.5.22}; +M:23 [Card 22 channel attributes] {3.2.2.2.5.23}; +M:24 [Card 23 channel attributes] {3.2.2.2.5.24}; +M:25 [Card 24 channel attributes] {3.2.2.2.5.25}; +M:26 [Card 25 channel attributes] {3.2.2.2.5.26}; +M:27 [Card 26 channel attributes] {3.2.2.2.5.27}; +M:28 [Card 27 channel attributes] {3.2.2.2.5.28}; +M:29 [Card 28 channel attributes] {3.2.2.2.5.29}; +M:30 [Card 29 channel attributes] {3.2.2.2.5.30}; +M:31 [Card 30 channel attributes] {3.2.2.2.5.31}; +M:32 [Card 31 channel attributes] {3.2.2.2.5.32}; + + +##MSC->Platform +/ / /.1.13. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##MSC->Platform->MTP3 +/ / /.1.13.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [ACN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##MSC->Platform->MTP3->Status +/ / /.1.13.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##MSC->Platform->SCCP +/ / /.1.13.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##MSC->Platform->XAPP +/ / /.1.13.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + + +##MSC->MSC0->E1 status +/ / /.1.14. (1); + +M:1 [E1 Status] {3.2.2.3.4}; +M:2 [Channel Status] {3.2.2.3.5}; +M:3 [CSU0] {1.1}; + + +##MSC->MSC1->E1 status +/ / /.1.15. (2); + +M:1 [E1 Status] {3.2.2.3.4}; +M:2 [Channel Status] {3.2.2.3.5}; +M:3 [CSU1] {1.1}; + + +##MSC->MSC0->Channel Status +/ / / /.1.14.2. (1); + +M:1 [8K Card 0] {3.2.2.3.5.1}; +M:2 [8K Card 1] {3.2.2.3.5.2}; +M:3 [8K Card 2] {3.2.2.3.5.3}; +M:4 [8K Card 3] {3.2.2.3.5.4}; +M:5 [8K Card 4] {3.2.2.3.5.5}; +M:6 [8K Card 5] {3.2.2.3.5.6}; +M:7 [8K Card 6] {3.2.2.3.5.7}; +M:8 [8K Card 7] {3.2.2.3.5.8}; +M:9 [8K Card 8] {3.2.2.3.5.9}; +M:10 [8K Card 9] {3.2.2.3.5.10}; +M:11 [8K Card 10] {3.2.2.3.5.11}; +M:12 [8K Card 11] {3.2.2.3.5.12}; +M:13 [8K Card 12] {3.2.2.3.5.13}; +M:14 [8K Card 13] {3.2.2.3.5.14}; +M:15 [8K Card 14] {3.2.2.3.5.15}; +M:16 [8K Card 15] {3.2.2.3.5.16}; + + +##MSC->MSC1->channel status +/ / / /.1.15.2. (2); + +M:1 [8K Card 0] {3.2.2.3.5.1}; +M:2 [8K Card 1] {3.2.2.3.5.2}; +M:3 [8K Card 2] {3.2.2.3.5.3}; +M:4 [8K Card 3] {3.2.2.3.5.4}; +M:5 [8K Card 4] {3.2.2.3.5.5}; +M:6 [8K Card 5] {3.2.2.3.5.6}; +M:7 [8K Card 6] {3.2.2.3.5.7}; +M:8 [8K Card 7] {3.2.2.3.5.8}; +M:9 [8K Card 8] {3.2.2.3.5.9}; +M:10 [8K Card 9] {3.2.2.3.5.10}; +M:11 [8K Card 10] {3.2.2.3.5.11}; +M:12 [8K Card 11] {3.2.2.3.5.12}; +M:13 [8K Card 12] {3.2.2.3.5.13}; +M:14 [8K Card 13] {3.2.2.3.5.14}; +M:15 [8K Card 14] {3.2.2.3.5.15}; +M:16 [8K Card 15] {3.2.2.3.5.16}; + + +##MSC->MSC0->CSU0 +/ / / / /.1.14.3. (1); + +M:1 [E1 enable] {1.1.1.2.1}; +M:2 [MTP alarm on/off] {1.1.1.2.2}; +M:3 [Link type] {1.1.1.2.3}; +M:4 [NT/LT] {1.1.1.2.4}; +M:5 [DPLL priority] {1.1.1.2.5}; +M:6 [CRC4 flag] {1.1.1.2.6}; +M:7 [Ringback Tone] {1.1.1.2.7.1}; +M:8 [Busy Tone] {1.1.1.2.7.2}; +M:9 [Unavailable Tone] {1.1.1.2.7.3}; +M:10 [Congestion Tone] {1.1.1.2.7.4}; +M:11 [Proceeding Tone] {1.1.1.2.7.5}; +M:12 [Warning tone] {1.1.1.2.7.6}; +M:13 [Tone assignment] {1.1.1.2.7.9}; +M:14 [DTMF mark&space] {1.1.1.2.7.10}; +M:15 [8KE1_0] (0) {1.1.1.3}; +M:16 [8KE1_1] (0) {1.1.1.3}; +M:17 [8KE1_2] (0) {1.1.1.3}; +M:18 [8KE1_3] (0) {1.1.1.3}; +M:19 [8KE1_4] (0) {1.1.1.3}; +M:20 [8KE1_5] (0) {1.1.1.3}; +M:21 [8KE1_6] (0) {1.1.1.3}; +M:22 [8KE1_7] (0) {1.1.1.3}; +M:23 [8KE1_8] (0) {1.1.1.3}; +M:24 [8KE1_9] (0) {1.1.1.3}; +M:25 [8KE1_10] (0) {1.1.1.3}; +M:26 [8KE1_11] (0) {1.1.1.3}; +M:27 [8KE1_12] (0) {1.1.1.3}; +M:28 [8KE1_13] (0) {1.1.1.3}; +M:29 [8KE1_14] (0) {1.1.1.3}; +M:30 [8KE1_15] (0) {1.1.1.3}; + + +##MSC->MSC1->CSU1 +/ / / / /.1.15.3. (2); + +M:1 [E1 enable] {1.1.1.2.1}; +M:2 [MTP alarm on/off] {1.1.1.2.2}; +M:3 [Link type] {1.1.1.2.3}; +M:4 [NT/LT] {1.1.1.2.4}; +M:5 [DPLL priority] {1.1.1.2.5}; +M:6 [CRC4 flag] {1.1.1.2.6}; +M:7 [Ringback Tone] {1.1.1.2.7.1}; +M:8 [Busy Tone] {1.1.1.2.7.2}; +M:9 [Unavailable Tone] {1.1.1.2.7.3}; +M:10 [Congestion Tone] {1.1.1.2.7.4}; +M:11 [Proceeding Tone] {1.1.1.2.7.5}; +M:12 [Warning tone] {1.1.1.2.7.6}; +M:13 [Tone assignment] {1.1.1.2.7.9}; +M:14 [DTMF mark&space] {1.1.1.2.7.10}; +M:15 [8KE1_0] (0) {1.1.1.3}; +M:16 [8KE1_1] (0) {1.1.1.3}; +M:17 [8KE1_2] (0) {1.1.1.3}; +M:18 [8KE1_3] (0) {1.1.1.3}; +M:19 [8KE1_4] (0) {1.1.1.3}; +M:20 [8KE1_5] (0) {1.1.1.3}; +M:21 [8KE1_6] (0) {1.1.1.3}; +M:22 [8KE1_7] (0) {1.1.1.3}; +M:23 [8KE1_8] (0) {1.1.1.3}; +M:24 [8KE1_9] (0) {1.1.1.3}; +M:25 [8KE1_10] (0) {1.1.1.3}; +M:26 [8KE1_11] (0) {1.1.1.3}; +M:27 [8KE1_12] (0) {1.1.1.3}; +M:28 [8KE1_13] (0) {1.1.1.3}; +M:29 [8KE1_14] (0) {1.1.1.3}; +M:30 [8KE1_15] (0) {1.1.1.3}; + +##VLR +/ / /.2. (9); + +M:1 [OptAuthReq] {3.2.5.2.1.1}; +M:2 [OpReuseTriplets] {3.2.5.2.1.2}; +M:3 [OptCipReq] {3.2.5.2.1.3}; +M:4 [OptCiphAlgo] {3.2.5.2.1.4}; +M:5 [OptTmsiAlloc] {3.2.5.2.1.5}; +M:6 [OptEcsSetUpAllow] {3.2.5.2.1.7}; +M:7 [OptCheckIMEI] {3.2.5.2.1.8}; +M:8 [OptVlrPurge] {3.2.5.2.1.9}; +M:9 [idlePeriod2Purge] {3.2.5.2.1.10}; +M:10 [CDR flag] {3.2.5.2.1.11}; +M:11 [MSRN] {3.2.5.2.1.13}; +M:12 [VLR0] {3.2.5}; +M:13 [VLR1] {3.2.5}; + +##VLR->VLR0 + +/ / /.2.12. (1); + +M:1 [Version] {3.2.5.3.2}; +M:2 [Command] {3.2.5.3.3}; +M:3 [Status] {3.2.5.3.4}; + +##VLR->VLR0 + +/ / /.2.13. (2); + +M:1 [Version] {3.2.5.3.2}; +M:2 [Command] {3.2.5.3.3}; +M:3 [Status] {3.2.5.3.4}; + + +##HLR +/ / /.3. (9); + +M:1 [HPLMN] {3.3.2.1.11}; +M:2 [VPLMNs] {3.3.2.1.12}; +M:3 [CSRR list] {3.3.2.1.13}; +M:4 [Regional Subscription] {3.3.2.1.14}; +M:5 [License control] {3.3.2.1.15}; +M:6 [CDR control] {3.3.2.1.16}; +M:7 [Platform] {2}; +M:8 [HLR0] {3.3}; +M:9 [HLR1] {3.3}; + +##HLR->Platform +/ / /.3.7. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##HLR->Platform->MTP3 +/ / /.3.7.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [ACN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##HLR->Platform->MTP3->Status +/ / /.3.7.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##HLR->Platform->SCCP +/ / /.3.7.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##HLR->Platform->XAPP +/ / /.3.7.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + +##HLR->HLR0 + +/ / /.3.8. (1); + +M:1 [Command] {3.3.2.2.2}; +M:2 [Subscriber import] {3.3.2.2.3}; +M:3 [Max Licenses] {3.3.2.2.11}; +M:4 [Used Licenses] {3.3.2.2.12}; +M:5 [Subscriber information] {3.3.2.2.13}; +M:6 [Version] {3.3.2.2.14}; +M:7 [IMSI segment] {3.3.2.2.15}; +M:8 [MSISDN segment] {3.3.2.2.16}; +M:9 [CNF applicant info] {3.3.2.2.27}; +##M:10 [Contry code] {3.3.2.2.10}; + +##HLR->HLR0->Subscriber information + +/ / /.3.8.5. (1); + +M:1 [Provisioned subscribers] {3.3.2.2.13.1}; +M:2 [Registered subscribers] {3.3.2.2.13.2}; +M:3 [Roaming subscribers] {3.3.2.2.13.3}; + +##HLR->HLR0->Version +/ / /.3.8.6. (1); + +M:1 [Software] {3.3.2.2.14.1}; +M:2 [User data] {3.3.2.2.14.2}; + + +##HLR->HLR1 + +/ / /.3.9. (2); + +M:1 [Command] {3.3.2.2.2}; +M:2 [Subscriber import] {3.3.2.2.3}; +M:3 [Max Licenses] {3.3.2.2.11}; +M:4 [Used Licenses] {3.3.2.2.12}; +M:5 [Subscriber information] {3.3.2.2.13}; +M:6 [Version] {3.3.2.2.14}; +M:7 [IMSI segment] {3.3.2.2.15}; +M:8 [MSISDN segment] {3.3.2.2.16}; +M:9 [CNF applicant info] {3.3.2.2.27}; +##M:10 [Contry code] {3.3.2.2.10}; + +##HLR->HLR1->Subscriber information +/ / /.3.9.5. (2); + +M:1 [Provisioned subscribers] {3.3.2.2.13.1}; +M:2 [Registered subscribers] {3.3.2.2.13.2}; +M:3 [Roaming subscribers] {3.3.2.2.13.3}; + +##HLR->HLR1->Version +/ / /.3.9.6. (2); + +M:1 [Software] {3.3.2.2.14.1}; +M:2 [User data] {3.3.2.2.14.2}; + +##PPS +/ / /.4. (9); + +M:1 [Service control] {3.6.2.1.1}; +M:2 [SRF Number] {3.6.2.1.2.1}; +M:3 [Service number] {3.6.2.1.2.2}; +M:4 [Service key] {3.6.2.1.2.3}; +M:5 [COS Parameter] {3.6.2.1.4}; +M:6 [Call routing to VMS] {3.6.2.1.5}; +M:7 [Status] {3.6.2.1.6}; +M:8 [Platform] {2}; + +##PPS->Service control +/ / /.4.1. (9); + +M:1 [CDR flag] {3.6.2.1.1.1}; +M:2 [Blacklist threshhold] {3.6.2.1.1.2}; +M:3 [Maximun balance] {3.6.2.1.1.3}; +M:4 [license control] {3.6.2.1.1.4}; +M:5 [Prompt resolution] {3.6.2.1.1.5}; +M:6 [SMS Sentence] {3.6.2.1.1.6}; +M:7 [Last call info] {3.6.2.1.1.7}; +M:8 [Currency Symbol] {3.6.2.1.1.8}; +M:9 [Third party info] {3.6.2.1.1.9}; +M:10 [Basic Tariff Zone] {3.6.2.1.1.10}; + +##PPS->Service number +/ / /.4.3. (9); + +M:1 [Hotline] {3.6.2.1.2.2.1}; +M:2 [Inquiry] {3.6.2.1.2.2.2}; +M:3 [Scratch card rechagne] {3.6.2.1.2.2.3}; +M:4 [Credit card recharge] {3.6.2.1.2.2.4}; +M:5 [Third party recharge] {3.6.2.1.2.2.5}; +M:6 [Customer care center] {3.6.2.1.2.2.6}; +M:7 [Recharge] {3.6.2.1.2.2.7}; + +##PPS->Service key +/ / /.4.4. (9); + +M:1 [Inquiry] {3.6.2.1.2.3.2}; +M:2 [Scratch card rechagne] {3.6.2.1.2.3.3}; +M:3 [Credit card recharge] {3.6.2.1.2.3.4}; +M:4 [Set favorite number] {3.6.2.1.2.3.5}; +M:5 [Set password] {3.6.2.1.2.3.6}; + + +##PPS->COS Parameter +/ / /.4.5. (9); + +M:1 [COS0] {3.6.2.1.4.1}; +M:2 [COS1] {3.6.2.1.4.2}; +M:3 [COS2] {3.6.2.1.4.3}; +M:4 [COS3] {3.6.2.1.4.4}; +M:5 [COS4] {3.6.2.1.4.5}; +M:6 [COS5] {3.6.2.1.4.6}; +M:7 [COS6] {3.6.2.1.4.7}; +M:8 [COS7] {3.6.2.1.4.8}; +M:9 [COS8] {3.6.2.1.4.9}; +M:10 [COS9] {3.6.2.1.4.10}; +M:11 [COS10] {3.6.2.1.4.11}; +M:12 [COS11] {3.6.2.1.4.12}; +M:13 [COS12] {3.6.2.1.4.13}; +M:14 [COS13] {3.6.2.1.4.14}; +M:15 [COS14] {3.6.2.1.4.15}; +M:16 [COS15] {3.6.2.1.4.16}; + + +##PPS->COS Parameter->COS 0-15 +/ / /.4.5.1. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.1.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.1.2}; +M:3 [Account control] {3.6.2.1.4.1.3}; +M:4 [MT Call control] {3.6.2.1.4.1.4}; +M:5 [Validity control] {3.6.2.1.4.1.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.1.6}; + +/ / /.4.5.2. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.2.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.2.2}; +M:3 [Account control] {3.6.2.1.4.2.3}; +M:4 [MT Call control] {3.6.2.1.4.2.4}; +M:5 [Validity control] {3.6.2.1.4.2.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.2.6}; + +/ / /.4.5.3. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.3.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.3.2}; +M:3 [Account control] {3.6.2.1.4.3.3}; +M:4 [MT Call control] {3.6.2.1.4.3.4}; +M:5 [Validity control] {3.6.2.1.4.3.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.3.6}; + +/ / /.4.5.4. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.4.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.4.2}; +M:3 [Account control] {3.6.2.1.4.4.3}; +M:4 [MT Call control] {3.6.2.1.4.4.4}; +M:5 [Validity control] {3.6.2.1.4.4.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.4.6}; + +/ / /.4.5.5. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.5.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.5.2}; +M:3 [Account control] {3.6.2.1.4.5.3}; +M:4 [MT Call control] {3.6.2.1.4.5.4}; +M:5 [Validity control] {3.6.2.1.4.5.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.5.6}; + +/ / /.4.5.6. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.6.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.6.2}; +M:3 [Account control] {3.6.2.1.4.6.3}; +M:4 [MT Call control] {3.6.2.1.4.6.4}; +M:5 [Validity control] {3.6.2.1.4.6.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.6.6}; + +/ / /.4.5.7. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.7.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.7.2}; +M:3 [Account control] {3.6.2.1.4.7.3}; +M:4 [MT Call control] {3.6.2.1.4.7.4}; +M:5 [Validity control] {3.6.2.1.4.7.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.7.6}; + +/ / /.4.5.8. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.8.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.8.2}; +M:3 [Account control] {3.6.2.1.4.8.3}; +M:4 [MT Call control] {3.6.2.1.4.8.4}; +M:5 [Validity control] {3.6.2.1.4.8.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.8.6}; + +/ / /.4.5.9. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.9.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.9.2}; +M:3 [Account control] {3.6.2.1.4.9.3}; +M:4 [MT Call control] {3.6.2.1.4.9.4}; +M:5 [Validity control] {3.6.2.1.4.9.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.9.6}; + +/ / /.4.5.10. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.10.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.10.2}; +M:3 [Account control] {3.6.2.1.4.10.3}; +M:4 [MT Call control] {3.6.2.1.4.10.4}; +M:5 [Validity control] {3.6.2.1.4.10.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.10.6}; + +/ / /.4.5.11. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.11.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.11.2}; +M:3 [Account control] {3.6.2.1.4.11.3}; +M:4 [MT Call control] {3.6.2.1.4.11.4}; +M:5 [Validity control] {3.6.2.1.4.11.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.11.6}; + +/ / /.4.5.12. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.12.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.12.2}; +M:3 [Account control] {3.6.2.1.4.12.3}; +M:4 [MT Call control] {3.6.2.1.4.12.4}; +M:5 [Validity control] {3.6.2.1.4.12.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.12.6}; + +/ / /.4.5.13. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.13.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.13.2}; +M:3 [Account control] {3.6.2.1.4.13.3}; +M:4 [MT Call control] {3.6.2.1.4.13.4}; +M:5 [Validity control] {3.6.2.1.4.13.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.13.6}; + +/ / /.4.5.14. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.14.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.14.2}; +M:3 [Account control] {3.6.2.1.4.14.3}; +M:4 [MT Call control] {3.6.2.1.4.14.4}; +M:5 [Validity control] {3.6.2.1.4.14.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.14.6}; + +/ / /.4.5.15. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.15.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.15.2}; +M:3 [Account control] {3.6.2.1.4.15.3}; +M:4 [MT Call control] {3.6.2.1.4.15.4}; +M:5 [Validity control] {3.6.2.1.4.15.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.15.6}; + +/ / /.4.5.16. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.16.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.16.2}; +M:3 [Account control] {3.6.2.1.4.16.3}; +M:4 [MT Call control] {3.6.2.1.4.16.4}; +M:5 [Validity control] {3.6.2.1.4.16.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.16.6}; + + +##PPS->call routing to VMS +/ / /.4.6. (9); + +M:1 [VMS service number-PLMN] {3.6.2.1.5.1}; +M:2 [VMS service number-PSTN] {3.6.2.1.5.2}; +M:3 [VMS leave message number] {3.6.2.1.5.3}; +M:4 [Routing rule] {3.6.2.1.5.4}; +M:5 [VMS user segments] {3.6.2.1.5.5}; + +##PPS->Status +/ / /.4.7. (9); + +M:1 [Activaion] {3.6.2.1.6.1}; +M:2 [Command] {3.6.2.1.6.2}; + + +##PPS->Platform +/ / /.4.8. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##PPS->Platform->MTP3 +/ / /.4.8.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [CAN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##PPS->Platform->MTP3->Status +/ / /.4.8.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##PPS->Platform->SCCP +/ / /.4.8.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##PPS->Platform->XAPP +/ / /.4.8.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + +## SMSC +/ / /.5. (9); + +M:1 [CDR flag] {3.5.2.1.1}; +M:2 [SM Validity] {3.5.2.1.2}; +M:3 [MSISDN Segment] {3.5.2.1.3}; +M:4 [SMPP parameters] {3.5.2.2}; +M:5 [Command] {3.5.3.3}; +M:6 [Platform] {2}; +M:7 [SMSC0] {3.5}; +M:8 [SMSC1] {3.5}; + + +##SMSC->Platform +/ / /.5.6. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##SMSC->Platform->MTP3 +/ / /.5.6.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [CAN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##SMSC->Platform->MTP3->Status +/ / /.5.6.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##SMSC->Platform->SCCP +/ / /.5.6.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##SMSC->Platform->XAPP +/ / /.5.6.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + +##SMSC->SMSC0 +/ / /.5.7. (1); + +M:1 [SMSC ID] {3.5.3.1}; +M:2 [Software version] {3.5.3.2}; + +##SMSC->SMSC1 +/ / /.5.8. (2); + +M:1 [SMSC ID] {3.5.3.1}; +M:2 [Software version] {3.5.3.2}; + +##AUC +/ / /.6. (9); + +M:1 [Platform] {2}; +M:2 [AUC0] (1) {3.4}; +M:3 [AUC1] (2) {3.4}; + + +##AUC->Platform +/ / /.6.1. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##AUC->Platform->MTP3 +/ / /.6.1.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [CAN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##AUC->Platform->MTP3->Status +/ / /.6.1.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##AUC->Platform->SCCP +/ / /.6.1.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##AUC->Platform->XAPP +/ / /.6.1.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + + +##EIR +##/ / /.7. (9); + +##M:1 [Platform] {2}; +##M:2 [EIR0] (1) {3.8}; +##M:3 [EIR1] (2) {3.8}; + +##EIR->Platform +##/ / /.7.1. (9); + +##M:1 [MTP3] {2.2.2}; +##M:2 [SCCP] {2.2.3}; +##M:3 [XAPP] {2.2.5}; + +##EIR->Platform->MTP3 +##/ / /.7.1.1. (9); + +##M:1 [Network Indicator] {2.2.2.2.2}; +##M:2 [Originating Point code] {2.2.2.2.3}; +##M:3 [Link Set] {2.2.2.2.4}; +##M:4 [Link] {2.2.2.2.5}; +##M:5 [Routing] {2.2.2.2.6}; +##M:6 [CAN] {2.2.2.2.7}; +##M:7 [Status] {2.2.2.3}; + + +##EIR->Platform->MTP3->Status +##/ / /.7.1.1.7. (9); + +####M:1 [Link status] {2.2.2.3.1}; +##M:2 [Link set status] {2.2.2.3.2}; +##M:3 [International routing] {2.2.2.3.3}; +##M:4 [International spare] {2.2.2.3.4}; +##M:5 [National routing] {2.2.2.3.5}; +##M:6 [National spare routing] {2.2.2.3.6}; +##M:7 [Command] {2.2.2.3.7}; + +##EIR->Platform->SCCP +##/ / /.7.1.2. (9); + +##M:1 [Local node] {2.2.3.2.1}; +##M:2 [GTT] {2.2.3.2.2}; +##M:3 [Command] {2.2.3.3.2}; + +##EIR->Platform->XAPP +##/ / /.7.1.3. (9); + +##M:1 [MCC] {2.2.5.2.1}; +##M:2 [MNC] {2.2.5.2.2}; +##M:3 [CC] {2.2.5.2.3}; +##M:5 [International prefix] {2.2.5.2.5}; +##M:6 [National Prefix] {2.2.5.2.6}; +##M:7 [Local Prefix] {2.2.5.2.7}; +##M:8 [Convert Prefix] {2.2.5.2.8}; +##M:9 [Command] {2.2.5.3.2}; diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/menu_page b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/menu_page new file mode 100644 index 0000000..d8e3645 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/menu_page @@ -0,0 +1,13 @@ + + ******************* + * MENU PAGE * + ******************* + + a -- IPTR i -- HLR + b -- MTP3 j -- SMSC + c -- SCCP k -- PPS + d -- TCAP l -- SNMP + e -- XAPP m -- M2UA + f -- MSC n -- DEBUG + g -- VLR o -- AUC + h -- SSF p -- EIR diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/menu_tree.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/menu_tree.txt new file mode 100644 index 0000000..627a39b --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/menu_tree.txt @@ -0,0 +1,63 @@ +############## The debug menu tree config file root=wxc2 root_oid={1.3.6.1.4.1.1373.1.3} +#(0)(1)(2)(9) ip group +#/ the layer +#.1.1.3. menu_id +#{3.2.2.1.2} the last oid from the root +#[name] menu name +#M:8 the id of the menu in the current object +############## all the line must end for ';',and menu id and last oid must do not contain space + +##WXC2 +/. (9); + +M:1 [Platform] {2}; + + +##Platform +/ / /.1. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##Platform->MTP3 +/ / /.1.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [CAN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##EIR->Platform->MTP3->Status +/ / /.1.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##EIR->Platform->SCCP +/ / /.1.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##EIR->Platform->XAPP +/ / /.1.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/mib_list_file.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/mib_list_file.txt new file mode 100644 index 0000000..79fd373 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/mib_list_file.txt @@ -0,0 +1,14 @@ +// "//" is the annotation characters; +IWV-SMI.txt +Special_App-SMI.txt +//PPPRT-MIB.txt +WXC2-SMI.txt +//WXC2-CSU-MIB.txt +WXC2-SS7-MIB.txt +//WXC2-MSC-MIB.txt +//WXC2-HLR-MIB.txt +//WXC2-AUC-MIB.txt +//WXC2-EIR-MIB.txt +//WXC2-SMSC-MIB.txt +//WXC2-PPS-MIB.txt +//WXC2-MSS-MIB.txt diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/mib_write_tree.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/mib_write_tree.txt new file mode 100644 index 0000000..534645b --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/mib_write_tree.txt @@ -0,0 +1,4141 @@ +Create node: IWV(OID: 1.3.6.1.4.1.1373) +-> father_name = [enterprises] +-> -> IWV(0) + + +Create node: IWV_Products(OID: 1.3.6.1.4.1.1373.1) +-> father_name = [IWV] +-> -> IWV_Products(0) + + +Remark: iwvProducts is the root OBJECT IDENTIFIER from which sysObjectID values are assigned. Actual values are defined in IWV-PRODUCTS-MIB. + + +Create node: Special_App(OID: 1.3.6.1.4.1.1373.1.2) +-> father_name = [IWV_Products] +-> -> Special_App(0) + + +Create node: IWF(OID: 1.3.6.1.4.1.1373.1.2.8) +-> father_name = [Special_App] +-> -> IWF(0) + + +Remark: IWF + + +Create node: WXC2(OID: 1.3.6.1.4.1.1373.1.3) +-> father_name = [IWV_Products] +-> -> Special_App(0) +-> -> WXC2(1) + + +Create node: PCM(OID: 1.3.6.1.4.1.1373.1.3.1) +-> father_name = [WXC2] +-> -> PCM(0) + + +Remark: PCM + + +Create node: Platform(OID: 1.3.6.1.4.1.1373.1.3.2) +-> father_name = [WXC2] +-> -> PCM(0) +-> -> Platform(1) + + +Remark: Platform + + +Create node: App(OID: 1.3.6.1.4.1.1373.1.3.3) +-> father_name = [WXC2] +-> -> PCM(0) +-> -> Platform(1) +-> -> App(2) + + +Remark: App platform + + +Create node: SS7(OID: 1.3.6.1.4.1.1373.1.3.2.2) +-> father_name = [Platform] +-> -> SS7(0) + + +Remark: + Subsystems for SS7 . + + +Create node: MTP3(OID: 1.3.6.1.4.1.1373.1.3.2.2.2) +-> father_name = [SS7] +-> -> MTP3(0) + + +Remark: Subsystems for MTP3 . + + +Create node: Config_MTP3(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2) +-> father_name = [MTP3] +-> -> Config_MTP3(0) + + +Remark: MTP3 Configuration. + + +Create node: Network_Indicator(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.2) +-> father_name = [Config_MTP3] +-> -> Network_Indicator(0) + + +Register leaf node: Network_Indicator. +Instance: 1 +Length : 1 +Flag : 255 +Default : +Remark : MTP3 network indicator. + +Field : total(8) +Access : read-write [1]International network + { + [u]0.0-0.0 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [2]International network spare + { + [u]0.1-0.1 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [3]National network + { + [u]0.2-0.2 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [4]National network spare + { + [u]0.3-0.3 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [5]International network + { + [u]0.4-0.4 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [6]International network spare + { + [u]0.5-0.5 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [7]National network + { + [u]0.6-0.6 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [8]National network spare + { + [u]0.7-0.7 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + + +Create node: OPC(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.3) +-> father_name = [Config_MTP3] +-> -> Network_Indicator(0) +-> -> OPC(1) + + +Remark: Originating point code. + + +Create node: International_14bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.3.1) +-> father_name = [OPC] +-> -> International_14bit(0) + + +Register leaf node: International_14bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 14-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: International_Spare_14bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.3.2) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) + + +Register leaf node: International_Spare_14bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 14-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: National_14bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.3.3) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) +-> -> National_14bit(2) + + +Register leaf node: National_14bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 14-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: National_Spare_14bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.3.4) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) +-> -> National_14bit(2) +-> -> National_Spare_14bit(3) + + +Register leaf node: National_Spare_14bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 14-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: International_24bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.3.5) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) +-> -> National_14bit(2) +-> -> National_Spare_14bit(3) +-> -> International_24bit(4) + + +Register leaf node: International_24bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 24-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: International_Spare_24bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.3.6) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) +-> -> National_14bit(2) +-> -> National_Spare_14bit(3) +-> -> International_24bit(4) +-> -> International_Spare_24bit(5) + + +Register leaf node: International_Spare_24bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 24-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: National_24bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.3.7) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) +-> -> National_14bit(2) +-> -> National_Spare_14bit(3) +-> -> International_24bit(4) +-> -> International_Spare_24bit(5) +-> -> National_24bit(6) + + +Register leaf node: National_24bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 24-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: National_Spare_24bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.3.8) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) +-> -> National_14bit(2) +-> -> National_Spare_14bit(3) +-> -> International_24bit(4) +-> -> International_Spare_24bit(5) +-> -> National_24bit(6) +-> -> National_Spare_24bit(7) + + +Register leaf node: National_Spare_24bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 24-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: Linkset(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.4) +-> father_name = [Config_MTP3] +-> -> Network_Indicator(0) +-> -> OPC(1) +-> -> Linkset(2) + + +Remark: linkset. + + +Create node: Linkset_Attributes(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.4.1) +-> father_name = [Linkset] +-> -> Linkset_Attributes(0) + + +Register leaf node: Linkset_Attributes. +Instance: 128 +Length : 4 +Flag : 255 +Default : +Remark : Opposite point code: The opposite point code of the linkset. +Network indicator: The network type of the opposite point code. +Loop back: Loop back enable or disable, used for MSC loop back link. + +Field : total(5) +Access : read-write[1]Linkset DPC + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + [2]Network indicator + { + [u]3.0-3.1 + [u]select + [v]0[opt]International + [v]1[opt]International spare + [v]2[opt]National + [v]3[opt]National spare + } + [4]Linkset loopback + { + [u]3.3-3.3 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + + +Create node: Link(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.5) +-> father_name = [Config_MTP3] +-> -> Network_Indicator(0) +-> -> OPC(1) +-> -> Linkset(2) +-> -> Link(3) + + +Remark: link. + + +Create node: Link_Attributes(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.5.1) +-> father_name = [Link] +-> -> Link_Attributes(0) + + +Register leaf node: Link_Attributes. +Instance: 256 +Length : 15 +Flag : 255 +Default :  +Remark : E1 link attributes. +Linkset no.: Assign linkset to E1 link, MSC has up to 128 linksets (0-127). 128=TCH E1. +SLC no.: Assign SLC to each E1 link of a linkset, each linkset has up to 13 E1 links (0-15). +IP: E1 link management IP. The third byte of CPC IP: +98=E1 link 0-127, 99=E1 link 128-255. +Default=0x000032. + +Field : total(12) +Access : read-write[1]Linkset no. + { + [u]0.0-0.7 + [u]input + [v]toDec high 0 + } +[2]SLC no. + { + [u]1.0-1.7 + [u]input + [v]toDec high 0 + } +[3]CPC IP + { + [u]2.0-5.7 + [u]input + [v]KeepHex high 0 + } + [4]Link Type + { + [u]6.0-6.0 + [u]select + [v]0[opt]Non-sigtran + [v]1[opt]Sigtran + } + [5]Link Enable + { + [u]6.1-6.1 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [6]MTP3-Lite Enable + { + [u]6.2-6.2 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } +[8]SG no. + { + [u]7.0-7.7 + [u]input + [v]toDec high 0 + } +[9]M2UA Interface ID + { + [u]8.0-8.7 + [u]input + [v]toDec high 0 + } +[10]MTP3-Lite Remote IP + { + [u]9.0-12.7 + [u]input + [v]KeepHex high 0 + } +[11]MTP3-Lite Inactivity Timeout + { + [u]13.0-13.7 + [u]input + [v]toDec high 0 + } +[12]MTP3-Lite Allowed Inactivity Timeouts + { + [u]14.0-14.7 + [u]input + [v]toDec high 0 + } + + +Create node: Link_Command(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.5.2) +-> father_name = [Link] +-> -> Link_Attributes(0) +-> -> Link_Command(1) + + +Register leaf node: Link_Command. +Instance: 256 +Length : 1 +Flag : 255 +Default :  +Remark : Used for E1 link control, not affect call traffic. +Disable=Disable E1 link MTP2 layer. +Enable=Enable a disabled E1 link MTP2 layer. +Inhibit=Inhibit E1 link MTP3 layer. +Uninhibit=Uninhibit a inhibited E1 link MTP3 layer. +Default=Enable a disabled E1 link MTP2 layer. + +Field : total(1) +Access : write-only [1]E1 link + { + [u]0.0-0.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + [v]2[opt]Inhibit + [v]3[opt]Uninhibit + } + + +Create node: TCP_Port(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.5.3) +-> father_name = [Link] +-> -> Link_Attributes(0) +-> -> Link_Command(1) +-> -> TCP_Port(2) + + +Register leaf node: TCP_Port. +Instance: 1 +Length : 2 +Flag : 255 +Default :  +Remark : TCP server port for SCCP-Lite. + +Field : total(1) +Access : read-write[1]TCP Port + { + [u]0.0-1.7 + [u]input + [v]toDec high 0 + } + + +Create node: Routing(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6) +-> father_name = [Config_MTP3] +-> -> Network_Indicator(0) +-> -> OPC(1) +-> -> Linkset(2) +-> -> Link(3) +-> -> Routing(4) + + +Remark: Routing. + + +Create node: International(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.1) +-> father_name = [Routing] +-> -> International(0) + + +Register leaf node: International. +Instance: 256 +Length : 5 +Flag : 255 +Default : +Remark : Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + +Field : total(3) +Access : read-write[1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } +[2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec high 0 + } +[3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec high 0 + } + + +Create node: International_Spare(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.2) +-> father_name = [Routing] +-> -> International(0) +-> -> International_Spare(1) + + +Register leaf node: International_Spare. +Instance: 256 +Length : 5 +Flag : 255 +Default : +Remark : Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + +Field : total(3) +Access : read-write[1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } +[2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec high 0 + } +[3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec high 0 + } + + +Create node: National(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.3) +-> father_name = [Routing] +-> -> International(0) +-> -> International_Spare(1) +-> -> National(2) + + +Register leaf node: National. +Instance: 256 +Length : 5 +Flag : 255 +Default : +Remark : Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + +Field : total(3) +Access : read-write[1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } +[2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec high 0 + } +[3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec high 0 + } + + +Create node: National_Spare(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.4) +-> father_name = [Routing] +-> -> International(0) +-> -> International_Spare(1) +-> -> National(2) +-> -> National_Spare(3) + + +Register leaf node: National_Spare. +Instance: 256 +Length : 5 +Flag : 255 +Default : +Remark : Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + +Field : total(3) +Access : read-write[1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } +[2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec high 0 + } +[3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec high 0 + } + + +Create node: SPC_to_ACN(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.7) +-> father_name = [Config_MTP3] +-> -> Network_Indicator(0) +-> -> OPC(1) +-> -> Linkset(2) +-> -> Link(3) +-> -> Routing(4) +-> -> SPC_to_ACN(5) + + +Remark: SPC to ACN. + + +Create node: Local_ACN(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.7.1) +-> father_name = [SPC_to_ACN] +-> -> Local_ACN(0) + + +Register leaf node: Local_ACN. +Instance: 1 +Length : 36 +Flag : 255 +Default :  +Remark : The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + +Field : total(36) +Access : read-write [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + + +Create node: International(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.7.2) +-> father_name = [SPC_to_ACN] +-> -> Local_ACN(0) +-> -> International(1) + + +Register leaf node: International. +Instance: 256 +Length : 36 +Flag : 255 +Default :  +Remark : The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + +Field : total(36) +Access : read-write [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + + +Create node: International_Spare(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.7.3) +-> father_name = [SPC_to_ACN] +-> -> Local_ACN(0) +-> -> International(1) +-> -> International_Spare(2) + + +Register leaf node: International_Spare. +Instance: 256 +Length : 36 +Flag : 255 +Default :  +Remark : The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + +Field : total(36) +Access : read-write [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + + +Create node: National(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.7.4) +-> father_name = [SPC_to_ACN] +-> -> Local_ACN(0) +-> -> International(1) +-> -> International_Spare(2) +-> -> National(3) + + +Register leaf node: National. +Instance: 256 +Length : 36 +Flag : 255 +Default :  +Remark : The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + +Field : total(36) +Access : read-write [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + + +Create node: National_Spare(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.7.5) +-> father_name = [SPC_to_ACN] +-> -> Local_ACN(0) +-> -> International(1) +-> -> International_Spare(2) +-> -> National(3) +-> -> National_Spare(4) + + +Register leaf node: National_Spare. +Instance: 256 +Length : 36 +Flag : 255 +Default :  +Remark : The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + +Field : total(36) +Access : read-write [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + + +Create node: Signaling_Gateway(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.9) +-> father_name = [Config_MTP3] +-> -> Network_Indicator(0) +-> -> OPC(1) +-> -> Linkset(2) +-> -> Link(3) +-> -> Routing(4) +-> -> SPC_to_ACN(5) +-> -> Signaling_Gateway(6) + + +Register leaf node: Signaling_Gateway. +Instance: 256 +Length : 7 +Flag : 255 +Default : +Remark : SG attributes + +Field : total(4) +Access : read-write [1]Enable + { + [u]0.0-0.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [2]Server + { + [u]1.0-1.7 + [u]select + [v]0[opt]Client + [v]1[opt]Server + } + [3]ACK + { + [u]2.0-2.7 + [u]select + [v]0[opt]no ACK + [v]1[opt]ACK + } +[4]IP + { + [u]3.0-6.7 + [u]input + [v]KeepHex high 0 + } + + +Create node: Status_MTP3(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.3) +-> father_name = [MTP3] +-> -> Config_MTP3(0) +-> -> Status_MTP3(1) + + +Remark: MTP3 Status. + + +Create node: Link_Status(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.3.1) +-> father_name = [Status_MTP3] +-> -> Link_Status(0) + + +Register leaf node: Link_Status. +Instance: 256 +Length : 1 +Flag : 255 +Default :  +Remark : E1 link MTP3 status (Read Only). + +Field : total(1) +Access : read-only [1]Link status + { + [u]0.0-0.7 + [u]select + [v]0[opt]Unavailable + [v]1[opt]Available + [v]2[opt]Inhibited + } + + +Create node: Linkset_Status(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.3.2) +-> father_name = [Status_MTP3] +-> -> Link_Status(0) +-> -> Linkset_Status(1) + + +Register leaf node: Linkset_Status. +Instance: 128 +Length : 1 +Flag : 255 +Default :  +Remark : Linkset status (Read only). + +Field : total(1) +Access : read-only [1]Linkset status + { + [u]0.0-0.7 + [u]select + [v]0[opt]Unavailable + [v]1[opt]Available + [v]2[opt]Reserved + } + + +Create node: International_Routing(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.3.3) +-> father_name = [Status_MTP3] +-> -> Link_Status(0) +-> -> Linkset_Status(1) +-> -> International_Routing(2) + + +Register leaf node: International_Routing. +Instance: 256 +Length : 1 +Flag : 255 +Default : +Remark : Normal linkset status (bit0-1): +- 0=Available +- 1=Reserved +- 2=Unavailable +Alternative linkset status (bit2-3): +- 0=Available +- 1=Reserved +- 2=Unavailable +DPC accessibility (bit4): +- 0=Inaccessible +- 1=Accessible +Current route (bit3-7): +- 0=Normal linkset +- 1=Alternative linkset +- 2=No route. + +Field : total(4) +Access : read-only [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + + +Create node: International_Spare_Routing(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.3.4) +-> father_name = [Status_MTP3] +-> -> Link_Status(0) +-> -> Linkset_Status(1) +-> -> International_Routing(2) +-> -> International_Spare_Routing(3) + + +Register leaf node: International_Spare_Routing. +Instance: 256 +Length : 1 +Flag : 255 +Default : +Remark : Normal linkset status (bit0-1): +- 0=Available +- 1=Reserved +- 2=Unavailable +Alternative linkset status (bit2-3): +- 0=Available +- 1=Reserved +- 2=Unavailable +DPC accessibility (bit4): +- 0=Inaccessible +- 1=Accessible +Current route (bit3-7): +- 0=Normal linkset +- 1=Alternative linkset +- 2=No route. + +Field : total(4) +Access : read-only [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + + +Create node: National_Routing(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.3.5) +-> father_name = [Status_MTP3] +-> -> Link_Status(0) +-> -> Linkset_Status(1) +-> -> International_Routing(2) +-> -> International_Spare_Routing(3) +-> -> National_Routing(4) + + +Register leaf node: National_Routing. +Instance: 256 +Length : 1 +Flag : 255 +Default : +Remark : Normal linkset status (bit0-1): +- 0=Available +- 1=Reserved +- 2=Unavailable +Alternative linkset status (bit2-3): +- 0=Available +- 1=Reserved +- 2=Unavailable +DPC accessibility (bit4): +- 0=Inaccessible +- 1=Accessible +Current route (bit3-7): +- 0=Normal linkset +- 1=Alternative linkset +- 2=No route. + +Field : total(4) +Access : read-only [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + + +Create node: National_Spare_Routing(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.3.6) +-> father_name = [Status_MTP3] +-> -> Link_Status(0) +-> -> Linkset_Status(1) +-> -> International_Routing(2) +-> -> International_Spare_Routing(3) +-> -> National_Routing(4) +-> -> National_Spare_Routing(5) + + +Register leaf node: National_Spare_Routing. +Instance: 256 +Length : 1 +Flag : 255 +Default : +Remark : Normal linkset status (bit0-1): +- 0=Available +- 1=Reserved +- 2=Unavailable +Alternative linkset status (bit2-3): +- 0=Available +- 1=Reserved +- 2=Unavailable +DPC accessibility (bit4): +- 0=Inaccessible +- 1=Accessible +Current route (bit3-7): +- 0=Normal linkset +- 1=Alternative linkset +- 2=No route. + +Field : total(4) +Access : read-only [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + + +Create node: Command_MTP3(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.3.7) +-> father_name = [Status_MTP3] +-> -> Link_Status(0) +-> -> Linkset_Status(1) +-> -> International_Routing(2) +-> -> International_Spare_Routing(3) +-> -> National_Routing(4) +-> -> National_Spare_Routing(5) +-> -> Command_MTP3(6) + + +Register leaf node: Command_MTP3. +Instance: 1 +Length : 1 +Flag : 255 +Default : +Remark : Control command for MTP3 platform. +Reset=status initialization. +Save parameter=save parameters residing in memory into harddisk. + +Field : total(1) +Access : read-write [1]command + { + [u]0.0-0.7 + [u]select + [v]0[opt]No command + [v]1[opt]Reset + [v]2[opt]Save parameter + } + + +Create node: SCCP(OID: 1.3.6.1.4.1.1373.1.3.2.2.3) +-> father_name = [SS7] +-> -> MTP3(0) +-> -> SCCP(1) + + +Remark: Subsystems for SCCP . + + +Create node: Config_SCCP(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2) +-> father_name = [SCCP] +-> -> Config_SCCP(0) + + +Remark: SCCP Configuration. + + +Create node: Local_Node(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1) +-> father_name = [Config_SCCP] +-> -> Local_Node(0) + + +Remark: Local Node. + + +Create node: OMC(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.4) +-> father_name = [Local_Node] +-> -> OMC(0) + + +Register leaf node: OMC. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: OMC E.134 number. +IP0: OMC0 IP, 172.18.128.1. +IP1: OMC1 IP, 172.18.129.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: HLR(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.6) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) + + +Register leaf node: HLR. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: HLR E.134 number. +IP0: HLR0 IP, 172.18.98.1. +IP1: HLR1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: VLR(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.7) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) + + +Register leaf node: VLR. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: VLR E.134 number. +IP0: VLR0 IP, 172.18.98.1. +IP1: VLR1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: MSC(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.8) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) + + +Register leaf node: MSC. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: MSC E.134 number. +IP0: MSC0 IP, 172.18.98.1. +IP1: MSC1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: EIR(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.9) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) + + +Register leaf node: EIR. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: EIR E.134 number. +IP0: EIR0 IP, 172.18.98.1. +IP1: EIR1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: AUC(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.10) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) +-> -> AUC(5) + + +Register leaf node: AUC. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: AUC E.134 number. +IP0: AUC0 IP, 172.18.98.1. +IP1: AUC1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: SMSC(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.11) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) +-> -> AUC(5) +-> -> SMSC(6) + + +Register leaf node: SMSC. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: SMSC E.134 number. +IP0: OMC0 IP, 172.18.98.1. +IP1: OMC1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: SMPP_EMSE(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.19) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) +-> -> AUC(5) +-> -> SMSC(6) +-> -> SMPP_EMSE(7) + + +Register leaf node: SMPP_EMSE. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: VMS-SMPP E.134 number. +IP0: VMS0 IP, 172.18.147.1. +IP1: VMS1 IP, 172.18.148.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: SMPP_SMSC(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.20) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) +-> -> AUC(5) +-> -> SMSC(6) +-> -> SMPP_EMSE(7) +-> -> SMPP_SMSC(8) + + +Register leaf node: SMPP_SMSC. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: SMSC-SMPP E.134 number. +IP0: SMSC0 IP, 172.18.98.1. +IP1: SMSC1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: SMPP_OMC(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.21) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) +-> -> AUC(5) +-> -> SMSC(6) +-> -> SMPP_EMSE(7) +-> -> SMPP_SMSC(8) +-> -> SMPP_OMC(9) + + +Register leaf node: SMPP_OMC. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: OMC-SMPP E.134 number. +IP0: OMC0 IP, 172.18.128.1. +IP1: OMC1 IP, 172.18.129.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: SRF(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.22) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) +-> -> AUC(5) +-> -> SMSC(6) +-> -> SMPP_EMSE(7) +-> -> SMPP_SMSC(8) +-> -> SMPP_OMC(9) +-> -> SRF(10) + + +Register leaf node: SRF. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: VMS SRF E.134 number. +IP0: VMS0 IP, 172.18.147.1. +IP1: VMS1 IP, 172.18.148.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: SSF(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.143) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) +-> -> AUC(5) +-> -> SMSC(6) +-> -> SMPP_EMSE(7) +-> -> SMPP_SMSC(8) +-> -> SMPP_OMC(9) +-> -> SRF(10) +-> -> SSF(11) + + +Register leaf node: SSF. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: MSC SSF E.134 number. +IP0: MSC0 IP, 172.18.98.1. +IP1: MSC1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: SCF(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.147) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) +-> -> AUC(5) +-> -> SMSC(6) +-> -> SMPP_EMSE(7) +-> -> SMPP_SMSC(8) +-> -> SMPP_OMC(9) +-> -> SRF(10) +-> -> SSF(11) +-> -> SCF(12) + + +Register leaf node: SCF. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: PPS SCF E.134 number. +IP0: PPS0 IP, 172.18.98.1. +IP1: PPS1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: AIF(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.1.254) +-> father_name = [Local_Node] +-> -> OMC(0) +-> -> HLR(1) +-> -> VLR(2) +-> -> MSC(3) +-> -> EIR(4) +-> -> AUC(5) +-> -> SMSC(6) +-> -> SMPP_EMSE(7) +-> -> SMPP_SMSC(8) +-> -> SMPP_OMC(9) +-> -> SRF(10) +-> -> SSF(11) +-> -> SCF(12) +-> -> AIF(13) + + +Register leaf node: AIF. +Instance: 1 +Length : 19 +Flag : 255 +Default : +Remark : NI: Network indicator. +0=International network. +1=International network spare. +2=National network. +3=National network spare. +MSISDN: AIF E.134 number. +IP0: MSC0 IP, 172.18.98.1. +IP1: MSC1 IP, 172.18.99.1. + +Field : total(4) +Access : read-write[1]NI + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low F + } +[2]MSISDN + { + [u]1.0-10.7 + [u]input + [v]KeepHex Low F + } +[3]IP0 + { + [u]11.0-14.7 + [u]input + [v]KeepHex Low F + } +[4]IP1 + { + [u]15.0-18.7 + [u]input + [v]KeepHex Low F + } + + +Create node: GTT_Table(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.2.2) +-> father_name = [Config_SCCP] +-> -> Local_Node(0) +-> -> GTT_Table(1) + + +Register leaf node: GTT_Table. +Instance: 256 +Length : 43 +Flag : 255 +Default : +Remark : On/off: GTT flag, off=disable, on=enable. +Numbering plan: 1=MSISDN, 3=IMSI, 7=GT. +Specify the beginning number of a group of consecutive numbers routed by GTT, for single-number GTT route, the start number is same as the end number. +End GT number: Specify the end number of a group of consecutive number routed by GT. If there are some inconsecutive numbers for a same destination, a different GTT record should be set. +Network indicator (NI): 0=International network, 1=International network spare, 2=National network, 3=National network spare, +DPC: Destination point code. +SSN: Subsystem number. +2=Reserved for ITU-T allocation. +3=ISDN user part. +4=OMC. +5=MAP. +3=HLR. +7=VLR. +8=MSC. +9=EIR. +10=AUC. +11=SMSC. +147=PPS. +254=BSSMAP. +Route indicator: For IMSI and MSISDN, select Route on SSN. For the record of the connected network, select Route on GT. +Address indicator: select the contribution of SCCP Address. +Replaced start digit: Specify the beginning digit of a segment of digits to be replaced within a GT number, the replacement is for changing number and numbering plan. +Replaced end digit: Specify the end digit of a segment of digits to be replaced within a GT number, the replacement is for changing number and numbering plan. +Outgoing number plan: Outgoing number plan, include MSISDN, IMSI and GT. +Replacing digits: Replacing digits, the length of replacing digits and replaced digits may be different. + +Field : total(14) +Access : read-write [1]On/off + { + [u]0.0-0.7 + [u]select + [v]1[opt]On + [v]0[opt]Off + } + [2]Numbering plan + { + [u]1.0-1.7 + [u]select + [v]0[opt]0 + [v]1[opt]MSISDN + [v]6[opt]IMSI + [v]7[opt]GT + } +[3]TT + { + [u]2.0-2.7 + [u]input + [v]KeepHex Low F + } +[4]Start GT number + { + [u]3.0-12.7 + [u]input + [v]KeepHex Low F + } +[4]End GT number + { + [u]13.0-22.7 + [u]input + [v]KeepHex Low F + } + [5]Network indicator + { + [u]23.0-23.7 + [u]select + [v]0[opt]0 + [v]1[opt]1 + [v]2[opt]2 + [v]3[opt]3 + } +[6]DPC + { + [u]24.0-26.7 + [u]input + [v]toDec high 0 + } +[7]SSN + { + [u]27.0-27.7 + [u]input + [v]toDec high 0 + } + [8]Route indicator + { + [u]28.0-28.7 + [u]select + [v]0[opt]Route on GT + [v]1[opt]Route on SSN + } + [9]Address indicator + { + [u]29.0-29.7 + [u]select + [v]0[opt]NULL + [v]3[opt]DPC+SSN + [v]6[opt]GT+SSN + [v]7[opt]GT+DPC+SSN + } +[10]Replaced start digit + { + [u]30.0-30.7 + [u]input + [v]KeepHex high 0 + } +[11]Replaced end digit + { + [u]31.0-31.7 + [u]input + [v]KeepHex high 0 + } + [12]Outgoing number plan + { + [u]32.0-32.7 + [u]select + [v]1[opt]MSISDN + [v]6[opt]IMSI + [v]7[opt]GT + } +[13]Replacing digits + { + [u]33.0-42.7 + [u]input + [v]KeepHex Low F + } + + +Create node: Management(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.3) +-> father_name = [SCCP] +-> -> Config_SCCP(0) +-> -> Management(1) + + +Remark: Management. + + +Create node: Version(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.3.1) +-> father_name = [Management] +-> -> Version(0) + + +Register leaf node: Version. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : Version of SCCP platform software (Read Only). +Byte0: System release version number, based on basic function and structure. +Byte1: Software module version number, based on software module. +Byte2: Test version, 0=Release version number, 1=Test version number. + +Field : total(0) +Access : read-write + +Create node: Command_SCCP(OID: 1.3.6.1.4.1.1373.1.3.2.2.3.3.2) +-> father_name = [Management] +-> -> Version(0) +-> -> Command_SCCP(1) + + +Register leaf node: Command_SCCP. +Instance: 1 +Length : 1 +Flag : 255 +Default : +Remark : Control command for SCCP. +Reset: Used for SCCP status initialization. +Load parameter: Load the parameters from device's harddisk to device's memory. +Save parameter: Save the parameters residing in device's memory into device's harddisk. + +Field : total(1) +Access : read-write [1]Command + { + [u]0.0-0.7 + [u]select + [v]0[opt]Reset + [v]2[opt]Save parameters + } + + +Create node: XAPP(OID: 1.3.6.1.4.1.1373.1.3.2.2.5) +-> father_name = [SS7] +-> -> MTP3(0) +-> -> SCCP(1) +-> -> XAPP(2) + + +Remark: Subsystems for XAPP . + + +Create node: Config_XAPP(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2) +-> father_name = [XAPP] +-> -> Config_XAPP(0) + + +Remark: XAPP Configuration. + + +Create node: MCC(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.1) +-> father_name = [Config_XAPP] +-> -> MCC(0) + + +Register leaf node: MCC. +Instance: 1 +Length : 2 +Flag : 255 +Default : F +Remark : Mobile country code. + +Field : total(1) +Access : read-write[1]MCC + { + [u]0.0-1.7 + [u]input + [v]KeepHex Low E + } + + +Create node: MNC(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.2) +-> father_name = [Config_XAPP] +-> -> MCC(0) +-> -> MNC(1) + + +Register leaf node: MNC. +Instance: 1 +Length : 1 +Flag : 255 +Default :  +Remark : Mobile network code. + +Field : total(1) +Access : read-write[1]MNC + { + [u]0.0-0.7 + [u]input + [v]KeepHex Low E + } + + +Create node: CC(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.3) +-> father_name = [Config_XAPP] +-> -> MCC(0) +-> -> MNC(1) +-> -> CC(2) + + +Register leaf node: CC. +Instance: 1 +Length : 2 +Flag : 255 +Default : 嗩 +Remark : Country code. + +Field : total(1) +Access : read-write[1]CC + { + [u]0.0-1.7 + [u]input + [v]KeepHex Low E + } + + +Create node: NDC(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.4) +-> father_name = [Config_XAPP] +-> -> MCC(0) +-> -> MNC(1) +-> -> CC(2) +-> -> NDC(3) + + +Register leaf node: NDC. +Instance: 1 +Length : 3 +Flag : 255 +Default : u^ +Remark : National destination code. + +Field : total(1) +Access : read-write[1]NDC + { + [u]0.0-2.7 + [u]input + [v]KeepHex Low E + } + + +Create node: International_Prefix(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.5) +-> father_name = [Config_XAPP] +-> -> MCC(0) +-> -> MNC(1) +-> -> CC(2) +-> -> NDC(3) +-> -> International_Prefix(4) + + +Register leaf node: International_Prefix. +Instance: 1 +Length : 2 +Flag : 255 +Default : +Remark : International call prefix. + +Field : total(1) +Access : read-write[1]International prefix + { + [u]0.0-1.7 + [u]input + [v]KeepHex Low E + } + + +Create node: National_Prefix(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.6) +-> father_name = [Config_XAPP] +-> -> MCC(0) +-> -> MNC(1) +-> -> CC(2) +-> -> NDC(3) +-> -> International_Prefix(4) +-> -> National_Prefix(5) + + +Register leaf node: National_Prefix. +Instance: 1 +Length : 2 +Flag : 255 +Default :  +Remark : National call prefix. + +Field : total(1) +Access : read-write[1]National prefix + { + [u]0.0-1.7 + [u]input + [v]KeepHex Low E + } + + +Create node: Local_Prefix(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.7) +-> father_name = [Config_XAPP] +-> -> MCC(0) +-> -> MNC(1) +-> -> CC(2) +-> -> NDC(3) +-> -> International_Prefix(4) +-> -> National_Prefix(5) +-> -> Local_Prefix(6) + + +Register leaf node: Local_Prefix. +Instance: 1 +Length : 2 +Flag : 255 +Default : 铑 +Remark : Local prefix. + +Field : total(0) +Access : read-write + +Create node: Conv_Prefix(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.8) +-> father_name = [Config_XAPP] +-> -> MCC(0) +-> -> MNC(1) +-> -> CC(2) +-> -> NDC(3) +-> -> International_Prefix(4) +-> -> National_Prefix(5) +-> -> Local_Prefix(6) +-> -> Conv_Prefix(7) + + +Register leaf node: Conv_Prefix. +Instance: 128 +Length : 35 +Flag : 255 +Default : +Remark : Conv prefix . + +Field : total(5) +Access : read-write[1]Prefix + { + [u]0.0-15.7 + [u]input + [v]ToAscii Low 0 + } +[2]Delete length + { + [u]0.0-0.0 + [u]input + [v]toDec high 0 + } +[3]Add length + { + [u]17.0-17.7 + [u]input + [v]toDec high 0 + } +[4]Add digits + { + [u]18.0-33.7 + [u]input + [v]ToAscii Low 0 + } +[5]Valid length + { + [u]34.0-34.7 + [u]input + [v]toDec high 0 + } + + +Create node: CLI_Conv_Prefix(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.9) +-> father_name = [Config_XAPP] +-> -> MCC(0) +-> -> MNC(1) +-> -> CC(2) +-> -> NDC(3) +-> -> International_Prefix(4) +-> -> National_Prefix(5) +-> -> Local_Prefix(6) +-> -> Conv_Prefix(7) +-> -> CLI_Conv_Prefix(8) + + +Register leaf node: CLI_Conv_Prefix. +Instance: 8 +Length : 37 +Flag : 255 +Default : +Remark : CLI_Conv prefix . + +Field : total(7) +Access : read-write [1]In property + { + [u]0.0-0.7 + [u]select + [v]1[opt]IDD + [v]2[opt]NDD + [v]3[opt]Unknown + } +[2]Prefix + { + [u]1.0-16.7 + [u]input + [v]ToAscii Low 0 + } +[3]Delete length + { + [u]17.0-17.7 + [u]input + [v]toDec high 0 + } + [4]Out property + { + [u]18.0-18.7 + [u]select + [v]1[opt]IDD + [v]2[opt]NDD + [v]3[opt]Unknown + } +[5]Add length + { + [u]19.0-19.7 + [u]input + [v]toDec high 0 + } +[6]Add digits + { + [u]20.0-35.7 + [u]input + [v]ToAscii Low 0 + } +[7]Valid length + { + [u]36.0-36.7 + [u]input + [v]toDec high 0 + } + + +Create node: mscid_to_number(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.2.10) +-> father_name = [Config_XAPP] +-> -> MCC(0) +-> -> MNC(1) +-> -> CC(2) +-> -> NDC(3) +-> -> International_Prefix(4) +-> -> National_Prefix(5) +-> -> Local_Prefix(6) +-> -> Conv_Prefix(7) +-> -> CLI_Conv_Prefix(8) +-> -> mscid_to_number(9) + + +Register leaf node: mscid_to_number. +Instance: 256 +Length : 12 +Flag : 255 +Default : +Remark : Conv prefix . + +Field : total(4) +Access : read-write[1]Market ID + { + [u]0.0-1.7 + [u]input + [v]toDec high 0 + } +[2]Switch Number + { + [u]2.0-2.7 + [u]input + [v]toDec high 0 + } +[3]SSN + { + [u]3.0-3.7 + [u]input + [v]toDec high 0 + } +[4]Number + { + [u]4.0-11.7 + [u]input + [v]KeepHex Low E + } + + +Create node: Status_XAPP(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.3) +-> father_name = [XAPP] +-> -> Config_XAPP(0) +-> -> Status_XAPP(1) + + +Remark: XAPP Status. + + +Create node: Version_XAPP(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.3.1) +-> father_name = [Status_XAPP] +-> -> Version_XAPP(0) + + +Register leaf node: Version_XAPP. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : Version of XAPP module (Read Only). +Byte0: System release version number, based on basic function and structure. +Byte1: Software module version number, based on software module. +Byte2: Test version, 0=Release version number, 1=Test version number. + +Field : total(0) +Access : read-only + +Create node: Command_XAPP(OID: 1.3.6.1.4.1.1373.1.3.2.2.5.3.2) +-> father_name = [Status_XAPP] +-> -> Version_XAPP(0) +-> -> Command_XAPP(1) + + +Register leaf node: Command_XAPP. +Instance: 1 +Length : 1 +Flag : 255 +Default : +Remark : Control command for XAPP. +Save parameter: Save the parameters in memory into local harddisk. + +Field : total(1) +Access : read-write [1]Command + { + [u]0.0-0.7 + [u]select + [v]1[opt]Save parameters + } + + +Create node: Maplat(OID: 1.3.6.1.4.1.1373.1.3.2.3) +-> father_name = [Platform] +-> -> SS7(0) +-> -> Maplat(1) + + +Remark: + Subsystems for Maplat . + + +Create node: SMPP(OID: 1.3.6.1.4.1.1373.1.3.2.3.4) +-> father_name = [Maplat] +-> -> SMPP(0) + + +Remark: Subsystems for SMPP . + + +Create node: Config_SMPP(OID: 1.3.6.1.4.1.1373.1.3.2.3.4.2) +-> father_name = [SMPP] +-> -> Config_SMPP(0) + + +Remark: SMPP Configuration. + + +Create node: SMPP_Link_Parameter(OID: 1.3.6.1.4.1.1373.1.3.2.3.4.2.1) +-> father_name = [Config_SMPP] +-> -> SMPP_Link_Parameter(0) + + +Register leaf node: SMPP_Link_Parameter. +Instance: 32 +Length : 106 +Flag : 255 +Default : +Remark : Session type: BIND_TX-bind as transmitter, BIND_RX-bind as receiver, BIND_TRX-bind as transceiver. +System ID: using in BIND and OUTBIND. +Password: The password parameter is used by the SMSC to authenticate the identity of the binding ESME. The Service Provider may require ESME’s to provide a password when binding to the SMSC. This password is normally issued by the SMSC system administrator. +The password parameter may also be used by the ESME to authenticate the identity of the binding SMSC (e.g. in the case of the outbind operation). +System type: The system_type may be used to categorise the system, e.g., “EMAIL”, “WWW”, etc. +The system_type parameter is used to categorize the type of ESME that is binding to the SMSC. Examples include “VMS” (voice mail system) and “OTA” (over-the-air activation system). +Specification of the system_type is optional - some SMSC’s may not require ESME’s to provide this detail. In this case, the ESME can set the system_type to NULL. +IP: Specify the IP addresses of 16 SMPP connected devices.
e.g. 0xAC127001=172.18.112.1.
+Session init timer: This timer specifies the time lapse allowed between a network connection being established and a bind_transmitter or bind_receiver request being sent to SMSC. This timer should be active on the SMSC. +Enquire link timer: This timer specifies the time lapse allowed between operations after which an SMPP entity should interrogate whether it's peer still has an active session. +The scale is second. +Inactivity timer: This timer specifies the maximum time lapse allowed between transactions, after which period of inactivity, an SMPP entity may assume that the session is no longer active. This timer may be active on either commnicating SMPP entity(i.e. SMSC or ESME) +Response timer: This timer specifies the maximum time lapse allowed between transactions, after which period of inactivity, an SMPP entity may assume that the session is no longer active. This timer may be active on either commnicating SMPP entity(i.e. SMSC or ESME) +Local service number: compare with application's service number while bind as TX or TRX. +remote service number: compare with application's service number while bind as RX + +Field : total(16) +Access : read-write [1]Link enable + { + [u]0.0-0.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [2]Link type + { + [u]1.0-1.7 + [u]select + [v]0[opt]UDP + [v]1[opt]TCP + } + [3]Server type + { + [u]2.0-2.7 + [u]select + [v]0[opt]SMPP_CLIENT + [v]1[opt]SMPP_SERVER + } + [4]Session type + { + [u]3.0-3.7 + [u]select + [v]0[opt]BIND_TX + [v]1[opt]BIND_RX + [v]2[opt]BIND_TRX + } +[5]System ID + { + [u]4.0-19.7 + [u]input + [v]ToAscii Low 0 + } +[6]Password + { + [u]20.0-28.7 + [u]input + [v]ToAscii Low 0 + } +[7]System type + { + [u]29.0-41.7 + [u]input + [v]ToAscii Low 0 + } +[8]Local GTT + { + [u]42.0-57.7 + [u]input + [v]ToAscii Low 0 + } +[9]Remote GTT + { + [u]58.0-73.7 + [u]input + [v]ToAscii Low 0 + } +[10]Local IP + { + [u]74.0-77.7 + [u]input + [v]KeepHex Low F + } +[11]Remote IP + { + [u]78.0-81.7 + [u]input + [v]KeepHex Low F + } +[12]Session init timer + { + [u]82.0-85.7 + [u]input + [v]toDec high 0 + } +[13]Enquire link timer + { + [u]86.0-89.7 + [u]input + [v]toDec high 0 + } +[14]Inactivity timer + { + [u]90.0-93.7 + [u]input + [v]toDec high 0 + } +[15]Response timer + { + [u]94.0-97.7 + [u]input + [v]toDec high 0 + } +[16]Remote service number + { + [u]98.0-105.7 + [u]input + [v]ToAscii Low 0 + } + + +Create node: Status_SMPP(OID: 1.3.6.1.4.1.1373.1.3.2.3.4.3) +-> father_name = [SMPP] +-> -> Config_SMPP(0) +-> -> Status_SMPP(1) + + +Remark: XAPP Status. + + +Create node: Command_SMPP(OID: 1.3.6.1.4.1.1373.1.3.2.3.4.3.2) +-> father_name = [Status_SMPP] +-> -> Command_SMPP(0) + + +Register leaf node: Command_SMPP. +Instance: 1 +Length : 1 +Flag : 255 +Default :  +Remark : Control command for SMPP. + +Field : total(1) +Access : write-only [1]Command + { + [u]0.0-0.7 + [u]select + [v]2[opt]save parameter + } + + + + + +SubSystem Module +Index:0 OID: 1.3.6.1.4.1.1373.1.3.2.2.2. name:MTP3 MaxGroup:1 +Index:1 OID: 1.3.6.1.4.1.1373.1.3.2.2.3. name:SCCP MaxGroup:1 +Index:2 OID: 1.3.6.1.4.1.1373.1.3.2.2.5. name:XAPP MaxGroup:1 +Index:3 OID: 1.3.6.1.4.1.1373.1.3.2.3.4. name:SMPP MaxGroup:0 + + + + + + +Host IP +Index:0 Group index:0 Membre index:0 Host name:8KE1_0_0 -- Host ip:172.18.0.1. +Index:1 Group index:0 Membre index:1 Host name:8KE1_0_1 -- Host ip:172.18.1.1. +Index:2 Group index:0 Membre index:2 Host name:8KE1_0_2 -- Host ip:172.18.2.1. +Index:3 Group index:0 Membre index:3 Host name:8KE1_0_3 -- Host ip:172.18.3.1. +Index:4 Group index:0 Membre index:4 Host name:8KE1_0_4 -- Host ip:172.18.4.1. +Index:5 Group index:0 Membre index:5 Host name:8KE1_0_5 -- Host ip:172.18.5.1. +Index:6 Group index:0 Membre index:6 Host name:8KE1_0_6 -- Host ip:172.18.6.1. +Index:7 Group index:0 Membre index:7 Host name:8KE1_0_7 -- Host ip:172.18.7.1. +Index:8 Group index:0 Membre index:8 Host name:8KE1_0_8 -- Host ip:172.18.8.1. +Index:9 Group index:0 Membre index:9 Host name:8KE1_0_9 -- Host ip:172.18.9.1. +Index:10 Group index:0 Membre index:10 Host name:8KE1_0_10 -- Host ip:172.18.9.1. +Index:11 Group index:0 Membre index:11 Host name:8KE1_0_11 -- Host ip:172.18.9.1. +Index:12 Group index:0 Membre index:12 Host name:8KE1_0_12 -- Host ip:172.18.9.1. +Index:13 Group index:0 Membre index:13 Host name:8KE1_0_13 -- Host ip:172.18.13.1. +Index:14 Group index:0 Membre index:14 Host name:8KE1_0_14 -- Host ip:172.18.14.1. +Index:15 Group index:0 Membre index:15 Host name:8KE1_0_15 -- Host ip:172.18.15.1. +Index:16 Group index:1 Membre index:0 Host name:8KE1_1_0 -- Host ip:172.18.16.1. +Index:17 Group index:1 Membre index:1 Host name:8KE1_1_1 -- Host ip:172.18.17.1. +Index:18 Group index:1 Membre index:2 Host name:8KE1_1_2 -- Host ip:172.18.18.1. +Index:19 Group index:1 Membre index:3 Host name:8KE1_1_3 -- Host ip:172.18.19.1. +Index:20 Group index:1 Membre index:4 Host name:8KE1_1_4 -- Host ip:172.18.20.1. +Index:21 Group index:1 Membre index:5 Host name:8KE1_1_5 -- Host ip:172.18.21.1. +Index:22 Group index:1 Membre index:6 Host name:8KE1_1_6 -- Host ip:172.18.22.1. +Index:23 Group index:1 Membre index:7 Host name:8KE1_1_7 -- Host ip:172.18.23.1. +Index:24 Group index:1 Membre index:8 Host name:8KE1_1_8 -- Host ip:172.18.24.1. +Index:25 Group index:1 Membre index:9 Host name:8KE1_1_9 -- Host ip:172.18.25.1. +Index:26 Group index:1 Membre index:10 Host name:8KE1_1_10 -- Host ip:172.18.26.1. +Index:27 Group index:1 Membre index:11 Host name:8KE1_1_11 -- Host ip:172.18.27.1. +Index:28 Group index:1 Membre index:12 Host name:8KE1_1_12 -- Host ip:172.18.28.1. +Index:29 Group index:1 Membre index:13 Host name:8KE1_1_13 -- Host ip:172.18.29.1. +Index:30 Group index:1 Membre index:14 Host name:8KE1_1_14 -- Host ip:172.18.30.1. +Index:31 Group index:1 Membre index:15 Host name:8KE1_1_15 -- Host ip:172.18.31.1. +Index:32 Group index:0 Membre index:0 Host name:PLAT_0_0 -- Host ip:172.18.144.1. +Index:33 Group index:1 Membre index:0 Host name:PLAT_1_0 -- Host ip:172.18.133.1. +Index:34 Group index:0 Membre index:0 Host name:MTP3_0_0 mss-0 Host ip:172.18.144.1. +Index:35 Group index:1 Membre index:0 Host name:MTP3_1_0 mss-1 Host ip:172.18.133.1. +Index:36 Group index:0 Membre index:0 Host name:SCCP_0_0 mss-0 Host ip:172.18.144.1. +Index:37 Group index:1 Membre index:0 Host name:SCCP_1_0 mss-1 Host ip:172.18.133.1. +Index:38 Group index:0 Membre index:0 Host name:XAPP_0_0 MSS-0 Host ip:172.18.144.1. +Index:39 Group index:1 Membre index:0 Host name:XAPP_1_0 MSS-1 Host ip:172.18.133.1. +Index:40 Group index:0 Membre index:0 Host name:SMPP_0_0 SMPP-0 Host ip:172.18.144.1. +Index:41 Group index:0 Membre index:0 Host name:MSC_0_0 -- Host ip:172.18.234.231. +Index:42 Group index:1 Membre index:0 Host name:MSC_1_0 -- Host ip:172.18.133.1. +Index:43 Group index:0 Membre index:0 Host name:CCF(MSC)_0_0 -- Host ip:172.18.234.231. +Index:44 Group index:1 Membre index:0 Host name:CCF(MSC)_1_0 -- Host ip:172.18.133.1. +Index:45 Group index:0 Membre index:0 Host name:VLR_0_0 VLR-0 Host ip:172.18.234.231. +Index:46 Group index:1 Membre index:0 Host name:VLR_1_0 VLR-1 Host ip:172.18.0.1. +Index:47 Group index:0 Membre index:0 Host name:HLR_0_0 -- Host ip:172.18.234.231. +Index:48 Group index:1 Membre index:0 Host name:HLR_1_0 -- Host ip:172.18.234.230. +Index:49 Group index:0 Membre index:0 Host name:AUC_0_0 -- Host ip:172.18.234.231. +Index:50 Group index:1 Membre index:0 Host name:AUC_1_0 -- Host ip:172.18.234.230. +Index:51 Group index:0 Membre index:0 Host name:SMSC_0_0 -- Host ip:172.18.224.231. +Index:52 Group index:1 Membre index:0 Host name:SMSC_1_0 -- Host ip:172.18.234.230. +Index:53 Group index:0 Membre index:0 Host name:PPS_0_0 -- Host ip:172.18.234.230. +Index:54 Group index:1 Membre index:0 Host name:PPS_1_0 -- Host ip:172.18.234.230. +Index:55 Group index:0 Membre index:0 Host name:EIR_0_0 -- Host ip:172.18.234.231. +Index:56 Group index:0 Membre index:0 Host name:MSS_0_0 wxc2-0 Host ip:172.18.234.231. +Index:57 Group index:1 Membre index:0 Host name:MSS_1_0 wxc2-1 Host ip:172.18.133.1. + + + + + + +Module Save flag +Module Index:0 OID: 1.3.6.1.4.1.1373.1.3.2.2.2.3.7. oid len:14 select id:3 field id:1 +Module Index:1 OID: 1.3.6.1.4.1.1373.1.3.2.2.3.3.2. oid len:14 select id:2 field id:1 +Module Index:2 OID: 1.3.6.1.4.1.1373.1.3.2.2.5.3.2. oid len:14 select id:1 field id:1 +Module Index:3 OID: 1.3.6.1.4.1.1373.1.3.2.3.4.3.2. oid len:14 select id:1 field id:1 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 +Module Index:0 OID: oid len:0 select id:0 field id:0 + + + diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/sdf b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/sdf new file mode 100644 index 0000000..767e4bf --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files/sdf @@ -0,0 +1,3630 @@ +WXC2-SS7-MIB DEFINITIONS ::= BEGIN +IMPORTS + OBJECT-TYPE, Integer32, Opaque + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, DisplayString, TruthValue + FROM SNMPv2-TC + Platform + FROM WXC2-SMI; + +SS7 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + Subsystems for SS7 . + " + ::= { Platform 2 } + + +-- +-- sub system MTP3 +-- + +MTP3 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_Module]Subsystems for MTP3 . + " + ::= { SS7 2 } + +Config_MTP3 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " MTP3 Configuration. " + ::= { MTP3 2 } + +Network_Indicator OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Field: [1]International network + { + [u]0.0-0.0 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [2]International network spare + { + [u]0.1-0.1 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [3]National network + { + [u]0.2-0.2 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [4]National network spare + { + [u]0.3-0.3 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [5]International network + { + [u]0.4-0.4 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [6]International network spare + { + [u]0.5-0.5 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [7]National network + { + [u]0.6-0.6 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [8]National network spare + { + [u]0.7-0.7 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + Remark: MTP3 network indicator. + [End] + " + ::= { Config_MTP3 2 } + + + + +OPC OBJECT-IDENTITYstatus + STATUS current + DESCRIPTION + " Originating point code. " + ::= { Config_MTP3 6 } + +International_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 1 } + +International_Spare_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 2 } + +National_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 3 } + +National_Spare_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 4 } + +International_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 5 } + +International_Spare_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 6 } + +National_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 7 } + +National_Spare_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 8 } + +Linkset OBJECT-IDENTITY + STATUS current + DESCRIPTION + " linkset. " + ::= { Config_MTP3 4 } + +Linkset_Attributes OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 4 + Default: 00000000 + Field: [1]Linkset DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Network indicator + { + [u]3.0-3.1 + [u]select + [v]0[opt]International + [v]1[opt]International spare + [v]2[opt]National + [v]3[opt]National spare + } + [3]Reserved + { + [u]3.2-3.2 + [u]select + } + [4]Linkset loopback + { + [u]3.3-3.3 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [5]Reserved + { + [u]3.4-3.7 + [u]select + } + Remark: Opposite point code: The opposite point code of the linkset. + Network indicator: The network type of the opposite point code. + Loop back: Loop back enable or disable, used for MSC loop back link. + [End] + " + ::= { Linkset 1 } + +Link OBJECT-IDENTITY + STATUS current + DESCRIPTION + " link. " + ::= { Config_MTP3 5 } + +Link_Attributes OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 15 + Default: 8010FFFFFFFF000000000000000000 + Field: [1]Linkset no. + { + [u]00.0-00.7 + [u]input + [v]toDec-high-0 + } + [2]SLC no. + { + [u]01.0-01.7 + [u]input + [v]toDec-high-0 + } + [3]CPC IP + { + [u]02.0-02.7 + [u]input + [v]toDec-high-0 + } + [4]Link Type + { + [u]06.0-06.0 + [u]select + [v]0[opt]Non-sigtran + [v]1[opt]Sigtran + } + [5]Link Enable + { + [u]06.1-06.1 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [6]MTP3-Lite Enable + { + [u]06.2-06.2 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [7]Reserved + { + [u]06.3-06.7 + [u]select + } + [8]SG no. + { + [u]07.0-07.7 + [u]input + [v]toDec-high-0 + } + [9]M2UA Interface ID + { + [u]08.0-08.7 + [u]input + [v]toDec-high-0 + } + [10]MTP3-Lite Remote IP + { + [u]09.0-12.7 + [u]input + [v]keepHex-high-0 + } + [11]MTP3-Lite Inactivity Timeout + { + [u]13.0-13.7 + [u]input + [v]toDec-high-0 + } + [12]MTP3-Lite Allowed Inactivity Timeouts + { + [u]14.0-14.7 + [u]input + [v]toDec-high-0 + } + Remark: E1 link attributes. + Linkset no.: Assign linkset to E1 link, MSC has up to 128 linksets (0-127). 128=TCH E1. + SLC no.: Assign SLC to each E1 link of a linkset, each linkset has up to 13 E1 links (0-15). + IP: E1 link management IP. The third byte of CPC IP: + 98=E1 link 0-127, 99=E1 link 128-255. + Default=0x000032. + [End] + " + ::= { Link 1 } + +Link_Command OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 01 + Field: [1]E1 link + { + [u]0.0-0.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + [v]2[opt]Inhibit + [v]3[opt]Uninhibit + } + Remark: Used for E1 link control, not affect call traffic. + Disable=Disable E1 link MTP2 layer. + Enable=Enable a disabled E1 link MTP2 layer. + Inhibit=Inhibit E1 link MTP3 layer. + Uninhibit=Uninhibit a inhibited E1 link MTP3 layer. + Default=Enable a disabled E1 link MTP2 layer. + [End] + " + ::= { Link 2 } + +TCP_Port OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-writed + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 1388 + Field: [1]TCP Port + { + [u]0.0-1.7 + [u]input + [v]toDec-high-0 + } + Remark: TCP server port for SCCP-Lite. + [End] + " + ::= { Link 3 } + +Routing OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Routing. " + ::= { Config_MTP3 3 } + +International OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 1 } + +International_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 2 } + +National OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 3 } + +National_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 4 } + +SPC_to_ACN OBJECT-IDENTITY + STATUS current + DESCRIPTION + " SPC to ACN. " + ::= { Config_MTP3 7 } + +Local_ACN OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 1 } + +International OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 2 } + +International_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 3 } + +National OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 4 } + +National_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 5 } + +Status_MTP3 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " MTP3 Status. " + ::= { MTP3 3 } + +Link_Status OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 01 + Field: [1]Link status + { + [u]0.0-0.7 + [u]select + [v]0[opt]Unavailable + [v]1[opt]Available + [v]2[opt]Inhibited + } + Remark: E1 link MTP3 status (Read Only). + [End] + " + ::= { Status_MTP3 1 } + +Linkset_Status OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 1 + Default: 01 + Field: [1]Linkset status + { + [u]0.0-0.7 + [u]select + [v]0[opt]Unavailable + [v]1[opt]Available + [v]2[opt]Reserved + } + Remark: Linkset status (Read only). + [End] + " + ::= { Status_MTP3 2 } + +International_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 3 } + +International_Spare_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 4 } + +National_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 5 } + +National_Spare_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 6 } + + + +Command_MTP3 OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag :S1.3 + Field: [1]command + { + [u]0.0-0.7 + [u]select + [v]0[opt]No command + [v]1[opt]Reset + [v]2[opt]Save parameter + } + Remark: Control command for MTP3 platform. + Reset=status initialization. + Save parameter=save parameters residing in memory into harddisk. + [End] + " + ::= { Status_MTP3 7 } + +Signaling_Gateway OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 7 + Default: 00000000000000 + Field: [1]Enable + { + [u]00.0-00.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [2]Server + { + [u]01.0-01.7 + [u]select + [v]0[opt]Client + [v]1[opt]Server + } + [3]ACK + { + [u]02.0-02.7 + [u]select + [v]0[opt]no ACK + [v]1[opt]ACK + } + [4]IP + { + [u]03.0-06.7 + [u]input + [v]keepHex-high-0 + } + Remark: SG attributes + [End] + " + ::= { Config_MTP3 9 } + + + +-- +-- sub system SCCP +-- + +SCCP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_ModuleSubsystems for SCCP . + " + ::= { SS7 3 } + +Config_SCCP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " SCCP Configuration. " + ::= { SCCP 2 } + +Local_Node OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Local Node. " + ::= { Config_SCCP 1 } + +OMC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: OMC E.134 number. + IP0: OMC0 IP, 172.18.128.1. + IP1: OMC1 IP, 172.18.129.1. + [End] + " + ::= { Local_Node 4 } + +HLR OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: HLR E.134 number. + IP0: HLR0 IP, 172.18.98.1. + IP1: HLR1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 3 } + +VLR OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: VLR E.134 number. + IP0: VLR0 IP, 172.18.98.1. + IP1: VLR1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 7 } + +MSC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: MSC E.134 number. + IP0: MSC0 IP, 172.18.98.1. + IP1: MSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 8 } + +EIR OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: EIR E.134 number. + IP0: EIR0 IP, 172.18.98.1. + IP1: EIR1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 9 } + +AUC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: AUC E.134 number. + IP0: AUC0 IP, 172.18.98.1. + IP1: AUC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 10 } + +SMSC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: SMSC E.134 number. + IP0: OMC0 IP, 172.18.98.1. + IP1: OMC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 11 } + +SMPP_EMSE OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: VMS-SMPP E.134 number. + IP0: VMS0 IP, 172.18.147.1. + IP1: VMS1 IP, 172.18.148.1. + [End] + " + ::= { Local_Node 19 } + +SMPP_SMSC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: SMSC-SMPP E.134 number. + IP0: SMSC0 IP, 172.18.98.1. + IP1: SMSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 20 } + +SMPP_OMC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: OMC-SMPP E.134 number. + IP0: OMC0 IP, 172.18.128.1. + IP1: OMC1 IP, 172.18.129.1. + [End] + " + ::= { Local_Node 21 } + +SRF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: VMS SRF E.134 number. + IP0: VMS0 IP, 172.18.147.1. + IP1: VMS1 IP, 172.18.148.1. + [End] + " + ::= { Local_Node 22 } + +SSF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: MSC SSF E.134 number. + IP0: MSC0 IP, 172.18.98.1. + IP1: MSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 143 } + +SCF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: PPS SCF E.134 number. + IP0: PPS0 IP, 172.18.98.1. + IP1: PPS1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 147 } + +AIF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: AIF E.134 number. + IP0: MSC0 IP, 172.18.98.1. + IP1: MSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 254 } + +GTT_Table OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 43 + Default: 000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000007000000FFFFFFFFFFFFFFFFFFFF + Field: [1]On/off + { + [u]00.0-00.7 + [u]select + [v]1[opt]On + [v]0[opt]Off + } + [2]Numbering plan + { + [u]01.0-01.7 + [u]select + [v]1[opt]MSISDN + [v]6[opt]IMSI + [v]7[opt]GT + } + [3]Start GT number + { + [u]02.0-11.7 + [u]input + [v]keepHex-low-F + } + [4]End GT number + { + [u]12.0-21.7 + [u]input + [v]keepHex-low-F + } + [5]Network indicator + { + [u]22.0-22.7 + [u]select + [v]0[opt]0 + [v]1[opt]1 + [v]2[opt]2 + [v]3[opt]3 + } + [6]DPC + { + [u]23.0-25.7 + [u]input + [v]toDec-high-0 + } + [7]SSN + { + [u]26.0-26.7 + [u]input + [v]toDec-high-0 + } + [8]Route indicator + { + [u]27.0-27.7 + [u]select + [v]0[opt]Route on GT + [v]1[opt]Route on SSN + } + [9]Address indicator + { + [u]28.0-28.7 + [u]select + [v]0[opt]NULL + [v]3[opt]DPC+SSN + [v]6[opt]GT+SSN + [v]7[opt]GT+DPC+SSN + } + [10]Replaced start digit + { + [u]29.0-29.7 + [u]input + [v]keepHex-high-0 + } + [11]Replaced end digit + { + [u]30.0-30.7 + [u]input + [v]keepHex-high-0 + } + [12]Outgoing number plan + { + [u]31.0-31.7 + [u]select + [v]1[opt]MSISDN + [v]6[opt]IMSI + [v]7[opt]GT + } + [13]Replacing digits + { + [u]32.0-41.7 + [u]input + [v]keepHex-low-F + } + Remark: On/off: GTT flag, off=disable, on=enable. + Numbering plan: 1=MSISDN, 3=IMSI, 7=GT. + Specify the beginning number of a group of consecutive numbers routed by GTT, for single-number GTT route, the start number is same as the end number. + End GT number: Specify the end number of a group of consecutive number routed by GT. If there are some inconsecutive numbers for a same destination, a different GTT record should be set. + Network indicator (NI): 0=International network, 1=International network spare, 2=National network, 3=National network spare, + DPC: Destination point code. + SSN: Subsystem number. + 2=Reserved for ITU-T allocation. + 3=ISDN user part. + 4=OMC. + 5=MAP. + 3=HLR. + 7=VLR. + 8=MSC. + 9=EIR. + 10=AUC. + 11=SMSC. + 147=PPS. + 254=BSSMAP. + Route indicator: For IMSI and MSISDN, select Route on SSN. For the record of the connected network, select Route on GT. + Address indicator: select the contribution of SCCP Address. + Replaced start digit: Specify the beginning digit of a segment of digits to be replaced within a GT number, the replacement is for changing number and numbering plan. + Replaced end digit: Specify the end digit of a segment of digits to be replaced within a GT number, the replacement is for changing number and numbering plan. + Outgoing number plan: Outgoing number plan, include MSISDN, IMSI and GT. + Replacing digits: Replacing digits, the length of replacing digits and replaced digits may be different. + [End] + " + ::= { Config_SCCP 2 } + +Management OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Management. " + ::= { SCCP 3 } + +Version OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: + Remark: Version of SCCP platform software (Read Only). + Byte0: System release version number, based on basic function and structure. + Byte1: Software module version number, based on software module. + Byte2: Test version, 0=Release version number, 1=Test version number. + [End] + " + ::= { Management 1 } + +Command_SCCP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag : S1.2 + Field: [1]Command + { + [u]00.0-00.7 + [u]select + [v]0[opt]Reset + [v]2[opt]Save parameters + } + Remark: Control command for SCCP. + Reset: Used for SCCP status initialization. + Load parameter: Load the parameters from device's harddisk to device's memory. + Save parameter: Save the parameters residing in device's memory into device's harddisk. + [End] + " + ::= { Management 2 } + +-- +-- sub system XAPP +-- + +XAPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + Subsystems for XAPP . + " + ::= { SS7 5 } + +Config_XAPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " XAPP Configuration. " + ::= { XAPP 2 } + +MCC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 460E + Field: [1]MCC + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + + Remark: Mobile country code. + [End] + " + ::= { Config_XAPP 1 } + +MNC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 02 + Field: [1]MNC + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-E + } + Remark: Mobile network code. + [End] + " + ::= { Config_XAPP 2 } + +CC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 86EE + Field: [1]CC + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + Remark: Country code. + [End] + " + ::= { Config_XAPP 3 } + +NDC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 755EEE + Field: [1]NDC + { + [u]00.0-02.7 + [u]input + [v]keepHex-low-E + } + Remark: National destination code. + [End] + " + ::= { Config_XAPP 4 } + +International_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 00ee + Field: [1]International prefix + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + Remark: International call prefix. + [End] + " + ::= { Config_XAPP 5 } + +National_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 0EEE + Field: [1]National prefix + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + + Remark: National call prefix. + [End] + " + ::= { Config_XAPP 6 } + +Local_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: EEEE + Field: + Remark: Local prefix. + [End] + " + ::= { Config_XAPP 7 } + +Conv_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 35 + Default: 0000000000000000000000000000000000000000000000000000000000000000000000 + Field: [1]Prefix + { + [u]00.0-15.7 + [u]input + [v]toAscii-low-0 + } + [2]Delete length + { + [u]16.0-16.7[u]input + [v]toDec-high-0 + } + [3]Add length + { + [u]17.0-17.7 + [u]input + [v]toDec-high-0 + } + [4]Add digits + { + [u]18.0-33.7 + [u]input + [v]toAscii-low-0 + } + [5]Valid length + { + [u]34.0-34.7 + [u]input + [v]toDec-high-0 + } + Remark: Conv prefix . + [End] + " + ::= { Config_XAPP 8 } + +CLI_Conv_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 8 + Length: 37 + Default: 0000000000000000000000000000000000000000000000000000000000000000000000 + Field: [1]In property + { + [u]00.0-00.7 + [u]select + [v]1[opt]IDD + [v]2[opt]NDD + [v]3[opt]Unknown + } + [2]Prefix + { + [u]01.0-16.7 + [u]input + [v]toAscii-low-0 + } + [3]Delete length + { + [u]17.0-17.7 + [u]input + [v]toDec-high-0 + } + [4]Out property + { + [u]18.0-18.7 + [u]select + [v]1[opt]IDD + [v]2[opt]NDD + [v]3[opt]Unknown + } + [5]Add length + { + [u]19.0-19.7 + [u]input + [v]toDec-high-0 + } + [6]Add digits + { + [u]20.0-35.7 + [u]input + [v]toAscii-low-0 + + } + [7]Valid length + { + [u]36.0-36.7 + [u]input + [v]toDec-high-0 + } + Remark: CLI_Conv prefix . + [End] + " + ::= { Config_XAPP 9 } + +mscid_to_number OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 35 + Default: 0000000000000000000000000000000000000000000000000000000000000000000000 + Field: + + [1]Market ID + { + [u]0.0-1.7 + [u]input + [v]toDec-high-0 + } + [2]Switch Number + { + [u]2.0-2.7 + [u]input + [v]toDec-high-0 + } + [3]SSN + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [4]Number + { + [u]04.0-11.7 + [u]input + [v]keepHex-low-E + } + Remark: Conv prefix . + [End] + " + ::= { Config_XAPP 10 } + +Status_XAPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " XAPP Status. " + ::= { XAPP 3 } + +Version_XAPP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: + Remark: Version of XAPP module (Read Only). + Byte0: System release version number, based on basic function and structure. + Byte1: Software module version number, based on software module. + Byte2: Test version, 0=Release version number, 1=Test version number. + [End] + " + ::= { Status_XAPP 1 } + +Command_XAPP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag: S1.1 + Field: [1]Command + { + [u]00.0-00.7 + [u]select + [v]01[opt]Save parameters + } + Remark: Control command for XAPP. + Save parameter: Save the parameters in memory into local harddisk. + [End] + " + ::= { Status_XAPP 2 } + +-- +-- sub system SMPP +-- + +SMPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_Module]Subsystems for SMPP . + " + ::= { SS7 6 } + +Config_SMPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " SMPP Configuration. " + ::= { SMPP 2 } + +Enquire_Link_Timer OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 0a + Field: [1]Enquire link timer + { + [u]00.0-00.7 + [u]input + [v]toDec-high-0 + } + Remark: This timer specifies the time lapse allowed between operations after which an SMPP entity should interrogate whether it's peer still has an active session. + The scale is second. + [End] + " + ::= { Config_SMPP 1 } + +Response_Timer OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 05 + Field: [1]Response timer + { + [u]00.0-00.7 + [u]input + [v]toDec-high-0 + } + Remark: This timer specifies the time lapse allowed between an SMPP request and the corresponding SMPP response. + The scale is second. + [End] + " + ::= { Config_SMPP 2 } + +Status_SMPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " XAPP Status. " + ::= { SMPP 3 } + +Command_SMPP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag :S1.1 + Field: [1]Command + { + [u]00.0-00.7 + [u]select + [v]0[opt]save parameter + } + Remark: Control command for SMPP. + [End] + " + ::= { Status_SMPP 1 } + + +END diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/IWV-SMI.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/IWV-SMI.txt new file mode 100644 index 0000000..f35678c --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/IWV-SMI.txt @@ -0,0 +1,40 @@ +-- ***************************************************************** +-- IWV-SMI: interWAVE Enterprise Structure of Management Information +-- +-- draft November 2000, Huang qilong +-- 1st November 2004, Sheng Xueqiang +-- +-- Copyright (c) 2000 by interWAVE, Inc. +-- All rights reserved. +-- +-- ***************************************************************** +-- + +IWV-SMI DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-IDENTITY, + enterprises + FROM SNMPv2-SMI; + +IWV MODULE-IDENTITY + LAST-UPDATED "0411170000Z" + ORGANIZATION "interWAVE, Inc." + CONTACT-INFO + "http://www.iwv.com" + DESCRIPTION + "The Structure of Management Information for the interWAVE enterprise." + REVISION "200411170000Z" + DESCRIPTION + "1st version of this MIB module." + ::= { enterprises 1373 } -- assigned by IANA + + +IWV_Products OBJECT-IDENTITY + STATUS current + DESCRIPTION + "iwvProducts is the root OBJECT IDENTIFIER from which sysObjectID values are assigned. Actual values are defined in IWV-PRODUCTS-MIB." + ::= { IWV 1 } + +END diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/Special_App-SMI.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/Special_App-SMI.txt new file mode 100644 index 0000000..36d2a55 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/Special_App-SMI.txt @@ -0,0 +1,43 @@ +-- ***************************************************************** +-- Special_App-SMI: WXC2 Structure of Management Information +-- +-- draft November 2004, Sheng Xueqiang +-- +-- Copyright (c) 2004 by interWAVE, Inc. +-- All rights reserved. +-- +-- ***************************************************************** +-- + +Special_App-SMI DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-IDENTITY, + FROM SNMPv2-SMI + IWV_Products + FROM IWV-SMI; + +Special_App MODULE-IDENTITY + LAST-UPDATED "0411180000Z" + ORGANIZATION "interWAVE, Inc." + CONTACT-INFO + "http://www.iwv.com" + DESCRIPTION + "The Structure of Management Information for the Special Application of interWAVE enterprise." + REVISION "200411180000Z" + DESCRIPTION + "1st version of this MIB module." + ::= { IWV_Products 2 } + +-- CNF Center +-- IWF +IWF OBJECT-IDENTITY + STATUS current + DESCRIPTION + "IWF " + ::= { Special_App 8 } + +-- PPP Route + +END diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/System_IP_List.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/System_IP_List.txt new file mode 100644 index 0000000..65a7dd6 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/System_IP_List.txt @@ -0,0 +1,60 @@ +// host ip +// "//" is the annotation characters; ";" is the septation characters; +8KE1_0_0 -- ; 172.18.0.1; +8KE1_0_1 -- ; 172.18.1.1; +8KE1_0_2 -- ; 172.18.2.1; +8KE1_0_3 -- ; 172.18.3.1; +8KE1_0_4 -- ; 172.18.4.1; +8KE1_0_5 -- ; 172.18.5.1; +8KE1_0_6 -- ; 172.18.6.1; +8KE1_0_7 -- ; 172.18.7.1; +8KE1_0_8 -- ; 172.18.8.1; +8KE1_0_9 -- ; 172.18.9.1; +8KE1_0_10 -- ; 172.18.9.1; +8KE1_0_11 -- ; 172.18.9.1; +8KE1_0_12 -- ; 172.18.9.1; +8KE1_0_13 -- ; 172.18.13.1; +8KE1_0_14 -- ; 172.18.14.1; +8KE1_0_15 -- ; 172.18.15.1; +8KE1_1_0 -- ; 172.18.16.1; +8KE1_1_1 -- ; 172.18.17.1; +8KE1_1_2 -- ; 172.18.18.1; +8KE1_1_3 -- ; 172.18.19.1; +8KE1_1_4 -- ; 172.18.20.1; +8KE1_1_5 -- ; 172.18.21.1; +8KE1_1_6 -- ; 172.18.22.1; +8KE1_1_7 -- ; 172.18.23.1; +8KE1_1_8 -- ; 172.18.24.1; +8KE1_1_9 -- ; 172.18.25.1; +8KE1_1_10 -- ; 172.18.26.1; +8KE1_1_11 -- ; 172.18.27.1; +8KE1_1_12 -- ; 172.18.28.1; +8KE1_1_13 -- ; 172.18.29.1; +8KE1_1_14 -- ; 172.18.30.1; +8KE1_1_15 -- ; 172.18.31.1; +PLAT_0_0 -- ; 172.18.144.1; +PLAT_1_0 -- ; 172.18.133.1; +MTP3_0_0 mss-0 ; 172.18.144.1; +MTP3_1_0 mss-1 ; 172.18.133.1; +SCCP_0_0 mss-0 ; 172.18.144.1; +SCCP_1_0 mss-1 ; 172.18.133.1; +XAPP_0_0 MSS-0 ; 172.18.144.1; +XAPP_1_0 MSS-1 ; 172.18.133.1; +SMPP_0_0 SMPP-0; 172.18.144.1; +MSC_0_0 -- ; 172.18.234.231; +MSC_1_0 -- ; 172.18.133.1; +CCF(MSC)_0_0 --; 172.18.234.231; +CCF(MSC)_1_0 --; 172.18.133.1; +VLR_0_0 VLR-0 ; 172.18.234.231; +VLR_1_0 VLR-1 ; 172.18..1; +HLR_0_0 -- ; 172.18.234.231; +HLR_1_0 -- ; 172.18.234.230; +AUC_0_0 -- ; 172.18.234.231; +AUC_1_0 -- ; 172.18.234.230; +SMSC_0_0 -- ; 172.18.224.231; +SMSC_1_0 -- ; 172.18.234.230; +PPS_0_0 -- ; 172.18.234.230; +PPS_1_0 -- ; 172.18.234.230; +EIR_0_0 -- ; 172.18.234.231; +MSS_0_0 wxc2-0 ; 172.18.234.231; +MSS_1_0 wxc2-1 ; 172.18.133.1; diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/WXC2-SMI.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/WXC2-SMI.txt new file mode 100644 index 0000000..2e3727b --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/WXC2-SMI.txt @@ -0,0 +1,57 @@ +-- ***************************************************************** +-- WXC2-SMI: WXC2 Structure of Management Information +-- +-- draft November 2000, Huang qilong +-- 1st November 2004, Sheng Xueqiang +-- +-- Copyright (c) 2004 by interWAVE, Inc. +-- All rights reserved. +-- +-- ***************************************************************** +-- + +WXC2-SMI DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-IDENTITY, + FROM SNMPv2-SMI + IWV_Products + FROM IWV-SMI; + +WXC2 MODULE-IDENTITY + LAST-UPDATED "200506050000Z" + ORGANIZATION "interWAVE, Inc." + CONTACT-INFO + "http://www.iwv.com" + DESCRIPTION + "The Structure of Management Information for the WXC2 of interWAVE enterprise." + REVISION "200506050000Z" + DESCRIPTION + "1st version of this MIB module." + ::= { IWV_Products 3 } + +-- WXC2_PCM +PCM OBJECT-IDENTITY + STATUS current + DESCRIPTION + "PCM " + ::= { WXC2 1 } + + +-- WXC2_platform +Platform OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Platform " + ::= { WXC2 2 } + +-- WXC2_App + +App OBJECT-IDENTITY + STATUS current + DESCRIPTION + "App platform" + ::= { WXC2 3 } + +END diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/WXC2-SS7-MIB.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/WXC2-SS7-MIB.txt new file mode 100644 index 0000000..e95314e --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/WXC2-SS7-MIB.txt @@ -0,0 +1,3630 @@ +WXC2-SS7-MIB DEFINITIONS ::= BEGIN +IMPORTS + OBJECT-TYPE, Integer32, Opaque + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, DisplayString, TruthValue + FROM SNMPv2-TC + Platform + FROM WXC2-SMI; + +SS7 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + Subsystems for SS7 . + " + ::= { Platform 2 } + + +-- +-- sub system MTP3 +-- + +MTP3 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_Module]Subsystems for MTP3 . + " + ::= { SS7 2 } + +Config_MTP3 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " MTP3 Configuration. " + ::= { MTP3 2 } + +Network_Indicator OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Field: [1]International network + { + [u]0.0-0.0 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [2]International network spare + { + [u]0.1-0.1 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [3]National network + { + [u]0.2-0.2 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [4]National network spare + { + [u]0.3-0.3 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [5]International network + { + [u]0.4-0.4 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [6]International network spare + { + [u]0.5-0.5 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [7]National network + { + [u]0.6-0.6 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [8]National network spare + { + [u]0.7-0.7 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + Remark: MTP3 network indicator. + [End] + " + ::= { Config_MTP3 2 } + + + + +OPC OBJECT-IDENTITYstatus + STATUS current + DESCRIPTION + " Originating point code. " + ::= { Config_MTP3 6 } + +International_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 1 } + +International_Spare_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 2 } + +National_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 3 } + +National_Spare_14bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 14-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 4 } + +International_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 5 } + +International_Spare_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 3 } + +National_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 7 } + +National_Spare_24bit OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: [1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + Remark: 24-bit originating point code (OPC) in an international network. Default=0. + [End] + " + ::= { OPC 8 } + +Linkset OBJECT-IDENTITY + STATUS current + DESCRIPTION + " linkset. " + ::= { Config_MTP3 4 } + +Linkset_Attributes OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 4 + Default: 00000000 + Field: [1]Linkset DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Network indicator + { + [u]3.0-3.1 + [u]select + [v]0[opt]International + [v]1[opt]International spare + [v]2[opt]National + [v]3[opt]National spare + } + [3]Reserved + { + [u]3.2-3.2 + [u]select + } + [4]Linkset loopback + { + [u]3.3-3.3 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [5]Reserved + { + [u]3.4-3.7 + [u]select + } + Remark: Opposite point code: The opposite point code of the linkset. + Network indicator: The network type of the opposite point code. + Loop back: Loop back enable or disable, used for MSC loop back link. + [End] + " + ::= { Linkset 1 } + +Link OBJECT-IDENTITY + STATUS current + DESCRIPTION + " link. " + ::= { Config_MTP3 5 } + +Link_Attributes OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 15 + Default: 8010FFFFFFFF000000000000000000 + Field: [1]Linkset no. + { + [u]00.0-00.7 + [u]input + [v]toDec-high-0 + } + [2]SLC no. + { + [u]01.0-01.7 + [u]input + [v]toDec-high-0 + } + [3]CPC IP + { + [u]02.0-02.7 + [u]input + [v]toDec-high-0 + } + [4]Link Type + { + [u]06.0-06.0 + [u]select + [v]0[opt]Non-sigtran + [v]1[opt]Sigtran + } + [5]Link Enable + { + [u]06.1-06.1 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [6]MTP3-Lite Enable + { + [u]06.2-06.2 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [7]Reserved + { + [u]06.3-06.7 + [u]select + } + [8]SG no. + { + [u]07.0-07.7 + [u]input + [v]toDec-high-0 + } + [9]M2UA Interface ID + { + [u]08.0-08.7 + [u]input + [v]toDec-high-0 + } + [10]MTP3-Lite Remote IP + { + [u]09.0-12.7 + [u]input + [v]keepHex-high-0 + } + [11]MTP3-Lite Inactivity Timeout + { + [u]13.0-13.7 + [u]input + [v]toDec-high-0 + } + [12]MTP3-Lite Allowed Inactivity Timeouts + { + [u]14.0-14.7 + [u]input + [v]toDec-high-0 + } + Remark: E1 link attributes. + Linkset no.: Assign linkset to E1 link, MSC has up to 128 linksets (0-127). 128=TCH E1. + SLC no.: Assign SLC to each E1 link of a linkset, each linkset has up to 13 E1 links (0-15). + IP: E1 link management IP. The third byte of CPC IP: + 98=E1 link 0-127, 99=E1 link 128-255. + Default=0x000032. + [End] + " + ::= { Link 1 } + +Link_Command OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 01 + Field: [1]E1 link + { + [u]0.0-0.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + [v]2[opt]Inhibit + [v]3[opt]Uninhibit + } + Remark: Used for E1 link control, not affect call traffic. + Disable=Disable E1 link MTP2 layer. + Enable=Enable a disabled E1 link MTP2 layer. + Inhibit=Inhibit E1 link MTP3 layer. + Uninhibit=Uninhibit a inhibited E1 link MTP3 layer. + Default=Enable a disabled E1 link MTP2 layer. + [End] + " + ::= { Link 2 } + +TCP_Port OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-writed + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 1388 + Field: [1]TCP Port + { + [u]0.0-1.7 + [u]input + [v]toDec-high-0 + } + Remark: TCP server port for SCCP-Lite. + [End] + " + ::= { Link 3 } + +Routing OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Routing. " + ::= { Config_MTP3 3 } + +International OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 1 } + +International_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 2 } + +National OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 3 } + +National_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 5 + Default: 0000008080 + Field: [1]DPC + { + [u]0.0-2.7 + [u]input + [v]toDec-high-0 + } + [2]Normal linkset + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [3]Alternative linkset + { + [u]4.0-4.7 + [u]input + [v]toDec-high-0 + } + Remark: Assign a normal linkset and an alternative linkset for each destination point code for signaling addressing. Basically the normal linkset is always used. The alternative linkset can only be used when the normal linkset is not available. Default=0x0000008080. + [End] + " + ::= { Routing 4 } + +SPC_to_ACN OBJECT-IDENTITY + STATUS current + DESCRIPTION + " SPC to ACN. " + ::= { Config_MTP3 7 } + +Local_ACN OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 1 } + +International OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 2 } + +International_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 3 } + +National OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 4 } + +National_Spare OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 36 + Default: 030303030202020202030302020303020303020303030303030303030303030302020202 + Field: [1]Network Location Update + { + [u]0.0-0.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [2]Location Cancel + { + [u]1.0-1.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [3]Roaming number nequiry + { + [u]2.0-2.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [4]Location Info Retrieval + { + [u]3.0-3.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [5]Reset Context + { + [u]4.0-4.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [6]Handover Control + { + [u]5.0-5.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [7]Equipment management + { + [u]6.0-6.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [8]Info Retrieval + { + [u]7.0-7.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [9]Inter VLR Info Retrieval + { + [u]8.0-8.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [10]Subscriber Data Management + { + [u]9.0-9.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [11]Tracing + { + [u]10.0-10.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [12]Network Functional SS + { + [u]11.0-11.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [13]Network Unstructured SS + { + [u]12.0-12.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [14]Short Message Gateway + { + [u]13.0-13.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [15]Short Messsage MO Relay + { + [u]14.0-14.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [16]Short Message Alert + { + [u]15.0-15.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [17]Short Message Waiting Data Management + { + [u]16.0-16.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [18]Mobile Terminating Short Message Relay + { + [u]17.0-17.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [19]IMSI Retrieval + { + [u]18.0-18.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [20]MS purging + { + [u]19.0-19.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [21]Subscriber Info Enquiry + { + [u]20.0-20.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [22]Any Time Info Enquiry + { + [u]21.0-21.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [23]Call Control Transfer + { + [u]22.0-22.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [24]Invocation Notification + { + [u]23.0-23.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [25]SIWFS Allocation + { + [u]24.0-24.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [26]Group Call Control + { + [u]25.0-25.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [27]GPRS Location Update + { + [u]26.0-26.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [28]GPRS Location Info Retrieval + { + [u]27.0-27.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [29]Failure Report + { + [u]28.0-28.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [30]GPRS Notify + { + [u]29.0-29.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [31]Reporting + { + [u]30.0-30.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [32]Call Completion + { + [u]31.0-31.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [33]Security Triplets + { + [u]32.0-32.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [34]Subscriber Interrogate + { + [u]33.0-33.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [35]HLR Subscriber Management + { + [u]34.0-34.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + [36]HLR Ping AUC + { + [u]35.0-35.7 + [u]select + [v]2[opt]Version 2 + [v]3[opt]Version 3 + } + Remark: The ACN facility enables the version negotiation for the above messages, which make the WXC2 System more compatible with the other networks by means of flexible message version adjustment. The adjustable version includes Version 1, Version 2 and Version 3. + [End] + " + ::= { SPC_to_ACN 5 } + +Status_MTP3 OBJECT-IDENTITY + STATUS current + DESCRIPTION + " MTP3 Status. " + ::= { MTP3 3 } + +Link_Status OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 01 + Field: [1]Link status + { + [u]0.0-0.7 + [u]select + [v]0[opt]Unavailable + [v]1[opt]Available + [v]2[opt]Inhibited + } + Remark: E1 link MTP3 status (Read Only). + [End] + " + ::= { Status_MTP3 1 } + +Linkset_Status OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 1 + Default: 01 + Field: [1]Linkset status + { + [u]0.0-0.7 + [u]select + [v]0[opt]Unavailable + [v]1[opt]Available + [v]2[opt]Reserved + } + Remark: Linkset status (Read only). + [End] + " + ::= { Status_MTP3 2 } + +International_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 3 } + +International_Spare_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 4 } + +National_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 5 } + +National_Spare_Routing OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 1 + Default: 8a + Field: [1]Normal linkset + { + [u]0.0-0.1 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [2]Alternative linkset + { + [u]0.2-0.3 + [u]select + [v]0[opt]available + [v]1[opt]reserved + [v]2[opt]unavailable + } + [3]DPC accessibility + { + [u]0.4-0.4 + [u]select + [v]0[opt]inaccessible + [v]1[opt]accessible + } + [4]Current route + { + [u]0.6-0.7 + [u]select + [v]0[opt]normal linkset + [v]1[opt]alternative linkset + [v]2[opt]no route + } + Remark: Normal linkset status (bit0-1): + - 0=Available + - 1=Reserved + - 2=Unavailable + Alternative linkset status (bit2-3): + - 0=Available + - 1=Reserved + - 2=Unavailable + DPC accessibility (bit4): + - 0=Inaccessible + - 1=Accessible + Current route (bit3-7): + - 0=Normal linkset + - 1=Alternative linkset + - 2=No route. + [End] + " + ::= { Status_MTP3 6 } + + + +Command_MTP3 OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag :S1.3 + Field: [1]command + { + [u]0.0-0.7 + [u]select + [v]0[opt]No command + [v]1[opt]Reset + [v]2[opt]Save parameter + } + Remark: Control command for MTP3 platform. + Reset=status initialization. + Save parameter=save parameters residing in memory into harddisk. + [End] + " + ::= { Status_MTP3 7 } + +Signaling_Gateway OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 7 + Default: 00000000000000 + Field: [1]Enable + { + [u]00.0-00.7 + [u]select + [v]0[opt]Disable + [v]1[opt]Enable + } + [2]Server + { + [u]01.0-01.7 + [u]select + [v]0[opt]Client + [v]1[opt]Server + } + [3]ACK + { + [u]02.0-02.7 + [u]select + [v]0[opt]no ACK + [v]1[opt]ACK + } + [4]IP + { + [u]03.0-06.7 + [u]input + [v]keepHex-high-0 + } + Remark: SG attributes + [End] + " + ::= { Config_MTP3 9 } + + + +-- +-- sub system SCCP +-- + +SCCP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_ModuleSubsystems for SCCP . + " + ::= { SS7 3 } + +Config_SCCP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " SCCP Configuration. " + ::= { SCCP 2 } + +Local_Node OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Local Node. " + ::= { Config_SCCP 1 } + +OMC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: OMC E.134 number. + IP0: OMC0 IP, 172.18.128.1. + IP1: OMC1 IP, 172.18.129.1. + [End] + " + ::= { Local_Node 4 } + +HLR OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: HLR E.134 number. + IP0: HLR0 IP, 172.18.98.1. + IP1: HLR1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 3 } + +VLR OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: VLR E.134 number. + IP0: VLR0 IP, 172.18.98.1. + IP1: VLR1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 7 } + +MSC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: MSC E.134 number. + IP0: MSC0 IP, 172.18.98.1. + IP1: MSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 8 } + +EIR OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: EIR E.134 number. + IP0: EIR0 IP, 172.18.98.1. + IP1: EIR1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 9 } + +AUC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: AUC E.134 number. + IP0: AUC0 IP, 172.18.98.1. + IP1: AUC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 10 } + +SMSC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: SMSC E.134 number. + IP0: OMC0 IP, 172.18.98.1. + IP1: OMC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 11 } + +SMPP_EMSE OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: VMS-SMPP E.134 number. + IP0: VMS0 IP, 172.18.147.1. + IP1: VMS1 IP, 172.18.148.1. + [End] + " + ::= { Local_Node 19 } + +SMPP_SMSC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: SMSC-SMPP E.134 number. + IP0: SMSC0 IP, 172.18.98.1. + IP1: SMSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 20 } + +SMPP_OMC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: OMC-SMPP E.134 number. + IP0: OMC0 IP, 172.18.128.1. + IP1: OMC1 IP, 172.18.129.1. + [End] + " + ::= { Local_Node 21 } + +SRF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: VMS SRF E.134 number. + IP0: VMS0 IP, 172.18.147.1. + IP1: VMS1 IP, 172.18.148.1. + [End] + " + ::= { Local_Node 22 } + +SSF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: MSC SSF E.134 number. + IP0: MSC0 IP, 172.18.98.1. + IP1: MSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 143 } + +SCF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: PPS SCF E.134 number. + IP0: PPS0 IP, 172.18.98.1. + IP1: PPS1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 147 } + +AIF OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 19 + Default: 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + Field: [1]NI + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-F + } + [2]MSISDN + { + [u]01.0-10.7 + [u]input + [v]keepHex-low-F + } + [3]IP0 + { + [u]11.0-14.7 + [u]input + [v]keepHex-low-F + } + [4]IP1 + { + [u]15.0-18.7 + [u]input + [v]keepHex-low-F + } + Remark: NI: Network indicator. + 0=International network. + 1=International network spare. + 2=National network. + 3=National network spare. + MSISDN: AIF E.134 number. + IP0: MSC0 IP, 172.18.98.1. + IP1: MSC1 IP, 172.18.99.1. + [End] + " + ::= { Local_Node 254 } + +GTT_Table OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 256 + Length: 43 + Default: 000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000007000000FFFFFFFFFFFFFFFFFFFF + Field: [1]On/off + { + [u]00.0-00.7 + [u]select + [v]1[opt]On + [v]0[opt]Off + } + [2]Numbering plan + { + [u]01.0-01.7 + [u]select + [v]1[opt]MSISDN + [v]6[opt]IMSI + [v]7[opt]GT + } + [3]Start GT number + { + [u]02.0-11.7 + [u]input + [v]keepHex-low-F + } + [4]End GT number + { + [u]12.0-21.7 + [u]input + [v]keepHex-low-F + } + [5]Network indicator + { + [u]22.0-22.7 + [u]select + [v]0[opt]0 + [v]1[opt]1 + [v]2[opt]2 + [v]3[opt]3 + } + [6]DPC + { + [u]23.0-25.7 + [u]input + [v]toDec-high-0 + } + [7]SSN + { + [u]26.0-26.7 + [u]input + [v]toDec-high-0 + } + [8]Route indicator + { + [u]27.0-27.7 + [u]select + [v]0[opt]Route on GT + [v]1[opt]Route on SSN + } + [9]Address indicator + { + [u]28.0-28.7 + [u]select + [v]0[opt]NULL + [v]3[opt]DPC+SSN + [v]6[opt]GT+SSN + [v]7[opt]GT+DPC+SSN + } + [10]Replaced start digit + { + [u]29.0-29.7 + [u]input + [v]keepHex-high-0 + } + [11]Replaced end digit + { + [u]30.0-30.7 + [u]input + [v]keepHex-high-0 + } + [12]Outgoing number plan + { + [u]31.0-31.7 + [u]select + [v]1[opt]MSISDN + [v]6[opt]IMSI + [v]7[opt]GT + } + [13]Replacing digits + { + [u]32.0-41.7 + [u]input + [v]keepHex-low-F + } + Remark: On/off: GTT flag, off=disable, on=enable. + Numbering plan: 1=MSISDN, 3=IMSI, 7=GT. + Specify the beginning number of a group of consecutive numbers routed by GTT, for single-number GTT route, the start number is same as the end number. + End GT number: Specify the end number of a group of consecutive number routed by GT. If there are some inconsecutive numbers for a same destination, a different GTT record should be set. + Network indicator (NI): 0=International network, 1=International network spare, 2=National network, 3=National network spare, + DPC: Destination point code. + SSN: Subsystem number. + 2=Reserved for ITU-T allocation. + 3=ISDN user part. + 4=OMC. + 5=MAP. + 3=HLR. + 7=VLR. + 8=MSC. + 9=EIR. + 10=AUC. + 11=SMSC. + 147=PPS. + 254=BSSMAP. + Route indicator: For IMSI and MSISDN, select Route on SSN. For the record of the connected network, select Route on GT. + Address indicator: select the contribution of SCCP Address. + Replaced start digit: Specify the beginning digit of a segment of digits to be replaced within a GT number, the replacement is for changing number and numbering plan. + Replaced end digit: Specify the end digit of a segment of digits to be replaced within a GT number, the replacement is for changing number and numbering plan. + Outgoing number plan: Outgoing number plan, include MSISDN, IMSI and GT. + Replacing digits: Replacing digits, the length of replacing digits and replaced digits may be different. + [End] + " + ::= { Config_SCCP 2 } + +Management OBJECT-IDENTITY + STATUS current + DESCRIPTION + " Management. " + ::= { SCCP 3 } + +Version OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: + Remark: Version of SCCP platform software (Read Only). + Byte0: System release version number, based on basic function and structure. + Byte1: Software module version number, based on software module. + Byte2: Test version, 0=Release version number, 1=Test version number. + [End] + " + ::= { Management 1 } + +Command_SCCP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag : S1.2 + Field: [1]Command + { + [u]00.0-00.7 + [u]select + [v]0[opt]Reset + [v]2[opt]Save parameters + } + Remark: Control command for SCCP. + Reset: Used for SCCP status initialization. + Load parameter: Load the parameters from device's harddisk to device's memory. + Save parameter: Save the parameters residing in device's memory into device's harddisk. + [End] + " + ::= { Management 2 } + +-- +-- sub system XAPP +-- + +XAPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + Subsystems for XAPP . + " + ::= { SS7 5 } + +Config_XAPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " XAPP Configuration. " + ::= { XAPP 2 } + +MCC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 460E + Field: [1]MCC + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + + Remark: Mobile country code. + [End] + " + ::= { Config_XAPP 1 } + +MNC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 02 + Field: [1]MNC + { + [u]00.0-00.7 + [u]input + [v]keepHex-low-E + } + Remark: Mobile network code. + [End] + " + ::= { Config_XAPP 2 } + +CC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 86EE + Field: [1]CC + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + Remark: Country code. + [End] + " + ::= { Config_XAPP 3 } + +NDC OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 755EEE + Field: [1]NDC + { + [u]00.0-02.7 + [u]input + [v]keepHex-low-E + } + Remark: National destination code. + [End] + " + ::= { Config_XAPP 4 } + +International_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 00ee + Field: [1]International prefix + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + Remark: International call prefix. + [End] + " + ::= { Config_XAPP 5 } + +National_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: 0EEE + Field: [1]National prefix + { + [u]00.0-01.7 + [u]input + [v]keepHex-low-E + } + + Remark: National call prefix. + [End] + " + ::= { Config_XAPP 6 } + +Local_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 2 + Default: EEEE + Field: + Remark: Local prefix. + [End] + " + ::= { Config_XAPP 7 } + +Conv_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 35 + Default: 0000000000000000000000000000000000000000000000000000000000000000000000 + Field: [1]Prefix + { + [u]00.0-15.7 + [u]input + [v]toAscii-low-0 + } + [2]Delete length + { + [u]16.0-16.7[u]input + [v]toDec-high-0 + } + [3]Add length + { + [u]17.0-17.7 + [u]input + [v]toDec-high-0 + } + [4]Add digits + { + [u]18.0-33.7 + [u]input + [v]toAscii-low-0 + } + [5]Valid length + { + [u]34.0-34.7 + [u]input + [v]toDec-high-0 + } + Remark: Conv prefix . + [End] + " + ::= { Config_XAPP 8 } + +CLI_Conv_Prefix OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 8 + Length: 37 + Default: 0000000000000000000000000000000000000000000000000000000000000000000000 + Field: [1]In property + { + [u]00.0-00.7 + [u]select + [v]1[opt]IDD + [v]2[opt]NDD + [v]3[opt]Unknown + } + [2]Prefix + { + [u]01.0-16.7 + [u]input + [v]toAscii-low-0 + } + [3]Delete length + { + [u]17.0-17.7 + [u]input + [v]toDec-high-0 + } + [4]Out property + { + [u]18.0-18.7 + [u]select + [v]1[opt]IDD + [v]2[opt]NDD + [v]3[opt]Unknown + } + [5]Add length + { + [u]19.0-19.7 + [u]input + [v]toDec-high-0 + } + [6]Add digits + { + [u]20.0-35.7 + [u]input + [v]toAscii-low-0 + + } + [7]Valid length + { + [u]36.0-36.7 + [u]input + [v]toDec-high-0 + } + Remark: CLI_Conv prefix . + [End] + " + ::= { Config_XAPP 9 } + +mscid_to_number OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 128 + Length: 35 + Default: 0000000000000000000000000000000000000000000000000000000000000000000000 + Field: + + [1]Market ID + { + [u]0.0-1.7 + [u]input + [v]toDec-high-0 + } + [2]Switch Number + { + [u]2.0-2.7 + [u]input + [v]toDec-high-0 + } + [3]SSN + { + [u]3.0-3.7 + [u]input + [v]toDec-high-0 + } + [4]Number + { + [u]04.0-11.7 + [u]input + [v]keepHex-low-E + } + Remark: Conv prefix . + [End] + " + ::= { Config_XAPP 10 } + +Status_XAPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " XAPP Status. " + ::= { XAPP 3 } + +Version_XAPP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 3 + Default: 000000 + Field: + Remark: Version of XAPP module (Read Only). + Byte0: System release version number, based on basic function and structure. + Byte1: Software module version number, based on software module. + Byte2: Test version, 0=Release version number, 1=Test version number. + [End] + " + ::= { Status_XAPP 1 } + +Command_XAPP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag: S1.1 + Field: [1]Command + { + [u]00.0-00.7 + [u]select + [v]01[opt]Save parameters + } + Remark: Control command for XAPP. + Save parameter: Save the parameters in memory into local harddisk. + [End] + " + ::= { Status_XAPP 2 } + +-- +-- sub system SMPP +-- + +SMPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " + [SubSystem_Module]Subsystems for SMPP . + " + ::= { SS7 6 } + +Config_SMPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " SMPP Configuration. " + ::= { SMPP 2 } + +Enquire_Link_Timer OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 0a + Field: [1]Enquire link timer + { + [u]00.0-00.7 + [u]input + [v]toDec-high-0 + } + Remark: This timer specifies the time lapse allowed between operations after which an SMPP entity should interrogate whether it's peer still has an active session. + The scale is second. + [End] + " + ::= { Config_SMPP 1 } + +Response_Timer OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 05 + Field: [1]Response timer + { + [u]00.0-00.7 + [u]input + [v]toDec-high-0 + } + Remark: This timer specifies the time lapse allowed between an SMPP request and the corresponding SMPP response. + The scale is second. + [End] + " + ::= { Config_SMPP 2 } + +Status_SMPP OBJECT-IDENTITY + STATUS current + DESCRIPTION + " XAPP Status. " + ::= { SMPP 3 } + +Command_SMPP OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS write-only + STATUS current + DESCRIPTION + " + [Begin] + Instance: 1 + Length: 1 + Default: 00 + Flag :S1.1 + Field: [1]Command + { + [u]00.0-00.7 + [u]select + [v]0[opt]save parameter + } + Remark: Control command for SMPP. + [End] + " + ::= { Status_SMPP 1 } + + +END diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/help_page b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/help_page new file mode 100644 index 0000000..19aac88 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/help_page @@ -0,0 +1,885 @@ +############## The debug menu tree config file root=wxc2 root_oid={1.3.6.1.4.1.1373.1.3} +#(0)(1)(2)(9) ip group +#/ the layer +#.1.1.3. menu_id +#{3.2.2.1.2} the last oid from the root +#[name] menu name +#M:8 the id of the menu in the current object +############## all the line must end for ';',and menu id and last oid must do not contain space + +##WXC2 +/. (9); + +M:1 [MSC] {3.2}; +M:2 [VLR] {3.2.5}; +M:3 [HLR] {3.3}; +M:4 [PPS] {3.6}; +M:5 [SMSC] {3.5}; +M:6 [AUC] {3.4}; +##M:7 [EIR] {3.8}; + +##MSC +/ /.1. (9); + +M:1 [Prefix Assignment] {3.2.2.2.1.1}; +M:2 [Prefix Attributes] {3.2.2.2.1.2}; +M:3 [Assign TG to Prefix] {3.2.2.2.1.3}; +M:4 [TG attributes] {3.2.2.2.1.4}; +M:5 [CDR Flag] {3.2.2.2.1.5}; +M:6 [Announcement Option] {3.2.2.2.1.6}; +M:7 [Warning tone] {3.2.2.2.1.7}; +M:8 [Emergency call] {3.2.2.2.2.5}; +M:9 [Location management] {3.2.2.2.2.8}; +M:10 [Max. call duration] {3.2.2.2.3.7}; +M:11 [E1 Port] {3.2.2.2.4}; +M:12 [channel attributes] {3.2.2.2.5}; +M:13 [Platform] {2}; +M:14 [MSC0] (1) {3.2}; +M:15 [MSC1] (2) {3.2}; + +##MSC->E1 Port +/ / /.1.11. (9); + +M:1 [E1 interface] {3.2.2.2.4.1}; +M:2 [Assign TG to E1] {3.2.2.2.4.2}; +M:3 [CIC of E1] {3.2.2.2.4.3}; + +##MSC->channel attributes->8K card 0-31 +/ / /.1.12. (9); + +M:1 [Card 0 channel attributes] {3.2.2.2.5.1}; +M:2 [Card 1 channel attributes] {3.2.2.2.5.2}; +M:3 [Card 2 channel attributes] {3.2.2.2.5.3}; +M:4 [Card 3 channel attributes] {3.2.2.2.5.4}; +M:5 [Card 4 channel attributes] {3.2.2.2.5.5}; +M:6 [Card 5 channel attributes] {3.2.2.2.5.6}; +M:7 [Card 6 channel attributes] {3.2.2.2.5.7}; +M:8 [Card 7 channel attributes] {3.2.2.2.5.8}; +M:9 [Card 8 channel attributes] {3.2.2.2.5.9}; +M:10 [Card 9 channel attributes] {3.2.2.2.5.10}; +M:11 [Card 10 channel attributes] {3.2.2.2.5.11}; +M:12 [Card 11 channel attributes] {3.2.2.2.5.12}; +M:13 [Card 12 channel attributes] {3.2.2.2.5.13}; +M:14 [Card 13 channel attributes] {3.2.2.2.5.14}; +M:15 [Card 14 channel attributes] {3.2.2.2.5.15}; +M:16 [Card 15 channel attributes] {3.2.2.2.5.16}; +M:17 [Card 16 channel attributes] {3.2.2.2.5.17}; +M:18 [Card 17 channel attributes] {3.2.2.2.5.18}; +M:19 [Card 18 channel attributes] {3.2.2.2.5.19}; +M:20 [Card 19 channel attributes] {3.2.2.2.5.20}; +M:21 [Card 20 channel attributes] {3.2.2.2.5.21}; +M:22 [Card 21 channel attributes] {3.2.2.2.5.22}; +M:23 [Card 22 channel attributes] {3.2.2.2.5.23}; +M:24 [Card 23 channel attributes] {3.2.2.2.5.24}; +M:25 [Card 24 channel attributes] {3.2.2.2.5.25}; +M:26 [Card 25 channel attributes] {3.2.2.2.5.26}; +M:27 [Card 26 channel attributes] {3.2.2.2.5.27}; +M:28 [Card 27 channel attributes] {3.2.2.2.5.28}; +M:29 [Card 28 channel attributes] {3.2.2.2.5.29}; +M:30 [Card 29 channel attributes] {3.2.2.2.5.30}; +M:31 [Card 30 channel attributes] {3.2.2.2.5.31}; +M:32 [Card 31 channel attributes] {3.2.2.2.5.32}; + + +##MSC->Platform +/ / /.1.13. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##MSC->Platform->MTP3 +/ / /.1.13.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [ACN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##MSC->Platform->MTP3->Status +/ / /.1.13.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##MSC->Platform->SCCP +/ / /.1.13.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##MSC->Platform->XAPP +/ / /.1.13.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + + +##MSC->MSC0->E1 status +/ / /.1.14. (1); + +M:1 [E1 Status] {3.2.2.3.4}; +M:2 [Channel Status] {3.2.2.3.5}; +M:3 [CSU0] {1.1}; + + +##MSC->MSC1->E1 status +/ / /.1.15. (2); + +M:1 [E1 Status] {3.2.2.3.4}; +M:2 [Channel Status] {3.2.2.3.5}; +M:3 [CSU1] {1.1}; + + +##MSC->MSC0->Channel Status +/ / / /.1.14.2. (1); + +M:1 [8K Card 0] {3.2.2.3.5.1}; +M:2 [8K Card 1] {3.2.2.3.5.2}; +M:3 [8K Card 2] {3.2.2.3.5.3}; +M:4 [8K Card 3] {3.2.2.3.5.4}; +M:5 [8K Card 4] {3.2.2.3.5.5}; +M:6 [8K Card 5] {3.2.2.3.5.6}; +M:7 [8K Card 6] {3.2.2.3.5.7}; +M:8 [8K Card 7] {3.2.2.3.5.8}; +M:9 [8K Card 8] {3.2.2.3.5.9}; +M:10 [8K Card 9] {3.2.2.3.5.10}; +M:11 [8K Card 10] {3.2.2.3.5.11}; +M:12 [8K Card 11] {3.2.2.3.5.12}; +M:13 [8K Card 12] {3.2.2.3.5.13}; +M:14 [8K Card 13] {3.2.2.3.5.14}; +M:15 [8K Card 14] {3.2.2.3.5.15}; +M:16 [8K Card 15] {3.2.2.3.5.16}; + + +##MSC->MSC1->channel status +/ / / /.1.15.2. (2); + +M:1 [8K Card 0] {3.2.2.3.5.1}; +M:2 [8K Card 1] {3.2.2.3.5.2}; +M:3 [8K Card 2] {3.2.2.3.5.3}; +M:4 [8K Card 3] {3.2.2.3.5.4}; +M:5 [8K Card 4] {3.2.2.3.5.5}; +M:6 [8K Card 5] {3.2.2.3.5.6}; +M:7 [8K Card 6] {3.2.2.3.5.7}; +M:8 [8K Card 7] {3.2.2.3.5.8}; +M:9 [8K Card 8] {3.2.2.3.5.9}; +M:10 [8K Card 9] {3.2.2.3.5.10}; +M:11 [8K Card 10] {3.2.2.3.5.11}; +M:12 [8K Card 11] {3.2.2.3.5.12}; +M:13 [8K Card 12] {3.2.2.3.5.13}; +M:14 [8K Card 13] {3.2.2.3.5.14}; +M:15 [8K Card 14] {3.2.2.3.5.15}; +M:16 [8K Card 15] {3.2.2.3.5.16}; + + +##MSC->MSC0->CSU0 +/ / / / /.1.14.3. (1); + +M:1 [E1 enable] {1.1.1.2.1}; +M:2 [MTP alarm on/off] {1.1.1.2.2}; +M:3 [Link type] {1.1.1.2.3}; +M:4 [NT/LT] {1.1.1.2.4}; +M:5 [DPLL priority] {1.1.1.2.5}; +M:6 [CRC4 flag] {1.1.1.2.6}; +M:7 [Ringback Tone] {1.1.1.2.7.1}; +M:8 [Busy Tone] {1.1.1.2.7.2}; +M:9 [Unavailable Tone] {1.1.1.2.7.3}; +M:10 [Congestion Tone] {1.1.1.2.7.4}; +M:11 [Proceeding Tone] {1.1.1.2.7.5}; +M:12 [Warning tone] {1.1.1.2.7.6}; +M:13 [Tone assignment] {1.1.1.2.7.9}; +M:14 [DTMF mark&space] {1.1.1.2.7.10}; +M:15 [8KE1_0] (0) {1.1.1.3}; +M:16 [8KE1_1] (0) {1.1.1.3}; +M:17 [8KE1_2] (0) {1.1.1.3}; +M:18 [8KE1_3] (0) {1.1.1.3}; +M:19 [8KE1_4] (0) {1.1.1.3}; +M:20 [8KE1_5] (0) {1.1.1.3}; +M:21 [8KE1_6] (0) {1.1.1.3}; +M:22 [8KE1_7] (0) {1.1.1.3}; +M:23 [8KE1_8] (0) {1.1.1.3}; +M:24 [8KE1_9] (0) {1.1.1.3}; +M:25 [8KE1_10] (0) {1.1.1.3}; +M:26 [8KE1_11] (0) {1.1.1.3}; +M:27 [8KE1_12] (0) {1.1.1.3}; +M:28 [8KE1_13] (0) {1.1.1.3}; +M:29 [8KE1_14] (0) {1.1.1.3}; +M:30 [8KE1_15] (0) {1.1.1.3}; + + +##MSC->MSC1->CSU1 +/ / / / /.1.15.3. (2); + +M:1 [E1 enable] {1.1.1.2.1}; +M:2 [MTP alarm on/off] {1.1.1.2.2}; +M:3 [Link type] {1.1.1.2.3}; +M:4 [NT/LT] {1.1.1.2.4}; +M:5 [DPLL priority] {1.1.1.2.5}; +M:6 [CRC4 flag] {1.1.1.2.6}; +M:7 [Ringback Tone] {1.1.1.2.7.1}; +M:8 [Busy Tone] {1.1.1.2.7.2}; +M:9 [Unavailable Tone] {1.1.1.2.7.3}; +M:10 [Congestion Tone] {1.1.1.2.7.4}; +M:11 [Proceeding Tone] {1.1.1.2.7.5}; +M:12 [Warning tone] {1.1.1.2.7.6}; +M:13 [Tone assignment] {1.1.1.2.7.9}; +M:14 [DTMF mark&space] {1.1.1.2.7.10}; +M:15 [8KE1_0] (0) {1.1.1.3}; +M:16 [8KE1_1] (0) {1.1.1.3}; +M:17 [8KE1_2] (0) {1.1.1.3}; +M:18 [8KE1_3] (0) {1.1.1.3}; +M:19 [8KE1_4] (0) {1.1.1.3}; +M:20 [8KE1_5] (0) {1.1.1.3}; +M:21 [8KE1_6] (0) {1.1.1.3}; +M:22 [8KE1_7] (0) {1.1.1.3}; +M:23 [8KE1_8] (0) {1.1.1.3}; +M:24 [8KE1_9] (0) {1.1.1.3}; +M:25 [8KE1_10] (0) {1.1.1.3}; +M:26 [8KE1_11] (0) {1.1.1.3}; +M:27 [8KE1_12] (0) {1.1.1.3}; +M:28 [8KE1_13] (0) {1.1.1.3}; +M:29 [8KE1_14] (0) {1.1.1.3}; +M:30 [8KE1_15] (0) {1.1.1.3}; + +##VLR +/ / /.2. (9); + +M:1 [OptAuthReq] {3.2.5.2.1.1}; +M:2 [OpReuseTriplets] {3.2.5.2.1.2}; +M:3 [OptCipReq] {3.2.5.2.1.3}; +M:4 [OptCiphAlgo] {3.2.5.2.1.4}; +M:5 [OptTmsiAlloc] {3.2.5.2.1.5}; +M:6 [OptEcsSetUpAllow] {3.2.5.2.1.7}; +M:7 [OptCheckIMEI] {3.2.5.2.1.8}; +M:8 [OptVlrPurge] {3.2.5.2.1.9}; +M:9 [idlePeriod2Purge] {3.2.5.2.1.10}; +M:10 [CDR flag] {3.2.5.2.1.11}; +M:11 [MSRN] {3.2.5.2.1.13}; +M:12 [VLR0] {3.2.5}; +M:13 [VLR1] {3.2.5}; + +##VLR->VLR0 + +/ / /.2.12. (1); + +M:1 [Version] {3.2.5.3.2}; +M:2 [Command] {3.2.5.3.3}; +M:3 [Status] {3.2.5.3.4}; + +##VLR->VLR0 + +/ / /.2.13. (2); + +M:1 [Version] {3.2.5.3.2}; +M:2 [Command] {3.2.5.3.3}; +M:3 [Status] {3.2.5.3.4}; + + +##HLR +/ / /.3. (9); + +M:1 [HPLMN] {3.3.2.1.11}; +M:2 [VPLMNs] {3.3.2.1.12}; +M:3 [CSRR list] {3.3.2.1.13}; +M:4 [Regional Subscription] {3.3.2.1.14}; +M:5 [License control] {3.3.2.1.15}; +M:6 [CDR control] {3.3.2.1.16}; +M:7 [Platform] {2}; +M:8 [HLR0] {3.3}; +M:9 [HLR1] {3.3}; + +##HLR->Platform +/ / /.3.7. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##HLR->Platform->MTP3 +/ / /.3.7.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [ACN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##HLR->Platform->MTP3->Status +/ / /.3.7.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##HLR->Platform->SCCP +/ / /.3.7.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##HLR->Platform->XAPP +/ / /.3.7.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + +##HLR->HLR0 + +/ / /.3.8. (1); + +M:1 [Command] {3.3.2.2.2}; +M:2 [Subscriber import] {3.3.2.2.3}; +M:3 [Max Licenses] {3.3.2.2.11}; +M:4 [Used Licenses] {3.3.2.2.12}; +M:5 [Subscriber information] {3.3.2.2.13}; +M:6 [Version] {3.3.2.2.14}; +M:7 [IMSI segment] {3.3.2.2.15}; +M:8 [MSISDN segment] {3.3.2.2.16}; +M:9 [CNF applicant info] {3.3.2.2.27}; +##M:10 [Contry code] {3.3.2.2.10}; + +##HLR->HLR0->Subscriber information + +/ / /.3.8.5. (1); + +M:1 [Provisioned subscribers] {3.3.2.2.13.1}; +M:2 [Registered subscribers] {3.3.2.2.13.2}; +M:3 [Roaming subscribers] {3.3.2.2.13.3}; + +##HLR->HLR0->Version +/ / /.3.8.6. (1); + +M:1 [Software] {3.3.2.2.14.1}; +M:2 [User data] {3.3.2.2.14.2}; + + +##HLR->HLR1 + +/ / /.3.9. (2); + +M:1 [Command] {3.3.2.2.2}; +M:2 [Subscriber import] {3.3.2.2.3}; +M:3 [Max Licenses] {3.3.2.2.11}; +M:4 [Used Licenses] {3.3.2.2.12}; +M:5 [Subscriber information] {3.3.2.2.13}; +M:6 [Version] {3.3.2.2.14}; +M:7 [IMSI segment] {3.3.2.2.15}; +M:8 [MSISDN segment] {3.3.2.2.16}; +M:9 [CNF applicant info] {3.3.2.2.27}; +##M:10 [Contry code] {3.3.2.2.10}; + +##HLR->HLR1->Subscriber information +/ / /.3.9.5. (2); + +M:1 [Provisioned subscribers] {3.3.2.2.13.1}; +M:2 [Registered subscribers] {3.3.2.2.13.2}; +M:3 [Roaming subscribers] {3.3.2.2.13.3}; + +##HLR->HLR1->Version +/ / /.3.9.6. (2); + +M:1 [Software] {3.3.2.2.14.1}; +M:2 [User data] {3.3.2.2.14.2}; + +##PPS +/ / /.4. (9); + +M:1 [Service control] {3.6.2.1.1}; +M:2 [SRF Number] {3.6.2.1.2.1}; +M:3 [Service number] {3.6.2.1.2.2}; +M:4 [Service key] {3.6.2.1.2.3}; +M:5 [COS Parameter] {3.6.2.1.4}; +M:6 [Call routing to VMS] {3.6.2.1.5}; +M:7 [Status] {3.6.2.1.6}; +M:8 [Platform] {2}; + +##PPS->Service control +/ / /.4.1. (9); + +M:1 [CDR flag] {3.6.2.1.1.1}; +M:2 [Blacklist threshhold] {3.6.2.1.1.2}; +M:3 [Maximun balance] {3.6.2.1.1.3}; +M:4 [license control] {3.6.2.1.1.4}; +M:5 [Prompt resolution] {3.6.2.1.1.5}; +M:6 [SMS Sentence] {3.6.2.1.1.6}; +M:7 [Last call info] {3.6.2.1.1.7}; +M:8 [Currency Symbol] {3.6.2.1.1.8}; +M:9 [Third party info] {3.6.2.1.1.9}; +M:10 [Basic Tariff Zone] {3.6.2.1.1.10}; + +##PPS->Service number +/ / /.4.3. (9); + +M:1 [Hotline] {3.6.2.1.2.2.1}; +M:2 [Inquiry] {3.6.2.1.2.2.2}; +M:3 [Scratch card rechagne] {3.6.2.1.2.2.3}; +M:4 [Credit card recharge] {3.6.2.1.2.2.4}; +M:5 [Third party recharge] {3.6.2.1.2.2.5}; +M:6 [Customer care center] {3.6.2.1.2.2.6}; +M:7 [Recharge] {3.6.2.1.2.2.7}; + +##PPS->Service key +/ / /.4.4. (9); + +M:1 [Inquiry] {3.6.2.1.2.3.2}; +M:2 [Scratch card rechagne] {3.6.2.1.2.3.3}; +M:3 [Credit card recharge] {3.6.2.1.2.3.4}; +M:4 [Set favorite number] {3.6.2.1.2.3.5}; +M:5 [Set password] {3.6.2.1.2.3.6}; + + +##PPS->COS Parameter +/ / /.4.5. (9); + +M:1 [COS0] {3.6.2.1.4.1}; +M:2 [COS1] {3.6.2.1.4.2}; +M:3 [COS2] {3.6.2.1.4.3}; +M:4 [COS3] {3.6.2.1.4.4}; +M:5 [COS4] {3.6.2.1.4.5}; +M:6 [COS5] {3.6.2.1.4.6}; +M:7 [COS6] {3.6.2.1.4.7}; +M:8 [COS7] {3.6.2.1.4.8}; +M:9 [COS8] {3.6.2.1.4.9}; +M:10 [COS9] {3.6.2.1.4.10}; +M:11 [COS10] {3.6.2.1.4.11}; +M:12 [COS11] {3.6.2.1.4.12}; +M:13 [COS12] {3.6.2.1.4.13}; +M:14 [COS13] {3.6.2.1.4.14}; +M:15 [COS14] {3.6.2.1.4.15}; +M:16 [COS15] {3.6.2.1.4.16}; + + +##PPS->COS Parameter->COS 0-15 +/ / /.4.5.1. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.1.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.1.2}; +M:3 [Account control] {3.6.2.1.4.1.3}; +M:4 [MT Call control] {3.6.2.1.4.1.4}; +M:5 [Validity control] {3.6.2.1.4.1.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.1.6}; + +/ / /.4.5.2. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.2.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.2.2}; +M:3 [Account control] {3.6.2.1.4.2.3}; +M:4 [MT Call control] {3.6.2.1.4.2.4}; +M:5 [Validity control] {3.6.2.1.4.2.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.2.6}; + +/ / /.4.5.3. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.3.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.3.2}; +M:3 [Account control] {3.6.2.1.4.3.3}; +M:4 [MT Call control] {3.6.2.1.4.3.4}; +M:5 [Validity control] {3.6.2.1.4.3.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.3.6}; + +/ / /.4.5.4. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.4.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.4.2}; +M:3 [Account control] {3.6.2.1.4.4.3}; +M:4 [MT Call control] {3.6.2.1.4.4.4}; +M:5 [Validity control] {3.6.2.1.4.4.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.4.6}; + +/ / /.4.5.5. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.5.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.5.2}; +M:3 [Account control] {3.6.2.1.4.5.3}; +M:4 [MT Call control] {3.6.2.1.4.5.4}; +M:5 [Validity control] {3.6.2.1.4.5.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.5.6}; + +/ / /.4.5.6. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.6.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.6.2}; +M:3 [Account control] {3.6.2.1.4.6.3}; +M:4 [MT Call control] {3.6.2.1.4.6.4}; +M:5 [Validity control] {3.6.2.1.4.6.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.6.6}; + +/ / /.4.5.7. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.7.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.7.2}; +M:3 [Account control] {3.6.2.1.4.7.3}; +M:4 [MT Call control] {3.6.2.1.4.7.4}; +M:5 [Validity control] {3.6.2.1.4.7.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.7.6}; + +/ / /.4.5.8. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.8.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.8.2}; +M:3 [Account control] {3.6.2.1.4.8.3}; +M:4 [MT Call control] {3.6.2.1.4.8.4}; +M:5 [Validity control] {3.6.2.1.4.8.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.8.6}; + +/ / /.4.5.9. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.9.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.9.2}; +M:3 [Account control] {3.6.2.1.4.9.3}; +M:4 [MT Call control] {3.6.2.1.4.9.4}; +M:5 [Validity control] {3.6.2.1.4.9.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.9.6}; + +/ / /.4.5.10. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.10.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.10.2}; +M:3 [Account control] {3.6.2.1.4.10.3}; +M:4 [MT Call control] {3.6.2.1.4.10.4}; +M:5 [Validity control] {3.6.2.1.4.10.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.10.6}; + +/ / /.4.5.11. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.11.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.11.2}; +M:3 [Account control] {3.6.2.1.4.11.3}; +M:4 [MT Call control] {3.6.2.1.4.11.4}; +M:5 [Validity control] {3.6.2.1.4.11.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.11.6}; + +/ / /.4.5.12. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.12.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.12.2}; +M:3 [Account control] {3.6.2.1.4.12.3}; +M:4 [MT Call control] {3.6.2.1.4.12.4}; +M:5 [Validity control] {3.6.2.1.4.12.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.12.6}; + +/ / /.4.5.13. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.13.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.13.2}; +M:3 [Account control] {3.6.2.1.4.13.3}; +M:4 [MT Call control] {3.6.2.1.4.13.4}; +M:5 [Validity control] {3.6.2.1.4.13.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.13.6}; + +/ / /.4.5.14. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.14.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.14.2}; +M:3 [Account control] {3.6.2.1.4.14.3}; +M:4 [MT Call control] {3.6.2.1.4.14.4}; +M:5 [Validity control] {3.6.2.1.4.14.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.14.6}; + +/ / /.4.5.15. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.15.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.15.2}; +M:3 [Account control] {3.6.2.1.4.15.3}; +M:4 [MT Call control] {3.6.2.1.4.15.4}; +M:5 [Validity control] {3.6.2.1.4.15.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.15.6}; + +/ / /.4.5.16. (9); + +M:1 [Recharge Promotion] {3.6.2.1.4.16.1}; +M:2 [Tariff Resolution] {3.6.2.1.4.16.2}; +M:3 [Account control] {3.6.2.1.4.16.3}; +M:4 [MT Call control] {3.6.2.1.4.16.4}; +M:5 [Validity control] {3.6.2.1.4.16.5}; +M:6 [SM Inquiry Notification] {3.6.2.1.4.16.6}; + + +##PPS->call routing to VMS +/ / /.4.6. (9); + +M:1 [VMS service number-PLMN] {3.6.2.1.5.1}; +M:2 [VMS service number-PSTN] {3.6.2.1.5.2}; +M:3 [VMS leave message number] {3.6.2.1.5.3}; +M:4 [Routing rule] {3.6.2.1.5.4}; +M:5 [VMS user segments] {3.6.2.1.5.5}; + +##PPS->Status +/ / /.4.7. (9); + +M:1 [Activaion] {3.6.2.1.6.1}; +M:2 [Command] {3.6.2.1.6.2}; + + +##PPS->Platform +/ / /.4.8. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##PPS->Platform->MTP3 +/ / /.4.8.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [CAN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##PPS->Platform->MTP3->Status +/ / /.4.8.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##PPS->Platform->SCCP +/ / /.4.8.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##PPS->Platform->XAPP +/ / /.4.8.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + +## SMSC +/ / /.5. (9); + +M:1 [CDR flag] {3.5.2.1.1}; +M:2 [SM Validity] {3.5.2.1.2}; +M:3 [MSISDN Segment] {3.5.2.1.3}; +M:4 [SMPP parameters] {3.5.2.2}; +M:5 [Command] {3.5.3.3}; +M:6 [Platform] {2}; +M:7 [SMSC0] {3.5}; +M:8 [SMSC1] {3.5}; + + +##SMSC->Platform +/ / /.5.6. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##SMSC->Platform->MTP3 +/ / /.5.6.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [CAN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##SMSC->Platform->MTP3->Status +/ / /.5.6.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##SMSC->Platform->SCCP +/ / /.5.6.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##SMSC->Platform->XAPP +/ / /.5.6.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + +##SMSC->SMSC0 +/ / /.5.7. (1); + +M:1 [SMSC ID] {3.5.3.1}; +M:2 [Software version] {3.5.3.2}; + +##SMSC->SMSC1 +/ / /.5.8. (2); + +M:1 [SMSC ID] {3.5.3.1}; +M:2 [Software version] {3.5.3.2}; + +##AUC +/ / /.6. (9); + +M:1 [Platform] {2}; +M:2 [AUC0] (1) {3.4}; +M:3 [AUC1] (2) {3.4}; + + +##AUC->Platform +/ / /.6.1. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##AUC->Platform->MTP3 +/ / /.6.1.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [CAN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##AUC->Platform->MTP3->Status +/ / /.6.1.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##AUC->Platform->SCCP +/ / /.6.1.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##AUC->Platform->XAPP +/ / /.6.1.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:4 [NDC] {2.2.5.2.4}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; + + +##EIR +##/ / /.7. (9); + +##M:1 [Platform] {2}; +##M:2 [EIR0] (1) {3.8}; +##M:3 [EIR1] (2) {3.8}; + +##EIR->Platform +##/ / /.7.1. (9); + +##M:1 [MTP3] {2.2.2}; +##M:2 [SCCP] {2.2.3}; +##M:3 [XAPP] {2.2.5}; + +##EIR->Platform->MTP3 +##/ / /.7.1.1. (9); + +##M:1 [Network Indicator] {2.2.2.2.2}; +##M:2 [Originating Point code] {2.2.2.2.3}; +##M:3 [Link Set] {2.2.2.2.4}; +##M:4 [Link] {2.2.2.2.5}; +##M:5 [Routing] {2.2.2.2.6}; +##M:6 [CAN] {2.2.2.2.7}; +##M:7 [Status] {2.2.2.3}; + + +##EIR->Platform->MTP3->Status +##/ / /.7.1.1.7. (9); + +####M:1 [Link status] {2.2.2.3.1}; +##M:2 [Link set status] {2.2.2.3.2}; +##M:3 [International routing] {2.2.2.3.3}; +##M:4 [International spare] {2.2.2.3.4}; +##M:5 [National routing] {2.2.2.3.5}; +##M:6 [National spare routing] {2.2.2.3.6}; +##M:7 [Command] {2.2.2.3.7}; + +##EIR->Platform->SCCP +##/ / /.7.1.2. (9); + +##M:1 [Local node] {2.2.3.2.1}; +##M:2 [GTT] {2.2.3.2.2}; +##M:3 [Command] {2.2.3.3.2}; + +##EIR->Platform->XAPP +##/ / /.7.1.3. (9); + +##M:1 [MCC] {2.2.5.2.1}; +##M:2 [MNC] {2.2.5.2.2}; +##M:3 [CC] {2.2.5.2.3}; +##M:5 [International prefix] {2.2.5.2.5}; +##M:6 [National Prefix] {2.2.5.2.6}; +##M:7 [Local Prefix] {2.2.5.2.7}; +##M:8 [Convert Prefix] {2.2.5.2.8}; +##M:9 [Command] {2.2.5.3.2}; diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/menu_page b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/menu_page new file mode 100644 index 0000000..d8e3645 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/menu_page @@ -0,0 +1,13 @@ + + ******************* + * MENU PAGE * + ******************* + + a -- IPTR i -- HLR + b -- MTP3 j -- SMSC + c -- SCCP k -- PPS + d -- TCAP l -- SNMP + e -- XAPP m -- M2UA + f -- MSC n -- DEBUG + g -- VLR o -- AUC + h -- SSF p -- EIR diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/menu_tree.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/menu_tree.txt new file mode 100644 index 0000000..627a39b --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/menu_tree.txt @@ -0,0 +1,63 @@ +############## The debug menu tree config file root=wxc2 root_oid={1.3.6.1.4.1.1373.1.3} +#(0)(1)(2)(9) ip group +#/ the layer +#.1.1.3. menu_id +#{3.2.2.1.2} the last oid from the root +#[name] menu name +#M:8 the id of the menu in the current object +############## all the line must end for ';',and menu id and last oid must do not contain space + +##WXC2 +/. (9); + +M:1 [Platform] {2}; + + +##Platform +/ / /.1. (9); + +M:1 [MTP3] {2.2.2}; +M:2 [SCCP] {2.2.3}; +M:3 [XAPP] {2.2.5}; + +##Platform->MTP3 +/ / /.1.1. (9); + +M:1 [Network Indicator] {2.2.2.2.2}; +M:2 [Originating Point code] {2.2.2.2.3}; +M:3 [Link Set] {2.2.2.2.4}; +M:4 [Link] {2.2.2.2.5}; +M:5 [Routing] {2.2.2.2.6}; +M:6 [CAN] {2.2.2.2.7}; +M:7 [Status] {2.2.2.3}; + + +##EIR->Platform->MTP3->Status +/ / /.1.1.7. (9); + +M:1 [Link status] {2.2.2.3.1}; +M:2 [Link set status] {2.2.2.3.2}; +M:3 [International routing] {2.2.2.3.3}; +M:4 [International spare] {2.2.2.3.4}; +M:5 [National routing] {2.2.2.3.5}; +M:6 [National spare routing] {2.2.2.3.6}; +M:7 [Command] {2.2.2.3.7}; + +##EIR->Platform->SCCP +/ / /.1.2. (9); + +M:1 [Local node] {2.2.3.2.1}; +M:2 [GTT] {2.2.3.2.2}; +M:3 [Command] {2.2.3.3.2}; + +##EIR->Platform->XAPP +/ / /.1.3. (9); + +M:1 [MCC] {2.2.5.2.1}; +M:2 [MNC] {2.2.5.2.2}; +M:3 [CC] {2.2.5.2.3}; +M:5 [International prefix] {2.2.5.2.5}; +M:6 [National Prefix] {2.2.5.2.6}; +M:7 [Local Prefix] {2.2.5.2.7}; +M:8 [Convert Prefix] {2.2.5.2.8}; +M:9 [Command] {2.2.5.3.2}; diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/mib_list_file.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/mib_list_file.txt new file mode 100644 index 0000000..79fd373 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/mib_list_file.txt @@ -0,0 +1,14 @@ +// "//" is the annotation characters; +IWV-SMI.txt +Special_App-SMI.txt +//PPPRT-MIB.txt +WXC2-SMI.txt +//WXC2-CSU-MIB.txt +WXC2-SS7-MIB.txt +//WXC2-MSC-MIB.txt +//WXC2-HLR-MIB.txt +//WXC2-AUC-MIB.txt +//WXC2-EIR-MIB.txt +//WXC2-SMSC-MIB.txt +//WXC2-PPS-MIB.txt +//WXC2-MSS-MIB.txt diff --git a/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/mib_write_tree.txt b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/mib_write_tree.txt new file mode 100644 index 0000000..dd883b1 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/MIB_files_bak/mib_write_tree.txt @@ -0,0 +1,281 @@ +Create node: IWV(OID: 1.3.6.1.4.1.1373) +-> father_name = [enterprises] +-> -> IWV(0) + + +Create node: IWV_Products(OID: 1.3.6.1.4.1.1373.1) +-> father_name = [IWV] +-> -> IWV_Products(0) + + +Remark: iwvProducts is the root OBJECT IDENTIFIER from which sysObjectID values are assigned. Actual values are defined in IWV-PRODUCTS-MIB. + + +Create node: Special_App(OID: 1.3.6.1.4.1.1373.1.2) +-> father_name = [IWV_Products] +-> -> Special_App(0) + + +Create node: IWF(OID: 1.3.6.1.4.1.1373.1.2.8) +-> father_name = [Special_App] +-> -> IWF(0) + + +Remark: IWF + + +Create node: WXC2(OID: 1.3.6.1.4.1.1373.1.3) +-> father_name = [IWV_Products] +-> -> Special_App(0) +-> -> WXC2(1) + + +Create node: PCM(OID: 1.3.6.1.4.1.1373.1.3.1) +-> father_name = [WXC2] +-> -> PCM(0) + + +Remark: PCM + + +Create node: Platform(OID: 1.3.6.1.4.1.1373.1.3.2) +-> father_name = [WXC2] +-> -> PCM(0) +-> -> Platform(1) + + +Remark: Platform + + +Create node: App(OID: 1.3.6.1.4.1.1373.1.3.3) +-> father_name = [WXC2] +-> -> PCM(0) +-> -> Platform(1) +-> -> App(2) + + +Remark: App platform + + +Create node: SS7(OID: 1.3.6.1.4.1.1373.1.3.2.2) +-> father_name = [Platform] +-> -> SS7(0) + + +Remark: + Subsystems for SS7 . + + +Create node: MTP3(OID: 1.3.6.1.4.1.1373.1.3.2.2.2) +-> father_name = [SS7] +-> -> MTP3(0) + + +Remark: Subsystems for MTP3 . + + +Create node: Config_MTP3(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2) +-> father_name = [MTP3] +-> -> Config_MTP3(0) + + +Remark: MTP3 Configuration. + + +Create node: Network_Indicator(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.2) +-> father_name = [Config_MTP3] +-> -> Network_Indicator(0) + + +Register leaf node: Network_Indicator. +Instance: 1 +Length : 1 +Flag : 255 +Default : +Remark : MTP3 network indicator. + +Field : total(8) +Access : read-write [1]International network + { + [u]0.0-0.0 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [2]International network spare + { + [u]0.1-0.1 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [3]National network + { + [u]0.2-0.2 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [4]National network spare + { + [u]0.3-0.3 + [u]select + [v]0[opt]14bit + [v]1[opt]24bit + } + [5]International network + { + [u]0.4-0.4 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [6]International network spare + { + [u]0.5-0.5 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [7]National network + { + [u]0.6-0.6 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + [8]National network spare + { + [u]0.7-0.7 + [u]select + [v]0[opt]ITU + [v]1[opt]ANSI + } + + +Create node: OPC(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6) +-> father_name = [Config_MTP3] +-> -> Network_Indicator(0) +-> -> OPC(1) + + +Remark: Originating point code. + + +Create node: International_14bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.1) +-> father_name = [OPC] +-> -> International_14bit(0) + + +Register leaf node: International_14bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 14-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: International_Spare_14bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.2) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) + + +Register leaf node: International_Spare_14bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 14-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: National_14bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.3) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) +-> -> National_14bit(2) + + +Register leaf node: National_14bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 14-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: National_Spare_14bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.4) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) +-> -> National_14bit(2) +-> -> National_Spare_14bit(3) + + +Register leaf node: National_Spare_14bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 14-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: International_24bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.5) +-> father_name = [OPC] +-> -> International_14bit(0) +-> -> International_Spare_14bit(1) +-> -> National_14bit(2) +-> -> National_Spare_14bit(3) +-> -> International_24bit(4) + + +Register leaf node: International_24bit. +Instance: 1 +Length : 3 +Flag : 255 +Default : +Remark : 24-bit originating point code (OPC) in an international network. Default=0. + +Field : total(1) +Access : read-write[1]Originating point code + { + [u]0.0-2.7 + [u]input + [v]toDec high 0 + } + + +Create node: International_Spare_24bit(OID: 1.3.6.1.4.1.1373.1.3.2.2.2.2.6.3) +-> father_name = [OPC] diff --git a/src/faultMgr/c_program/alarmGenerator/conf/alarmGen.conf b/src/faultMgr/c_program/alarmGenerator/conf/alarmGen.conf new file mode 100644 index 0000000..0b52874 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/alarmGen.conf @@ -0,0 +1 @@ +172.25.197.18 diff --git a/omc/bin/conf/chkDb.conf b/src/faultMgr/c_program/alarmGenerator/conf/chkDb.conf similarity index 100% rename from omc/bin/conf/chkDb.conf rename to src/faultMgr/c_program/alarmGenerator/conf/chkDb.conf diff --git a/src/faultMgr/c_program/alarmGenerator/conf/conference_par.conf b/src/faultMgr/c_program/alarmGenerator/conf/conference_par.conf new file mode 100644 index 0000000..1986386 Binary files /dev/null and b/src/faultMgr/c_program/alarmGenerator/conf/conference_par.conf differ diff --git a/src/faultMgr/c_program/alarmGenerator/conf/download.conf b/src/faultMgr/c_program/alarmGenerator/conf/download.conf new file mode 100644 index 0000000..f480a50 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/download.conf @@ -0,0 +1,69 @@ +#CONFIGURE: BTS DOWNLOAD FILES +OMCFILE00=./bts_file/btsfunc.zz +BSCFILE00=btsfunc.zz +OMCFILE01=./bts_file/btstrx.005 +BSCFILE01=../../trxxil/btstrx.005 +OMCFILE02=./bts_file/btstrx1.005 +BSCFILE02=../../mtdspb/btstrx.005 +OMCFILE03=./bts_file/trxcom.zz +BSCFILE03=../../trxdsp/trxcom.zz +OMCFILE04=./bts_file/trxeqm.zz +BSCFILE04=../../trxdsp/trxeqm.zz +OMCFILE05=./bts_file/bdio05.bit +BSCFILE05=../../trxxil/bdio05.bit +OMCFILE06=./bts_file/tdmdiag5.bit +BSCFILE06=../../mtdspb/tdmdiag5.bit +OMCFILE07=./bts_file/rxdiag_2.bit +BSCFILE07=../../mtdspb/rxdiag_2.bit +OMCFILE08=./bts_file/txdiag_2.zz +BSCFILE08=../../mtdspb/txdiag_2.zz +OMCFILE09=./bts_file/tdm04.bit +BSCFILE09=../../trxxil/tdm04.bit +OMCFILE10=./bts_file/cstore0.bin +BSCFILE10=../../mtdspb/cstore0.bin +OMCFILE11=./bts_file/txtdma04.bit +BSCFILE11=../../trxxil/txtdma04.bit +OMCFILE12=./bts_file/rxne03.bit +BSCFILE12=../../trxxil/rxne03.bit +OMCFILE13=./bts_file/trxco.zz +BSCFILE13=../../trxdsp/trxco.zz +OMCFILE14=./bts_file/trxeq.zz +BSCFILE14=../../trxdsp/trxeq.zz +#BSC 8Ke1 CARD IP ADDRESS +8KE1IP00=172.18.0.1 +8KE1IP01=172.18.1.1 +8KE1IP02=172.18.2.1 +8KE1IP03=172.18.3.1 +8KE1IP04=172.18.4.1 +8KE1IP05=172.18.5.1 +8KE1IP06=172.18.6.1 +8KE1IP07=172.18.7.1 +8KE1IP08=172.18.8.1 +8KE1IP09=172.18.9.1 +8KE1IP10=172.18.10.1 +8KE1IP11=172.18.11.1 +8KE1IP12=172.18.12.1 +8KE1IP13=172.18.13.1 +8KE1IP14=172.18.14.1 +8KE1IP15=172.18.15.1 +8KE1IP16=172.18.16.1 +8KE1IP17=172.18.17.1 +8KE1IP18=172.18.18.1 +8KE1IP19=172.18.19.1 +8kE1IP20=172.18.20.1 +8KE1IP21=172.18.21.1 +8KE1IP22=172.18.22.1 +8KE1IP23=172.18.23.1 +8KE1IP24=172.18.24.1 +8KE1IP25=172.18.25.1 +8KE1IP26=172.18.26.1 +8KE1IP27=172.18.27.1 +8KE1IP28=172.18.28.1 +8KE1IP29=172.18.29.1 +8KE1IP30=172.18.30.1 +8KE1IP31=172.18.31.1 +#OMC-R IP ADDRESS +OMCRIPAD=172.18.130.1 +#OMC-R DOWNLOAD SERVICE UDP PORT +OMCDPORT=4953 + diff --git a/omc/bin/conf/help_page b/src/faultMgr/c_program/alarmGenerator/conf/help_page similarity index 92% rename from omc/bin/conf/help_page rename to src/faultMgr/c_program/alarmGenerator/conf/help_page index 4202a7e..f384302 100644 --- a/omc/bin/conf/help_page +++ b/src/faultMgr/c_program/alarmGenerator/conf/help_page @@ -1,6 +1,6 @@ ****************** - * Module PAGE * + * HELP PAGE * ****************** Welcome to DEBUG MONITOR. diff --git a/src/faultMgr/c_program/alarmGenerator/conf/intercept.conf b/src/faultMgr/c_program/alarmGenerator/conf/intercept.conf new file mode 100644 index 0000000..87fddbb --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/intercept.conf @@ -0,0 +1,7 @@ +#Intercept config file + +Intercept E1: 7, +Conference Module: 5, +Loopback E1: 2,130 +MSC internal E1: 4,132 +MSC internal group: 126,127 diff --git a/omc/bin/conf/iptrans.conf b/src/faultMgr/c_program/alarmGenerator/conf/iptrans.conf similarity index 56% rename from omc/bin/conf/iptrans.conf rename to src/faultMgr/c_program/alarmGenerator/conf/iptrans.conf index fc281ed..bb835f4 100644 --- a/omc/bin/conf/iptrans.conf +++ b/src/faultMgr/c_program/alarmGenerator/conf/iptrans.conf @@ -1,23 +1,23 @@ -#ipconfig for OMC -4950=UDP,4,BUFFER +#ipconfig for pps +4950=UDP,4,DIRECT 4951=UDP,0,BUFFER 4952=UDP,0,BUFFER -4953=UDP,0,BUFFER +4953=UDP,3,BUFFER 4954=UDP,4,BUFFER 4955=UDP,0,BUFFER 4956=UDP,0,BUFFER -4957=UDP,4,BUFFER +4957=UDP,5,BUFFER 4958=UDP,4,BUFFER 4959=UDP,4,BUFFER -4960=UDP,4,BUFFER -4961=UDP,4,BUFFER -4962=UDP,4,BUFFER +4960=UDP,3,BUFFER +4961=UDP,2,BUFFER +4962=UDP,3,BUFFER 4963=UDP,0,BUFFER -4964=UDP,4,BUFFER -4965=TCP,6,BUFFER -4966=UDP,0,DIRECT +4964=UDP,3,BUFFER +4965=TCP,2,BUFFER +4966=UDP,2,BUFFER 4967=UDP,0,BUFFER -4968=UDP,6,BUFFER +4968=UDP,4,BUFFER 4969=UDP,4,BUFFER 4970=UDP,0,BUFFER 4971=UDP,0,BUFFER diff --git a/src/faultMgr/c_program/alarmGenerator/conf/menu_page b/src/faultMgr/c_program/alarmGenerator/conf/menu_page new file mode 100644 index 0000000..244029c --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/menu_page @@ -0,0 +1,9 @@ + + ******************* + * MENU PAGE * + ******************* + + Welcome to DEBUG MONITOR. + + perss 'p' enter Alarm Generator + press 'x' to return menu page diff --git a/src/faultMgr/c_program/alarmGenerator/conf/mtp3.conf b/src/faultMgr/c_program/alarmGenerator/conf/mtp3.conf new file mode 100644 index 0000000..d29ce16 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/mtp3.conf @@ -0,0 +1,1477 @@ +#MTP3 CONFIGURE FILE + +[SERVICE NETWORK SP LEN] +[00] + +[MTP3LITE TCP PORT] +[8813] + +[LOCAL SP] +[000063] [000063] [000063] [000063] +[000000] [000000] [000000] [000000] + +[LINK ATTRIBUTE] +[80.10.ffffffff.01.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.01.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.01.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] +[80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] [80.10.ffffffff.00.00.00.00000000.00.00.ffffffff] + +[LINKSET ATTRIBUTE] +[00006f.04.00010010] [0004bd.04.00010610] [00000a.05.31000001] [000000.00.00000000] +[00000c.04.00010410] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] +[000000.00.00000000] [000000.00.00000000] [000000.00.00000000] [000000.00.00000000] + +[SG ATTRIBUTES] +[00.00.00.00000000] [01.00.00.05040302] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] [00.00.00.00000000] +[01.01.00.00000000] [01.00.00.E7EA12AC] [00.00.00.00000000] [00.00.00.00000000] + +[NATIONAL NETWORK SP] +[000466.06.00] [000000.80.80] [000138.07.00] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] + +[NATIONAL NETWORK SPARE SP] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000064.7e.80] [000065.7f.80] + +[INTERNATIONAL NETWORK SP] +[00006f.00.00] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [04e679.05.00] +[000000.80.80] [000000.80.80] [00007b.04.00] [000d54.06.00] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] + +[INTERNATIONAL NETWORK SPARE SP] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] +[000000.80.80] [000000.80.80] [000000.80.80] [000000.80.80] + +[LOCAL ACN] +030303030202020202030302020303020303020303030303030303030303030302020202 + +[INTERNATIONAL NETWORK ACN] +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 + +[INTERNATIONAL NETWORK SPARE ACN] +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 + +[NATIONAL NETWORK ACN] +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 + +[NATIONAL NETWORK SPARE ACN] +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 +030303030202020202030302020303020303020303030303030303030303030302020202 + diff --git a/src/faultMgr/c_program/alarmGenerator/conf/omc_db.conf b/src/faultMgr/c_program/alarmGenerator/conf/omc_db.conf new file mode 100644 index 0000000..8f138d8 --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/omc_db.conf @@ -0,0 +1,35 @@ +#omc_db.conf +#config file for database maintenance + +[backup] +#List the database that need to be backuped +#CDR_DB,CSTA_DB is not need to backup +#Format:database + +[clean] +#You can termly clean tables by defining condition according to +#Format:database,table,time field,timeout,max records +OMC_PUB,sysAlarmLog,alarmTime,7,10000 +OMC_PUB,sysOperLog,datetime,7,10000 +OMC_PUB,dbAlarm,alarmTime,7,5000 +PPS_DB,used_card_info,updated_date,180,5000000 + +[remove_log] +#You can termly remove log files by defining condition according to +#Format:path,keyword,timeout(unit:day) +/usr/local/mysql/data,0-bin,2 +/usr/local/mysql/data,1-bin,2 +/usr/local/mysql/data,2-bin,2 +/usr/local/mysql/data,3-bin,2 +/usr/local/apache/logs,access_log,7 +/usr/local/apache/htdocs/db_backup/cdr,csv,7 +/usr/local/apache/htdocs/db_backup/subsData,csv,7 +/usr/local/apache/htdocs/db_backup/alarmLog,csv,7 +/usr/local/apache/htdocs/db_backup/operLog,csv,7 +/usr/local/omc/log,gz,7 +/usr/local/omc/log,log,7 +/usr/local/omc/log,dualsrv,7 +/var/log,tmp,7 +/var/log,log,7 +/var/log,messages,7 +/var/log,secure,7 diff --git a/omc/bin/conf/omcd.conf b/src/faultMgr/c_program/alarmGenerator/conf/omcd.conf similarity index 91% rename from omc/bin/conf/omcd.conf rename to src/faultMgr/c_program/alarmGenerator/conf/omcd.conf index 03a66ed..2c7cd85 100644 --- a/omc/bin/conf/omcd.conf +++ b/src/faultMgr/c_program/alarmGenerator/conf/omcd.conf @@ -9,7 +9,7 @@ # 6:PPS OMC # 7:BSS OMC ### -omcVersion=9.02.00 +omcVersion=10.00.02 omcTypeNo=0 omcSysNo=0 diff --git a/omc/bin/conf/omcd.conf_bak b/src/faultMgr/c_program/alarmGenerator/conf/omcd.conf_bak similarity index 91% rename from omc/bin/conf/omcd.conf_bak rename to src/faultMgr/c_program/alarmGenerator/conf/omcd.conf_bak index 106dfb0..9597154 100644 --- a/omc/bin/conf/omcd.conf_bak +++ b/src/faultMgr/c_program/alarmGenerator/conf/omcd.conf_bak @@ -9,7 +9,7 @@ # 6:PPS OMC # 7:BSS OMC ### -omcVersion=9.02.00 +omcVersion=10.00.02 omcTypeNo=0 omcSysNo=0 diff --git a/src/faultMgr/c_program/alarmGenerator/conf/sccp.conf b/src/faultMgr/c_program/alarmGenerator/conf/sccp.conf new file mode 100644 index 0000000..a80540f --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/sccp.conf @@ -0,0 +1,23 @@ +#SCCP Config file (R10V0_06) + +[Local Node] +#ssn NetID msisdn ip0 ip1 +7 0 - 172.18.98.1 172.18.99.1 +8 0 - 172.18.234.231 172.18.99.1 +10 0 - 172.18.98.1 172.18.99.1 +11 0 - 172.18.98.1 172.18.99.1 +147 0 - 172.18.98.1 172.18.99.1 +254 3 16324341111 172.18.234.231 - +[GTT_Table] +#No NP TT StartDigits EndDigits NI SPC SSN RI AI S E N Rep +0 - 63 1111111111 1111111111 2 000063 6 0 7 +1 - 20 22222222222222 33333333333333 2 000063 6 0 7 +2 - 20 4444444444444444 4444444444444444 2 000063 8 0 7 +3 7 - - - 0 00000B 7 0 7 +4 - 20 123 123 2 000063 7 0 7 +5 6 - - - 0 00000C 11 0 7 +6 7 - - - 0 0004BD 7 0 7 + +[RL_SSN] +#NetID DPC SSN + diff --git a/omc/config/server.conf b/src/faultMgr/c_program/alarmGenerator/conf/server.conf similarity index 54% rename from omc/config/server.conf rename to src/faultMgr/c_program/alarmGenerator/conf/server.conf index bbc8f32..2324b06 100644 --- a/omc/config/server.conf +++ b/src/faultMgr/c_program/alarmGenerator/conf/server.conf @@ -7,25 +7,22 @@ mysql_slave = omc-1 [master_task] #processor option -iptrans -d +#iptrans -d paraComm -d subsComm -d -logCollector -d +cdrCollector -d +logCollector -d omcCleaner -d +tftp -d +#bsscomm & +#alive & +#sormAgent -d smcli -d -cdrCollector -d -subsDataBackup -d -ftpSend -d -alarmAgent -d -nrtrde -d -sftpSend -d -cstaCollector -d +subsDataBackup -d [slave_task] -iptrans -d +#iptrans -d paraComm -d subsComm -d -logCollector -d +logCollector -d omcCleaner -d -smcli -d -cdrCollector -d - +tftp -d diff --git a/src/faultMgr/c_program/alarmGenerator/conf/server.conf_bak b/src/faultMgr/c_program/alarmGenerator/conf/server.conf_bak new file mode 100644 index 0000000..c093aae --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/server.conf_bak @@ -0,0 +1,26 @@ +[host] +omc_master = omc-0 +mysql_master = omc-0 + +omc_slave = omc-1 +mysql_slave = omc-1 + +[master_task] +#processor option +iptrans -d +subsComm -d +cdrCollector -d +logCollector -d +omcCleaner -d +tftp -d +#bsscomm & +#alive & +#sormAgent -d +smcli -d +subsDataBackup -d +[slave_task] +iptrans -d +subsComm -d +logCollector -d +omcCleaner -d +tftp -d diff --git a/src/faultMgr/c_program/alarmGenerator/conf/sormAgent.conf b/src/faultMgr/c_program/alarmGenerator/conf/sormAgent.conf new file mode 100644 index 0000000..6cb48dc --- /dev/null +++ b/src/faultMgr/c_program/alarmGenerator/conf/sormAgent.conf @@ -0,0 +1,13 @@ +#sorm agent config file + +#msc0=172.18.98.1 +#msc1=172.18.99.1 + +#hlr0=172.18.98.1 +#hlr1=172.18.99.1 +#vlr0=172.18.98.1 +#vlr1=172.18.99.1 +#smsc0=172.18.98.1 +#smsc1=172.18.99.1 + +serial No=111112 diff --git a/src/faultMgr/c_program/beatProc/Makefile b/src/faultMgr/c_program/beatProc/Makefile new file mode 100644 index 0000000..66bec7c --- /dev/null +++ b/src/faultMgr/c_program/beatProc/Makefile @@ -0,0 +1,80 @@ +#!/bin/sh + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall + +dbINCLUDE_FLAGS = -I/usr/local/mysql/include +dbINCLUDE_FLAGS.ES = -I/usr/include/mariadb + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L/usr/local/mysql/lib -lmariadbclient -lz \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ + +LINKFLAG.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L/usr/lib/mysql -lmariadbclient -lz \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ + +LINK_SUFFIX = $(dbINCLUDE_FLAGS) $(LINKFLAG) +LINK_SUFFIX.ES = $(dbINCLUDE_FLAGS.ES) $(LINKFLAG.ES) + +PROGS = beatProc + +ALL_OBJ = beatProcMain.o beatProc.o +ALL_OBJ.ES = beatProcMain.o.ES beatProc.o.ES + +LIB_OBJ = beatProc.o +LIB_OBJ.ES = beatProc.o.ES + +default:linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(ALL_OBJ) + @echo Linking $(PROGS) + ar r libbeatProc.a $(LIB_OBJ) + #@$(CC) $(CFLAGS) -o $(PROGS) $(ALL_OBJ) $(LINK_SUFFIX) -lm + rm -f *.o core *~ + #cp -f $(PROGS) ../../../../bin/ + #cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(ALL_OBJ.ES) + @echo Linking $(PROGS) + ar r libbeatProc.a $(LIB_OBJ) + @$(CC) $(CFLAGS) -o $(PROGS) $(ALL_OBJ) $(LINK_SUFFIX.ES) -lm + rm -f *.o core *~ + #cp -f $(PROGS) ../../../../bin/ + #cp -f $(PROGS) /usr/local/omc/bin/ + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +beatProcMain.o: beatProcMain.c + $(CC) $(CFLAGS) -c beatProcMain.c $(dbINCLUDE_FLAGS) + +beatProc.o: beatProc.c + $(CC) $(CFLAGS) -c beatProc.c $(dbINCLUDE_FLAGS) + +beatProcMain.o.ES: beatProcMain.c + $(CC) $(CFLAGS) -c beatProcMain.c $(dbINCLUDE_FLAGS.ES) + +beatProc.o.ES: beatProc.c + $(CC) $(CFLAGS) -c beatProc.c $(dbINCLUDE_FLAGS.ES) + +clean: + rm -f $(PROGS) *.o *.a diff --git a/src/faultMgr/c_program/beatProc/beatProc.c b/src/faultMgr/c_program/beatProc/beatProc.c new file mode 100644 index 0000000..edcaa61 --- /dev/null +++ b/src/faultMgr/c_program/beatProc/beatProc.c @@ -0,0 +1,637 @@ +#include "beatProc.h" + +void localBeatRecv(BYTE oidLen, DWORD *oidArr, BYTE *pdata,WORD dataLen,snmp_addr *addr); +int initSysConf(); +void update_state(_sys_conf *psysconf,int sysNo,int subSysNo,BYTE *pdata,int dataLen,snmp_addr *addr); +void update_ems_process_state(DWORD* oidArr,BYTE *pdata); +void update_msc_trap_msg(BYTE oidLen, DWORD *oidArr, BYTE *pdata,WORD dataLen,snmp_addr *addr); +void update_alarm(_sys_conf *psysconf,int sysno,int subsysno,int compcode,int alarmcode); +BYTE parseoid(char *str, DWORD * array, BYTE max); +char *oidtostr(DWORD* oid,int oidlen,char *output); + +static char beatproc_sqlstr[8192]; +static char state_str[MAX_MSG_LEN]; +static _sys_conf sys_conf[MAX_SYS_CONF]; +static int sys_conf_count=0; +static BYTE beatProcSequenceNum[4]={0,0,0,0}; +static int dwordlen; +unsigned long receive_localbeat_time=0; +unsigned long beatProc_time=0; +unsigned long cons=0; +int beatProcInit(unsigned char *sequenceNum) +{ + int i; + + ems_debug(BEATPROC_DEBUG_LOGFILE,"beatProc is starting ..."); + + for(i=0;i<4;i++) + beatProcSequenceNum[i]=sequenceNum[i]; + ems_debug(BEATPROC_DEBUG_LOGFILE,"beatProc is starting ...:%ld,%ld",(long)beatProcSequenceNum,(long *)sequenceNum); + initSysConf(); + inquire_trapmsg(localBeatRecv); + return(1); +} + + +int beatProc(void) +{ + static int check_conf_index=0; + static int check_sys_index=0; + static int check_subsys_index=0; + _sys_state_mng *psys; + + if(!sys_conf[check_conf_index].isalive) + { + check_conf_index++; + return 1; + } + + if(check_conf_index >= sys_conf_count) + { + check_conf_index=0; + check_sys_index=0; + check_subsys_index=0; + return 1; + } + + if(check_sys_index >= sys_conf[check_conf_index].maxsysnum) + { + check_conf_index++; + check_sys_index=0; + check_subsys_index=0; + return 1; + } + + if(check_subsys_index >= sys_conf[check_conf_index].maxsubsysnum) + { + check_sys_index++; + check_subsys_index=0; + return 1; + } + //beatProc_time=time(NULL); + //cons=beatProc_time-receive_localbeat_time; + //ems_debug(BEATPROC_DEBUG_LOGFILE,"cons time:%d",cons); + psys=&sys_conf[check_conf_index].systems[check_sys_index][check_subsys_index]; + if(psys->isalive) + { + if(time(NULL) - psys->lastupdatetime > MAX_HEARTBEAT_TIMEOUT) + { + psys->isoffline=1; + update_alarm(&sys_conf[check_conf_index],check_sys_index,check_subsys_index,0,254); + } + } + + check_subsys_index++; + + return(1); +} + + +int initSysConf() +{ + MYSQL *pubConn; + MYSQL_RES *res; + MYSQL_ROW row; + int systypeno; + int agentforsys; + int index; + int i,j; + + memset(sys_conf,0,sizeof(sys_conf)); + dwordlen=sizeof(DWORD); + pubConn=mysql_conn("localhost","OMC_PUB"); + if(pubConn == NULL) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"Connect to OMC_PUB fail"); + return 0; + } + + sprintf(beatproc_sqlstr,"delete from OMC_PUB.sysInfo;"); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + } + + sprintf(beatproc_sqlstr,"delete from OMC_PUB.sysStat;"); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + } + + sprintf(beatproc_sqlstr,"select sysTypeNo,sysTypeName,maxSysNum,maxSubSysNum,snmpHead from OMC_PUB.sysConf where needHeartBeat>0;"); + res=mysql_getres(pubConn,beatproc_sqlstr); + if(res == NULL) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + return 0; + } + while((row=mysql_fetch_row(res)) != NULL) + { + sys_conf[sys_conf_count].systypeno=atoi(row[0]); + sprintf(sys_conf[sys_conf_count].systypename,"%s",row[1]); + sys_conf[sys_conf_count].maxsysnum=atoi(row[2]); + sys_conf[sys_conf_count].maxsubsysnum=atoi(row[3]); + sys_conf[sys_conf_count].prefixoidlen=parseoid(row[4],sys_conf[sys_conf_count].prefixoid,24); + + for(i=0;i= MAX_SYS_CONF) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"The count of configured modules is greater than %d",MAX_SYS_CONF); + break; + } + } + mysql_free_result(res); + + sprintf(beatproc_sqlstr,"select sysTypeNo,otherModuleSendHeart from OMC_PUB.sysConf;"); + res=mysql_getres(pubConn,beatproc_sqlstr); + if(res == NULL) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + return 0; + } + while((row=mysql_fetch_row(res)) != NULL) + { + systypeno=atoi(row[0]); + agentforsys=atoi(row[1]); + for(index=0;indexremote_ip; + //ems_debug(BEATPROC_DEBUG_LOGFILE,"Unknown oid %s from %s",oidtostr(oidArr,oidLen,oidstr),inet_ntoa(newInaddr)); +//printf("Receive hb from %s, OID:%s\n",inet_ntoa(newInaddr),oidtostr(oidArr,oidLen,oidstr)); + return; + } + //check oid + /*char tmpstr[64]; + char oidstring[256]; + char pdatastring[256]; + char Sequencstring[256]; + struct in_addr newInaddr; + oidstring[0]=0; + pdatastring[0]=0; + Sequencstring[0]=0; + + receive_localbeat_time=time(NULL); + for(i=0;iremote_ip; + if(psysconf->systypeno == 0 && (strcmp(inet_ntoa(newInaddr),"172.25.196.80")==0 || strcmp(inet_ntoa(newInaddr),"172.25.196.200")==0)) + { + if(!strcmp(oidstring,"1.3.6.1.4.1.1373.2.4.5.1.")) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"receive_localbeat_time:%ld",receive_localbeat_time); + ems_debug(BEATPROC_DEBUG_LOGFILE,"oidstring:%s",oidstring); + //ems_debug(BEATPROC_DEBUG_LOGFILE,"pdata:"); + for(j=0;jsystypeno == 0) + { + if(oidArr[7] == 2 && oidArr[8] == 4 && oidArr[9] == 10) + { + update_ems_process_state(oidArr,pdata); + return; + } + + for(i=0;i<4;i++) + { + //ems_debug(BEATPROC_DEBUG_LOGFILE,"pdata[39+%d]:%d",i,(int *)pdata[39+i]); + //ems_debug(BEATPROC_DEBUG_LOGFILE,"beatProcSequenceNum[%d]:%d",i,(int)beatProcSequenceNum[i]); + + if(pdata[39+i] != beatProcSequenceNum[i]) + { + //ems_debug(BEATPROC_DEBUG_LOGFILE,"beatProcSequenceNum:%s",Sequencstring); + return; + } + } + //ems_debug(BEATPROC_DEBUG_LOGFILE,"EqHBProSequenceNum:%s",Sequencstring); + + } + //msc trap message for parameter + else if(psysconf->systypeno == 320) + { + if(oidLen <= psysconf->prefixoidlen) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"MSC trap message oid is too short %d <= %d",oidLen,psysconf->prefixoidlen); + return; + } + //parameter + if(oidArr[psysconf->prefixoidlen] == 2) + { + update_msc_trap_msg(oidLen,oidArr,pdata,dataLen,addr); + return; + } + } + + + + //check sysno and subsysno + sysno=pdata[0]; + subsysno=pdata[1]; + if(sysno >= psysconf->maxsysnum || subsysno >= psysconf->maxsubsysnum) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"System %s sysno or subsysno is too big,[%d,%d] > [%d,%d]",psysconf->systypename,sysno,subsysno,psysconf->maxsysnum,psysconf->maxsubsysnum); + return; + } + + if(psysconf->systems[sysno][subsysno].isalive == 0) + { + psysconf->systems[sysno][subsysno].isalive=1; + //printf("%s-%d-%d-%d is alive\n",psysconf->systypename,index,sysno,subsysno); + } + + if(psysconf->isalive == 0) + { + psysconf->isalive=1; + } + + psysconf->systems[sysno][subsysno].lastupdatetime=time(NULL); + + update_state(psysconf,sysno,subsysno,pdata,dataLen,addr); +} + + +void update_state(_sys_conf *psysconf,int sysNo,int subSysNo,BYTE *pdata,int dataLen,snmp_addr *addr) +{ + int compcode; + int alarmcode; + int state; + MYSQL *pubConn; + struct in_addr newInaddr; + int i; + char *strip; + + if(psysconf->systypeno == 111|| psysconf->systypeno == 112) + { + compcode=pdata[14]; + alarmcode=pdata[15]; + } + else + { + compcode=pdata[14]*256+pdata[15]; + alarmcode=pdata[16]; + } + + if(alarmcode != 0) + state=0; + else + state=1; + + if(psysconf->systypeno==200) + state=1; + + pubConn=mysql_conn("localhost","OMC_PUB"); + if(pubConn == NULL) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"Connect to OMC_PUB fail"); + return; + } + + //update sysStat + state_str[0]=0; + omc_RbcdToAscii(state_str,pdata,dataLen*2); + sprintf(beatproc_sqlstr,"replace OMC_PUB.sysStat(sysTypeNo,sysNo,subSysNo,detailStat,updateTime)values('%d','%d','%d','%s',CURRENT_TIMESTAMP);", + psysconf->systypeno,sysNo,subSysNo,state_str); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR].%s",beatproc_sqlstr); + } + //if(psysconf->systypeno==0) + //ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL msg].%s",beatproc_sqlstr); + + //update sysInfo + newInaddr.s_addr = addr->remote_ip; + strip=inet_ntoa(newInaddr); + sprintf(beatproc_sqlstr,"replace OMC_PUB.sysInfo(sysTypeNo,sysNo,subSysNo,isRemote,netId,DPC,ip,baseStat,updateTime)values('%d','%d','%d','0','0','0','%s','%d',CURRENT_TIMESTAMP);", + psysconf->systypeno,sysNo,subSysNo,strip,state); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR].%s",beatproc_sqlstr); + } + //if(psysconf->systypeno==0) + //ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL msg].%s",beatproc_sqlstr); + + //update the sysInfo for the agent heartbeat + for(i=0;iagentnum;i++) + { + sprintf(beatproc_sqlstr,"replace OMC_PUB.sysInfo(sysTypeNo,sysNo,subSysNo,isRemote,netId,DPC,ip,baseStat,updateTime)values('%d','%d','%d','0','0','0','%s','%d',CURRENT_TIMESTAMP);", + psysconf->agentforsystypeno[i],sysNo,subSysNo,strip,state); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR].%s",beatproc_sqlstr); + } + //if(psysconf->systypeno==0) + //ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL msg].%s",beatproc_sqlstr); + + } + //if(psysconf->systypeno == 0) + //ems_debug(BEATPROC_DEBUG_LOGFILE,"%d %d %d %s %s",psysconf->systypeno,sysNo,subSysNo,inet_ntoa(newInaddr),state_str); + + //clear the offline alarm + if(psysconf->systems[sysNo][subSysNo].isoffline) + { + psysconf->systems[sysNo][subSysNo].isoffline=0; + sprintf(beatproc_sqlstr,"update OMC_PUB.sysAlarmLog set clearTime=CURRENT_TIMESTAMP,clearMode=1,clearBy='System' where sysTypeNo=%d and sysNo=%d and subSysNo=%d and compCode=0 and alarmCode=254;", + psysconf->systypeno,sysNo,subSysNo); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + } + else + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr); + } + } + + mysql_close(pubConn); + + //update alarm + update_alarm(psysconf,sysNo,subSysNo,compcode,alarmcode); +} + +void update_ems_process_state(DWORD* oidArr,BYTE *pdata) +{ + MYSQL *pubConn; + + pubConn=mysql_conn("localhost","OMC_PUB"); + if(pubConn == NULL) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"Connect to OMC_PUB fail"); + return; + } + sprintf(beatproc_sqlstr,"replace OMC_PUB.procInfo (proc_id,proc_name,updateTime)VALUES ('%d','%s',CURRENT_TIMESTAMP)",(int)oidArr[10],(char*)pdata); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + } + ems_debug(BEATPROC_DEBUG_LOGFILE,"%ld %s update",time(NULL),(char*)pdata); + mysql_close(pubConn); +} + +void update_msc_trap_msg(BYTE oidLen, DWORD *oidArr, BYTE *pdata,WORD dataLen,snmp_addr *addr) +{ + int oid_param=oidArr[11]; + int oid_x=oidArr[12]; + int oid_y=oidArr[13]; + int index; + char selSql[256]; + char instanceNo[32]; + char tempstr[64]; + char *p; + MYSQL_RES *selRes; + char tmpBuf[MAX_MSG_LEN * 2]= "\0"; + int res_num=0; + instanceNo[0]='\0'; + selSql[0]='\0'; + MYSQL *dbConn; + + dbConn=mysql_conn("localhost","OBJ_320"); + if(dbConn == NULL) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"Connect to OBJ_320 fail"); + return; + } + + //判断该参数是不是一个表格参数 + sprintf(beatproc_sqlstr,"SELECT level_1,level_2 FROM OBJ_320.paramConf WHERE name_2 LIKE '%%Table' AND level_1=%d AND level_2=%d AND level_3=%d AND level_4=0 ",oid_param,oid_x,oid_y); + selRes =(MYSQL_RES*) mysql_getres(dbConn,beatproc_sqlstr); + + //数据库出现异常 + if(selRes == NULL){ + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + mysql_close(dbConn); + return; + } + + res_num=mysql_num_rows(selRes); + mysql_free_result(selRes); + + //initValue and readValue + omc_RbcdToAscii(tmpBuf,pdata,dataLen*2); + + tempstr[0]='\0'; + //如果不是表格参数,则后续OID为一位,接下来的全为INSTANCE ID + if(res_num==0) + { + //获取instanceNo + for(index=15;indexsystems[sysno][subsysno]; + + if(psys->lastcompcode == compcode && psys->lastalarmcode == alarmcode) + return; + + pubConn=mysql_conn("localhost","OMC_PUB"); + if(pubConn == NULL) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"Connect to OMC_PUB fail"); + return; + } + + //clear alarm + if(alarmcode == 0) + { + if(compcode == 0) + sprintf(condition,"sysTypeNo=%d and sysNo=%d and subSysNo=%d and clearMode=0",psysconf->systypeno,sysno,subsysno); + else + sprintf(condition,"sysTypeNo=%d and sysNo=%d and subSysNo=%d and clearMode=0 and compCode=%d",psysconf->systypeno,sysno,subsysno,compcode); + sprintf(beatproc_sqlstr,"update OMC_PUB.sysAlarmLog set clearTime=CURRENT_TIMESTAMP,clearMode=1,clearBy='System' where %s;",condition); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + } + else + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr); + } + } + //insert alarm + else + { + sprintf(beatproc_sqlstr,"update OMC_PUB.sysAlarmLog set clearTime=CURRENT_TIMESTAMP,clearMode=1,clearBy='System' where sysTypeNo=%d and sysNo=%d and subSysNo=%d and compCode=%d and alarmCode=%d and clearMode=0;", + psysconf->systypeno,sysno,subsysno,compcode,alarmcode); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + } + else + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr); + } + sprintf(beatproc_sqlstr,"insert into OMC_PUB.sysAlarmLog(sysTypeNo,sysNo,subSysNo,compCode,alarmCode,alarmTime,clearTime,clearMode,clearInfo,clearBy)values(%d,%d,%d,%d,%d,CURRENT_TIMESTAMP,'0000-00-00 00:00:00',0,NULL,NULL);", + psysconf->systypeno,sysno,subsysno,compcode,alarmcode); + if(mysql_getnores(pubConn,beatproc_sqlstr) != 0) + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr); + } + else + { + ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr); + } + } + + psys->lastcompcode=compcode; + psys->lastalarmcode=alarmcode; + + mysql_close(pubConn); +} + +BYTE parseoid(char *str, DWORD * array, BYTE max) +{ + BYTE sub = 0; + short len, i; + char *pvar; + + len = strlen(str); + pvar = str; + for (i = 0; i < len && sub < max; i++) { + if (str[i] == '.') { + str[i] = '\0'; + if (strlen(pvar) == 0) + continue; + array[sub++] = atoi(pvar); + pvar = str + i + 1; + } + } + if (strlen(pvar) == 0) + return sub; + array[sub++] = atoi(pvar); + return sub; +} + +char *oidtostr(DWORD* oid,int oidlen,char *output) +{ + char tmpstr[8]; + int i; + + output[0]=0; + for(i=0;i +#include +#include +#include +#include +#include +#include + + +//Defined in X0721E.doc +#define nAlarmCleared 5 +#define nAlarmWarning 4 +#define nAlarmMinor 3 +#define nAlarmMajor 2 +#define nAlarmCritical 1 +#define nAlarmIndeterminate 0 + +//#define MAX_PROC_NUM 64 +#define MAX_SYS_CONF 64 +#define MAX_SYS_NUM 32 +#define MAX_SUB_SYS_NUM 32 +#define MAX_AGENT 32 +#define MAX_HEARTBEAT_TIMEOUT 90 +#define MAX_MSG_LEN 1600 +#define BEATPROC_DEBUG_LOGFILE "../log/beatProc_" + +typedef struct _sys_state_mng +{ + char isalive; + char isoffline; + char state; + unsigned long lastupdatetime; + int lastcompcode; + int lastalarmcode; +}_sys_state_mng; + +typedef struct _sys_conf +{ + char isalive; + int systypeno; + char systypename[16]; + //unsigned long prefixoid[24]; + DWORD prefixoid[24]; + int prefixoidlen; + + int agentforsystypeno[MAX_AGENT]; + int agentnum; + + int maxsysnum; + int maxsubsysnum; + + _sys_state_mng systems[MAX_SYS_NUM][MAX_SUB_SYS_NUM]; + +}_sys_conf; + + + + +int beatProcInit(BYTE *sequenceNum); +int beatProc(void); + +#endif //_BEATPROC_H diff --git a/src/faultMgr/c_program/beatProc/beatProcMain.c b/src/faultMgr/c_program/beatProc/beatProcMain.c new file mode 100644 index 0000000..f9e4277 --- /dev/null +++ b/src/faultMgr/c_program/beatProc/beatProcMain.c @@ -0,0 +1,12 @@ + + +//#include "beatProc.h" + +/* by simon at 23/10/07 */ +int corefile_flag = 0; + +int main() +{ + return(1); +} + diff --git a/src/faultMgr/c_program/beatProc/makeomcmain b/src/faultMgr/c_program/beatProc/makeomcmain new file mode 100644 index 0000000..3317f2e --- /dev/null +++ b/src/faultMgr/c_program/beatProc/makeomcmain @@ -0,0 +1,6 @@ +#!/bin/bash + +cd ../../../omcMain/c_program/omcMain/ +make clean +make linuxES + diff --git a/src/faultMgr/c_program/beatSend/Makefile b/src/faultMgr/c_program/beatSend/Makefile new file mode 100644 index 0000000..80a6422 --- /dev/null +++ b/src/faultMgr/c_program/beatSend/Makefile @@ -0,0 +1,84 @@ +#!/bin/sh + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall + +dbINCLUDE_FLAGS = -I/usr/local/mysql/include +dbINCLUDE_FLAGS.ES = -I/usr/include/mariadb + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L/usr/local/mysql/lib -lmariadbclient -lz \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ + +LINKFLAG.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L/usr/lib/mysql -lmariadbclient -lz \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ +-L../../../faultMgr/c_program/sysStat -lsysStat \ + +LINK_SUFFIX = $(dbINCLUDE_FLAGS) $(LINKFLAG) +LINK_SUFFIX.ES = $(dbINCLUDE_FLAGS.ES) $(LINKFLAG.ES) + +PROGS = beatSend + +ALL_OBJ = beatSendMain.o beatSend.o sys_stat.o +ALL_OBJ.ES = beatSendMain.o.ES beatSend.o.ES sys_stat.o.ES + +LIB_OBJ = beatSend.o sys_stat.o +LIB_OBJ.ES = beatSend.o.ES sys_stat.o.ES + +default:linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(ALL_OBJ) + @echo Linking $(PROGS) + ar r libbeatSend.a $(LIB_OBJ) + @$(CC) $(CFLAGS) -o $@ $(ALL_OBJ) $(LINK_SUFFIX) + rm -rf *.o *~ core + +linuxES: $(ALL_OBJ.ES) + @echo Linking $(PROGS) + ar r libbeatSend.a $(LIB_OBJ) + @$(CC) $(CFLAGS) -o $(PROGS) $(ALL_OBJ) $(LINK_SUFFIX.ES) -lm + rm -rf *.o *~ core + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +beatSendMain.o: beatSendMain.c + $(CC) $(CFLAGS) -c beatSendMain.c $(dbINCLUDE_FLAGS) + +beatSend.o: beatSend.c + $(CC) $(CFLAGS) -c beatSend.c $(dbINCLUDE_FLAGS) + +sys_stat.o: sys_stat.c + $(CC) $(CFLAGS) -c sys_stat.c $(dbINCLUDE_FLAGS) + +beatSendMain.o.ES: beatSendMain.c + $(CC) $(CFLAGS) -c beatSendMain.c $(dbINCLUDE_FLAGS.ES) + +beatSend.o.ES: beatSend.c + $(CC) $(CFLAGS) -c beatSend.c $(dbINCLUDE_FLAGS.ES) + +sys_stat.o.ES: sys_stat.c + $(CC) $(CFLAGS) -c sys_stat.c $(dbINCLUDE_FLAGS.ES) + +clean: + rm -f $(PROGS) *.o *.a diff --git a/src/faultMgr/c_program/beatSend/beatSend.c b/src/faultMgr/c_program/beatSend/beatSend.c new file mode 100644 index 0000000..64d9e36 --- /dev/null +++ b/src/faultMgr/c_program/beatSend/beatSend.c @@ -0,0 +1,915 @@ +/************************************************* +File name: beatSend.c +Author: Cui Ticun +Version: 9:00:00 +Date: 2007-8-28 +Description:该文件定义了发送EMS的Heartbeat的函数 + + 调用snmp模块的函数 + snmp_send(); + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +#include "beatSend.h" +#include "string.h" + +#if beatSend_DEBUG + #include +#endif + +#define BEATSEND_LOG "beatSend" + +#define MaxOidLen 20 +#define trapMsg 7 +#define nOctetString 0x04 + +#define RESTART_PROCESS 1 + +static void beatSend_loadConf(); +static int beatSend_parseConfLine(char *str, char (*row)[64], int maxrow); + +/* by simon at 23/9/25 */ +unsigned int HbDstIp; + +int stop_timeout[64]; +int suspend_timeout[64]; + +char masterProcList[512] ="mariadbd apache2 omcMain"; +char slaveProcList[512] = "mariadbd apache2 omcMain"; + +int beatSend_mkBeatInfo(BeatInfo * beatInfo, DetailInfo * detailInfo); +int beatSend_mkVarList(var_list * varList, BeatInfo * beatInfo); +int beatSend_mkPdu(snmp_pdu * snmpPdu, var_list * varArr); +int beatSend_mkAddr(snmp_addr * addr); + +void run_proc(char *cmdstr); +void kill_proc(char *proc_name); + +int uIntToByte(BYTE * buf, int bufLen, unsigned long uIntValue); + +DWORD wxc2OmcHbOid[MaxOidLen] = { 1, 3, 6, 1, 4, 1, 1373, 2, 4, 1, 0}; + +static DetailInfo omcDetailInfo; +static BeatInfo omcBeatInfo; + +static DWORD *omcHbOid; +static BYTE omcTypeNo; +static BYTE omcSysNo; +static BYTE omcSubSysNo; +static BYTE omcVersion[3]; + +static MYSQL *beatSend_dbConn; + +BYTE beatSendSequenceNum[4]={0,0,0,0}; + +unsigned long beatsend_prev_time; +unsigned long beatsend_next_time; + +#define IPLIST_CONFILE "./conf/omctrap_iplist.conf" + +int readTranIPList(); +unsigned long trapIPList[64]; +int trapIPCount=0; +extern void init_sys_stat(); +extern int get_sys_stat(unsigned char *pBuf, int bufLen); +/* +return +0-fail, 1-success +*/ +int readTranIPList() +{ + FILE *handle; + unsigned char rb; + char line[64][256]; + int pos,line_pos; + + handle=fopen(IPLIST_CONFILE,"r"); + if(handle == NULL) + return 0; + + pos=0; + line_pos=0; + while((1 == fread(&rb,1,1,handle))) + { + printf("%c", rb); + if(rb == '\n') + { + line[line_pos][pos]=0; + if(pos > 4) + line_pos++; + pos=0; + if(line_pos == 64) + { + printf("%s's IP is too much\n",IPLIST_CONFILE); + break; + } + continue; + } + + if(rb == '\t' || rb ==' ') + continue; + + line[line_pos][pos]=rb; + pos++; + } + + printf("line_pos=%d\n", line_pos); + for(rb=0;rbd_name,".")==0 || strcmp(ptr->d_name,"..")==0) ///current dir OR parrent dir + continue;//跳过.和..目录 + else if(ptr->d_type == 8) ///d_type=8 means file + { + //printf("d_name=%s\n", ptr->d_name); + CurFileExtName = strstr(ptr->d_name,FileExtName); + // printf("CurFileExtName=%s\n", CurFileExtName); + if(CurFileExtName!=NULL) + { + corefile_flag = 1; + break; + } + } + } + closedir(dir); + return 1; +} + +int check_coredump_file() +{ + char *DirPath="/usr/local/omc/bin"; + char *FileExtName="core"; + //char FileNames[128][128]; + //int MaxFileNum=128; + //int FileNum=0; + GetFileNamesInDir(DirPath,FileExtName); +} +int beatSendInit(omcBaseInfo * omcInfo,BYTE *sequenceNum) +{ + int i; + FILE *confFile=NULL; + char confBuf[256]; + char mask[320]; + int maskNew[]={0,0,0,0}; + char ip[320]; + char ipmask[320]; + char maskVal[4]; + char *tmpBuf; + char ip_flag=0, mask_flag=0; + tmpBuf=&confBuf[0]; + + //打开网卡配置文件以获取机器的IP地址和子网掩码 +// confFile=fopen("/etc/sysconfig/network-scripts/ifcfg-eth0", "r"); +// while(fgets(confBuf, 255, confFile)) { +// tmpBuf=&confBuf[0]; +// if(strncmp("NETMASK",confBuf,7)==0){ +// strsep(&(tmpBuf),"="); +// sprintf(mask,"%s",tmpBuf); +// }else if(strncmp("IPADDR",confBuf,6)==0){ +// strsep(&(tmpBuf),"="); +// sprintf(ip,"%s",tmpBuf); +// } +// } +// fclose(confFile); +// +// if (ip[0] == '\"') ip_flag=1; +// for (i=0; i<32; i++) { +// if (ip[i] == '\"') { +// ip[i] = 0; +// } +// } +// if (mask[0] == '\"') mask_flag=1; +// for (i=0; i<32; i++) { +// if (mask[i] == '\"') { +// mask[i] = 0; +// } +// } +/*ubuntu18 format: ip/mask,eg 192.168.1.57/24 or [192.168.1.57/24]*/ + getNetworkInfo("addresses:", ipmask ); +// getNetworkInfo("netmask", mask ); + char *token=strtok(ipmask, "/"); + if (token) sprintf(ip, "%s", token); + token=strtok(NULL, "/"); + char maskInt[3]; + + if (token) + { + sprintf(maskVal, "%s", token); + + for (i=0;i<3;i++) + { + //printf("%c", maskVal[i]); + if(isdigit(maskVal[i])) + maskInt[i]=maskVal[i]; + else break; + } + maskInt[i]="\0"; + } + printf("\n ip address is %s \n", ip); + //printf("maskInt is %s \n", maskInt); + int mask_t=0; + mask_t=atoi(maskInt); + // printf("\n mask_t is %d \n", mask_t); + if(mask_t>0&&mask_t<33) + { + for(i=0;iomcTypeNo; + omcSysNo = omcInfo->sysNo; + omcSubSysNo = omcInfo->subSysNo; + omcVersion[0] = omcInfo->version[0]; + omcVersion[1] = omcInfo->version[1]; + omcVersion[2] = omcInfo->version[2]; + + /* + printf("omcTypeNo %d\n",omcTypeNo); + printf("omcSysNo %d\n",omcSysNo); + printf("omcSubSysNo %d\n",omcSubSysNo); + printf("version %d %d %d\n",omcVersion[0],omcVersion[1],omcVersion[2]); + */ + + if (omcInfo->runMode == 0) { //single + omcDetailInfo.status = 0x07; + } + + omcHbOid = wxc2OmcHbOid; + + //初始化数据库连接 + beatSend_dbConn = mysql_conn(HOST_NAME, DB_NAME); + if (beatSend_dbConn == NULL) { + return (0); + } + + //初始化序列号 + for(i=0;i<4;i++) + beatSendSequenceNum[i]=sequenceNum[i]; + init_sys_stat(); + + check_coredump_file(); + printf("corefile_flag=%d\n", corefile_flag); + return (1); +} + + +/************************************************* +Function: // beatSend +Description: // 发送EMS的heartbeat的处理函数,主要发送EMS下的模块进程信息 +Calls: // getProcGrpInfo; uIntToByte; beatSend_mkBeatInfo; beatSend_mkVarList; beatSend_mkAddr; beatSend_mkPdu; snmp_send; +Called By: // omcMain.c; +Table Accessed: // +Table Updated: // +Input: // isMaster:主从机状态; +Output: // +Return: // 警报标志 +Others: // +*************************************************/ +int beatSend(int isMaster,int omcRunMode) +{ + BYTE tmpHour = 0; + BYTE tmpMinute = 0; + BYTE tmpSecond = 0; + procGrpInfo myProcGrpInfo; + snmp_pdu tmpPdu; + var_list tmpVarArr[BIND_MAX]; + snmp_addr tmpAddr; + char procList[512]; + int i; + unsigned long time_past; + + memset(&tmpPdu,0,sizeof(snmp_pdu)); + memset(tmpVarArr,0,sizeof(var_list)*BIND_MAX); + memset(&tmpAddr,0,sizeof(snmp_addr)); + + beatsend_next_time=time(NULL); + time_past=beatsend_next_time - beatsend_prev_time; + + if(time_past < HEARTBEAT_INTERVAL) + return 0; + + omcBeatInfo.sysNo = omcSysNo; + omcBeatInfo.subSysNo = omcSubSysNo; + + tmpHour = (int) ((double) beatsend_next_time / 3600) % 24; + tmpMinute = (int) ((double) (beatsend_next_time % 3600)) / 60; + tmpSecond = (int) (beatsend_next_time % 60); + omcDetailInfo.clock[0] = tmpHour; + omcDetailInfo.clock[1] = tmpMinute; + omcDetailInfo.clock[2] = tmpSecond; + uIntToByte(omcBeatInfo.timeStamp, sizeof(omcBeatInfo.timeStamp),beatsend_next_time); + + omcDetailInfo.comp_id=0; + omcDetailInfo.comp_length=sizeof(DetailInfo)-4; + + memcpy(omcDetailInfo.version, omcVersion, sizeof(omcVersion)); + + for(i=0;i<4;i++) + omcDetailInfo.checkSum[i]=0; + + for(i=0;i<4;i++) + omcDetailInfo.maxLicenses[i]=0; + + for(i=0;i<4;i++) + omcDetailInfo.onLineUsers[i]=0; + + for(i=0;i<4;i++) + omcDetailInfo.sequenceNum[i]=beatSendSequenceNum[i]; + + + if (isMaster == 1) + memcpy(procList,masterProcList, sizeof(procList)); + else + memcpy(procList,slaveProcList, sizeof(procList)); + + sprintf(myProcGrpInfo.procNameList, "%s", procList); + getProcGrpInfo(&(myProcGrpInfo)); + + for(i=0;i<8;i++) + omcBeatInfo.ledArr[i]=0xFF; + + omcDetailInfo.procNum = myProcGrpInfo.procNum; + for(i=0;i 0) + { +#if beatSend_DEBUG + fprintf(stderr, "send heartbeat message ok!"); +#endif + } + else + { +#if beatSend_DEBUG + fprintf(stderr, "failed to send heartbeat message!"); +#endif + } + + for(i=0;i 0) + { +#if beatSend_DEBUG + fprintf(stderr, "send heartbeat message ok!"); +#endif + } + else + { +#if beatSend_DEBUG + fprintf(stderr, "failed to send heartbeat message!"); +#endif + } + } + + beatsend_prev_time=beatsend_next_time; + + return 0; +} + +/************************************************* +Function: // chOmcStatus +Description: // 改变EMS的状态 +Calls: // +Called By: // dualsrv.c:dualsrv_status; +Table Accessed: // +Table Updated: // +Input: // status:状态值; +Output: // +Return: // +Others: // +*************************************************/ +void chOmcStatus(BYTE status) +{ + omcDetailInfo.status = status; +} + +/************************************************* +Function: // fillSyncInfo +Description: // 填充EMS的同步信息 +Calls: // +Called By: // dualsrv.c:dualsrv_status; +Table Accessed: // +Table Updated: // +Input: // info:同步信息; +Output: // +Return: // +Others: // +*************************************************/ +void fillSyncInfo(BYTE * info) +{ + memcpy((BYTE *) & omcDetailInfo.syncInfo, info, 32); +} + +void fillProcStatus(BYTE procnum,BYTE *procstatus) +{ + omcDetailInfo.procNum=procnum; + memcpy(omcDetailInfo.procInfo, procstatus, procnum*sizeof(BYTE)); +} + +/************************************************* +Function: // beatSend_mkBeatInfo +Description: // 构造EMS heartbeat消息结构 +Calls: // +Called By: // beatSend; +Table Accessed: // +Table Updated: // +Input: // detailInfo:heartbeat详细消息结构; +Output: // beatInfo:heartbeat消息结构; +Return: // 1:successful; other:failed; +Others: // +*************************************************/ +int beatSend_mkBeatInfo(BeatInfo * beatInfo, DetailInfo * detailInfo) +{ + +#if beatSend_DEBUG + int i; +#endif + //构造EMS heartbeat消息结构 + beatInfo->detailLen = sizeof(*detailInfo); + memcpy(beatInfo->detail, detailInfo, beatInfo->detailLen); +#if beatSend_DEBUG + fprintf(stderr, "\n beatInfo->detailLen = %d", beatInfo->detailLen); + fprintf(stderr, "\n beatInfo->detail"); + for (i = 0; i < beatInfo->detailLen; i++) { + if (i % 8 == 0) { + fprintf(stderr, "\n"); + } + fprintf(stderr, "%02X,", beatInfo->detail[i]); + } +#endif + return (1); +} + +/************************************************* +Function: // beatSend_mkVarList +Description: // 用beatInfo结构构造snmp的var_list结构 +Calls: // +Called By: // beatSend; +Table Accessed: // +Table Updated: // +Input: // beatInfo:heartbeat消息结构 +Output: // varList:snmp参数列表 +Return: // 1:successful; other:failed; +Others: // +*************************************************/ +int beatSend_mkVarList(var_list * varList, BeatInfo * beatInfo) +{ + int i = 0; + for (i = 0; i < MaxOidLen; i++) { + if (omcHbOid[i] > 0) { + varList->oid[i] = omcHbOid[i]; + } else { + break; + } + } + varList->oidlen = i + 1; + varList->vartype = nOctetString; + varList->msglen = sizeof(*beatInfo); +#if beatSend_DEBUG + fprintf(stderr, "\n varList->oidlen = %d", varList->oidlen); + fprintf(stderr, "\n varList->msglen = %d", varList->msglen); + fprintf(stderr, "\n beatInfo->detailLen = %d", beatInfo->detailLen); +#endif + memcpy(varList->msg, (BYTE *) beatInfo, varList->msglen); +#if beatSend_DEBUG + fprintf(stderr, "\n varLisk memcpy finished!"); +#endif + return (1); +} + +/************************************************* +Function: // beatSend_mkPdu +Description: // 构造snmp数据单元 +Calls: // +Called By: // beatSend; +Table Accessed: // +Table Updated: // +Input: // varArr:参数列表 +Output: // pdu:snmp数据单元 +Return: // 1:successful; other:failed; +Others: // +*************************************************/ +int beatSend_mkPdu(snmp_pdu * pdu, var_list * varArr) +{ +#if beatSend_DEBUG + fprintf(stderr, "\n Making snmp_pdu"); +#endif + + pdu->pdu_type = trapMsg; + pdu->request_id = 123; + pdu->var_num = 1; + +#if beatSend_DEBUG + fprintf(stderr, "\n varArr[0].msglen = %d", varArr[0].msglen); + fprintf(stderr, "\n varArr[1].msglen = %d", varArr[1].msglen); +#endif + + memcpy(pdu->var, varArr, sizeof(var_list) * BIND_MAX); + +#if beatSend_DEBUG + fprintf(stderr, "\n pdu memcpy finished!"); +#endif + pdu->error_status = 0x0; //0:no error 1:too big 2:nosuchname 3:badvalue 4:readonly 5:generr + pdu->error_index = 0x0; + return (1); +} + + + +/************************************************* +Function: // beatSend_mkAddr +Description: // 构造snmp地址结构 +Calls: // +Called By: // beatSend; +Table Accessed: // +Table Updated: // +Input: // addr:snmp地址结构; +Output: // +Return: // 1:successful; other:failed; +Others: // +*************************************************/ +int beatSend_mkAddr(snmp_addr * addr) +{ +#if beatSend_DEBUG + fprintf(stderr, "\n\n Initing snmp_addr----"); + fprintf(stderr, "\n local_port %d", HbSrcPort); + fprintf(stderr, "\n remote_ip:%u", HbDstIp); + fprintf(stderr, "\n remote_port:%d", HbDstPort); +#endif + //addr->local_ip = ; + addr->local_port = HbSrcPort; + + addr->remote_ip = HbDstIp; + addr->broadcast = 1; + addr->remote_port = HbDstPort; + + return (1); +} + +/************************************************* +Function: // uIntToByte +Description: // 把数据的格式转换成BCD码 +Calls: // +Called By: // beatSend; +Table Accessed: // +Table Updated: // +Input: // uIntValue:被转换的值 +Output: // buf:转换后的值 +Return: // >0:数据长度; 0:failed; +Others: // +*************************************************/ +int uIntToByte(BYTE * buf, int bufLen, unsigned long uIntValue) +{ +#if beatSend_DEBUG + fprintf(stderr, "\n ,int bufLen=%d,unsigned long uIntValue=%lu", + bufLen, uIntValue); +#endif + + switch (bufLen) { + case 1: + buf[0] = uIntValue; + break; + case 2: + buf[1] = uIntValue & 0xFF; + buf[0] = uIntValue >> 8; + break; + case 3: + buf[2] = uIntValue & 0xFF; + buf[1] = (uIntValue & 0xFF00) >> 8; + buf[0] = uIntValue >> 16; + break; + case 4: + buf[3] = uIntValue & 0xFF; + buf[2] = (uIntValue & 0xFF00) >> 8; + buf[1] = (uIntValue & 0xFF0000) >> 16; + buf[0] = uIntValue >> 24; + break; + default: + return (0); + } + return (bufLen); +} + +void run_proc(char *cmdstr) +{ + pid_t pid; + sigset_t oldset, newset; + int status; + char start_path[128]; + char command[256]; + + sprintf(start_path,"/usr/local/omc/bin/"); + + //没有命令 + if (cmdstr == NULL) + return; + + if(strstr(cmdstr,"alive") || strstr(cmdstr,"bsscomm")) + sprintf(command,"/usr/local/omc/bin/%s &",cmdstr); + else + sprintf(command,"/usr/local/omc/bin/%s -d",cmdstr); + + //进入工作目录 + if (chdir(start_path) != 0) { + return; + } + + if ((pid = fork()) == 0) { + //启动新进程,初始化信号集,设置信号遮罩 + setsid(); + sigemptyset(&newset); + sigprocmask(SIG_SETMASK, &newset, &oldset); + //用bash执行相应的命令,启动进程 + execl("/bin/bash", "bash", "-c", command, NULL); + _exit(127); + } else { + while (waitpid(pid, &status, 0) < 0) { + if (errno != EINTR) { + status = -1; + break; + } + } + } + +} + +void kill_proc(char *proc_name) +{ + char command[256]; + + if(proc_name == NULL) + return; + + sprintf(command,"kill -9 `pidof %s`",proc_name); + system(command); +} + +/************************************************* +Function: // beatSend_loadConf +Description: // 从配置文件中获取主从进程列表 +Calls: // beatSend_parseConfLine +Called By: // beatSendInit; +Table Accessed: // +Table Updated: // +Input: // ./conf/server.conf +Output: // +Return: // +Others: // +*************************************************/ +void beatSend_loadConf() +{ + FILE *fp; + + char str[256], itemlist[8][64], *pchr, *pkey, *pname; + int len; + + fp = fopen("./conf/server.conf", "r"); + + if (fp == NULL) { + exitLog("beatSend:beatSend_loadConf, Can not open server.conf"); + exit(1); + } + + //master processor + fseek(fp, 0, SEEK_SET); + while (fgets(str, 200, fp) != NULL) { + if ((pchr = strchr(str, '#')) != NULL) + pchr[0] = '\0'; + if ((pkey = strstr(str, "[master_task]")) == NULL) + continue; + while (fgets(str, 256, fp) != NULL && strchr(str, '[') == NULL) { + if ((pchr = strchr(str, '#')) != NULL) + pchr[0] = '\0'; + if (strlen(str) < 5) + continue; + if (beatSend_parseConfLine(str, itemlist, 2) < 1) + continue; + if (access(itemlist[0], X_OK) != 0) + continue; + + len = strlen(itemlist[0]); + if (itemlist[0][len - 1] == '/') + itemlist[0][len - 1] = '\0'; + if ((pname = strrchr(itemlist[0], '/')) == NULL) + pname = itemlist[0]; + else + pname++; + + strcat(masterProcList," "); + strcat(masterProcList,pname); + } + } + + + //slave processor + fseek(fp, 0, SEEK_SET); + while (fgets(str, 200, fp) != NULL) { + if ((pchr = strchr(str, '#')) != NULL) + pchr[0] = '\0'; + if ((pkey = strstr(str, "[slave_task]")) == NULL) + continue; + while (fgets(str, 256, fp) != NULL && strchr(str, '[') == NULL) { + if ((pchr = strchr(str, '#')) != NULL) + pchr[0] = '\0'; + if (strlen(str) < 5) + continue; + if (beatSend_parseConfLine(str, itemlist, 2) < 1) + continue; + if (access(itemlist[0], X_OK) != 0) + continue; + + len = strlen(itemlist[0]); + if (itemlist[0][len - 1] == '/') + itemlist[0][len - 1] = '\0'; + if ((pname = strrchr(itemlist[0], '/')) == NULL) + pname = itemlist[0]; + else + pname++; + + strcat(slaveProcList," "); + strcat(slaveProcList,pname); + } + } + + fclose(fp); + return; +} + + +/************************************************* +Function: // beatSend_parseConfLine +Description: // 解析处理配置文件以获得需要的信息 +Calls: // +Called By: // beatSend_loadConf +Table Accessed: // +Table Updated: // +Input: // str; maxrow; +Output: // +Return: // 返回对应的字符串指针 +Others: // +*************************************************/ +int beatSend_parseConfLine(char *str, char (*row)[64], int maxrow) +{ + char *pstr = str; + int len, index = 0, i; + BOOL black = 0; + len = strlen(str); + for (i = 0; i < len && index < maxrow; i++) { + if (isspace(str[i])) { + if (black == 0) + pstr = str + i + 1; + else { + str[i] = '\0'; + if (strlen(pstr) > 64) + pstr[63] = 0; + sprintf(row[index++], "%s", pstr); + pstr = str + i + 1; + } + black = 0; + } else + black = 1; + } + if (black == 1) { + if (strlen(pstr) > 64) + pstr[63] = 0; + sprintf(row[index++], "%s", pstr); + } + return index; +} diff --git a/src/faultMgr/c_program/beatSend/beatSend.h b/src/faultMgr/c_program/beatSend/beatSend.h new file mode 100644 index 0000000..b28e33e --- /dev/null +++ b/src/faultMgr/c_program/beatSend/beatSend.h @@ -0,0 +1,100 @@ +/************************************************* +File name: beatSend.h +Author: Cui Ticun +Version: 9:00:00 +Date: 2007-8-28 +Description:beatSend.c的头文件 + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ + +/* by simon at 23/9/25 */ +#ifndef _LINUX_ES + #include "mysql.h" +#else + #include "mysql.h" +#endif +/* end by simon */ + +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../faultMgr/c_program/sysStat/sysStat.h" +#include "../../../omcLib/c_program//omcLib/omcLib.h" +#include "../../../faultMgr/c_program/sysStat/sysStat.h" +#ifndef _BEAT_SEND +#define _BEAT_SEND + +#ifndef beatSend_DEBUG +#define beatSend_DEBUG 0 +#endif + +#define HbSrcPort 4957 + +//unsigned long int HbDstIp; +/* by simon at 23/9/25 */ +// unsigned int HbDstIp; + +#define HbDstPort 4957 + +#define HEARTBEAT_INTERVAL 10 +#define PROC_CHECK_TIMEOUT 60 +#define PROC_SUSPEND_TIMEOUT 90 +#define MAX_SUSPEND_TIME 24 + +#define ProcAlarmStart 128 +#define ProcAlarmEnd 143 + +typedef struct omcBaseInfo { + BYTE omcTypeNo; //EMS系统设备号 + BYTE sysNo; //EMS系统号 + BYTE subSysNo; //EMS子系统号 + BYTE runMode; //运行模式,0:single 1:dual + BYTE version[3]; //EMS版本号 +} omcBaseInfo; + +typedef struct BeatInfo { + BYTE sysNo; //系统号 + BYTE subSysNo; //子系统号 + BYTE timeStamp[4]; //时间戳 + BYTE ledArr[8]; //led状态 + BYTE reservedForCompCode; //保留 + BYTE compCode; //compCode + BYTE alarmCode; //警报 + BYTE reservedForDetailLen; //保留 + BYTE detailLen; //信息长度 + BYTE detail[80]; // > sizeof DetailInfo(48) + //BYTE detail[68]; // > sizeof DetailInfo(48) +} BeatInfo; + +typedef struct DetailInfo { + BYTE reservedForComp_id; //保留 + BYTE comp_id; //comp id + BYTE reservedForComp_length;//保留 + BYTE comp_length; //comp长度 + BYTE version[3]; //版本号 + BYTE status; //状态 + BYTE checkSum[4]; //校验和 + BYTE maxLicenses[4]; //Licenses + BYTE onLineUsers[4]; //在线用户 + BYTE sequenceNum[4]; //序列号 + BYTE clock[3]; //for 8k E1 hh:mm:ss + BYTE syncInfo[32]; //同步信息 + //BYTE syncInfo[20]; //同步信息 + BYTE procNum; //进程模块个数 + BYTE procInfo[MAX_PROC_NUM];//进程信息,MAX_PROC_NUM = 20 +} DetailInfo; + +int beatSendInit(omcBaseInfo * baseInfo,BYTE *sequenceNum); +int beatSend(int isMaster,int omcRunMode); +void chOmcStatus(BYTE status); +void fillSyncInfo(BYTE * info); +void fillProcStatus(BYTE procnum,BYTE *procstatus); + +#endif diff --git a/src/faultMgr/c_program/beatSend/beatSendMain.c b/src/faultMgr/c_program/beatSend/beatSendMain.c new file mode 100644 index 0000000..3aa04bf --- /dev/null +++ b/src/faultMgr/c_program/beatSend/beatSendMain.c @@ -0,0 +1,131 @@ +/* Title: beatSendMain.c + * Description: beatSend main program + * Author: Cui Ticun + * Date: 2006-6-29 + */ + +#include "beatSend.h" + +static struct itimerval itimer, old_itimer; +unsigned long timerCount; + +//get from omcd.conf +int omcTypeNo = 0; +int omcSysNo = 0; +int omcSubSysNo = 0; +omcBaseInfo omcInfo = { 0, 0, 0, 0, {1, 2, 3} }; + +BYTE sequenceNum[4]={0,0,0,0}; + +void onTimerProc(); +void setTimer(void); +void setup_daemon(void); + +/* by simon at 23/10/07 */ +int corefile_flag = 0; + +int main(int argc, char *argv[]) +{ + char runMode; + runMode = getopt(argc, argv, "d"); + + debug_init(1); //must do it at first + + snmp_init(4957); + + heartbeat_init(0); + + beatSendInit(&omcInfo,sequenceNum); + + setTimer(); + switch (runMode) { + case 'd': + setup_daemon(); + break; + case '?': + break; + } + + while (1) { + usleep(50); + } + + return (1); +} + + +void onTimerProc() +{ + if (timerCount >= 50) { + beatSend(1,0); + } + + if (timerCount > 1000 * 3600) { + timerCount = 0; + } + + timerCount++; +} + +void setTimer(void) +{ + struct sigaction act; + act.sa_handler = onTimerProc; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exitLog("beatSend:setTimer, sigaction function error"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exitLog("beatSend:setTimer, setitimer function error"); + exit(1); + } +} + +void setup_daemon(void) +{ + /* + int i; + + for (i = 0; i < 3; ++i) + close(i); + */ + + switch (fork()) { + case -1: + { + perror("setup_daemon(), 1st fork()"); + exit(2); + } + default: + exit(0); + case 0: + if (setsid() == -1) { + perror("setup_daemon(), setsid()"); + exit(3); + } + switch (fork()) { + case -1: + { + perror("setup_daemon(), 2nd fork()"); + exit(3); + } + + default: + exit(0); + case 0: + umask(0); + /* and return with daemon set up */ + return; + } + } +} diff --git a/src/faultMgr/c_program/beatSend/conf/iptrans.conf b/src/faultMgr/c_program/beatSend/conf/iptrans.conf new file mode 100644 index 0000000..532ad12 --- /dev/null +++ b/src/faultMgr/c_program/beatSend/conf/iptrans.conf @@ -0,0 +1,7 @@ +#fkdf +4953=1 +4954=4 +4955=6 +4957=6 +4965=4 +4971=3 diff --git a/omc/config/my.cnf_omc-1.ES b/src/faultMgr/c_program/beatSend/conf/my.cnf similarity index 60% rename from omc/config/my.cnf_omc-1.ES rename to src/faultMgr/c_program/beatSend/conf/my.cnf index e5fe549..676dff4 100644 --- a/omc/config/my.cnf_omc-1.ES +++ b/src/faultMgr/c_program/beatSend/conf/my.cnf @@ -18,54 +18,74 @@ [client] #password = your_password port = 3306 -socket = /var/lib/mysql/mysql.sock +socket = /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 -socket = /var/lib/mysql/mysql.sock -datadir = /usr/local/mysql -pid-file = /var/lib/mysql/mysqld.pid -log-error = /var/lib/mysql/mysqld.err +socket = /tmp/mysql.sock skip-locking -slave-skip-errors = all set-variable = key_buffer=16M -set-variable = max_allowed_packet=16M +#set-variable = max_allowed_packet=1M set-variable = table_cache=64 set-variable = sort_buffer=512K set-variable = net_buffer_length=8K set-variable = myisam_sort_buffer_size=8M -set-variable = max_binlog_size=2M -set-variable = max_connections=256 -set-variable = wait_timeout=1800 -set-variable = interactive_timeout=1800 + #master=====================> log-bin -binlog-do-db = mysql -binlog-do-db = CDR_DB -binlog-do-db = CSTA_DB - - + server-id = 1 #slave====================> -master-host = omc-0 -master-user = administrator -master-password = "*86#ROtartsinim" -master-port = 3306 +master-host = cdr +master-user = root +master-password = rootaa +master-port = 3306 +#master-connect-retry = 30 +#slave-read-timeout = 10 -#master-connect-retry = 30 -#slave-read-timeout = 10 - -replicate-do-db = mysql -replicate-do-db = CDR_DB -replicate-do-db = CSTA_DB +replicate-do-db =AUC_Para +replicate-do-db =BssOmcDb +replicate-do-db =CDR_DB +replicate-do-db =CSTA_DB +replicate-do-db =HlrDb +replicate-do-db =OBJ_0 +replicate-do-db =OBJ_110 +replicate-do-db =OBJ_111 +replicate-do-db =OBJ_120 +replicate-do-db =OBJ_130 +replicate-do-db =OBJ_222 +replicate-do-db =OBJ_223 +replicate-do-db =OBJ_224 +replicate-do-db =OBJ_232 +replicate-do-db =OBJ_312 +replicate-do-db =OBJ_320 +replicate-do-db =OBJ_322 +replicate-do-db =OBJ_325 +replicate-do-db =OBJ_330 +replicate-do-db =OBJ_340 +replicate-do-db =OBJ_350 +replicate-do-db =OBJ_360 +replicate-do-db =OBJ_370 +replicate-do-db =OMC_PUB +replicate-ignore-table =OMC_PUB.dbAlarm +replicate-ignore-table =OMC_PUB.parameterComm +replicate-ignore-table =OMC_PUB.subscriberComm +replicate-do-db =SmscDb +replicate-do-db =VlrDb +replicate-do-db =account_db +replicate-do-db =heap +replicate-do-db =mysql +replicate-do-db =parameter_db +replicate-do-db =refresh_card +replicate-do-db =report_db +replicate-do-db =tariff_db #replicate-do-table =*.* - # Uncomment the following if you are using BDB tables #set-variable = bdb_cache_size=4M #set-variable = bdb_max_lock=10000 diff --git a/omc/config/my.cnf_omc-1 b/src/faultMgr/c_program/beatSend/conf/my_master.cnf similarity index 60% rename from omc/config/my.cnf_omc-1 rename to src/faultMgr/c_program/beatSend/conf/my_master.cnf index 4e40c1d..676dff4 100644 --- a/omc/config/my.cnf_omc-1 +++ b/src/faultMgr/c_program/beatSend/conf/my_master.cnf @@ -18,50 +18,74 @@ [client] #password = your_password port = 3306 -socket = /var/lib/mysql/mysql.sock +socket = /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 -socket = /var/lib/mysql/mysql.sock +socket = /tmp/mysql.sock skip-locking -slave-skip-errors = all set-variable = key_buffer=16M -set-variable = max_allowed_packet=16M +#set-variable = max_allowed_packet=1M set-variable = table_cache=64 set-variable = sort_buffer=512K set-variable = net_buffer_length=8K set-variable = myisam_sort_buffer_size=8M -set-variable = max_binlog_size=2M -set-variable = max_connections=256 -set-variable = wait_timeout=1800 -set-variable = interactive_timeout=1800 + #master=====================> log-bin -binlog-do-db = mysql -binlog-do-db = CDR_DB -binlog-do-db = CSTA_DB - + server-id = 1 #slave====================> -master-host = omc-0 -master-user = administrator -master-password = "*86#ROtartsinim" -master-port = 3306 +master-host = cdr +master-user = root +master-password = rootaa +master-port = 3306 +#master-connect-retry = 30 +#slave-read-timeout = 10 -#master-connect-retry = 30 -#slave-read-timeout = 10 - -replicate-do-db = mysql -replicate-do-db = CDR_DB -replicate-do-db = CSTA_DB +replicate-do-db =AUC_Para +replicate-do-db =BssOmcDb +replicate-do-db =CDR_DB +replicate-do-db =CSTA_DB +replicate-do-db =HlrDb +replicate-do-db =OBJ_0 +replicate-do-db =OBJ_110 +replicate-do-db =OBJ_111 +replicate-do-db =OBJ_120 +replicate-do-db =OBJ_130 +replicate-do-db =OBJ_222 +replicate-do-db =OBJ_223 +replicate-do-db =OBJ_224 +replicate-do-db =OBJ_232 +replicate-do-db =OBJ_312 +replicate-do-db =OBJ_320 +replicate-do-db =OBJ_322 +replicate-do-db =OBJ_325 +replicate-do-db =OBJ_330 +replicate-do-db =OBJ_340 +replicate-do-db =OBJ_350 +replicate-do-db =OBJ_360 +replicate-do-db =OBJ_370 +replicate-do-db =OMC_PUB +replicate-ignore-table =OMC_PUB.dbAlarm +replicate-ignore-table =OMC_PUB.parameterComm +replicate-ignore-table =OMC_PUB.subscriberComm +replicate-do-db =SmscDb +replicate-do-db =VlrDb +replicate-do-db =account_db +replicate-do-db =heap +replicate-do-db =mysql +replicate-do-db =parameter_db +replicate-do-db =refresh_card +replicate-do-db =report_db +replicate-do-db =tariff_db #replicate-do-table =*.* - # Uncomment the following if you are using BDB tables #set-variable = bdb_cache_size=4M #set-variable = bdb_max_lock=10000 diff --git a/omc/config/my.cnf_omc-0 b/src/faultMgr/c_program/beatSend/conf/my_slave.cnf similarity index 59% rename from omc/config/my.cnf_omc-0 rename to src/faultMgr/c_program/beatSend/conf/my_slave.cnf index 9b169e1..7fc105f 100644 --- a/omc/config/my.cnf_omc-0 +++ b/src/faultMgr/c_program/beatSend/conf/my_slave.cnf @@ -18,50 +18,74 @@ [client] #password = your_password port = 3306 -socket = /var/lib/mysql/mysql.sock +socket = /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 -socket = /var/lib/mysql/mysql.sock +socket = /tmp/mysql.sock skip-locking -slave-skip-errors = all set-variable = key_buffer=16M -set-variable = max_allowed_packet=16M +#set-variable = max_allowed_packet=1M set-variable = table_cache=64 set-variable = sort_buffer=512K set-variable = net_buffer_length=8K set-variable = myisam_sort_buffer_size=8M -set-variable = max_binlog_size=2M -set-variable = max_connections=256 -set-variable = wait_timeout=1800 -set-variable = interactive_timeout=1800 + #master=====================> log-bin -binlog-do-db = mysql -binlog-do-db = CDR_DB -binlog-do-db = CSTA_DB - -server-id = 0 + +server-id = 2 #slave====================> -master-host = omc-1 -master-user = administrator -master-password = "*86#ROtartsinim" -master-port = 3306 +master-host = cdr +master-user = root +master-password = rootaa +master-port = 3306 +#master-connect-retry = 30 +#slave-read-timeout = 10 -#master-connect-retry = 30 -#slave-read-timeout = 10 - -replicate-do-db = mysql -replicate-do-db = CDR_DB -replicate-do-db = CSTA_DB +replicate-do-db =AUC_Para +replicate-do-db =BssOmcDb +replicate-do-db =CDR_DB +replicate-do-db =CSTA_DB +replicate-do-db =HlrDb +replicate-do-db =OBJ_0 +replicate-do-db =OBJ_110 +replicate-do-db =OBJ_111 +replicate-do-db =OBJ_120 +replicate-do-db =OBJ_130 +replicate-do-db =OBJ_222 +replicate-do-db =OBJ_223 +replicate-do-db =OBJ_224 +replicate-do-db =OBJ_232 +replicate-do-db =OBJ_312 +replicate-do-db =OBJ_320 +replicate-do-db =OBJ_322 +replicate-do-db =OBJ_325 +replicate-do-db =OBJ_330 +replicate-do-db =OBJ_340 +replicate-do-db =OBJ_350 +replicate-do-db =OBJ_360 +replicate-do-db =OBJ_370 +replicate-do-db =OMC_PUB +replicate-ignore-table =OMC_PUB.dbAlarm +replicate-ignore-table =OMC_PUB.parameterComm +replicate-ignore-table =OMC_PUB.subscriberComm +replicate-do-db =SmscDb +replicate-do-db =VlrDb +replicate-do-db =account_db +replicate-do-db =heap +replicate-do-db =mysql +replicate-do-db =parameter_db +replicate-do-db =refresh_card +replicate-do-db =report_db +replicate-do-db =tariff_db #replicate-do-table =*.* - # Uncomment the following if you are using BDB tables #set-variable = bdb_cache_size=4M #set-variable = bdb_max_lock=10000 diff --git a/src/faultMgr/c_program/beatSend/conf/omcconf b/src/faultMgr/c_program/beatSend/conf/omcconf new file mode 100644 index 0000000..9d78b5d --- /dev/null +++ b/src/faultMgr/c_program/beatSend/conf/omcconf @@ -0,0 +1,156 @@ +#!/bin/bash +#Script to configurate dual omc + + +#my.cnf and server.conf should be in current directory +#or this script will not work + +#Three file will be changed:./server.conf /etc/hosts /etc/my.cnf +#backup them at first if needed +#I will make a backup of /etc/my.cnf for you,path of which is /etc/my.cnf.bak + +hostlist="/etc/hosts" + +getipbyname() +{ + [ -f $hostlist ] || exit 1 + cmdline='/'$1'/{print $1}' + echo "awk '"$cmdline"' "$hostlist|bash +} + +checkip() +{ + result=`echo "$1" |grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"` + if [ -z "$result" ];then + echo "invalid" + else + result=`ping $1 -c 1 |grep Unreachable` + if [ -z "$result" ];then + echo "ok" + else + echo "fail" + fi + fi + +} + +if [ ! -f "server.conf" ];then + echo "./server.conf not found" + exit 1 +fi +if [ ! -f "my.cnf" ];then + echo "./my.conf not found" + exit 1 +fi + + +echo "Please select server mode: (0:Master 1:Slave 2:Single)" +read omcmode + +case $omcmode in +0) echo "you select Master" + omc0=`hostname -s` + echo "hostname is "$omc0 + + echo "Input hostname of slave" + read omc1 + ip=`getipbyname $omc1` + if [ -z "$ip" ];then + echo "Can't resolve slave's ip address. You can input it now:" + read ip + + echo "Check ip address now.pleae wait for a while......" + rtn=`checkip $ip` + + if [ "$rtn" = "invalid" ];then + echo "Invalid IP!" + exit 1 + elif [ "$rtn" = "fail" ];then + echo 'Dest ip Unreachable! I(gnore)/E(xit)' + read act + case $act in + "I") echo "continue......" + ;; + *) exit 1 + ;; + esac + fi + echo $ip' '$omc1'.iwv '$omc1>>$hostlist + fi + echo "ip of slave is "$ip + mysql_id=1; + mysql_master=$omc1 + ;; +1) echo "you select slave" + omc1=`hostname -s` + echo "hostname is "$omc1 + echo "Input hostname of master" + read omc0 + ip=`getipbyname $omc0` + if [ -z $ip ];then + echo "Can't resolve slave's ip address. You can input it now:" + read ip + rtn=`checkip $ip` + echo $rtn + if [ "$rtn" = "fail" ];then + echo "Dest ip Unreachable! I(gnore)/E(xit)" + read act + case $act in + "I") echo "continue......" + ;; + *) exit 1 + ;; + esac + fi + echo $ip' '$omc0'.iwv '$omc0>>$hostlist + fi + echo "ip of slave is "$ip + mysql_id=2; + mysql_master=$omc0 + ;; +2) echo "you select single,nothing should be done" + exit 1 + ;; +*) echo "invalid mode" + exit 1 + ;; +esac + +echo "configurate server.conf......" + +echo "#!/bin/sed -f" > omcconf.sed +echo "/omc_slave/ c\\" >> omcconf.sed +echo "omc_slave = "$omc1>>omcconf.sed + +echo "/mysql_slave/ c\\" >> omcconf.sed +echo "mysql_slave = "$omc1>>omcconf.sed + +echo "/omc_master/ c\\" >> omcconf.sed +echo "omc_master = "$omc0>>omcconf.sed + +echo "/mysql_master/ c\\" >> omcconf.sed +echo "mysql_master = "$omc0>>omcconf.sed + +chmod 777 omcconf.sed +omcconf.sed server.conf>server.conf.tmp +rm -f omcconf.sed +mv server.conf.tmp server.conf + +echo "configurate /etc/my.cnf......" + +echo "#!/bin/sed -f" > myconf.sed +echo "/master-host/ c\\" >> myconf.sed +echo "master-host = "$mysql_master >>myconf.sed + +echo "/server-id/ c\\" >> myconf.sed +echo "server-id = "$mysql_id >>myconf.sed + +mv -f /etc/my.cnf /etc/my.cnf.bak + +chmod 777 myconf.sed +myconf.sed my.cnf > /etc/my.cnf +rm -f myconf.sed + +/etc/rc.d/init.d/mysqld stop +/etc/rc.d/init.d/mysqld start + diff --git a/src/faultMgr/c_program/beatSend/conf/server.conf b/src/faultMgr/c_program/beatSend/conf/server.conf new file mode 100644 index 0000000..4e450d0 --- /dev/null +++ b/src/faultMgr/c_program/beatSend/conf/server.conf @@ -0,0 +1,14 @@ +[host] +omc_master = omc-8 +mysql_master = omc-8 + +omc_slave = omc-7 +mysql_slave = omc-7 + +[master_task] +#processor option +iptrans -d +tftp -d + +[slave_task] +iptrans -d diff --git a/src/faultMgr/c_program/beatSend/make b/src/faultMgr/c_program/beatSend/make new file mode 100644 index 0000000..4bf3836 --- /dev/null +++ b/src/faultMgr/c_program/beatSend/make @@ -0,0 +1,18 @@ +#!/bin/bash +cd /usr/local/omc/src/faultMgr/c_program/sysStat +make clean +make + +cd /usr/local/omc/src/faultMgr/c_program/beatSend +make clean +make linuxES + +cd /usr/local/omc/src/faultMgr/c_program/beatProc +make clean +make linuxES + +cd /usr/local/omc/src/omcMain/c_program/omcMain +make clean +make linuxES + + diff --git a/src/faultMgr/c_program/beatSend/sys_stat.c b/src/faultMgr/c_program/beatSend/sys_stat.c new file mode 100644 index 0000000..645203a --- /dev/null +++ b/src/faultMgr/c_program/beatSend/sys_stat.c @@ -0,0 +1,288 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +typedef struct { + unsigned long user; + unsigned long nice; + unsigned long system; + unsigned long idle; + unsigned long total; //total +}Total_Cpu_Occupy_t; +static Total_Cpu_Occupy_t o_sys_cpu, n_sys_cpu; + +typedef struct { + unsigned int pid; + unsigned long utime; //user time + unsigned long stime; //kernel time + unsigned long cutime; //all user time + unsigned long cstime; //all dead time + unsigned long total; //total +}Proc_Cpu_Occupy_t; +static Proc_Cpu_Occupy_t o_proc_cpu, n_proc_cpu; + +typedef struct { + unsigned int total;// KB + unsigned int free; + //unsigned int proc_used;// KB + unsigned short used_percent;// x% * 100 +}Mem_Usage_t; +static Mem_Usage_t mem_info; + +static unsigned long get_cpu_total_occupy(Total_Cpu_Occupy_t *t){ + + FILE *fd; + char buff[1024]={0}; + + fd =fopen("/proc/stat", "r"); + if (NULL == fd){ + return 0; + } + + fgets(buff,sizeof(buff),fd); + char name[64]={0}; + sscanf(buff,"%s %ld %ld %ld %ld", name, &t->user,&t->nice,&t->system,&t->idle); + t->total = t->user + t->nice + t->system + t->idle; + //printf("Get sys cpu, user:%lu, sys:%lu, nice:%lu, idle:%lu, total:%lu\r\n",t->user,t->system,t->nice,t->idle,t->total); + fclose(fd); + + return (t->user + t->nice + t->system + t->idle); +} + +const char* get_items(const char*buffer ,unsigned int item){ + + const char *p =buffer; + + int len = strlen(buffer); + int count = 0; + + for (int i=0; ipid); + const char *q =get_items(line_buff,PROCESS_ITEM_INDEX); + sscanf(q,"%lu %lu %lu %lu",&t->utime,&t->stime,&t->cutime,&t->cstime); + t->total = t->utime + t->stime + t->cutime + t->cstime; + //printf("Get proc cpu, u:%lu, s:%lu, cu:%lu, cs:%lu, total:%lu\r\n",t->utime,t->stime,t->cutime,t->cstime,t->total); + fclose(fd); + + return (t->utime + t->stime + t->cutime + t->cstime); +} + + +#define MAX_VMRSS_LINE 64 +static unsigned int get_proc_mem(unsigned int pid){// KB + + char file_name[64]={0}; + FILE *fd; + char line_buff[512]={0}; + sprintf(file_name,"/proc/%d/status",pid); + + fd =fopen(file_name,"r"); + if(NULL == fd){ + return 0; + } + + char name[64]; + unsigned int vmrss = 0; + char *pLine = NULL; + for (int i=0; itotal); + //printf("total mem:%s %u\n",name,&mem->total); + count++; + } else if (strncmp(line_buff, "MemFree", 7) == 0) { + sscanf(line_buff,"%s %u",name,&mem->free); + //printf("free mem:%s %u\n",name,&mem->free); + count++; + } + if (count == 2) { + //printf("Get sys mem total:%u, free:%u\r\n", mem->total, mem->free); + mem->used_percent = (unsigned short)(100 * (100 - (mem->free*100)/ mem->total)); + //printf("mem used %d\n", mem->used_percent ); + break; + } + } + + fclose(fd); +} + +#define MAX_PARTITION_NUM 32 +#define MAX_PT_NAME_LEN 128 +#define MAX_PT_VALUE_LEN 32 +#define MAX_PT_TITLE_LEN 256 +typedef struct { + char mountpoint_path[MAX_PT_NAME_LEN]; + unsigned int total;// MB + unsigned int used;// MB +}Pt_Info_t; + +typedef struct { + unsigned char pt_count; + Pt_Info_t pt[MAX_PARTITION_NUM]; +}Partitions_t; +static Partitions_t pt_info; + +static int get_sysDiskUsage() +{ + FILE * fp; + char filesystem[MAX_PT_NAME_LEN],available[MAX_PT_VALUE_LEN],use[MAX_PT_VALUE_LEN],mounted[MAX_PT_NAME_LEN],buf[MAX_PT_TITLE_LEN]; + unsigned int blocks, used; + + fp=popen("df -m", "r"); + fgets(buf,MAX_PT_TITLE_LEN,fp);// skip + + pt_info.pt_count = 0; + while(6 == fscanf(fp,"%s %u %u %s %s %s",filesystem,&blocks,&used,available,use,mounted)) + { + pt_info.pt[pt_info.pt_count].total = blocks; + pt_info.pt[pt_info.pt_count].used = used; + // printf("disk total used: %d %d\n",pt_info.pt[pt_info.pt_count].total, pt_info.pt[pt_info.pt_count].used ); + strncpy(pt_info.pt[pt_info.pt_count].mountpoint_path, mounted, MAX_PT_NAME_LEN); + + pt_info.pt_count++; + if (pt_info.pt_count >= MAX_PARTITION_NUM) + { + break; + } + } + //printf("disk count=%d\n", pt_info.pt_count); + + pclose(fp); + + return 1; +} + +void init_sys_stat() +{ + get_cpu_total_occupy(&o_sys_cpu); + //get_cpu_proc_occupy(&o_proc_cpu); +} + +int get_sys_stat(unsigned char *pBuf, int bufLen) +{ + get_cpu_total_occupy(&n_sys_cpu); + //get_cpu_proc_occupy(&n_proc_cpu); + + get_memoccupy (&mem_info); + //mem_info.proc_used = get_proc_mem(n_proc_cpu.pid); + + get_sysDiskUsage(); + + // calc proc cpu percent + unsigned short sys_cpu_percent = 0, proc_cpu_percent = 0; + if (n_sys_cpu.total != o_sys_cpu.total) + { + //proc_cpu_percent = (unsigned short)((n_proc_cpu.total - o_proc_cpu.total)*10000/(n_sys_cpu.total - o_sys_cpu.total)); + sys_cpu_percent = (unsigned short)((n_sys_cpu.system + n_sys_cpu.user - o_sys_cpu.system - o_sys_cpu.user)*10000/(n_sys_cpu.total - o_sys_cpu.total)); + } + memcpy(&o_sys_cpu, &n_sys_cpu, sizeof(n_sys_cpu)); + //memcpy(&o_proc_cpu, &n_proc_cpu, sizeof(n_proc_cpu)); + + int statLen = 9 + (pt_info.pt_count * 8); + if (statLen > bufLen) + { + return 0; + } + + int i;/* + printf("sys/proc cpu:%d:%d\r\nmem total:%d, proc:%d, per:%d\r\npt num: %d\r\n", + sys_cpu_percent, proc_cpu_percent, mem_info.total, mem_info.proc_used, mem_info.used_percent, pt_info.pt_count); + for (i=0; i= TEN_SECOND_COUNT) + { + check_proc_status_timeout=0; + check_proc_status(); + } + + switch(dual_status) + { + case DUAL_STATE_SINGLE: + break; + case DUAL_STATE_MASTER: + if(config_info.sys_no == PLAT_1) + { + if(degrade_to_slave_timeout <= 0) + { + debug_log("Have received HB from EMS-0, degrade to slave"); + degrade_to_slave_timeout=0; + dual_status=DUAL_STATE_SLAVE; + upgrade_to_master_timeout=0; + report_status(); + } + } + + break; + case DUAL_STATE_SLAVE: + if(config_info.sys_no == PLAT_1) + { + if(upgrade_to_master_timeout++ >= ONE_MINUTE_COUNT) + { + debug_log("Can not receive HB from EMS-0 for 1 minute, upgrade to master"); + upgrade_to_master_timeout=0; + dual_status=DUAL_STATE_MASTER; + degrade_to_slave_timeout=DEGRADE_HB_COUNT; + report_status(); + } + } + + break; + } + if(dual_status == DUAL_STATE_MASTER) + return 1; + else + return 0; +} + +void receive_trap_message(BYTE oidlen,DWORD* oid,BYTE* pdata,WORD len,snmp_addr * addr) +{ + int i; + + for(i=0;i<11;i++) + { + if(oid[i] != EMS_HB_OID[i]) + return; + } + + if(addr->remote_ip == other_config_info.ip) + { + if(config_info.sys_no == PLAT_1) + { + if(dual_status == DUAL_STATE_SLAVE) + { + upgrade_to_master_timeout=0; + } + else if(dual_status == DUAL_STATE_MASTER) + { + degrade_to_slave_timeout--; + if(degrade_to_slave_timeout<0) + degrade_to_slave_timeout=0; + } + } + + + //printf("recv %08lX %08lX\n",addr->local_ip,addr->remote_ip); + } +} + + +void check_proc_status() +{ + unsigned char procstatus[64]; + unsigned char rb; + int procnum; + FILE *handle; + + memset(procstatus,0,64); + handle=fopen("./dual/procstatus","r"); + if(!handle) + { + debug_log("[WARNING]porcstatus file not exist, will try later"); + return; + } + procnum=0; + while(fread(&rb,1,1,handle) == 1) + { + procstatus[procnum]=rb-'0'; + if(procstatus[procnum] == 218) + break; + procnum++; + } + fclose(handle); + fillProcStatus(procnum,procstatus); +} + +void report_status() +{ + FILE *handle; + char statestr[32]; + + switch(dual_status) + { + case DUAL_STATE_SINGLE: + debug_log("Change to SINGLE"); + sprintf(statestr,"State=Single"); + break; + case DUAL_STATE_MASTER: + debug_log("Change to MASTER"); + sprintf(statestr,"State=Master"); + break; + case DUAL_STATE_SLAVE: + debug_log("Change to SLAVE"); + sprintf(statestr,"State=Slave"); + break; + default: + debug_log("[ERROR]Change to unknown state, change to MASTER"); + dual_status=DUAL_STATE_MASTER; + sprintf(statestr,"State=Master"); + break; + } + chOmcStatus(dual_status); + + + handle=fopen("./dual/dualstate","w"); + if(!handle) + { + debug_log("[ERROR]Can not open file dualstate, please check the disk space"); + exit(1); + } + fwrite(statestr,strlen(statestr),1,handle); + fclose(handle); +} + diff --git a/src/faultMgr/c_program/dualsrv/dualsrv.h b/src/faultMgr/c_program/dualsrv/dualsrv.h new file mode 100644 index 0000000..175a5fc --- /dev/null +++ b/src/faultMgr/c_program/dualsrv/dualsrv.h @@ -0,0 +1,128 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/debug/src/include/debug.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../faultMgr/c_program/beatProc/beatProc.h" +#include "../../../faultMgr/c_program/beatSend/beatSend.h" +#include "mysql.h" + +#define DUALSRV_DEBUG 1 +#define DUALSRV_DEBUG_ID 16 +#define DUALSRV_SOFTER_VERSION "EMS R9.1" +#define DUALSRV_MODULE_VERSION "R9.1" +#ifndef MAX_ASCOUT_BUF_LEN +#define MAX_ASCOUT_BUF_LEN 8192 +#endif +#ifndef MAX_ASCIN_BUF_LEN +#define MAX_ASCIN_BUF_LEN 8192 +#endif +#define ONE_SECOND_COUNT 100 +#define TEN_SECOND_COUNT 10*ONE_SECOND_COUNT +#define ONE_MINUTE_COUNT 60*ONE_SECOND_COUNT +#define DEGRADE_HB_COUNT 2 + + +#define OMCD_CONF_FILE "./conf/omcd.conf" +#define SERVER_CONF_FILE "./conf/server.conf" +#define SYNC_INFO_FILE "./conf/sync.conf" + + +#define RUN_MODE_SINGLE 0 +#define RUN_MODE_DUAL 1 +#define PLAT_0 0 +#define PLAT_1 1 + + +#define DUAL_STATE_SLAVE 3 +#define DUAL_STATE_SYNC 4 +#define DUAL_STATE_MASTER 5 +#define DUAL_STATE_SINGLE 7 + + +/* by simon at 23/9/26 */ +// struct timeval starttime,endtime; +// int nouse; +#define START gettimeofday(&starttime,NULL) +#define END(label) nouse=(gettimeofday(&endtime,NULL),printf("[%s]consume time=%f\n",label,((endtime.tv_sec-starttime.tv_sec)*1000000+endtime.tv_usec-starttime.tv_usec)/1000000.0)); + +typedef struct _config_info +{ + int sys_no; + int run_mode; //0-single, 1-dual + char host_name[32]; + unsigned long ip; +}_config_info; + +typedef struct _sync_hb +{ + unsigned long tol_master_log_file; //get in the master + unsigned long tol_master_log_pos; //get in the master + unsigned long cur_master_log_file; //get in the slave + unsigned long cur_master_log_pos; //get in the slave + unsigned long tol_relay_log_file; //get in the slave + unsigned long tol_relay_log_pos; //get in the slave + unsigned long cur_relay_log_file; //get in the slave + unsigned long cur_relay_log_pos; //get in the slave +}_sync_hb; + +/****** beatSend.c *************/ +extern void chOmcStatus(BYTE status); +extern void fillSyncInfo(BYTE * info); +extern void fillProcStatus(BYTE procnum,BYTE *procstatus); + +/****** dualsrv.c **************/ +void receive_trap_message(BYTE oidlen,DWORD* oid,BYTE* pdata,WORD len,snmp_addr * addr); + +/****** dualsrv_func.c *********/ +void read_server_conf(); +int read_conf_file(); +void debug_log(const char *fmt,...); +int getent(FILE * fp, char *key, char *str, int maxlen); +unsigned long getipbyname(char *hostname); +unsigned long getlocalip(); +int parse_confline(char *str, char (*row)[64], int maxrow); +void set_sync_hb(); +void check_proc_status(); +void report_status(); + +/****** dualsrv_debug.c ********/ +extern void debug_init_wxc2_ver(char *ver_info); +extern int debug_set_response(BYTE oidlen,DWORD *oid,BYTE *data_ptr,WORD data_len); +void send_ascout(char *sdBuf); +void send_error(char *sdBuf); +void send_vital_ascount(char *sdBuf); +int dualsrv_debug_init(); +void dualsrv_debug_timer(); diff --git a/src/faultMgr/c_program/dualsrv/dualsrv_debug.c b/src/faultMgr/c_program/dualsrv/dualsrv_debug.c new file mode 100644 index 0000000..e3daae6 --- /dev/null +++ b/src/faultMgr/c_program/dualsrv/dualsrv_debug.c @@ -0,0 +1,93 @@ +#include "dualsrv_pub.h" + +extern _config_info config_info; + +char debug_asciiIn[MAX_ASCIN_BUF_LEN]; +char debug_asciiOut[MAX_ASCOUT_BUF_LEN]; +char debug_message[MAX_ASCOUT_BUF_LEN]; +extern int dualsrv_status; +static DWORD status_id[20] = {1,3,6,1,4,1,1373,1,1,2,3,1,2,DUALSRV_DEBUG_ID+2,1}; +static DWORD version_id[20] = {1,3,6,1,4,1,1373,1,1,2,3,1,2,DUALSRV_DEBUG_ID+2,2}; +static DWORD ascii_in_id[20] = {1,3,6,1,4,1,1373,1,1,2,3,1,2,DUALSRV_DEBUG_ID+2,3}; +static DWORD ascii_out_id[20] = {1,3,6,1,4,1,1373,1,1,2,3,1,2,DUALSRV_DEBUG_ID+2,4}; + +const static BYTE PAGE_POINT = 14; +const static BYTE LINE_POINT = 15; +const static BYTE BASE_ID_LEN = 15; + + +static BYTE debug_status=1; +int ems_debug_flag=0; + +int dualsrv_debug_init() +{ + //int page; + //char* ptr; + + debug_set_response(15, status_id, &debug_status, 1);//smpp status + debug_set_response(15, version_id, (BYTE*)DUALSRV_MODULE_VERSION, strlen(DUALSRV_MODULE_VERSION)); + debug_set_response(15, ascii_in_id, (BYTE*)debug_asciiIn, MAX_ASCIN_BUF_LEN); + debug_set_response(15, ascii_out_id, (BYTE*)debug_asciiOut, MAX_ASCOUT_BUF_LEN); + + debug_init_wxc2_ver(DUALSRV_SOFTER_VERSION); + + return 1; +} + +void dualsrv_debug_timer() +{ + if (strlen((char*)debug_asciiIn) > 0) + { + if (strcmp((char*)debug_asciiIn+1, "help") == 0) + { + send_ascout("EMS Debug Monitor Help:\n\r\n\r"); + send_ascout("log none Turn off all log items\n\r"); + send_ascout("log all Turn on all log items\n\r"); + send_ascout("list ems status\n\r"); + } + else if(strcmp((char*)debug_asciiIn+1, "list ems status") == 0) + { + send_ascout(debug_message); + } + else if(strcmp((char*)debug_asciiIn+1, "log all") == 0) + { + ems_debug_flag=1; + send_ascout("Command OK\n\r"); + } + else if(strcmp((char*)debug_asciiIn+1, "log none") == 0) + { + ems_debug_flag=0; + send_ascout("Command OK\n\r"); + } + else + { + send_ascout("Invalid Command\n\r"); + } + debug_asciiIn[0]='\0'; + } +} + +void send_ascout(char *sdBuf) +{ + if (strlen(sdBuf)+strlen(debug_asciiOut) < MAX_ASCOUT_BUF_LEN) + { + strcat(debug_asciiOut, sdBuf); + } +} + +void send_error(char *sdBuf) +{ + + send_ascout("\x1b[31m"); + send_ascout(sdBuf); + send_ascout("\x1b[0m"); +} + +void send_vital_ascount(char *sdBuf) +{ + send_ascout("\x1b[33m"); + send_ascout(sdBuf); + send_ascout("\x1b[0m"); +} + + diff --git a/src/faultMgr/c_program/dualsrv/dualsrv_func.c b/src/faultMgr/c_program/dualsrv/dualsrv_func.c new file mode 100644 index 0000000..4441e11 --- /dev/null +++ b/src/faultMgr/c_program/dualsrv/dualsrv_func.c @@ -0,0 +1,274 @@ +#include "dualsrv_pub.h" + +extern _sync_hb sync_hb; +extern int ems_debug_flag; +extern char debug_message[MAX_ASCOUT_BUF_LEN]; +extern MYSQL *pDualConn; +extern int dual_status; +_config_info config_info; +_config_info other_config_info; + +void debug_log(const char *fmt,...) +{ +#if DUALSRV_DEBUG == 1 + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"../log/dualsrv_%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +#endif +} + +unsigned long getipbyname(char *hostname) +{ + struct hostent *hptr; + struct in_addr *inaddr; + + if (strlen(hostname) <= 0) + return INADDR_NONE; + if ((hptr = gethostbyname(hostname)) == NULL) + return INADDR_NONE; + + inaddr = (struct in_addr *) hptr->h_addr_list[0]; + + return inaddr->s_addr; +} + +int getent(FILE * fp, char *key, char *str, int maxlen) +{ + char *pval, *pkey, *pchr; + int i = 1, len; + str[0] = '\0'; + fseek(fp, 0, SEEK_SET); + pval = NULL; + while (fgets(str, maxlen, fp) != NULL) { + if ((pchr = strchr(str, '#')) != NULL) + pchr[0] = '\0'; + if ((pkey = strstr(str, key)) != NULL) { + if ((pval = strchr(str, '=')) == NULL || pkey >= pval) + continue; + else + break; + } + } + if (pval == NULL) + return -1; + pval++; + len = strlen(pval); + + //delect last space + while (isspace(pval[len - i]) && i <= len) { + pval[len - i] = '\0'; + i++; + } + + i = 0; + while (isspace(pval[i++]) && i < len); + sprintf(str, "%s", pval + i - 1); + return 1; +} + +int parse_confline(char *str, char (*row)[64], int maxrow) +{ + char *pstr = str; + int len, index = 0, i; + BOOL black = 0; + len = strlen(str); + for (i = 0; i < len && index < maxrow; i++) { + if (isspace(str[i])) { + if (black == 0) + pstr = str + i + 1; + else { + str[i] = '\0'; + if (strlen(pstr) > 64) + pstr[63] = 0; + sprintf(row[index++], "%s", pstr); + pstr = str + i + 1; + } + black = 0; + } else + black = 1; + } + if (black == 1) { + if (strlen(pstr) > 64) + pstr[63] = 0; + sprintf(row[index++], "%s", pstr); + } + return index; +} + +int read_conf_file() +{ + char fileName[512]; + unsigned char buf[4096]; + unsigned char param[32][512]; + char paramName[128]; + char paramValue[384]; + char* temp; + FILE* fp; + int fi; + int i; + int paramCount; + int byteCount; + + paramCount=0; + byteCount=0; + memset(buf,0,4096); + memset(param,0,32*512); + sprintf(fileName,"%s",OMCD_CONF_FILE); + fp=fopen(fileName,"r"); + if(fp) + { + debug_log("read the %s",OMCD_CONF_FILE); + + fi=fileno(fp); + if(read(fi,buf,4096)) + { + for(i=0;i<4096;i++) + { + if(buf[i] == 0x0A) + { + if(byteCount<512 && param[paramCount][0] != 0x00 && param[paramCount][0] != 0x23) + paramCount++; + else + memset(param[paramCount],0,512); + byteCount=0; + } + else + { + param[paramCount][byteCount]=buf[i]; + byteCount++; + } + } + + for(i=0;irelated_system_type == 320) +{ + if(pre_state != psys->state) + { + if(psys->state == STATE_IDLE) + logRaid("omc system become STATE_IDLE"); + else if(psys->state == STATE_GET_SUMMARY) + logRaid("omc system become STATE_GET_SUMMARY"); + else if(psys->state == STATE_RESPONSE_SUMMARY) + logRaid("omc system become STATE_RESPONSE_SUMMARY"); + else if(psys->state == STATE_GET_DETAIL) + logRaid("omc system become STATE_GET_DETAIL"); + else if(psys->state == STATE_RESPONSE_DETAIL) + logRaid("omc system become STATE_RESPONSE_DETAIL"); + else if(psys->state == STATE_FINISH) + logRaid("omc system become STATE_FINISH"); + } + pre_state=psys->state; +} +#endif + + //printf("%d,state=%d\n",pserver->related_system_type,psys->state); + + + switch(psys->state) + { + case STATE_IDLE: + if(cur_time - psys->last_update_time > GET_STATUS_INTERVAL) + { + psys->last_update_time=cur_time; + psys->state=STATE_GET_SUMMARY; + } + break; + case STATE_GET_SUMMARY: + make_pdu(PDU_SUMMARG,pserver,psys,&pdu); + make_addr(psys,&addr); + psys->request_id=snmp_send(&pdu,&addr); + psys->state=STATE_RESPONSE_SUMMARY; + psys->timeout=cur_time; + break; + case STATE_RESPONSE_SUMMARY: + if(cur_time - psys->timeout > RESPONSE_TIMEOUT) + { + logRaid("Response timeout when get summary,%s-%d",pserver->server_name,psys->sys_id); + psys->state=STATE_FINISH; + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_RESPONSE_TIMEOUT) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_RESPONSE_TIMEOUT; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,9),ALARM_RESPONSE_TIMEOUT); + logRaid("Response timeout when get summary,add alarm,%s-%d",pserver->server_name,psys->sys_id); + } + } + break; + case STATE_GET_DETAIL: + make_pdu(PDU_DETAIL,pserver,psys,&pdu); + make_addr(psys,&addr); + psys->request_id=snmp_send(&pdu,&addr); + psys->state=STATE_RESPONSE_DETAIL; + psys->timeout=cur_time; + break; + case STATE_RESPONSE_DETAIL: + if(cur_time - psys->timeout > RESPONSE_TIMEOUT) + { + psys->state=STATE_FINISH; + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_RESPONSE_TIMEOUT) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_RESPONSE_TIMEOUT; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_RESPONSE_TIMEOUT); + logRaid("Response timeout when get detail"); + } + } + break; + case STATE_FINISH: + psys->cur_disk_num=0; + psys->state=STATE_IDLE; + break; + } + +} + +/* +return +1-open, 0-close +*/ +int check_raid_function_flag() +{ + MYSQL *dbConn; + MYSQL_RES *res; + MYSQL_ROW row; + + char sqlstr[512]; + + dbConn=mysql_conn("localhost","OMC_PUB"); + if(dbConn == NULL) + { + logRaid("Connect to OMC_PUB fail"); + return 0; + } + sprintf(sqlstr,"select existFlag from OMC_PUB.elementExistConf where elementName='RAID' "); + res=mysql_getres(dbConn,sqlstr); + if(res == NULL) + { + logRaid("mysql_getres fail,%s",sqlstr); + return 0; + } + if((row = mysql_fetch_row(res)) == NULL) + { + mysql_free_result(res); + logRaid("mysql_fetch_row fail,%s",sqlstr); + return 0; + } + + mysql_free_result(res); + mysql_close(dbConn); + + if(atoi(row[0]) == 1) + return 1; + + return 0; +} + +int make_addr(raid_system *psys,snmp_addr *addr) +{ + addr->remote_ip=psys->remote_ip; + addr->local_port=RAID_LOCAL_PORT; + addr->remote_port=raidParam.server_snmp_port; + return 1; +} + +/* +type +0-get summary,include raid card name and disk count +1-get detail,include the detail information of the disk +*/ +int make_pdu(int type,raid_server *pserver,raid_system *psys,snmp_pdu *pdu) +{ + int var_index=0; + unsigned long disk_num_oid; + + //Intel + if(pserver->server_type == SERVER_TYPE_INTEL) + disk_num_oid=psys->cur_disk_num; + else + disk_num_oid=psys->cur_disk_num+1; + + pdu->pdu_type=PDU_GET; + sprintf(pdu->community,"public"); + pdu->request_id=0; + if(type == PDU_SUMMARG) + { + pdu->var_num=2; + if(pserver->server_type == SERVER_TYPE_INTEL) + { + //card name + memcpy(pdu->var[var_index].oid,I_CARDNAME_OID,I_CARDNAME_OIDLEN * 4); + pdu->var[var_index].oidlen=I_CARDNAME_OIDLEN; + var_index++; + //disk num + memcpy(pdu->var[var_index].oid,I_DISKNUM_OID,I_DISKNUM_OIDLEN * 4); + pdu->var[var_index].oidlen=I_DISKNUM_OIDLEN; + var_index++; + } + else + { + //card name + memcpy(pdu->var[var_index].oid,D_CARDNAME_OID,D_CARDNAME_OIDLEN * 4); + pdu->var[var_index].oidlen=D_CARDNAME_OIDLEN; + var_index++; + //disk num + memcpy(pdu->var[var_index].oid,D_DISKNUM_OID,D_DISKNUM_OIDLEN * 4); + pdu->var[var_index].oidlen=D_DISKNUM_OIDLEN; + var_index++; + } + } + else + { + if(pserver->server_type == SERVER_TYPE_INTEL) + { + pdu->var_num=7; + //disk slot + memcpy(pdu->var[var_index].oid,I_DISKSLOT_POID,I_DISKSLOT_POIDLEN * 4); + pdu->var[var_index].oid[I_DISKSLOT_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=I_DISKSLOT_POIDLEN + 1; + var_index++; + //disk state + memcpy(pdu->var[var_index].oid,I_DISKSTATE_POID,I_DISKSTATE_POIDLEN * 4); + pdu->var[var_index].oid[I_DISKSTATE_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=I_DISKSTATE_POIDLEN + 1; + var_index++; + //operation process + memcpy(pdu->var[var_index].oid,I_OPTPROC_POID,I_OPTPROC_POIDLEN * 4); + pdu->var[var_index].oid[I_OPTPROC_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=I_OPTPROC_POIDLEN + 1; + var_index++; + //vendor id + memcpy(pdu->var[var_index].oid,I_VENID_POID,I_VENID_POIDLEN * 4); + pdu->var[var_index].oid[I_VENID_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=I_VENID_POIDLEN + 1; + var_index++; + //product id + memcpy(pdu->var[var_index].oid,I_PROID_POID,I_PROID_POIDLEN * 4); + pdu->var[var_index].oid[I_PROID_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=I_PROID_POIDLEN + 1; + var_index++; + //disk size + memcpy(pdu->var[var_index].oid,I_DISKSIZE_POID,I_DISKSIZE_POIDLEN * 4); + pdu->var[var_index].oid[I_DISKSIZE_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=I_DISKSIZE_POIDLEN + 1; + var_index++; + //disk error count + memcpy(pdu->var[var_index].oid,I_DISKERRORCOUNT_POID,I_DISKERRORCOUNT_POIDLEN * 4); + pdu->var[var_index].oid[I_DISKERRORCOUNT_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=I_DISKERRORCOUNT_POIDLEN + 1; + var_index++; + } + else + { + pdu->var_num=5; + //disk slot + memcpy(pdu->var[var_index].oid,D_DISKSLOT_POID,D_DISKSLOT_POIDLEN * 4); + pdu->var[var_index].oid[D_DISKSLOT_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=D_DISKSLOT_POIDLEN + 1; + var_index++; + //disk state + memcpy(pdu->var[var_index].oid,D_DISKSTATE_POID,D_DISKSTATE_POIDLEN * 4); + pdu->var[var_index].oid[D_DISKSTATE_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=D_DISKSTATE_POIDLEN + 1; + var_index++; + //vendor id + memcpy(pdu->var[var_index].oid,D_VENID_POID,D_VENID_POIDLEN * 4); + pdu->var[var_index].oid[D_VENID_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=D_VENID_POIDLEN + 1; + var_index++; + //product id + memcpy(pdu->var[var_index].oid,D_PROID_POID,D_PROID_POIDLEN * 4); + pdu->var[var_index].oid[D_PROID_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=D_PROID_POIDLEN + 1; + var_index++; + //disk size + memcpy(pdu->var[var_index].oid,D_DISKSIZE_POID,D_DISKSIZE_POIDLEN * 4); + pdu->var[var_index].oid[D_DISKSIZE_POIDLEN]=disk_num_oid; + pdu->var[var_index].oidlen=D_DISKSIZE_POIDLEN + 1; + var_index++; + } + } + + return 1; +} + +int recv_raid_response() +{ + snmp_pdu pdu; + snmp_addr addr; + int loop=20; + + addr.local_port=RAID_LOCAL_PORT; + while(loop-->0) + { + if(snmp_receive(&pdu,&addr) == 0) + continue; + + if(pdu.pdu_type != PDU_RSP) + continue; + + pdu_analyze(&pdu); + } + + return 1; +} + +int pdu_analyze(snmp_pdu *pdu) +{ + raid_server *pserver; + raid_system *psys; + int i,j; + + for(i=0;isystem_count;j++) + { + psys=&pserver->system[j]; + if(psys->state == STATE_RESPONSE_SUMMARY || psys->state == STATE_RESPONSE_DETAIL) + { + if(pdu->request_id == psys->request_id) + { + if(!store_status(pdu,pserver,psys)) + return 0; + if(psys->state == STATE_RESPONSE_SUMMARY) + { + psys->state=STATE_GET_DETAIL; + psys->cur_disk_num=0; + } + else + { + psys->cur_disk_num++; + if(psys->cur_disk_num >= psys->total_disk_num) + { + psys->state=STATE_FINISH; + psys->cur_disk_num=0; + } + else + { + psys->state=STATE_GET_DETAIL; + } + } + + break; + } + } + } + } + return 1; +} + +int store_status(snmp_pdu *pdu,raid_server *pserver,raid_system *psys) +{ + int i; + char sValue[512]; + int iValue; + + for(i=0;ivar_num;i++) + { + //check nosuchinstance + if(pdu->var[i].vartype == 0x81) + return 0; + + switch(pdu->var[i].oid[6]) + { + case 3582: + if(pdu->var[i].oid[7]==4 && pdu->var[i].oid[8]==1 && pdu->var[i].oid[9]==4) + { + switch(pdu->var[i].oid[10]) + { + case 1: + //Intel card name + if(pdu->var[i].oid[11]==3 && pdu->var[i].oid[12]==1 && pdu->var[i].oid[13]==12 && pdu->var[i].oid[14]==0) + { + decode_string(pdu->var[i].msglen,pdu->var[i].msg,sValue); + record_status(pserver->related_system_type,psys->sys_id,0,FIELD_CARDNAME,sValue); + } + else + { + logRaid("Receive unknown snmp package(4)"); + } + break; + case 2: + if(pdu->var[i].oid[11] == 1) + { + switch(pdu->var[i].oid[12]) + { + case 1: + //Intel disk num + if(pdu->var[i].oid[13]==0) + { + decode_int(pdu->var[i].msglen,pdu->var[i].msg,&iValue); + psys->total_disk_num=iValue; + if(psys->total_disk_num >= MAX_DISK_COUNT) + { + psys->total_disk_num=MAX_DISK_COUNT; + logRaid("There is too much disk in %s-%d",pserver->server_name,psys->sys_id); + } + sprintf(sValue,"%d",psys->total_disk_num); + record_status(pserver->related_system_type,psys->sys_id,0,FIELD_DISKNUM,sValue); + } + else + { + logRaid("intel receive unknown snmp package(6)"); + } + break; + case 2: + if(pdu->var[i].oid[13]==1) + { + switch(pdu->var[i].oid[14]) + { + //Intel disk slot + case 2: + decode_int(pdu->var[i].msglen,pdu->var[i].msg,&iValue); + sprintf(sValue,"%d",iValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[15],FIELD_DISKSLOT,sValue); + break; + //Intel disk error count + case 7: + decode_int(pdu->var[i].msglen,pdu->var[i].msg,&iValue); + sprintf(sValue,"%d",iValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[15],FIELD_DISKERRCOUNT,sValue); + break; + //Intel disk state + case 10: + decode_int(pdu->var[i].msglen,pdu->var[i].msg,&iValue); + sprintf(sValue,"%d",iValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[15],FIELD_DISKSTATE,sValue); + + switch(iValue) + { + case INTEL_STATE_ONLINE_VALUE: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_NONE) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_NONE; + operate_alarm(ALARM_CLEAR,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_NONE); + logRaid("%s-%d disk-%d restore to normal, clear the alarm",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + case INTEL_STATE_OFFLINE_VALUE: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_DISK_OFFLINE) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_DISK_OFFLINE; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_DISK_OFFLINE); + logRaid("%s-%d disk-%d is offline",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + case INTEL_STATE_FAILED_VALUE: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_DISK_FAILED) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_DISK_FAILED; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_DISK_FAILED); + logRaid("%s-%d disk-%d is failed",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + case INTEL_STATE_REBUILD_VALUE: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_DISK_REBUILD) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_DISK_REBUILD; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_DISK_REBUILD); + logRaid("%s-%d disk-%d rebuild",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + default: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_UNKNOWN) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_UNKNOWN; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_UNKNOWN); + logRaid("%s-%d disk-%d unknown error",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + } + break; + //Intel disk size + case 15: + decode_int(pdu->var[i].msglen,pdu->var[i].msg,&iValue); + sprintf(sValue,"%d",iValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[15],FIELD_DISKSIZE,sValue); + break; + //Intel operation progress + case 21: + decode_string(pdu->var[i].msglen,pdu->var[i].msg,sValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[15],FIELD_OPTPROG,sValue); + break; + //Intel vendor id + case 24: + decode_string(pdu->var[i].msglen,pdu->var[i].msg,sValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[15],FIELD_VENDORID,sValue); + break; + //Intel product id + case 25: + decode_string(pdu->var[i].msglen,pdu->var[i].msg,sValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[15],FIELD_PRODUCTID,sValue); + break; + default: + logRaid("Receive unknown snmp package(9)"); + break; + } + } + else + { + logRaid("Receive unknown snmp package(8)"); + } + break; + default: + logRaid("Receive unknown snmp package(7)"); + break; + } + + } + else + { + logRaid("Receive unknown snmp package(5)"); + } + break; + default: + logRaid("Receive unknown snmp package(3)"); + break; + } + } + else + { + logRaid("Receive unknown snmp package(2)"); + } + break; + case 674: + if(pdu->var[i].oid[7]==10893 &&pdu->var[i].oid[8]==1 && pdu->var[i].oid[9]==20 && pdu->var[i].oid[10]==130) + { + switch(pdu->var[i].oid[11]) + { + case 1: + //Dell card name + if(pdu->var[i].oid[12]==1 && pdu->var[i].oid[13]==2 && pdu->var[i].oid[14]==0) + { + decode_string(pdu->var[i].msglen,pdu->var[i].msg,sValue); + record_status(pserver->related_system_type,psys->sys_id,0,FIELD_CARDNAME,sValue); + } + //Dell disk num + else if(pdu->var[i].oid[12]==1 && pdu->var[i].oid[13]==11 && pdu->var[i].oid[14]==0) + { + decode_int(pdu->var[i].msglen,pdu->var[i].msg,&iValue); + sprintf(sValue,"%d",iValue-1); + psys->total_disk_num=iValue-1; + if(psys->total_disk_num >= MAX_DISK_COUNT) + { + psys->total_disk_num=MAX_DISK_COUNT; + logRaid("There is too much disk in %s-%d",pserver->server_name,psys->sys_id); + } + record_status(pserver->related_system_type,psys->sys_id,0,FIELD_DISKNUM,sValue); + } + else + { + logRaid("Receive unknown snmp package(12)"); + } + break; + case 4: + if(pdu->var[i].oid[12] == 1) + { + switch(pdu->var[i].oid[13]) + { + //Dell disk slot + case 2: + decode_string(pdu->var[i].msglen,pdu->var[i].msg,sValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[14],FIELD_DISKSLOT,sValue); + break; + //Dell vendor id + case 3: + decode_string(pdu->var[i].msglen,pdu->var[i].msg,sValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[14],FIELD_VENDORID,sValue); + break; + //Dell disk state + case 4: + decode_int(pdu->var[i].msglen,pdu->var[i].msg,&iValue); + sprintf(sValue,"%d",iValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[14],FIELD_DISKSTATE,sValue); + + switch(iValue) + { + case DELL_STATE_ONLINE_VALUE: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_NONE) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_NONE; + operate_alarm(ALARM_CLEAR,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_NONE); + logRaid("%s-%d disk-%d restore to normal, clear the alarm",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + case DELL_STATE_OFFLINE_VALUE: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_DISK_OFFLINE) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_DISK_OFFLINE; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_DISK_OFFLINE); + logRaid("%s-%d disk-%d is offline",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + case DELL_STATE_FAILED_VALUE: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_DISK_FAILED) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_DISK_FAILED; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_DISK_FAILED); + logRaid("%s-%d disk-%d is failed",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + case DELL_STATE_REBUILD_VALUE: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_DISK_REBUILD) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_DISK_REBUILD; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_DISK_REBUILD); + logRaid("%s-%d disk-%d rebuild",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + default: + if(psys->last_alarm_value[psys->cur_disk_num] != ALARM_UNKNOWN) + { + psys->last_alarm_value[psys->cur_disk_num]=ALARM_UNKNOWN; + operate_alarm(ALARM_ADD,analyze_alarm(analyze_alarm_id(pserver),psys->sys_id,psys->cur_disk_num),ALARM_UNKNOWN); + logRaid("%s-%d disk-%d unknown error",pserver->server_name,psys->sys_id,psys->cur_disk_num); + } + break; + } + + break; + //Dell product id + case 7: + decode_string(pdu->var[i].msglen,pdu->var[i].msg,sValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[14],FIELD_PRODUCTID,sValue); + break; + //Dell disk size + case 11: + decode_int(pdu->var[i].msglen,pdu->var[i].msg,&iValue); + sprintf(sValue,"%d",iValue); + record_status(pserver->related_system_type,psys->sys_id,pdu->var[i].oid[14],FIELD_DISKSIZE,sValue); + break; + default: + logRaid("Receive unknown snmp package(14)"); + break; + } + } + else + { + logRaid("Receive unknown snmp package(13)"); + } + break; + default: + logRaid("Receive unknown snmp package(11)"); + break; + } + } + else + { + logRaid("Receive unknown snmp package(10)"); + } + break; + default: + logRaid("Receive unknown snmp package(1)"); + break; + } + } + return 1; +} + +int record_status(int sysTypeNo,int sysNo,int instance,char *fieldName,char *fieldValue) +{ + MYSQL *dbConn; + + char sqlstr[512]; + + dbConn=mysql_conn("localhost","RAID_DB"); + if(dbConn == NULL) + { + logRaid("Connect to RAID_DB fail"); + return 0; + } + sprintf(sqlstr,"replace into RAID_DB.raid_status(sysTypeNo,sysNo,instance,fieldName,fieldValue,updateTime)values(%d,%d,%d,'%s','%s',CURRENT_TIMESTAMP)", + sysTypeNo,sysNo,instance,fieldName,fieldValue); + if(mysql_getnores(dbConn,sqlstr) != 0) + { + logRaid("Record status fail,%s",sqlstr); + mysql_close(dbConn); + return 0; + } + mysql_close(dbConn); + return 1; +} + +int operate_record(char *db,char *tb,char *sqlstr) +{ + MYSQL *dbConn; + dbConn=mysql_conn("localhost",db); + if(dbConn == NULL) + { + logRaid("Connect to %s fail",db); + return 0; + } + if(mysql_getnores(dbConn,sqlstr) != 0) + { + logRaid("Excute sql fail,%s",sqlstr); + mysql_close(dbConn); + return 0; + } + mysql_close(dbConn); + return 1; +} + +int read_conffile() +{ + FILE *handle; + char line[512]; + char *pchr; + int i; + + int g_f,mcms_f,mcss_f; + + //initial database + operate_record("RAID_DB","raid_status","delete from RAID_DB.raid_status"); + sprintf(line,"update OMC_PUB.sysAlarmLog set clearTime=CURRENT_TIMESTAMP,clearMode=1,clearBy='System' where sysTypeNo=%d and sysNo=%d and clearMode=0", + RAID_SYSTYPENO,raidSysNo); + operate_record("OMC_PUB","sysAlarmLog",line); + + handle=fopen(CONF_FILE,"r"); + if(handle == NULL) + { + printf("Can not open %s\n",CONF_FILE); + logRaid("Can not open %s",CONF_FILE); + exit(1); + } + + logRaid("Read conf file %s",CONF_FILE); + + memset(&raidParam,0,sizeof(raidParam)); + g_f=mcms_f=mcss_f=0; + while(getline_local(handle,line,512)) + { + if(line[0] == '#' || strlen(line) < 4) + continue; + if(strcasecmp(line,"[Global]") == 0) + { + g_f=1; + mcms_f=0; + mcss_f=0; + continue; + } + else if(strcasecmp(line,"[MCSS Server]") == 0) + { + g_f=0; + mcms_f=0; + mcss_f=1; + continue; + } + else if(strcasecmp(line,"[MCMS Server]") == 0) + { + g_f=0; + mcms_f=1; + mcss_f=0; + continue; + } + + if(g_f) + { + if((pchr=strstr(line,"EnableFlag="))) + { + if(strcasecmp(pchr+strlen("EnableFlag="),"On") == 0) + raidParam.enable_flag=1; + else + raidParam.enable_flag=0; + } + if((pchr=strstr(line,"ServerSNMPPort="))) + { + raidParam.server_snmp_port=atoi(pchr+strlen("ServerSNMPPort=")); + } + if((pchr=strstr(line,"SystemType="))) + { + if(strcasecmp(pchr+strlen("SystemType="),"MCSS") == 0) + raidParam.system_type=0; + else + raidParam.system_type=1; + } + } + + if( (mcss_f && raidParam.system_type == 0) || (mcms_f && raidParam.system_type == 1) ) + { + pchr=strtok(line,","); + if(strcasecmp(pchr,"EMS") == 0) + { + sprintf(raidParam.server[raidParam.server_count].server_name,"%s",pchr); + raidParam.server[raidParam.server_count].related_system_type=0; + } + else if(strcasecmp(pchr,"MSS") == 0) + { + sprintf(raidParam.server[raidParam.server_count].server_name,"%s",pchr); + raidParam.server[raidParam.server_count].related_system_type=320; + } + else if(strcasecmp(pchr,"VMS") == 0) + { + sprintf(raidParam.server[raidParam.server_count].server_name,"%s",pchr); + raidParam.server[raidParam.server_count].related_system_type=390; + } + else if(strcasecmp(pchr,"RCM") == 0) + { + sprintf(raidParam.server[raidParam.server_count].server_name,"%s",pchr); + raidParam.server[raidParam.server_count].related_system_type=395; + } + else if(strcasecmp(pchr,"MCMS") == 0) + { + sprintf(raidParam.server[raidParam.server_count].server_name,"%s",pchr); + raidParam.server[raidParam.server_count].related_system_type=0; + } + pchr=strtok(NULL,","); + if(strcasecmp(pchr,"Intel") == 0) + raidParam.server[raidParam.server_count].server_type=SERVER_TYPE_INTEL; + else + raidParam.server[raidParam.server_count].server_type=SERVER_TYPE_DELL; + pchr=strtok(NULL,","); + if(strcasecmp(pchr,"On") == 0) + raidParam.server[raidParam.server_count].enable_flag=1; + else + raidParam.server[raidParam.server_count].enable_flag=0; + raidParam.server_count++; + } + } + fclose(handle); + + logRaid("enable_flag=%d",raidParam.enable_flag); + logRaid("server_snmp_port=%d",raidParam.server_snmp_port); + logRaid("system_type=%d",raidParam.system_type); + logRaid("server_count=%d",raidParam.server_count); + for(i=0;irelated_system_type); + res=mysql_getres(dbConn,sqlstr); + if(res == NULL) + { + logRaid("mysql_getres fail,%s",sqlstr); + continue; + } + while((row = mysql_fetch_row(res)) != NULL) + { + tmp_sysno=atoi(row[0]); + tmp_ip=inet_addr(row[1]); + for(j=0;jsystem_count;j++) + { + psys=&pserver->system[j]; + if(psys->sys_id == tmp_sysno) + { + if(psys->remote_ip != tmp_ip) + { + psys->remote_ip=tmp_ip; + logRaid("Connect to %s-%d for new ip %s",pserver->server_name,psys->sys_id,row[1]); + } + break; + } + } + if(j == pserver->system_count) + { + psys=&pserver->system[pserver->system_count]; + psys->sys_id=tmp_sysno; + psys->remote_ip=tmp_ip; + psys->state=STATE_IDLE; + psys->last_update_time=time(NULL); + pserver->system_count++; + logRaid("Connect to %s-%d %s",pserver->server_name,psys->sys_id,row[1]); + } + } + mysql_free_result(res); + } + mysql_close(dbConn); + return 1; +} + +/* +return +alarm compCode +*/ +int analyze_alarm(int alarm_id,int sysNo,int disk_index) +{ + return alarm_id*100 + sysNo*10 + disk_index; +} + +/* +return +alarm id, for define the alarm compCode for MCMS,EMS,MSS,VMS +*/ +int analyze_alarm_id(raid_server *pserver) +{ + //MCSS + if(raidParam.system_type == 0) + { + //EMS raid alarm + if(pserver->related_system_type == 0) + return 2; + //MSS raid alarm + else if(pserver->related_system_type == 320) + return 3; + //VMS raid system + else if(pserver->related_system_type == 390) + return 4; + //RCM raid system + else if(pserver->related_system_type == 395) + return 5; + } + //MCMS + else + { + return 1; + } + return 1; +} + +/* +opt +0-clear +1-add +*/ +int operate_alarm(int opt,int compCode,int alarmCode) +{ + char sqlstr[512]; + int tmpComCode; + + if(opt == ALARM_CLEAR) + { + if(alarmCode > 0) + sprintf(sqlstr,"update OMC_PUB.sysAlarmLog set clearTime=CURRENT_TIMESTAMP,clearMode=1,clearBy='System' where sysTypeNo=%d and sysNo=%d and compCode=%d and alarmCode=%d and clearMode=0", + RAID_SYSTYPENO,raidSysNo,compCode,alarmCode); + else + sprintf(sqlstr,"update OMC_PUB.sysAlarmLog set clearTime=CURRENT_TIMESTAMP,clearMode=1,clearBy='System' where sysTypeNo=%d and sysNo=%d and compCode=%d and clearMode=0", + RAID_SYSTYPENO,raidSysNo,compCode); + //printf("%s\n",sqlstr); + operate_record("OMC_PUB","sysAlarmLog",sqlstr); + + //clear the timeout alarm,it not belong the disk alarm + if(alarmCode == 0) + { + tmpComCode=compCode/10*10+9; + sprintf(sqlstr,"update OMC_PUB.sysAlarmLog set clearTime=CURRENT_TIMESTAMP,clearMode=1,clearBy='System' where sysTypeNo=%d and sysNo=%d and compCode=%d and clearMode=0", + RAID_SYSTYPENO,raidSysNo,tmpComCode); + operate_record("OMC_PUB","sysAlarmLog",sqlstr); + } + } + else + { + sprintf(sqlstr,"update OMC_PUB.sysAlarmLog set clearMode=1,clearBy='System',clearTime=CURRENT_TIMESTAMP where sysTypeNo=%d and sysNo=%d and compCode=%d and alarmCode=%d and clearMode=0", + RAID_SYSTYPENO,raidSysNo,compCode,alarmCode); + operate_record("OMC_PUB","sysAlarmLog",sqlstr); + + sprintf(sqlstr,"insert into OMC_PUB.sysAlarmLog(sysTypeNo,sysNo,subSysNo,compCode,alarmCode,alarmTime,clearTime,clearMode,clearInfo,clearBy)values(%d,%d,0,%d,%d,CURRENT_TIMESTAMP,'0000-00-00 00:00:00',0,'','')", + RAID_SYSTYPENO,raidSysNo,compCode,alarmCode); + //printf("%s\n",sqlstr); + operate_record("OMC_PUB","sysAlarmLog",sqlstr); + } + return 1; +} + +int decode_int(int msglen,unsigned char *msg,int *out) +{ + int i; + + *out=0; + i=msglen; + + for(i=msglen-1;i>=0;i--) + (*out)+=msg[i] << ((msglen-1-i)*8); + + return 1; +} + +int decode_string(int msglen,unsigned char *msg,char *out) +{ + memcpy(out,msg,msglen); + out[msglen]=0; + return 1; +} + +void logRaid(const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/raid%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + +/* +return +1: continue +0: finish,EOF +*/ +int getline_local(FILE *handle,char *line,int max_size) +{ + unsigned char rb; + int pos=0; + + memset(line,0,max_size); + while(fread(&rb,1,1,handle) == 1) + { + if(rb == '\n') + return 1; + line[pos]=rb; + pos++; + if(pos >= max_size) + return 1; + } + return 0; +} diff --git a/src/faultMgr/c_program/raidAgent/raid_agent.h b/src/faultMgr/c_program/raidAgent/raid_agent.h new file mode 100644 index 0000000..1a653c0 --- /dev/null +++ b/src/faultMgr/c_program/raidAgent/raid_agent.h @@ -0,0 +1,117 @@ +#ifndef RAID_AGENT__H +#define RAID_AGENT__H + +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include +#include +#include +#include +#include +#include + +#ifndef MYSQL_H + #include "mysql.h" +#endif + +#ifndef RAIDAGENT_DEBUG + #define RAIDAGENT_DEBUG 0 +#endif + +#define CONF_FILE "./conf/raid.conf" + +int raid_agent_init(int omcSysNo); +void raid_agent_timer(); + +int raid_agent_task_init(); +int raid_agent_task_timer(); + +void logRaid(const char *fmt,...); + +#define RAID_SYSTYPENO 234 +#define MAX_RAID_SERVER 8 +#define MAX_RAID_SYSTEM 16 +#define GET_STATUS_INTERVAL 10 //second +#define RESPONSE_TIMEOUT 10 +#define RAID_LOCAL_PORT 4962 +#define MAX_DISK_COUNT 8 + +#define FIELD_CARDNAME "CardName" +#define FIELD_DISKNUM "DiskNum" +#define FIELD_DISKSLOT "DiskSlot" +#define FIELD_DISKSTATE "DiskState" +#define FIELD_OPTPROG "OptProg" +#define FIELD_VENDORID "VendorID" +#define FIELD_PRODUCTID "ProductID" +#define FIELD_DISKSIZE "DiskSize" +#define FIELD_DISKERRCOUNT "DiskERRC" + +#define PDU_SUMMARG 0 +#define PDU_DETAIL 1 +#define SERVER_TYPE_INTEL 0 +#define SERVER_TYPE_DELL 1 +#define ALARM_CLEAR 0 +#define ALARM_ADD 1 + +#define ALARM_NONE 0 +#define ALARM_RESPONSE_TIMEOUT 1 +#define ALARM_DISK_OFFLINE 2 +#define ALARM_DISK_FAILED 3 +#define ALARM_DISK_REBUILD 4 +#define ALARM_UNKNOWN 5 + +#define INTEL_STATE_OFFLINE_VALUE 16 +#define INTEL_STATE_FAILED_VALUE 17 +#define INTEL_STATE_REBUILD_VALUE 20 +#define INTEL_STATE_ONLINE_VALUE 24 + +#define DELL_STATE_OFFLINE_VALUE 4 +#define DELL_STATE_FAILED_VALUE 2 +#define DELL_STATE_REBUILD_VALUE 24 +#define DELL_STATE_ONLINE_VALUE 3 + +#define STATE_IDLE 0 +#define STATE_GET_SUMMARY 1 +#define STATE_RESPONSE_SUMMARY 2 +#define STATE_GET_DETAIL 3 +#define STATE_RESPONSE_DETAIL 4 +#define STATE_FINISH 5 + +typedef struct raid_system +{ + int state; + int sys_id; + unsigned long remote_ip; + unsigned long request_id; + + int cur_disk_num; + int total_disk_num; + + int last_alarm_value[MAX_DISK_COUNT]; + unsigned long last_update_time; + unsigned long timeout; +}raid_system; + +typedef struct raid_server +{ + char server_name[16]; + int server_type; //0-Intel,1-Dell + int enable_flag; + int related_system_type; + int system_count; + raid_system system[MAX_RAID_SYSTEM]; +}raid_server; + +typedef struct raid_param +{ + int enable_flag; + int server_snmp_port; + int system_type; //0-MCSS,1-MCMS + int server_count; + raid_server server[MAX_RAID_SERVER]; +}raid_param; + + +#endif + diff --git a/src/faultMgr/c_program/raidAgent/raid_agent_main.c b/src/faultMgr/c_program/raidAgent/raid_agent_main.c new file mode 100644 index 0000000..364a295 --- /dev/null +++ b/src/faultMgr/c_program/raidAgent/raid_agent_main.c @@ -0,0 +1,56 @@ +#include "raid_agent.h" + +void SetTimer(); + +static struct itimerval itimer, old_itimer; + +int main(int argc, char *argv[]) +{ + pid_t pid; + + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } + + fprintf(stderr, "\n Calling iptrans_init() \n"); + iptrans_init(); + + fprintf(stderr, "\n Calling snmp_init() \n"); + snmp_init(4957); + + raid_agent_init(0); + + SetTimer(); + while (1) { + usleep(50); + } + return 1; +} + +void SetTimer() +{ + struct sigaction act; + act.sa_handler = raid_agent_timer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) + { + perror("Produce Sigaction"); + exitLog("omcCleaner:SetTimer, sigaction function error"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 10 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 10 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) + { + printf("Setting Timer error! \n"); + exitLog("omcCleaner:SetTimer, setitimer function error"); + exit(1); + } +} diff --git a/src/faultMgr/c_program/raidAgent/raid_agent_task.c b/src/faultMgr/c_program/raidAgent/raid_agent_task.c new file mode 100644 index 0000000..fd9bfd2 --- /dev/null +++ b/src/faultMgr/c_program/raidAgent/raid_agent_task.c @@ -0,0 +1,115 @@ +#include "raid_agent.h" + +#define TIME_TEN_SECOND 10 +#define TIME_ONE_MINUTE 60 +#define TIME_TEN_MINUTE (60*10) +#define TIME_ONE_QUARTER (60*15) +#define TIME_HALF_HOUR (60*30) +#define TIME_ONE_HOUR (60*60) +#define TIME_ONE_DAY (60*60*24) + +static unsigned long tensec_countdown; +static unsigned long minute_countdown; +static unsigned long tenmin_countdown; +static unsigned long quarter_countdown; +static unsigned long halfhour_countdown; +static unsigned long hour_countdown; +static unsigned long day_countdown; +static unsigned long prev_time; +static unsigned long next_time; + +extern int raid_update_system(); + + +int raid_agent_task_init() +{ + time_t l_time; + struct tm *t; + int hour,minute,second; + + l_time=time(NULL); + t=localtime(&l_time); + hour=t->tm_hour; + minute=t->tm_min; + second=t->tm_sec; + + tensec_countdown=second%TIME_TEN_SECOND; + minute_countdown=second%TIME_ONE_MINUTE; + tenmin_countdown=(minute*TIME_ONE_MINUTE + second)%TIME_TEN_MINUTE; + quarter_countdown=(minute*TIME_ONE_MINUTE + second)%TIME_ONE_QUARTER; + halfhour_countdown=(minute*TIME_ONE_MINUTE + second)%TIME_HALF_HOUR; + hour_countdown=(minute*TIME_ONE_MINUTE + second)%TIME_ONE_HOUR; + day_countdown=(hour*TIME_ONE_HOUR + minute*TIME_ONE_MINUTE + second)%TIME_ONE_DAY; + + prev_time=next_time=l_time; + return 1; +} + +int raid_agent_task_timer() +{ + unsigned long time_past; + + next_time=time(NULL); + time_past=next_time-prev_time; + + tensec_countdown+=time_past; + minute_countdown+=time_past; + tenmin_countdown+=time_past; + quarter_countdown+=time_past; + halfhour_countdown+=time_past; + hour_countdown+=time_past; + day_countdown+=time_past; + + if(tensec_countdown >= TIME_TEN_SECOND) + { + time_past=tensec_countdown-TIME_TEN_SECOND; + tensec_countdown=time_past; + //Call ten-sec clock function here + } + + if(minute_countdown >= TIME_ONE_MINUTE) + { + time_past=minute_countdown-TIME_ONE_MINUTE; + minute_countdown=time_past; + //Call minute clock function here + raid_update_system(); + } + + if(tenmin_countdown >= TIME_TEN_MINUTE) + { + time_past=tenmin_countdown-TIME_TEN_MINUTE; + tenmin_countdown=time_past; + //Call ten-min clock function here + } + + if(quarter_countdown >= TIME_ONE_QUARTER) + { + time_past=quarter_countdown-TIME_ONE_QUARTER; + quarter_countdown=time_past; + //Call quarter clock function here + } + + if(halfhour_countdown >= TIME_HALF_HOUR) + { + time_past=halfhour_countdown-TIME_HALF_HOUR; + halfhour_countdown=time_past; + //Call half-hour clock function here + } + + if(hour_countdown >= TIME_ONE_HOUR) + { + time_past=hour_countdown-TIME_ONE_HOUR; + hour_countdown=time_past; + //Call hour clock function here + } + + if(day_countdown >= TIME_ONE_DAY) + { + time_past=day_countdown-TIME_ONE_DAY; + day_countdown=time_past; + //call day clock function here + } + + prev_time=next_time; + return 1; +} diff --git a/src/faultMgr/c_program/sysStat/Makefile b/src/faultMgr/c_program/sysStat/Makefile new file mode 100644 index 0000000..e1d86d8 --- /dev/null +++ b/src/faultMgr/c_program/sysStat/Makefile @@ -0,0 +1,33 @@ +#!/bin/sh + + + +CC = gcc +CFLAGS=-D_REENTRANT -g -pg -Wall + +COMPILE_SUFFIX = $(INCLUDE_FLAGS) +LINK_SUFFIX = $(INCLUDE_FLAGS) + +PROGS = statTest +LIB_OBJ = sysStat.o + +ALL_OBJ = statTest.o sysStat.o + +default: all + +all: $(PROGS) + +$(PROGS): $(ALL_OBJ) + @echo Linking $@ + ar r libsysStat.a $(LIB_OBJ) + @$(CC) $(CFLAGS) -o $@ $(ALL_OBJ) $(LINK_SUFFIX) -lm + # rm -rf *.o + +statTest.o: statTest.c + $(CC) $(CFLAGS) -c statTest.c + +sysStat.o: sysStat.c + $(CC) $(CFLAGS) -c sysStat.c + +clean: + rm -f *.o *.a $(PROGS) diff --git a/src/faultMgr/c_program/sysStat/includes.h b/src/faultMgr/c_program/sysStat/includes.h new file mode 100644 index 0000000..6471c62 --- /dev/null +++ b/src/faultMgr/c_program/sysStat/includes.h @@ -0,0 +1,37 @@ +/* + * Include all header files needed by shared memory project. + * Created by + */ + +#ifndef INCLUDES__H +#define INCLUDES__H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#endif diff --git a/src/faultMgr/c_program/sysStat/statTest.c b/src/faultMgr/c_program/sysStat/statTest.c new file mode 100644 index 0000000..d943d29 --- /dev/null +++ b/src/faultMgr/c_program/sysStat/statTest.c @@ -0,0 +1,80 @@ +/* Title: statTest.c + * Description: get system's information about cpu loading,memeory,hard disk + * Author: + * Date: + */ +#include "sysStat.h" + +typedef struct SysInfo { + cpuInfo myCpuInfo; + memInfo myMemInfo; + swapInfo mySwapInfo; + hdiskInfo myHdiskInfo; + procGrpInfo myProcGrpInfo; +} SysInfo; + +#define UnitSleepTime 1 +#define CpuTimeCount 10 +#define MemTimeCount 10 +#define SwapTimeCount 10 +#define ProcTimeCount 60 +#define HdiskTimeCount 3600 + +int main(int argc, char *argv[]) +{ + int sleepCount = 0, i = 0; + SysInfo sysInfo; + char *procList = "commProc beatProc"; + sprintf(sysInfo.myProcGrpInfo.procNameList, "%s", procList); + //printf("%s \n",sysInfo.myProcGrpInfo.procNameList); + + //load system info + getCpuInfo(&(sysInfo.myCpuInfo)); + getMemInfo(&(sysInfo.myMemInfo)); + getSwapInfo(&(sysInfo.mySwapInfo)); + getHdiskInfo(&(sysInfo.myHdiskInfo)); + getProcGrpInfo(&(sysInfo.myProcGrpInfo)); + + //update system info + while (1) { + sleep(1); + sleepCount++; + if (sleepCount % 1 == 0) { + getCpuInfo(&(sysInfo.myCpuInfo)); + } + + if (sleepCount % 1 == 0) { + getMemInfo(&(sysInfo.myMemInfo)); + getSwapInfo(&(sysInfo.mySwapInfo)); + getProcGrpInfo(&(sysInfo.myProcGrpInfo)); + } + + if (sleepCount % 1 == 0) { + sleepCount = 0; + getHdiskInfo(&(sysInfo.myHdiskInfo)); + } + getNetworkStat(); + + printf("cpuLoad = %d %% \n", sysInfo.myCpuInfo.cpuLoad); + printf("memTotal = %lu KB\n", sysInfo.myMemInfo.total); + printf("memUsed = %lu KB\n", sysInfo.myMemInfo.used); + printf("swapTotal = %lu KB\n", sysInfo.mySwapInfo.total); + printf("swapUsed = %lu KB\n", sysInfo.mySwapInfo.used); + printf("hdiskTotal = %lu KB\n", sysInfo.myHdiskInfo.total); + printf("hdiskUsed = %lu KB\n", sysInfo.myHdiskInfo.used); + printf("procNum = %d \n", sysInfo.myProcGrpInfo.procNum); + for (i = 0; i < sysInfo.myProcGrpInfo.procNum; i++) { + if (sysInfo.myProcGrpInfo.procInfoArr[i].stat > 0) { + printf("%s(%lu) is running..\n", + sysInfo.myProcGrpInfo.procInfoArr[i].procName, + sysInfo.myProcGrpInfo.procInfoArr[i].pid); + } else { + printf("%s(%lu) is stopped \n", + sysInfo.myProcGrpInfo.procInfoArr[i].procName, + sysInfo.myProcGrpInfo.procInfoArr[i].pid); + } + } + printf("\n \n \n"); + } + return (1); +} diff --git a/src/faultMgr/c_program/sysStat/sysStat.c b/src/faultMgr/c_program/sysStat/sysStat.c new file mode 100644 index 0000000..ac9bc8c --- /dev/null +++ b/src/faultMgr/c_program/sysStat/sysStat.c @@ -0,0 +1,494 @@ +/************************************************* +File name: sysStat.c +Author: +Version: 9:00:00 +Date: 2007-09-04 +Description:获取操作系统的基本信息,包括内存,硬盘信息等 + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include "sysStat.h" + +//cpu info file +#define SYSSTAT_FILE "/proc/stat" + +//harddisk info file +#define ETC_MNTTAB "/etc/mtab" + +//memory and swap info file +#define MEMINFO_FILE "/proc/meminfo" + +#define BUFFSIZE 1024 + +/* by simon at 23/9/25 */ +cpuTime oldCpuTime; + +/************************************************* +Function: // getCpuInfo +Description: // 获取CPU信息参数 +Calls: // loadCpuTime +Called By: // dualsrv module; beatSend module; +Table Accessed: // +Table Updated: // +Input: // +Output: // nowCpuInfo:Cpu信息 +Return: // 1:successful; 0:failed; +Others: // "oldCpuTime" define in sysStat.h as global var +*************************************************/ +int getCpuInfo(cpuInfo * nowCpuInfo) +{ + unsigned long unitUserTime; + unsigned long unitNiceTime; + unsigned long unitSystemTime; + unsigned long unitIdleTime; + double unitCpuLoad; + cpuTime newCpuTime; + loadCpuTime(&newCpuTime); + + //获取cpu的时间参数 + unitUserTime = newCpuTime.timeOfUser - oldCpuTime.timeOfUser; + unitNiceTime = newCpuTime.timeOfNice - oldCpuTime.timeOfNice; + unitSystemTime = newCpuTime.timeOfSystem - oldCpuTime.timeOfSystem; + unitIdleTime = newCpuTime.timeOfIdle - oldCpuTime.timeOfIdle; + + //cpu负载 + unitCpuLoad = + 100 * (double) (unitUserTime + unitNiceTime + unitSystemTime) + / (double) (unitUserTime + unitNiceTime + unitSystemTime + + unitIdleTime); + + nowCpuInfo->cpuLoad = ceil(unitCpuLoad); + + //printf("%lu %lu %lu %lu \n ",newCpuTime.timeOfUser,newCpuTime.timeOfNice,newCpuTime.timeOfSystem,newCpuTime.timeOfIdle); + //printf("%lu %lu %lu %lu \n ",oldCpuTime.timeOfUser,oldCpuTime.timeOfNice,oldCpuTime.timeOfSystem,oldCpuTime.timeOfIdle); + //printf("%lu %lu %lu %lu %f\n ",unitUserTime,unitNiceTime,unitSystemTime,unitIdleTime,unitCpuLoad); + //更换旧的时间参数 + oldCpuTime = newCpuTime; + //printf("%lu %lu %lu %lu \n ",oldCpuTime.timeOfUser,oldCpuTime.timeOfNice,oldCpuTime.timeOfSystem,oldCpuTime.timeOfIdle); + return (1); +} + +/************************************************* +Function: // loadCpuTime +Description: // 获取cpu时间参数 +Calls: // +Called By: // getCpuInfo +Table Accessed: // +Table Updated: // +Input: // +Output: // nowCpuTime:cpu时间参数 +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int loadCpuTime(cpuTime * nowCpuTime) +{ + int statfd; + char *b; + char buff[BUFFSIZE]; + if ((statfd = open(SYSSTAT_FILE, O_RDONLY, 0)) != -1) { + buff[BUFFSIZE - 1] = 0; + read(statfd, buff, BUFFSIZE - 1); + close(statfd); + /* + *itot = 0; + *i1 = 1; + */ + b = buff; + b = strstr(buff, "cpu "); + sscanf(b, "cpu %lu %lu %lu %lu", &(nowCpuTime->timeOfUser), + &(nowCpuTime->timeOfNice), &(nowCpuTime->timeOfSystem), + &(nowCpuTime->timeOfIdle)); + + //printf("nowCpuTime->timeOfUser = %lu \n ",nowCpuTime->timeOfUser); + /* + b = strstr(buff, "page "); + sscanf(b, "page %u %u", pin, pout); + + b = strstr(buff, "swap "); + sscanf(b, "swap %u %u", swpin, swpout); + + b = strstr(buff, "intr "); + sscanf(b, "intr %u %u", itot, i1); + + b = strstr(buff, "ctxt "); + sscanf(b, "ctxt %u", ct); + */ + return (1); + } else { + perror("/proc/stat"); + return (0); + } +} + +/************************************************* +Function: // getMemInfo +Description: // 获取内存信息 +Calls: // +Called By: // dualsrv module; beatSend module; +Table Accessed: // +Table Updated: // +Input: // +Output: // nowMemInfo:内存信息; +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int getMemInfo(memInfo * nowMemInfo) +{ + int statfd; + unsigned long memFree; + char *b; + char buff[BUFFSIZE]; + char sizeStr[50]; + char kbStr[10]; + + if ((statfd = open(MEMINFO_FILE, O_RDONLY, 0)) != -1) { + buff[BUFFSIZE - 1] = 0; + read(statfd, buff, BUFFSIZE - 1); + close(statfd); + b = buff; + //总共的内存空间 + b = strstr(buff, "MemTotal: "); + sscanf(b, "MemTotal: %s %s", sizeStr, kbStr); + nowMemInfo->total = atol(sizeStr); + //printf("memTotal = %lu \n",nowMemInfo->total); + //未使用的内存空间 + b = strstr(buff, "MemFree: "); + sscanf(b, "MemFree: %s %s", sizeStr, kbStr); + memFree = atol(sizeStr); + nowMemInfo->used = nowMemInfo->total - memFree; + //printf("memUsed = %lu \n",nowMemInfo->used); + return (1); + } else { + return (0); + } +} + +/************************************************* +Function: // getSwapInfo +Description: // 获取swap信息 +Calls: // +Called By: // dualsrv module; beatSend module; +Table Accessed: // +Table Updated: // +Input: // +Output: // nowSwapInfo:swap信息 +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int getSwapInfo(swapInfo * nowSwapInfo) +{ + int statfd; + unsigned long swapFree; + char *b; + char buff[BUFFSIZE]; + char sizeStr[50]; + char kbStr[10]; + + if ((statfd = open(MEMINFO_FILE, O_RDONLY, 0)) != -1) { + buff[BUFFSIZE - 1] = 0; + read(statfd, buff, BUFFSIZE - 1); + close(statfd); + b = buff; + + //总共的swap空间 + b = strstr(buff, "SwapTotal: "); + sscanf(b, "SwapTotal: %s %s", sizeStr, kbStr); + nowSwapInfo->total = atol(sizeStr); + //未使用的swap空间 + b = strstr(buff, "SwapFree: "); + sscanf(b, "SwapFree: %s %s", sizeStr, kbStr); + swapFree = atol(sizeStr); + nowSwapInfo->used = nowSwapInfo->total - swapFree; + return (1); + } else { + return (0); + } +} + +/************************************************* +Function: // getHdiskInfo +Description: // 获取硬盘信息 +Calls: // getDiskTotal; loadHdaInfo; +Called By: // dualsrv module; beatSend module; +Table Accessed: // +Table Updated: // +Input: // +Output: // nowHdiskInfo:硬盘信息 +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int getHdiskInfo(hdiskInfo * nowHdiskInfo) +{ + int i; + loadHdaInfo(nowHdiskInfo); + + if (nowHdiskInfo->hdaNum < 1) { + printf("Cannot get hdisk info!\n"); + return (0); + } + + nowHdiskInfo->total = getDiskTotal(); + nowHdiskInfo->used = 0; + for (i = 0; i < nowHdiskInfo->hdaNum; i++) { + + nowHdiskInfo->used += nowHdiskInfo->hdaArr[i].used; + } + return (1); +} + +/************************************************* +Function: // getDiskTotal +Description: // 获取硬盘的总空间 +Calls: // +Called By: // getHdiskInfo +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // >0:硬盘的总空间; 0:failed; +Others: // +*************************************************/ +unsigned long getDiskTotal(void) +{ + int fd; + struct hd_driveid HRD_info; + fd = open("/dev/hda", O_RDONLY); + ioctl(fd, HDIO_GET_IDENTITY, &HRD_info); + close(fd); + return ((int) (HRD_info.lba_capacity / 2)); +} + +/************************************************* +Function: // loadHdaInfo +Description: // 获取硬盘的part number +Calls: // +Called By: // getHdiskInfo +Table Accessed: // +Table Updated: // +Input: // +Output: // noweHdiskInfo:硬盘信息; +Return: // >0:this disk's part number; 0:failed; +Others: // +*************************************************/ +int loadHdaInfo(hdiskInfo * nowHdiskInfo) +{ + struct mntent *mntent; + FILE *mntfp; + int hdaCount = 0, i = 0; + struct statvfs vfs; + + + //step 1.Find every part's define + mntfp = setmntent(ETC_MNTTAB, "r"); + while ((mntent = getmntent(mntfp))) { + strcpy(nowHdiskInfo->hdaArr[hdaCount].name, mntent->mnt_fsname); + strcpy(nowHdiskInfo->hdaArr[hdaCount].path, mntent->mnt_dir); + hdaCount++; + } + endmntent(mntfp); + free(mntent); + nowHdiskInfo->hdaNum = hdaCount; + + //step 2.Find every part's information + for (i = 0; i < hdaCount; i++) { + if (statvfs(nowHdiskInfo->hdaArr[i].path, &vfs) == -1) { + fprintf(stderr, "nowHdiskInfo->hdaArr[%d].path=%s \n", i, + nowHdiskInfo->hdaArr[i].path); + fprintf(stderr, "statvfs error\n"); + return (0); + } + nowHdiskInfo->hdaArr[i].total = vfs.f_blocks; + if (vfs.f_frsize > 255) { + nowHdiskInfo->hdaArr[i].total = + nowHdiskInfo->hdaArr[i].total * (vfs.f_frsize / 1024); + } + + + nowHdiskInfo->hdaArr[i].used = vfs.f_blocks - vfs.f_bfree; + if (vfs.f_frsize > 255) { + nowHdiskInfo->hdaArr[i].used = + nowHdiskInfo->hdaArr[i].used * (vfs.f_frsize / 1024); + } +#if sysStat_DEBUG + fprintf(stderr, "nowHdiskInfo->hdaArr[%d].total = %lu \n", i, + nowHdiskInfo->hdaArr[i].total); + fprintf(stderr, "nowHdiskInfo->hdaArr[%d].used = %lu \n", i, + nowHdiskInfo->hdaArr[i].used); +#endif + } //end of for(..) + return (1); +} + +/************************************************* +Function: // getProcGrpInfo +Description: // 获得全部进程的信息 +Calls: // getProcInfo; +Called By: // dualsrv module; beatSend module; +Table Accessed: // +Table Updated: // +Input: // +Output: // nowProcGrpInfo:进程组信息 +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int getProcGrpInfo(procGrpInfo * nowProcGrpInfo) +{ + int procNameCount, pidCount, i; + char *pidList, *tmpProcName, *tmpPidStr; + char getGrpPidComm[1024]; + char buff[BUFFSIZE]; + FILE *fp = NULL; + int pidArr[MAX_PROC_NUM]; + int procNameListSize = sizeof(nowProcGrpInfo->procNameList); + char procNameList[procNameListSize]; + char *tmpPnameList; + + procNameCount = 0; + memcpy(procNameList, nowProcGrpInfo->procNameList, procNameListSize); + tmpPnameList = procNameList; + while (((tmpProcName = strsep(&tmpPnameList, " ")) != NULL) + && procNameCount < MAX_PROC_NUM) { + sprintf(nowProcGrpInfo->procInfoArr[procNameCount].procName, "%s", + tmpProcName); + procNameCount++; + } + nowProcGrpInfo->procNum = procNameCount; + + //检测进程的状态 + sprintf(getGrpPidComm, "pidof -s %s", nowProcGrpInfo->procNameList); + if ((fp = popen(getGrpPidComm, "r")) == NULL) { + return (0); + } + if (fgets(buff, sizeof(buff), fp) == NULL) { + pclose(fp); + return (0); + } + pclose(fp); + + pidList = buff; + pidCount = 0; + while ((tmpPidStr = strsep(&pidList, " ")) != NULL) { + pidArr[pidCount] = atoi(tmpPidStr); + pidCount++; + } + + if (nowProcGrpInfo->procNum == pidCount) { + for (i = 0; i < nowProcGrpInfo->procNum; i++) { + nowProcGrpInfo->procInfoArr[i].pid = pidArr[i]; + nowProcGrpInfo->procInfoArr[i].stat = 1; + } + } else { + for (i = 0; i < nowProcGrpInfo->procNum; i++) { + getProcInfo(&(nowProcGrpInfo->procInfoArr[i])); + } + } + + return (1); +} + +/************************************************* +Function: // getProcInfo +Description: // 获得指定进程的信息 +Calls: // +Called By: // getProcGrpInfo +Table Accessed: // +Table Updated: // +Input: // +Output: // thisProcInfo:指定的进程; +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int getProcInfo(procInfo * thisProcInfo) +{ + char procName[50]; + char getPidComm[100]; + FILE *fp = NULL; + char buff[BUFFSIZE]; + int n, pid; + char pidStr[10]; + sprintf(procName, "%s", thisProcInfo->procName); +#if sysStat_DEBUG + fprintf(stderr, "procName = %s\n", procName); +#endif + sprintf(getPidComm, "pidof -s %s", procName); + if ((fp = popen(getPidComm, "r")) == NULL) { + return (0); + } + if (fgets(buff, sizeof(buff), fp) == NULL) { + pclose(fp); + return (0); + } + pclose(fp); + n = sscanf(buff, "%s", pidStr); + if (n > 0) { + pid = atol(pidStr); + thisProcInfo->pid = pid; + thisProcInfo->stat = 1; +#if sysStat_DEBUG + fprintf(stderr, "%s(pid=%d) is running \n", procName, pid); +#endif + } else { + thisProcInfo->pid = 0; + thisProcInfo->stat = 0; +#if sysStat_DEBUG + fprintf(stderr, "%s is stopped \n", procName); +#endif + } + + return (1); +} + +/************************************************* +Function: // getNetworkStat +Description: // 获取网络状态 +Calls: // +Called By: // dualsrv module; beatSend module; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:successful; 0:failed; +Others: // +*************************************************/ +int getNetworkStat(void) +{ + char sysCommStr[100]; + FILE *fp = NULL; + char buff[BUFFSIZE]; + int n, packetNum; + char inputStr[10]; + + sprintf(sysCommStr, "ping -b -c 2 172.18.255.255|grep -c 172.18"); + if ((fp = popen(sysCommStr, "r")) == NULL) { + return (0); + } + if (fgets(buff, sizeof(buff), fp) == NULL) { + pclose(fp); + return (0); + } + pclose(fp); + n = sscanf(buff, "%s", inputStr); + if (n > 0) { + packetNum = atol(inputStr); + if (packetNum > 4) { +#if sysStat_DEBUG + fprintf(stderr, "Network is ok \n"); +#endif + return (1); + } + } +#if sysStat_DEBUG + fprintf(stderr, "Network is stopped \n"); +#endif + return (0); +} + + diff --git a/src/faultMgr/c_program/sysStat/sysStat.h b/src/faultMgr/c_program/sysStat/sysStat.h new file mode 100644 index 0000000..4124529 --- /dev/null +++ b/src/faultMgr/c_program/sysStat/sysStat.h @@ -0,0 +1,108 @@ +/************************************************* +File name: sysStat.h +Author: +Version: 9:00:00 +Date: 2007-09-04 +Description:sysStat头文件 + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include +#include "includes.h" + +#ifndef sysStat_DEBUG +#define sysStat_DEBUG 0 +#endif + +#ifndef _SYSSTAT_H +#define _SYSSTAT_H + /* + *cpu info define + */ +typedef struct cpuTime { + unsigned long timeOfUser; + unsigned long timeOfNice; + unsigned long timeOfSystem; + unsigned long timeOfIdle; +} cpuTime; + +/* by simon at 23/9/25 */ +// cpuTime oldCpuTime; + +typedef struct cpuInfo { + int cpuLoad; +} cpuInfo; + + /* + *memory info define + */ +typedef struct memInfo { + unsigned long total; //KB + unsigned long used; //KB +} memInfo; + + /* + *swap info define + */ +typedef struct swapInfo { + unsigned long total; //KB + unsigned long used; //KB +} swapInfo; + + /* + *harddisk info define + */ +#define MAX_HDA_NUM 10 + +typedef struct hdaInfo { + char name[1024]; + char path[1024]; + unsigned long total; //KB + unsigned long used; //KB +} hdaInfo; + +typedef struct hdiskInfo { + unsigned long total; //KB + unsigned long used; //KB + int hdaNum; + hdaInfo hdaArr[MAX_HDA_NUM]; +} hdiskInfo; + + /* + *process info define + */ +#ifndef MAX_PROC_NUM +#define MAX_PROC_NUM 20 +#endif +typedef struct procInfo { + char procName[50]; + unsigned long pid; + int stat; //0=stop,1=runing + //unsigned int vmSize; +} procInfo; + +typedef struct procGrpInfo { + char procNameList[1024]; + int procNum; + procInfo procInfoArr[MAX_PROC_NUM]; +} procGrpInfo; + +int getCpuInfo(cpuInfo * nowCpuInfo); +int loadCpuTime(cpuTime * nowCpuTime); +int getMemInfo(memInfo * nowMemInfo); +int getSwapInfo(swapInfo * nowSwapInfo); +int getHdiskInfo(hdiskInfo * nowHdiskInfo); +unsigned long getDiskTotal(void); +int loadHdaInfo(hdiskInfo * nowHdiskInfo); +int getProcGrpInfo(procGrpInfo * nowProcGrpInfo); +int getProcInfo(procInfo * thisProcInfo); +int getNetworkStat(void); +#endif diff --git a/src/makeall.sh b/src/makeall.sh new file mode 100644 index 0000000..415adf4 --- /dev/null +++ b/src/makeall.sh @@ -0,0 +1,195 @@ +#!/bin/bash + +#omcLib +cd /usr/local/omc/src/omcLib/c_program/omcLib +echo "----------------------------------------------------" +echo "-------------------- omcLib ------------------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#omcLib ftp +cd /usr/local/omc/src/omcLib/c_program/ftp +echo "----------------------------------------------------" +echo "----------------- omcLib ftp------------------------" +echo "----------------------------------------------------" +make clean +make linuxES + +#smeg +cd /usr/local/omc/src/smeg +echo "----------------------------------------------------" +echo "---------------------- smeg ------------------------" +echo "----------------------------------------------------" +make clean +make + + +#accountMgr cdrCollector +cd /usr/local/omc/src/accountMgr/c_program/cdrCollector +echo "----------------------------------------------------" +echo "---------- accountMgr cdrCollector -----------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#accountMgr ftpSend +cd /usr/local/omc/src/accountMgr/c_program/ftpsend +echo "----------------------------------------------------" +echo "------------- accountMgr ftpSend ------------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#accountMgr nrtrde +cd /usr/local/omc/src/accountMgr/c_program/nrtrde +echo "----------------------------------------------------" +echo "------------- accountMgr nrtrde ------------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#accountMgr sftpSend +cd /usr/local/omc/src/accountMgr/c_program/sftpSend +echo "----------------------------------------------------" +echo "------------- accountMgr sftpSend ------------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#accountMgr smcli +cd /usr/local/omc/src/accountMgr/c_program/smcli +echo "----------------------------------------------------" +echo "-------------- accountMgr smcli --------------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#accountMgr subsComm +cd /usr/local/omc/src/accountMgr/c_program/subsComm +echo "----------------------------------------------------" +echo "------------- accountMgr subsComm ------------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#accountMgr subsDataBackup +cd /usr/local/omc/src/accountMgr/c_program/subsDataBackup +echo "----------------------------------------------------" +echo "----------- accountMgr subsDataBackup --------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#accountMgr wsms +cd /usr/local/omc/src/accountMgr/c_program/wsms +echo "----------------------------------------------------" +echo "---------------- accountMgr wsms -------------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#configMgr paraComm +cd /usr/local/omc/src/configMgr/c_program/paraComm +echo "----------------------------------------------------" +echo "--------------- configMgr-->paraComm ---------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#faultMgr alarmAgent +cd /usr/local/omc/src/faultMgr/c_program/alarmAgent +echo "----------------------------------------------------" +echo "-------------- faultMgr-->alarmAgent ---------------" +echo "----------------------------------------------------" +make clean +make linuxES + +#faultMgr alarmGenerator +cd /usr/local/omc/src/faultMgr/c_program/alarmGenerator +echo "----------------------------------------------------" +echo "------------ faultMgr-->alarmGenerator -------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#faultMgr sysStat +cd /usr/local/omc/src/faultMgr/c_program/sysStat +echo "----------------------------------------------------" +echo "---------------- faultMgr-->sysStat ----------------" +echo "----------------------------------------------------" +make clean +make + +#faultMgr beatProc +cd /usr/local/omc/src/faultMgr/c_program/beatProc +echo "----------------------------------------------------" +echo "--------------- faultMgr-->beatProc ----------------" +echo "----------------------------------------------------" +make clean +make linuxES + +#faultMgr beatSend +cd /usr/local/omc/src/faultMgr/c_program/beatSend +echo "----------------------------------------------------" +echo "--------------- faultMgr-->beatSend ----------------" +echo "----------------------------------------------------" +make clean +make linuxES + +#faultMgr dualsrv +cd /usr/local/omc/src/faultMgr/c_program/dualsrv +echo "----------------------------------------------------" +echo "--------------- faultMgr-->dualsrv -----------------" +echo "----------------------------------------------------" +make clean +make linuxES + + + +#performanceMgr logCollector +cd /usr/local/omc/src/performanceMgr/c_program/logCollector +echo "----------------------------------------------------" +echo "--------- performanceMgr-->logCollector ------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#performanceMgr cstaCollector +cd /usr/local/omc/src/performanceMgr/c_program/cstaCollector +echo "----------------------------------------------------" +echo "--------- performanceMgr-->cstaCollector -----------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#securityMgr omcCleaner +cd /usr/local/omc/src/securityMgr/c_program/omcCleaner +echo "----------------------------------------------------" +echo "----------- securityMgr-->omcCleaner ---------------" +echo "----------------------------------------------------" +make clean +make linuxES + + +#omcMain omcMain +cd /usr/local/omc/src/omcMain/c_program/omcMain +echo "----------------------------------------------------" +echo "--------------- omcMain-->omcMain ------------------" +echo "----------------------------------------------------" +make clean +make linuxES + diff --git a/src/omcLib/c_program/ftp/Makefile b/src/omcLib/c_program/ftp/Makefile new file mode 100644 index 0000000..42a3282 --- /dev/null +++ b/src/omcLib/c_program/ftp/Makefile @@ -0,0 +1,61 @@ +#/bin/sh + +CC = gcc +CFLAGS=-g -Wall -I/usr/local/mysql/include +CFLAGS.ES=-g -Wall -I/usr/include/mariadb + +COMPILE.c=$(CC) $(CFLAGS) +COMPILE.c.ES=$(CC) $(CFLAGS.ES) + +LINK.c=$(CC) $(CFLAGS) +LINK.c.ES=$(CC) $(CFLAGS.ES) + +LINKFLAG=-L/usr/local/mysql/lib -lmariadbclient -lz +LINKFLAG.ES=-L/usr/lib/mysql -lmariadbclient -lz + +PROGS=ftpclient +FTP_OBJ = ftpclient.o ftp.o +FTP_OBJ.ES = ftpclient.o.ES ftp.o.ES + +default: linuxES + +all: + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(FTP_OBJ) + @echo Linking $(PROGS) + @$(LINK.c) -o $(PROGS) $(FTP_OBJ) $(LINKFLAG) -lm + ar r libftp.a ftp.o + rm -rf *.o + rm -rf *bak + rm -rf *~ + +linuxES: $(FTP_OBJ.ES) + @echo Linking $(PROGS) + @$(LINK.c.ES) -o $(PROGS) $(FTP_OBJ) $(LINKFLAG.ES) -lm + ar r libftp.a ftp.o + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +ftpclient.o:ftpclient.c + $(COMPILE.c) -c ftpclient.c + +ftp.o: ftp.c + $(COMPILE.c) -c ftp.c + +ftpclient.o.ES:ftpclient.c + $(COMPILE.c.ES) -c ftpclient.c + +ftp.o.ES: ftp.c + $(COMPILE.c.ES) -c ftp.c + +clean: + rm -f *.o *.a $(PROGS) diff --git a/src/omcLib/c_program/ftp/ftp.c b/src/omcLib/c_program/ftp/ftp.c new file mode 100644 index 0000000..08084ab --- /dev/null +++ b/src/omcLib/c_program/ftp/ftp.c @@ -0,0 +1,1246 @@ +#include "ftp.h" + + +/************* Global Variables ****************/ +int ftp_cmd_sock=-1; +int ftp_data_cli_sock=-1; +struct timeval ftp_tm; + + +/***********Private Functions *****************/ +int checkRlyCode(char *src,char *needle); +int put_pasv(char *localpath,char *filename,char *recvbuf); +int put_port(char *localpath,char *filename); +int get_pasv(char *localpath,char *filename,char *recvbuf); +int get_port(char *localpath,char *filename); +void logMessage(char *fmt,...); + + +fd_set ftp_set; +int ftp_retcode; +char ftp_retmsg[513]; + +int ftp_read_reply(); +int ftp_gets(void); + +int ftp_read_reply() +{ + //int nRet; + char tmp[5]="xxx "; + + ftp_retcode=0; + + memset(ftp_retmsg, 0, 513); + + if(ftp_gets() == -1){ + return 1; + } + + + if(ftp_retmsg[3] == '-') + { /* multiline response */ + strncpy(tmp, ftp_retmsg, 3); + do{ + memset(ftp_retmsg, 0, 513); + if(ftp_gets() == -1){ + return 1; + } + }while(strncmp(tmp,ftp_retmsg, 4) != 0); + } + + return 0; +} + +int ftp_gets(void) +{ + int i=0; + int nRet; + char c; + + ftp_retmsg[0] = 0; + while(1) + { + ftp_tm.tv_sec = FTP_TIME_OUT; + ftp_tm.tv_usec = 0; + FD_ZERO(&ftp_set); + FD_SET(ftp_cmd_sock, &ftp_set); + if( select(ftp_cmd_sock+1, &ftp_set, NULL, NULL, &ftp_tm) <= 0) + { + memset(ftp_retmsg,0,513); + strcpy(ftp_retmsg,"Connect Server TimeOut.\n"); + return -1; + } + + nRet = recv(ftp_cmd_sock,&c,1,0); + if(nRet<=0) + { + memset(ftp_retmsg,0,513); + strcpy(ftp_retmsg,"Server has closed control connection.\n"); + return -1; + } + if(c == EOF) + { + memset(ftp_retmsg,0,513); + strcpy(ftp_retmsg,"Server has closed control connection.\n"); + return -1; + } + else if(c == '\r') + { + if( select(ftp_cmd_sock+1, &ftp_set, NULL, NULL, &ftp_tm) <= 0) + { + memset(ftp_retmsg,0,513); + strcpy(ftp_retmsg,"Connect Server TimeOut.\n"); + return -1; + } + nRet = recv(ftp_cmd_sock,&c,1,0); + if(nRet<=0) + { + memset(ftp_retmsg,0,513); + strcpy(ftp_retmsg,"Server has closed control connection.\n"); + return -1; + } + if(c == 0) + c = '\r'; + else if(c == '\n') + { + ftp_retmsg[i++] = (char)c; + break; + } + else if(c == EOF) + /* do nothing */ ; + } + else if(c == '\n') + break; + if(i < 512) + ftp_retmsg[i++] = (char)c; + } + + if(i >= 512) + { + strcpy(ftp_retmsg,"Reply too long (truncated)\n"); + i = 512; + } + + ftp_retmsg[i] = '\0'; + ftp_retcode = atoi(ftp_retmsg); + + return ftp_retcode; +} + + + +/* 1-failed, 0-success */ +int ftp_open(char *remoteip) +{ + struct sockaddr_in addr; + //char recvbuf[512]; + int nRet; + + if(remoteip == NULL || ftp_cmd_sock != -1) + return 1; + + addr.sin_family=AF_INET; + addr.sin_port=htons(FTP_PORT); + addr.sin_addr.s_addr=inet_addr(remoteip); + bzero(&(addr.sin_zero),8); + + if((ftp_cmd_sock=socket(AF_INET,SOCK_STREAM,0))==-1) + { + logMessage("\tsocket error\n"); + ftp_cmd_sock=-1; + return 1; + } + + ftp_tm.tv_sec = FTP_TIME_OUT; + ftp_tm.tv_usec = 0; + if(setsockopt(ftp_cmd_sock,SOL_SOCKET,SO_SNDTIMEO,&ftp_tm,sizeof(ftp_tm))==-1) + { + logMessage("\tsetsockopt error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if(setsockopt(ftp_cmd_sock,SOL_SOCKET,SO_RCVTIMEO,&ftp_tm,sizeof(ftp_tm))==-1) + { + logMessage("\tsetsockopt error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if(connect(ftp_cmd_sock,(struct sockaddr*)&addr,sizeof(struct sockaddr))==-1) + { + logMessage("\tconnect error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + //memset(recvbuf,0,512); + //recv(ftp_cmd_sock,recvbuf,512,0); + //if(checkRlyCode(recvbuf,"220") == 1) + nRet=ftp_read_reply(); + if(ftp_retcode != 220 || nRet) + { + logMessage("\trecv 220 error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + logMessage("recv:%s\n",ftp_retmsg); + //close(ftp_cmd_sock); + return 0; +} + +/* 1-failed, 0-success */ +int ftp_login(char *username,char *userpass) +{ + int nRet; + char sendcmd[512]; + char recvbuf[512]; + + + if(ftp_cmd_sock == -1) + { + return 1; + } + sprintf(sendcmd,"USER %s\r\n",username); + + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("send name error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"331") == 1) + { + logMessage("\trecv 331 error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + sprintf(sendcmd,"PASS %s\r\n",userpass); + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("\tsend pass error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"230") == 1) + { + logMessage("\trecv 230 error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + return 0; +} + +/* 1-failed, 0-success */ +int ftp_cwd(char *remotepath) +{ + int nRet; + char sendcmd[512]; + char recvbuf[512]; + + if(ftp_cmd_sock == -1) + { + return 1; + } + sprintf(sendcmd,"CWD %s\r\n",remotepath); + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("send cwd error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"250") == 1) + { + logMessage("\trecv 250 error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + return 0; +} + +/* 1-failed, 0-success */ +int ftp_putfile(char *localpath,char *filename) +{ + int nRet; + char sendcmd[512]; + char recvbuf[512]; + + + if(ftp_cmd_sock == -1 || ftp_data_cli_sock != -1) + { + return 1; + } + + sprintf(sendcmd,"PASV\r\n"); + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("send pasv error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + //The passive mode is not supported,try use port mode + //sprintf(recvbuf,"222 test"); + if(checkRlyCode(recvbuf,"227") == 1) + { + + logMessage("\trecv 227 error,try use port mode\n"); + nRet=put_port(localpath,filename); + if(nRet == 1) + { + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + } + //The passive mode is supported + else + { + nRet=put_pasv(localpath,filename,recvbuf); + if(nRet == 1) + { + logMessage("\tput_pasv error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + } + + + return nRet; +} + +/* 1-failed, 0-success */ +int ftp_getfile(char *localpath,char *filename) +{ + int nRet; + char sendcmd[512]; + char recvbuf[512]; + + + if(ftp_cmd_sock == -1 || ftp_data_cli_sock != -1) + { + return 1; + } + + sprintf(sendcmd,"PASV\r\n"); + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("send pasv error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + //The passive mode is not supported,try use port mode + if(checkRlyCode(recvbuf,"227") == 1) + { + + logMessage("\trecv 227 error,try use port mode\n"); + nRet=get_port(localpath,filename); + if(nRet == 1) + { + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + } + //The passive mode is supported + else + { + nRet=get_pasv(localpath,filename,recvbuf); + if(nRet == 1) + { + logMessage("\tget_pasv error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + } + + + return nRet; +} + +/* 1-failed, 0-success */ +int ftp_quit() +{ + int nRet; + char sendcmd[512]; + char recvbuf[512]; + + if(ftp_cmd_sock == -1) + { + return 1; + } + sprintf(sendcmd,"QUIT\r\n"); + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("send quit error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"221") == 1) + { + logMessage("\trecv 221 error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + + return 0; +} + + +/***************** Private Function ******************/ +int checkRlyCode(char *src,char *needle) +{ + int i; + int len; + int tryagain; + + len=strlen(needle); + + if(strlen(src) < len) + { + return 1; + } + + tryagain=0; + for(i=0;ih_addr) + sprintf(localip,"%s",inet_ntoa(*((struct in_addr*)host->h_addr))); + + sscanf(localip,"%d.%d.%d.%d",¶m[0],¶m[1],¶m[2],¶m[3]); + + addr_size = sizeof(struct sockaddr_in); + memset(&saSrc,0,addr_size); + nRet=getsockname(ftp_cmd_sock, (struct sockaddr *)&saSrc, &addr_size); + if(nRet == -1) + { + return 1; + } + + sockfd_local = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd_local==-1) + { + return 1; + } + + memset(&saSrc, 0, addr_size); + saSrc.sin_family = AF_INET; + saSrc.sin_port = htons(0); + nRet = bind(sockfd_local,(struct sockaddr *)&saSrc,addr_size); + if (nRet == -1) + { + close(sockfd_local); + return 1; + } + + nRet = listen(sockfd_local,2); + if (nRet == -1) + { + close(sockfd_local); + return 1; + } + + memset(&saSrc, 0, addr_size); + nRet = getsockname(sockfd_local,(struct sockaddr *)&saSrc,&addr_size); + if(nRet == -1) + { + close(sockfd_local); + return 1; + } + + param[4] = ntohs(saSrc.sin_port)/256; + param[5] = ntohs(saSrc.sin_port)%256; + + memset(sendcmd,0,512); + sprintf(sendcmd,"PORT %d,%d,%d,%d,%d,%d\r\n",param[0],param[1],param[2], + param[3],param[4],param[5]); + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + + if(nRet == -1) + { + logMessage("send port error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"200") == 1) + { + logMessage("\trecv 200 error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + getcwd(olddir,256); + if(chdir(localpath) == -1) + { + logMessage("open local dir error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + chdir(olddir); + return 1; + } + + memset(fullfilename,0,512); + sprintf(fullfilename,"%s",localpath); + //strcat(fullfilename,filename); + sprintf(sendcmd,"STOR %s\r\n",filename); + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("send stor error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + memset(&saDest,0,addr_size); + sockfd_remote = accept(sockfd_local,(struct sockaddr *)&saDest,&addr_size); + if(sockfd_remote==-1) + { + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if((0 != ioctl (sockfd_remote, FIONBIO, &arg))) + { + close(sockfd_remote); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if((fp=fopen(filename,"rb"))==NULL) + { + close(sockfd_remote); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + logMessage("open failed\n"); + return 1; + } + + while(1) + { + numread = fread(cbuf, sizeof(char), FTP_BUFSIZE, fp); + if(numread <= 0) + break; + if((numsent = send(sockfd_remote, cbuf, numread, 0))==-1) + break; + if(numread != numsent) + { + logMessage("read failed\n"); + close(sockfd_remote); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + fclose(fp); + return 1; + } + } + chdir(olddir); + fclose(fp); + close(sockfd_remote); + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"150") == 1 && checkRlyCode(recvbuf,"125") == 1) + { + logMessage("\trecv 150 & 125 error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if(strstr(recvbuf,"226") == NULL) + { + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"226") == 1) + { + logMessage("\trecv 226 error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + } + return 0; +} + +int get_pasv(char *localpath,char *filename,char *recvbuf) +{ + char *pstr; + int i; + int portnum; + char remoteipstr[16]; + char tmpstr[512]; + char *p1,*p2; + + + char fullfilename[512]; + struct sockaddr_in addr; + FILE *fp; + char cbuf[FTP_BUFSIZE]; + char sendcmd[512]; + int nRet; + size_t numread,numwrite; + + //get the ip of the remote server + sprintf(tmpstr,"%s",recvbuf); + p1=strchr(tmpstr,'('); + p1++; + p2=p1; + for(i=0;i<4;i++) + { + p1=strchr(p1,','); + if(p1 == NULL) + return 1; + *p1='.'; + } + memset(remoteipstr,0,16); + strncpy(remoteipstr,p2,(int)(p1-p2)); + //logMessage("remoteipstr=%s\n",remoteipstr); + + //get the port num of the remote server + pstr=strchr(recvbuf,'('); + if(pstr == NULL) + return 1; + + for(i=0;i<4;i++) + { + pstr=strchr(pstr,','); + if(pstr == NULL) + return 1; + pstr++; + } + p1=pstr; + portnum=atoi(p1); + p2=strchr(p1,','); + if(p2 == NULL) + return 1; + p2++; + portnum=portnum*256+atoi(p2); + //logMessage("portnum=%d\n",portnum); + + + //connect the server + addr.sin_family=AF_INET; + addr.sin_port=htons(portnum); + addr.sin_addr.s_addr=inet_addr(remoteipstr); + bzero(&(addr.sin_zero),8); + + if((ftp_data_cli_sock=socket(AF_INET,SOCK_STREAM,0))==-1) + { + logMessage("\tdata socket error\n"); + ftp_data_cli_sock=-1; + return 1; + } + ftp_tm.tv_sec = FTP_TIME_OUT; + ftp_tm.tv_usec = 0; + if(setsockopt(ftp_data_cli_sock,SOL_SOCKET,SO_RCVTIMEO,&ftp_tm,sizeof(ftp_tm))==-1) + { + logMessage("\tdata setsockopt error\n"); + close(ftp_data_cli_sock); + ftp_data_cli_sock=-1; + return 1; + } + if(setsockopt(ftp_data_cli_sock,SOL_SOCKET,SO_SNDTIMEO,&ftp_tm,sizeof(ftp_tm))==-1) + { + logMessage("\tdata setsockopt error\n"); + close(ftp_data_cli_sock); + ftp_data_cli_sock=-1; + return 1; + } + if(connect(ftp_data_cli_sock,(struct sockaddr*)&addr,sizeof(struct sockaddr))==-1) + { + logMessage("\tdata connect error\n"); + close(ftp_data_cli_sock); + ftp_data_cli_sock=-1; + return 1; + } + memset(fullfilename,0,512); + sprintf(fullfilename,"%s",localpath); + strcat(fullfilename,filename); + + //logMessage("fullfilename=%s\n",fullfilename); + + memset(sendcmd,0,512); + sprintf(sendcmd,"RETR %s\r\n",filename); + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("send stor error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if((fp=fopen(fullfilename,"wb"))==NULL) + { + close(ftp_data_cli_sock); + ftp_data_cli_sock=-1; + logMessage("open failed\n"); + return 1; + } + + while(1) + { + if(!(numread=recv(ftp_data_cli_sock,cbuf,FTP_BUFSIZE,0)) || numread == -1) + { + break; + } + else + { + numwrite=fwrite(cbuf,sizeof(char),numread,fp); + } + //logMessage("numwrite=%d,numread=%d\n",numwrite,numread); + if(numwrite != numread) + { + close(ftp_data_cli_sock); + ftp_data_cli_sock=-1; + fclose(fp); + return 1; + } + } + fclose(fp); + close(ftp_data_cli_sock); + ftp_data_cli_sock=-1; + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"150") == 1 && checkRlyCode(recvbuf,"125") == 1) + { + logMessage("\trecv 150 & 125 error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if(strstr(recvbuf,"226") == NULL) + { + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"226") == 1) + { + logMessage("\trecv 226 error\n"); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + } + + return 0; +} + +int get_port(char *localpath,char *filename) +{ + char fullfilename[512]; + FILE *fp; + char cbuf[FTP_BUFSIZE]; + char sendcmd[512]; + int nRet; + size_t numwrite,numread; + + int sockfd_remote; + int sockfd_local; + socklen_t addr_size; + char recvbuf[512]; + char localip[32]={'\0'}; + struct hostent* host; + int param[6]; + + struct sockaddr_in saSrc; + struct sockaddr_in saDest; + unsigned long arg = 0; + char olddir[256]; + + //Get local ip + memset(localip,0,32); + gethostname(localip,32); + host=gethostbyname(localip); + if(host->h_addr) + sprintf(localip,"%s",inet_ntoa(*((struct in_addr*)host->h_addr))); + + sscanf(localip,"%d.%d.%d.%d",¶m[0],¶m[1],¶m[2],¶m[3]); + //logMessage("localip=%s\n",localip); + + addr_size = sizeof(struct sockaddr_in); + memset(&saSrc,0,addr_size); + nRet=getsockname(ftp_cmd_sock, (struct sockaddr *)&saSrc, &addr_size); + if(nRet == -1) + { + return 1; + } + + sockfd_local = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd_local==-1) + { + return 1; + } + + memset(&saSrc, 0, addr_size); + saSrc.sin_family = AF_INET; + saSrc.sin_port = htons(0); + nRet = bind(sockfd_local,(struct sockaddr *)&saSrc,addr_size); + if (nRet == -1) + { + close(sockfd_local); + return 1; + } + + nRet = listen(sockfd_local,2); + if (nRet == -1) + { + close(sockfd_local); + return 1; + } + + memset(&saSrc, 0, addr_size); + nRet = getsockname(sockfd_local,(struct sockaddr *)&saSrc,&addr_size); + if(nRet == -1) + { + close(sockfd_local); + return 1; + } + + param[4] = ntohs(saSrc.sin_port)/256; + param[5] = ntohs(saSrc.sin_port)%256; + + memset(sendcmd,0,512); + sprintf(sendcmd,"PORT %d,%d,%d,%d,%d,%d\r\n",param[0],param[1],param[2], + param[3],param[4],param[5]); + + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("send port error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"200") == 1) + { + logMessage("\trecv 200 error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + getcwd(olddir,256); + if(chdir(localpath) == -1) + { + logMessage("open local dir error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + chdir(olddir); + return 1; + } + + memset(fullfilename,0,512); + sprintf(fullfilename,"%s",localpath); + //strcat(fullfilename,filename); + sprintf(sendcmd,"RETR %s\r\n",filename); + nRet=send(ftp_cmd_sock,sendcmd,strlen(sendcmd),0); + logMessage("send:%s\n",sendcmd); + if(nRet == -1) + { + logMessage("send retr error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + memset(&saDest, 0, addr_size); + sockfd_remote = accept(sockfd_local,(struct sockaddr *)&saDest,&addr_size); + if(sockfd_remote==-1) + { + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if((0 != ioctl (sockfd_remote, FIONBIO, &arg))) + { + close(sockfd_remote); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if((fp=fopen(filename,"wb"))==NULL) + { + close(sockfd_remote); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + logMessage("open failed\n"); + return 1; + } + + while(1) + { + if(!(numread=recv(sockfd_remote,cbuf,FTP_BUFSIZE,0)) || numread == -1) + { + break; + } + else + { + numwrite=fwrite(cbuf,sizeof(char),numread,fp); + } + //logMessage("numwrite=%d,numread=%d\n",numwrite,numread); + if(numwrite != numread) + { + close(sockfd_remote); + sockfd_remote=-1; + fclose(fp); + return 1; + } + } + chdir(olddir); + fclose(fp); + close(sockfd_remote); + + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"150") == 1 && checkRlyCode(recvbuf,"125") == 1) + { + logMessage("\trecv 150 & 125 error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + + if(strstr(recvbuf,"226") == NULL) + { + memset(recvbuf,0,512); + recv(ftp_cmd_sock,recvbuf,512,0); + logMessage("recv:%s\n",recvbuf); + if(checkRlyCode(recvbuf,"226") == 1) + { + logMessage("\trecv 226 error\n"); + close(sockfd_local); + close(ftp_cmd_sock); + ftp_cmd_sock=-1; + return 1; + } + } + + return 0; +} + + +void logMessage(char *fmt,...) +{ +#if FTP_DEBUG + va_list arg_ptr; + va_start(arg_ptr,fmt); + vprintf(fmt,arg_ptr); + va_end(arg_ptr); +#endif +} + + diff --git a/src/omcLib/c_program/ftp/ftp.h b/src/omcLib/c_program/ftp/ftp.h new file mode 100644 index 0000000..1ba0508 --- /dev/null +++ b/src/omcLib/c_program/ftp/ftp.h @@ -0,0 +1,45 @@ +#ifndef _FTP_H_ +#define _FTP_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* by simon at 23/9/25*/ +//#include +#include +#include +/***************** Define Variables ******************/ +#define FTP_PORT 21 +#define FTP_TIME_OUT 120 +#define FTP_BUFSIZE 4096 + + +#ifndef FTP_DEBUG + #define FTP_DEBUG 0 +#endif + +/***************** Public Functions ******************/ +int ftp_open(char *remoteip); +int ftp_login(char *username,char *userpass); +int ftp_cwd(char *remotepath); +int ftp_putfile(char *localpath,char *filename); +int ftp_getfile(char *localpath,char *filename); +int ftp_quit(); + + +#endif diff --git a/src/omcLib/c_program/ftp/ftpclient.c b/src/omcLib/c_program/ftp/ftpclient.c new file mode 100644 index 0000000..55906ed --- /dev/null +++ b/src/omcLib/c_program/ftp/ftpclient.c @@ -0,0 +1,85 @@ +#include +#include "ftp.h" + +int main() +{ + int i; + int nRet; + + for(i=0;i<1000;i++) + { + nRet=0; + nRet=ftp_open("172.54.242.98"); + if(nRet==1) + continue; + nRet=ftp_login("www","123456"); + if(nRet==1) + continue; + + + //recv file 1 + nRet=ftp_cwd("/tmp/recv/"); + if(nRet==1) + continue; + + nRet=ftp_getfile("/tmp/recv/","recvfrom98.txt"); + if(nRet==1) + continue; + + nRet=ftp_putfile("/tmp/recv/","recvfrom128.txt"); + if(nRet==1) + continue; + + //recv file 2 + nRet=ftp_cwd("/tmp/send/"); + if(nRet==1) + continue; + + nRet=ftp_getfile("/tmp/send/","sendfrom98.txt"); + if(nRet==1) + continue; + + nRet=ftp_putfile("/tmp/send/","sendfrom128.txt"); + if(nRet==1) + continue; + + /* + nRet=ftp_putfile("/tmp/","timezone.txt"); + if(nRet==1) + continue; + */ + + /* + nRet=ftp_putfile("/usr/local/omc/src/performanceMgr/c_program/test/","mytest2.txt"); + if(nRet==1) + continue; + nRet=ftp_putfile("/usr/local/omc/src/performanceMgr/c_program/test/","mytest3.txt"); + if(nRet==1) + continue; + nRet=ftp_putfile("/usr/local/omc/src/performanceMgr/c_program/test/","mytest4.txt"); + if(nRet==1) + continue; + nRet=ftp_putfile("/usr/local/omc/src/performanceMgr/c_program/test/","mytest5.txt"); + if(nRet==1) + continue; + nRet=ftp_putfile("/usr/local/omc/src/performanceMgr/c_program/test/","mytest6.txt"); + if(nRet==1) + continue; + nRet=ftp_putfile("/usr/local/omc/src/performanceMgr/c_program/test/","mytest7.txt"); + if(nRet==1) + continue; + nRet=ftp_putfile("/usr/local/omc/src/performanceMgr/c_program/test/","mytest8.txt"); + if(nRet==1) + continue; + nRet=ftp_putfile("/usr/local/omc/src/performanceMgr/c_program/test/","mytest9.txt"); + if(nRet==1) + continue; + nRet=ftp_putfile("/usr/local/omc/src/performanceMgr/c_program/test/","mytest10.txt"); + if(nRet==1) + continue; + */ + ftp_quit(); + sleep(2); + } + return 0; +} diff --git a/src/omcLib/c_program/omcLib/Makefile b/src/omcLib/c_program/omcLib/Makefile new file mode 100644 index 0000000..837cfbf --- /dev/null +++ b/src/omcLib/c_program/omcLib/Makefile @@ -0,0 +1,80 @@ +#!/bin/sh + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall + +dbINCLUDE_FLAGS = -I/usr/local/mysql/include +#dbINCLUDE_FLAGS.ES = -I/usr/include/mariadb +dbINCLUDE_FLAGS.ES = -I/usr/include/mariadb + +dbLib = -L/usr/local/mysql/lib -lmariadbclient -lz +dbLib.ES = -L/opt/lampp/lib/mysql -lmariadbclient -lssl -lz -ldl -lcrypto -pthread -lm + +publicLib = -L../../../../plat/public/lib -lpublic +LIB_FLAGS = $(publicLib) + +LINK_SUFFIX = $(dbINCLUDE_FLAGS) $(LIB_FLAGS) ${dbLib} +LINK_SUFFIX.ES = $(dbINCLUDE_FLAGS.ES) $(LIB_FLAGS) ${dbLib.ES} + +PROGS = omcLibTest + +BIN_OBJ = omcLibMain.o omcFuncLib.o omcDbLib.o mib_parse.o +BIN_OBJ.ES = omcLibMain.o.ES omcFuncLib.o.ES omcDbLib.o.ES mib_parse.o.ES + +LIB_OBJ = omcFuncLib.o omcDbLib.o mib_parse.o +LIB_OBJ.ES = omcFuncLib.o.ES omcDbLib.o.ES mib_parse.o.ES + +default: linuxES + +all: + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(BIN_OBJ) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(BIN_OBJ) $(LINK_SUFFIX) + rm -f *.a + ar r libomcLib.a $(LIB_OBJ) + rm -f *.o core *~ + +linuxES: $(BIN_OBJ.ES) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(BIN_OBJ) $(LINK_SUFFIX.ES) + # rm -f *.a + ar r libomcLib.a $(LIB_OBJ) + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +omcLibMain.o: omcLibMain.c omcLib.h + $(CC) $(CFLAGS) -c omcLibMain.c $(dbINCLUDE_FLAGS) + +omcFuncLib.o: omcFuncLib.c omcFuncLib.h + $(CC) $(CFLAGS) -c omcFuncLib.c + +omcDbLib.o: omcDbLib.c omcDbLib.h + $(CC) $(CFLAGS) -c omcDbLib.c $(dbINCLUDE_FLAGS) + +mib_parse.o: mib_parse.c mib_parse.h + $(CC) $(CFLAGS) -c mib_parse.c $(dbINCLUDE_FLAGS) + +omcLibMain.o.ES: omcLibMain.c omcLib.h + $(CC) $(CFLAGS) -c omcLibMain.c $(dbINCLUDE_FLAGS.ES) + +omcFuncLib.o.ES: omcFuncLib.c omcFuncLib.h + $(CC) $(CFLAGS) -c omcFuncLib.c + +omcDbLib.o.ES: omcDbLib.c omcDbLib.h + $(CC) $(CFLAGS) -c omcDbLib.c $(dbINCLUDE_FLAGS.ES) + +mib_parse.o.ES: mib_parse.c mib_parse.h + $(CC) $(CFLAGS) -c mib_parse.c $(dbINCLUDE_FLAGS) + +clean: + rm -f *.o *.a $(PROGS) diff --git a/src/omcLib/c_program/omcLib/mib_parse.c b/src/omcLib/c_program/omcLib/mib_parse.c new file mode 100644 index 0000000..aedb323 --- /dev/null +++ b/src/omcLib/c_program/omcLib/mib_parse.c @@ -0,0 +1,1774 @@ +#include "mib_parse.h" + +static _line_mark line_mark; +static _mib_file_info mib_file_info; +static _mib_parse_mng mib_parse_mng; +static _import_obj import_obj; + +static int parse_word(_line_mark *line_mark,int flag); +static void free_t_node(_node_t *node); + +int set_mib_directory(char *dir) +{ + int len; + + if(access(dir,F_OK) != 0) + { + printf("Directory %s do not exists\n",dir); + return 0; + } + sprintf(mib_directory,"%s",dir); + + len=strlen(mib_directory); + if(mib_directory[len-1] == '/') + mib_directory[len-1]=0; + return 1; +} + +static int store_mib_object_flag=0; +static int prefix_oidlen=0; +static int global_hookvalue=0; +void set_prefix_oid_length(int poidlen) +{ + prefix_oidlen=poidlen; +} +int load_mib_file(char *filename,int flag,int hookvalue) +{ + FILE *handle; + char fullfilename[128]; + char readchar; + +#if OUTPUT == 1 + printf("---------------------------- FILE: %s -----------------------------\n",filename); +#endif + store_mib_object_flag=flag; + global_hookvalue=hookvalue; + sprintf(fullfilename,"%s/%s",mib_directory,filename); + handle=fopen(fullfilename,"r"); + if(handle == NULL) + { + printf("Load mib file %s fail\n",fullfilename); + return 0; + } + + memset(&line_mark,0,sizeof(line_mark)); + memset(&mib_file_info,0,sizeof(mib_file_info)); + memset(&mib_parse_mng,0,sizeof(mib_parse_mng)); + + while(1 == fread(&readchar,1,1,handle)) + { + line_mark.punctuate_flag=1; + if(readchar != '"' && line_mark.double_quote_flag) + { + if(line_mark.previous_quote_content_pos < 8191) + line_mark.previous_quote_content[line_mark.previous_quote_content_pos]=readchar; + line_mark.previous_quote_content_pos++; + continue; + } + + if(readchar != '\n' && line_mark.comment_flag) + continue; + switch(readchar) + { + case '-': + if(line_mark.previous_char == '-') + { + line_mark.comment_flag=1; + line_mark.current_line_word_count=0; + } + else + { + line_mark.punctuate_flag=0; + } + + break; + case ' ': + case '\t': + if(line_mark.previous_blank_char_count) + { + line_mark.previous_blank_char_count++; + break; + } + break; + case '\'': + line_mark.single_quote_flag++; + line_mark.single_quote_flag%=2; + break; + case '"': + line_mark.double_quote_flag++; + line_mark.double_quote_flag%=2; + if(line_mark.double_quote_flag == 0) + { + if(line_mark.previous_quote_content_pos < 8191) + line_mark.previous_quote_content[line_mark.previous_quote_content_pos]=0; + //printf("desc: %s\n",line_mark.previous_quote_content); + if(!parse_word(&line_mark,1)) + return 0; + line_mark.previous_quote_content_pos=0; + } + break; + case '\n': + line_mark.comment_flag=0; + line_mark.line_no++; + break; + case '(': + line_mark.bracket_count++; + break; + case ')': + line_mark.bracket_count--; + if(line_mark.bracket_count < 0) + { + printf("\nSyntax error[line %d], there is a '(' sign can not match\n",line_mark.line_no); + fclose(handle); + return 0; + } + break; + case '{': + if(line_mark.brace_flag) + { + printf("\nSyntax error[line %d], there is a '{' sign can not match\n",line_mark.line_no); + fclose(handle); + return 0; + } + line_mark.brace_flag=1; + + if(line_mark.previous_word_pos > 1) + { + line_mark.previous_word[line_mark.previous_word_pos]=0; + if(!parse_word(&line_mark,0)) + return 0; + line_mark.previous_word_pos=0; + line_mark.current_line_word_count++; + } + + line_mark.previous_word[0]=readchar; + line_mark.previous_word[1]=0; + if(!parse_word(&line_mark,0)) + return 0; + line_mark.previous_word_pos=0; + line_mark.current_line_word_count++; + + break; + case '}': + if(!line_mark.brace_flag) + { + printf("\nSyntax error[line %d], there is a '}' sign can not match\n",line_mark.line_no); + fclose(handle); + return 0; + } + line_mark.brace_flag=0; + + if(line_mark.previous_word_pos > 1) + { + line_mark.previous_word[line_mark.previous_word_pos]=0; + if(!parse_word(&line_mark,0)) + return 0; + line_mark.previous_word_pos=0; + line_mark.current_line_word_count++; + } + + line_mark.previous_word[0]=readchar; + line_mark.previous_word[1]=0; + if(!parse_word(&line_mark,0)) + return 0; + line_mark.previous_word_pos=0; + line_mark.current_line_word_count++; + + break; + case ',': + case ';': + case '|': + if(line_mark.previous_word_pos > 1) + { + line_mark.previous_word[line_mark.previous_word_pos]=0; + if(!parse_word(&line_mark,0)) + return 0; + line_mark.previous_word_pos=0; + line_mark.current_line_word_count++; + } + + line_mark.previous_word[0]=readchar; + line_mark.previous_word[1]=0; + if(!parse_word(&line_mark,0)) + return 0; + line_mark.previous_word_pos=0; + line_mark.current_line_word_count++; + break; + default: + line_mark.punctuate_flag=0; + if(line_mark.previous_char == '-') + { + line_mark.previous_word[line_mark.previous_word_pos]='-'; + line_mark.previous_word_pos++; + } + + line_mark.previous_word[line_mark.previous_word_pos]=readchar; + line_mark.previous_word_pos++; + + + break; + } + + if(line_mark.previous_char == '\n') + line_mark.current_line_word_count=0; + + if(line_mark.punctuate_flag) + { + line_mark.previous_word[line_mark.previous_word_pos]=0; + if(line_mark.previous_word_pos) + { + //printf("word[%d]: %s\n",line_mark.current_line_word_count,line_mark.previous_word); + if(!parse_word(&line_mark,0)) + return 0; + line_mark.current_line_word_count++; + } + line_mark.previous_word_pos=0; + } + line_mark.previous_char=readchar; + } + + fclose(handle); + + if(!parse_mib()) + { + printf("Critical error:parse_mib error\n"); + return 0; + } + //printf("==============list object id %s=========\n",filename); + //list_object_id(); + find_last_file_oid(); + if(store_mib_object_flag) + free_last_file_object_node(); + free_word_node(); + return 1; +} + +/* +flag +0-normal word +1-desc word +*/ +int parse_word(_line_mark *line_mark,int flag) +{ + _word_t *pword; + int index,len,clen; + //skip the all blank word + len=strlen(line_mark->previous_word); + clen=0; + if(flag == 0) + { + for(index=0;indexprevious_word[index])) + { + line_mark->previous_word[index]=0; + break; + } + else + { + clen++; + } + + } + if(clen == 0) + return 1; + } + + pword=calloc(sizeof(_word_t),1); + if(pword == NULL) + { + printf("parse_word:calloc fail for word\n"); + return 0; + } + + + if(flag == 0) + { + pword->word=calloc(len+1,1); + if(pword->word == NULL) + { + printf("parse_word:calloc fail for word content\n"); + return 0; + } + + sprintf(pword->word,"%s",line_mark->previous_word); + pword->line_no=line_mark->line_no; + add_word_node(pword); + + //printf("word[%d]: %s\n",line_mark->current_line_word_count,line_mark->previous_word); + } + else + { + len=strlen(line_mark->previous_quote_content); + pword->word=calloc(len+1,1); + if(pword->word == NULL) + { + printf("parse_word:calloc fail for word content\n"); + return 0; + } + sprintf(pword->word,"%s",line_mark->previous_quote_content); + pword->line_no=line_mark->line_no; + add_word_node(pword); + //printf("desc[%d]: %s\n",line_mark->current_line_word_count,line_mark->previous_quote_content); + } + + return 1; +} + +static _word_node_link word_node_link; +static _object_node_link object_node_link; +int parse_mib() +{ + MIB_OBJECT *mib_object; + struct _word_node_t *node; + static _object_identifier_t *pobject_identifier=NULL; + static _replace_type_t *replace_type=NULL; + char tmpstr[512]; + char *pwordstr1,*pwordstr2,*pwordstr3,*pwordstr; + char *nwordstr1,*nwordstr2,*nwordstr3; + int index; + int tmpi; + unsigned long line_no; + + + node=word_node_link.head; + while(node) + { + //printf("%ld: %s\n",node->data->line_no,node->data->word); + pwordstr=node->data->word; + line_no=node->data->line_no; + + switch(mib_parse_mng.parse_state) + { + case PARSE_STATE_UNCERTAIN: + + if(strcmp(pwordstr,ASSIGN_SIGN) == 0) + { + pwordstr1=get_prev_word(node,1); + pwordstr2=get_prev_word(node,2); + pwordstr3=get_prev_word(node,3); + //printf("word1=%s,word2=%s,word3=%s\n",pwordstr1,pwordstr2,pwordstr3); + if((pwordstr1 != NULL) && (strcmp(pwordstr1,"IDENTIFIER") == 0) && (pwordstr2 != NULL) && (strcmp(pwordstr2,"OBJECT") == 0)) + { + pobject_identifier=calloc(sizeof(_object_identifier_t),1); + if(pobject_identifier == NULL) + { + printf("calloc error[%ld],OBJECT IDENTIFIER\n",line_no); + return 0; + } + sprintf(pobject_identifier->name,"%s",pwordstr3); + + mib_parse_mng.parse_state=PARSE_STATE_OBJECT_IDENTIFIER; + mib_parse_mng.parse_block_state=PARSE_OBJECT_ID_START; + } + else if((pwordstr1 != NULL) && (strcmp(pwordstr1,"MACRO") == 0)) + { +#if OUTPUT == 1 + printf("[MACRO: %s]\n",pwordstr2); +#endif + mib_parse_mng.parse_state=PARSE_STATE_MRCRO; + mib_parse_mng.parse_block_state=PARSE_MACRO_STATE_BEGIN; + } + } + else if(strcmp(pwordstr,"IMPORTS") == 0) + { + mib_parse_mng.parse_state=PARSE_STATE_IMPORT; + mib_parse_mng.parse_block_state=PARSE_IMPORT_STATE_WORD; + memset(&import_obj,0,sizeof(import_obj)); + } + else if(strcmp(pwordstr,"MODULE-IDENTITY") == 0) + { + pwordstr1=get_prev_word(node,1); + pobject_identifier=calloc(sizeof(_object_identifier_t),1); + if(pobject_identifier == NULL) + { + printf("calloc error[%ld],MODULE-IDENTITY\n",line_no); + return 0; + } + sprintf(pobject_identifier->name,"%s",pwordstr1); + mib_parse_mng.parse_state=PARSE_STATE_MODULE_IDENTITY; + mib_parse_mng.parse_block_state=PARSE_MODULE_IDENTITY_STATE_SIGN; + } + else if(strcmp(pwordstr,"INTEGER") == 0) + { + pwordstr1=get_prev_word(node,1); + pwordstr2=get_prev_word(node,2); + if((pwordstr1 != NULL) && strcmp(pwordstr1,ASSIGN_SIGN) == 0) + { + replace_type=calloc(sizeof(_replace_type_t),1); + if(replace_type == NULL) + { + printf("calloc error[%ld],INTEGER\n",line_no); + return 0; + } + replace_type->type=INTEGER_ENUM_TYPE; + sprintf(replace_type->type_name,"%s",pwordstr2); + mib_parse_mng.parse_state=PARSE_STATE_INTEGER; + mib_parse_mng.parse_block_state=PARSE_INTEGER_STATE_START; + } + } + else if(strcmp(pwordstr,"TEXTUAL-CONVENTION") == 0) + { + pwordstr1=get_prev_word(node,1); + pwordstr2=get_prev_word(node,2); + if((pwordstr1 != NULL) && strcmp(pwordstr1,ASSIGN_SIGN) == 0) + { + replace_type=calloc(sizeof(_replace_type_t),1); + if(replace_type == NULL) + { + printf("calloc error[%ld],TEXTUAL-CONVENTION\n",line_no); + return 0; + } + sprintf(replace_type->type_name,"%s",pwordstr2); + mib_parse_mng.parse_state=PARSE_STATE_TEXTUAL_CONVENTION; + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_SYNTAX; + } + } + else if(strcmp(pwordstr,"OBJECT-TYPE") == 0) + { + pwordstr1=get_prev_word(node,1); + nwordstr1=get_next_word(node,1); + if(strcmp(nwordstr1,"MACRO") == 0) + break; + if(pwordstr1 != NULL) + { + mib_object=calloc(sizeof(MIB_OBJECT),1); + if(mib_object == NULL) + { + printf("calloc error[%ld], OBJECT-TYPE\n",line_no); + return 0; + } + sprintf(mib_object->name,"%s",pwordstr1); + sprintf(mib_object->minvalue,"0"); + sprintf(mib_object->maxvalue,"0"); + mib_parse_mng.parse_state=PARSE_STATE_OBJECT_TYPE; + mib_parse_mng.parse_block_state=PARSE_OBJECT_TYPE_STATE_SYNTAX; + } + } + break; + case PARSE_STATE_OBJECT_IDENTIFIER: + switch(mib_parse_mng.parse_block_state) + { + case PARSE_OBJECT_ID_START: + if(strcmp(pwordstr,"{") == 0) + { + mib_parse_mng.parse_block_state=PARSE_OBJECT_ID_PNAME; + } + else + { + printf("Syntax error[%ld]:miss '{'\n",line_no); + return 0; + } + break; + case PARSE_OBJECT_ID_PNAME: + sprintf(pobject_identifier->pname,"%s",pwordstr); + mib_parse_mng.parse_block_state=PARSE_OBJECT_ID_OID; + break; + case PARSE_OBJECT_ID_OID: + pobject_identifier->oid=atoi(pwordstr); + if(pobject_identifier->oid == 0) + { + printf("Wrong OID[%ld]\n",line_no); + return 0; + } + if(store_mib_object_flag) + pobject_identifier->file_index=1; + add_object_node(pobject_identifier); + mib_parse_mng.parse_block_state=PARSE_OBJECT_ID_FINISH; + if(store_mib_object_flag) + { + mib_object=calloc(sizeof(MIB_OBJECT),1); + if(mib_object == NULL) + { + printf("calloc fail for MIB OBJECT\n"); + return 0; + } + mib_object->type=VALUETYPE_OTHER; + sprintf(mib_object->minvalue,"0"); + sprintf(mib_object->maxvalue,"0"); + sprintf(mib_object->name,"%s",pobject_identifier->name); + mib_object->need_find_oid=1; + mib_object->hookvalue=global_hookvalue; + add_mib_object_node(mib_object); + //print_object(mib_object); + } + +#if OUTPUT == 1 + printf("[OBJECT IDENTIFIER: name=%s, pname=%s, oid=%d]\n",pobject_identifier->name,pobject_identifier->pname,pobject_identifier->oid); +#endif + break; + case PARSE_OBJECT_ID_FINISH: + if(strcmp(pwordstr,"}") == 0) + { + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + } + else + { + printf("Syntax error[%ld]:miss '}'\n",line_no); + return 0; + } + break; + } + break; + case PARSE_STATE_IMPORT: + switch(mib_parse_mng.parse_block_state) + { + case PARSE_IMPORT_STATE_WORD: + if(strcasecmp(pwordstr,",") == 0) + { + mib_parse_mng.parse_block_state=PARSE_IMPORT_STATE_COMMA; + } + else if(strcasecmp(pwordstr,"FROM") == 0) + { + mib_parse_mng.parse_block_state=PARSE_IMPORT_STATE_FROM; + } + else + { + sprintf(import_obj.import_word[import_obj.word_index],"%s",pwordstr); + import_obj.word_index++; + } + break; + case PARSE_IMPORT_STATE_COMMA: + sprintf(import_obj.import_word[import_obj.word_index],"%s",pwordstr); + import_obj.word_index++; + mib_parse_mng.parse_block_state=PARSE_IMPORT_STATE_WORD; + break; + case PARSE_IMPORT_STATE_FROM: + for(index=import_obj.file_index;indexpname,"%s",pwordstr); + mib_parse_mng.parse_block_state=PARSE_MODULE_IDENTITY_STATE_OID; + break; + case PARSE_MODULE_IDENTITY_STATE_OID: + pobject_identifier->oid=atoi(pwordstr); + if(store_mib_object_flag) + pobject_identifier->file_index=1; + add_object_node(pobject_identifier); + mib_parse_mng.parse_block_state=PARSE_MODULE_IDENTITY_STATE_FINISH; + + if(store_mib_object_flag) + { + mib_object=calloc(sizeof(MIB_OBJECT),1); + if(mib_object == NULL) + { + printf("calloc fail for MIB OBJECT\n"); + return 0; + } + mib_object->type=VALUETYPE_OTHER; + sprintf(mib_object->name,"%s",pobject_identifier->name); + sprintf(mib_object->minvalue,"0"); + sprintf(mib_object->maxvalue,"0"); + mib_object->need_find_oid=1; + mib_object->hookvalue=global_hookvalue; + add_mib_object_node(mib_object); + //print_object(mib_object); + } + +#if OUTPUT == 1 + printf("[MODULE-IDENTITY: name=%s, pname=%s, oid=%d]\n",pobject_identifier->name,pobject_identifier->pname,pobject_identifier->oid); +#endif + break; + case PARSE_MODULE_IDENTITY_STATE_FINISH: + if(strcmp(pwordstr,"}") == 0) + { + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + } + else + { + printf("Syntax error[%ld]:miss '}'\n",line_no); + return 0; + } + break; + } + break; + case PARSE_STATE_INTEGER: + switch(mib_parse_mng.parse_block_state) + { + case PARSE_INTEGER_STATE_START: + if(strcmp(pwordstr,"{") == 0) + { + mib_parse_mng.parse_block_state=PARSE_INTEGER_STATE_LABEL; + } + else if(strstr(pwordstr,"..")) + { + replace_type->type=INTEGER_RANGE_TYPE; + parse_range(pwordstr,replace_type->start_range,replace_type->end_range); +#if OUTPUT == 1 + printf("[INTEGER: type=%d, name=%s, start=%s, end=%s, desc=%s]\n",replace_type->type,replace_type->type_name,replace_type->start_range,replace_type->end_range,replace_type->replacing_type_desc); +#endif + add_replace_node(replace_type); + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + } + else + { + if(is_digit_string(pwordstr)) + { + sprintf(replace_type->start_range,"%s",pwordstr); + sprintf(replace_type->end_range,"%s",pwordstr); + } + else + { + sprintf(replace_type->start_range,"0"); + sprintf(replace_type->end_range,"2147483647"); + } + replace_type->type=INTEGER_RANGE_TYPE; + add_replace_node(replace_type); +#if OUTPUT == 1 + printf("[INTEGER: type=%d, name=%s, start=%s, end=%s, desc=%s]\n",replace_type->type,replace_type->type_name,replace_type->start_range,replace_type->end_range,replace_type->replacing_type_desc); +#endif + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + } + break; + case PARSE_INTEGER_STATE_LABEL: + if(strcmp(pwordstr,"}") == 0) + { + replace_type->replacing_type_desc[strlen(replace_type->replacing_type_desc)-1]=0; + add_replace_node(replace_type); + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; +#if OUTPUT == 1 + printf("[INTEGER: type=%d, name=%s, start=%s, end=%s, desc=%s]\n",replace_type->type,replace_type->type_name,replace_type->start_range,replace_type->end_range,replace_type->replacing_type_desc); +#endif + } + else if(strcmp(pwordstr,",") == 0) + { + mib_parse_mng.parse_block_state=PARSE_INTEGER_STATE_LABEL; + } + else + { + mib_parse_mng.parse_block_state=PARSE_INTEGER_STATE_VALUE; + sprintf(tmpstr,"%s=",pwordstr); + strcat(replace_type->replacing_type_desc,tmpstr); + } + break; + case PARSE_INTEGER_STATE_VALUE: + sprintf(tmpstr,"%s;",pwordstr); + strcat(replace_type->replacing_type_desc,tmpstr); + mib_parse_mng.parse_block_state=PARSE_INTEGER_STATE_LABEL; + break; + } + break; + case PARSE_STATE_TEXTUAL_CONVENTION: + switch(mib_parse_mng.parse_block_state) + { + case PARSE_TEXTUAL_STATE_SYNTAX: + if(strcmp(pwordstr,"MACRO") == 0) + { + free(replace_type); + replace_type=NULL; + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + } + else if(strcmp(pwordstr,"SYNTAX") == 0) + { + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_CHECK; + } + break; + case PARSE_TEXTUAL_STATE_CHECK: + if(strcmp(pwordstr,"INTEGER") == 0) + { + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_INTEGER_CHECK; + } + else if(strcmp(pwordstr,"OCTET") == 0) + { + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_OCTET_STRING; + replace_type->type=OCTET_STRING_TYPE; + } + else + { + nwordstr1=get_next_word(node,1); + replace_type->type=UNKNOWN_TYPE; + if(strcmp(pwordstr,"OBJECT") == 0 && (nwordstr1 != NULL)) + sprintf(replace_type->replacing_type_desc,"%s %s",pwordstr,nwordstr1); + else + sprintf(replace_type->replacing_type_desc,"%s",pwordstr); + add_replace_node(replace_type); +#if OUTPUT == 1 + printf("[TEXTUAL CONVENTION, UNKNOWN: name=%s, desc=%s]\n",replace_type->type_name,replace_type->replacing_type_desc); +#endif + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + } + break; + case PARSE_TEXTUAL_STATE_INTEGER_CHECK: + if(strcmp(pwordstr,"{") == 0) + { + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_INTEGER_LABEL; + replace_type->type=INTEGER_ENUM_TYPE; + } + else if(strstr(pwordstr,"..")) + { + //0..2123123123 + replace_type->type=INTEGER_RANGE_TYPE; + parse_range(pwordstr,replace_type->start_range,replace_type->end_range); + add_replace_node(replace_type); + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; +#if OUTPUT == 1 + printf("[TEXTUAL CONVENTION, INTEGER: type=%d, name=%s, start=%s, end=%s]\n",replace_type->type,replace_type->type_name,replace_type->start_range,replace_type->end_range); +#endif + } + else + { + if(is_digit_string(pwordstr)) + { + sprintf(replace_type->start_range,"%s",pwordstr); + sprintf(replace_type->end_range,"%s",pwordstr); + } + else + { + sprintf(replace_type->start_range,"0"); + sprintf(replace_type->end_range,"2147483647"); + } + replace_type->type=INTEGER_RANGE_TYPE; + add_replace_node(replace_type); +#if OUTPUT == 1 + printf("[TEXTUAL CONVENTION, INTEGER: type=%d, name=%s, start=%s, end=%s]\n",replace_type->type,replace_type->type_name,replace_type->start_range,replace_type->end_range); +#endif + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + } + break; + case PARSE_TEXTUAL_STATE_INTEGER_LABEL: + if(strcmp(pwordstr,"}") == 0) + { + replace_type->replacing_type_desc[strlen(replace_type->replacing_type_desc)-1]=0; + add_replace_node(replace_type); + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; +#if OUTPUT == 1 + printf("[TEXTUAL CONVENTION, INTEGER: type=%d, name=%s, desc=%s]\n",replace_type->type,replace_type->type_name,replace_type->replacing_type_desc); +#endif + } + else if(strcmp(pwordstr,",") == 0) + { + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_INTEGER_LABEL; + } + else + { + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_INTEGER_VALUE; + sprintf(tmpstr,"%s=",pwordstr); + strcat(replace_type->replacing_type_desc,tmpstr); + } + break; + case PARSE_TEXTUAL_STATE_INTEGER_VALUE: + sprintf(tmpstr,"%s;",pwordstr); + strcat(replace_type->replacing_type_desc,tmpstr); + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_INTEGER_LABEL; + break; + case PARSE_TEXTUAL_STATE_OCTET_STRING: + if(strcmp(pwordstr,"STRING") == 0) + { + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_SIZE; + } + else + { + printf("Syntax error[%ld]:miss 'STRING'\n",line_no); + return 0; + } + break; + case PARSE_TEXTUAL_STATE_SIZE: + if(strcmp(pwordstr,"SIZE") == 0) + { + mib_parse_mng.parse_block_state=PARSE_TEXTUAL_STATE_RANGE; + } + else + { + sprintf(replace_type->start_range,"0"); + sprintf(replace_type->end_range,"255"); + add_replace_node(replace_type); +#if OUTPUT == 1 + printf("[TEXTUAL CONVENTION, OCTET STRING: name=%s, start=%s,end=%s]\n",replace_type->type_name,replace_type->start_range,replace_type->end_range); +#endif + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + } + break; + case PARSE_TEXTUAL_STATE_RANGE: + if(strstr(pwordstr,"..")) + { + parse_range(pwordstr,replace_type->start_range,replace_type->end_range); + add_replace_node(replace_type); +#if OUTPUT == 1 + printf("[TEXTUAL CONVENTION, OCTET STRING: name=%s, start=%s,end=%s]\n",replace_type->type_name,replace_type->start_range,replace_type->end_range); +#endif + } + else + { + if(is_digit_string(pwordstr)) + { + sprintf(replace_type->start_range,"%s",pwordstr); + sprintf(replace_type->end_range,"%s",pwordstr); + } + else + { + sprintf(replace_type->start_range,"0"); + sprintf(replace_type->end_range,"255"); + } +#if OUTPUT == 1 + printf("[TEXTUAL CONVENTION, OCTET STRING: name=%s, start=%s,end=%s]\n",replace_type->type_name,replace_type->start_range,replace_type->end_range); +#endif + add_replace_node(replace_type); + } + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + break; + } + break; + case PARSE_STATE_OBJECT_TYPE: + switch(mib_parse_mng.parse_block_state) + { + case PARSE_OBJECT_TYPE_STATE_SYNTAX: + if(strcmp(pwordstr,"SYNTAX") == 0) + { + mib_parse_mng.parse_block_state=PARSE_OBJECT_TYPE_STATE_CHECK; + } + else + { + printf("Syntax error[%ld],miss 'SYNTAX'\n",line_no); + return 0; + } + break; + case PARSE_OBJECT_TYPE_STATE_CHECK: + if(strcmp(pwordstr,"INTEGER") == 0 || strcmp(pwordstr,"Integer32") == 0 || strcmp(pwordstr,"Counter32") == 0) + { + mib_object->type=VALUETYPE_INTEGER; + nwordstr1=get_next_word(node,1); + if(strcmp(nwordstr1,"{") == 0) + { + node=node->next; + do + { + nwordstr1=get_next_word(node,1); + nwordstr2=get_next_word(node,2); + nwordstr3=get_next_word(node,3); + sprintf(tmpstr,"%s=%s;",nwordstr1,nwordstr2); + strcat(mib_object->valuestring,tmpstr); + if(strcmp(nwordstr3,",") == 0) + { + node=node->next; + node=node->next; + node=node->next; + } + else + { + break; + } + }while(strcmp(nwordstr1,"}")); + mib_object->valuestring[strlen(mib_object->valuestring)-1]=0; + } + else if(strstr(nwordstr1,"..")) + { + parse_range(nwordstr1,mib_object->minvalue,mib_object->maxvalue); + } + else + { + if(is_digit_string(nwordstr1)) + { + sprintf(mib_object->minvalue,"%s",nwordstr1); + sprintf(mib_object->maxvalue,"%s",nwordstr1); + } + else + { + sprintf(mib_object->minvalue,"0"); + sprintf(mib_object->maxvalue,"2147483647"); + } + } + } + else if(strcmp(pwordstr,"OCTET") == 0) + { + mib_object->type=VALUETYPE_OCTETSTR; + nwordstr1=get_next_word(node,1); + nwordstr2=get_next_word(node,2); + nwordstr3=get_next_word(node,3); + if(strcmp(nwordstr1,"STRING")) + { + printf("Syntax error[%ld],miss 'STRING'\n",line_no); + return 0; + } + if(strcmp(nwordstr2,"SIZE") == 0) + { + if(is_digit_string(nwordstr3)) + { + sprintf(mib_object->minvalue,"%s",nwordstr3); + sprintf(mib_object->maxvalue,"%s",nwordstr3); + } + else + { + parse_range(nwordstr3,mib_object->minvalue,mib_object->maxvalue); + } + } + else + { + sprintf(mib_object->minvalue,"0"); + sprintf(mib_object->maxvalue,"255"); + } + } + else if(strcmp(pwordstr,"IpAddress") == 0) + { + mib_object->type=VALUETYPE_IPADDR; + } + else if(strcmp(pwordstr,"Opaque") == 0) + { + mib_object->type=VALUETYPE_OPAQUE; + nwordstr1=get_next_word(node,1); + nwordstr2=get_next_word(node,2); + if(strcmp(nwordstr1,"SIZE")) + { + printf("Syntax error[%ld],miss 'SIZE'\n",line_no); + return 0; + } + if(strstr(nwordstr2,"..")) + { + parse_range(nwordstr2,mib_object->minvalue,mib_object->maxvalue); + } + else + { + if(is_digit_string(nwordstr2)) + { + sprintf(mib_object->minvalue,"%s",nwordstr2); + sprintf(mib_object->maxvalue,"%s",nwordstr2); + } + else + { + printf("Syntax error[%ld],miss range\n",line_no); + return 0; + } + } + } + else if(strcmp(pwordstr,"TimeStamp") == 0 || strcmp(pwordstr,"TimeTicks") == 0) + { + mib_object->type=VALUETYPE_TIMETICKS; + } + else if(strcmp(pwordstr,"SEQUENCE") == 0) + { + nwordstr1=get_next_word(node,1); + if(strcmp(nwordstr1,"OF")) + { + printf("Syntax error[%ld],miss 'OF'\n",line_no); + return 0; + } + mib_object->type=VALUETYPE_OTHER; + } + else if(strcmp(pwordstr,"OBJECT") == 0) + { + nwordstr1=get_next_word(node,1); + if(strcmp(nwordstr1,"IDENTIFIER")) + { + printf("Syntax error[%ld], miss 'IDENTIFIER'\n",line_no); + return 0; + } + mib_object->type=VALUETYPE_OBJID; + } + else + { + if(strstr(pwordstr,"Entry")) + { + mib_object->type=VALUETYPE_OTHER; + } + else + { + if(!find_syntax_from_textual(pwordstr,mib_object)) + { + printf("Syntax error[%ld],can not find related syntax type %s\n",line_no,pwordstr); + return 0; + } + } + } + + tmpi=0; + nwordstr1=get_next_word(node,1); + while(strcmp(nwordstr1,"MAX-ACCESS")) + { + //printf("%s search1 %s\n",mib_object->name,nwordstr1); + if(tmpi>16) + { + printf("Syntax error[%ld]1,miss 'MAX-ACCESS'\n",line_no); + return 0; + } + node=node->next; + nwordstr1=get_next_word(node,1); + tmpi++; + } + + mib_parse_mng.parse_block_state=PARSE_OBJECT_TYPE_STATE_ACCESS; + break; + case PARSE_OBJECT_TYPE_STATE_ACCESS: + if(strcmp(pwordstr,"MAX-ACCESS") == 0) + { + nwordstr1=get_next_word(node,1); + if(strcmp(nwordstr1,"read-write") == 0) + { + mib_object->access=ACCESS_READWRITE; + } + else if(strcmp(nwordstr1,"read-only") == 0) + { + mib_object->access=ACCESS_READONLY; + } + else if(strcmp(nwordstr1,"not-accessible") == 0) + { + mib_object->access=ACCESS_NOACCESS; + } + else if(strcmp(nwordstr1,"accessible-for-notify") == 0) + { + mib_object->access=ACCESS_NOTIFY; + } + else + { + printf("Syntax error[%ld],unknow access mode %s\n",line_no,nwordstr1); + return 0; + } + } + else + { + printf("Syntax error[%ld],miss 'MAX-ACCESS'\n",line_no); + return 0; + } + node=node->next; + mib_parse_mng.parse_block_state=PARSE_OBJECT_TYPE_STATE_STATUS; + break; + case PARSE_OBJECT_TYPE_STATE_STATUS: + nwordstr1=get_next_word(node,1); + if(strcmp(pwordstr,"STATUS")) + { + printf("Syntax error[%ld],miss 'STATUS'\n",line_no); + return 0; + } + if(strcmp(nwordstr1,"current") == 0) + { + mib_object->status=STATUS_CURRENT; + } + else + { + mib_object->status=STATUS_OBSOLETE; + } + node=node->next; + mib_parse_mng.parse_block_state=PARSE_OBJECT_TYPE_STATE_DESC; + break; + case PARSE_OBJECT_TYPE_STATE_DESC: + nwordstr1=get_next_word(node,1); + if(strcmp(pwordstr,"DESCRIPTION")) + { + printf("Syntax error[%ld],miss 'DESCRIPTION'\n",line_no); + return 0; + } + sprintf(mib_object->desc,"%s",nwordstr1); + + tmpi=0; + nwordstr1=get_next_word(node,1); + while(strcmp(nwordstr1,ASSIGN_SIGN)) + { + //printf("%s search2 %s\n",mib_object->name,nwordstr1); + if(tmpi>16) + { + printf("Syntax error[%ld]1,miss '::='\n",line_no); + return 0; + } + node=node->next; + nwordstr1=get_next_word(node,1); + tmpi++; + } + + mib_parse_mng.parse_block_state=PARSE_OBJECT_TYPE_STATE_OID; + break; + case PARSE_OBJECT_TYPE_STATE_OID: + nwordstr1=get_next_word(node,1); + nwordstr2=get_next_word(node,2); + nwordstr3=get_next_word(node,3); + if(strcmp(pwordstr,ASSIGN_SIGN)) + { + printf("Syntax error[%ld],miss '::='\n",line_no); + return 0; + } + if(strcmp(nwordstr1,"{")) + { + printf("Syntax error[%ld],miss '{'\n",line_no); + return 0; + } + if(strstr(nwordstr2,"Entry") && strstr(mib_object->name,"Index") && mib_object->access == ACCESS_READWRITE) + mib_object->access=ACCESS_CREATE; + + pobject_identifier=calloc(sizeof(_object_identifier_t),1); + if(pobject_identifier == NULL) + { + printf("calloc error[%ld],OBJECT IDENTIFIER\n",line_no); + return 0; + } + sprintf(pobject_identifier->name,"%s",mib_object->name); + sprintf(pobject_identifier->pname,"%s",nwordstr2); + pobject_identifier->oid=atoi(nwordstr3); + if(store_mib_object_flag) + { + pobject_identifier->file_index=1; + mib_object->need_find_oid=1; + } + mib_object->hookvalue=global_hookvalue; + add_object_node(pobject_identifier); + add_mib_object_node(mib_object); + mib_parse_mng.parse_state=PARSE_STATE_UNCERTAIN; + break; + } + break; + } + + node=node->next; + } + + return 1; +} + +//###################################################### +static _tmp_node_link tmp_node_link; +int add_object_node(_object_identifier_t *data) +{ + struct _node_t *node; + struct _node_t *tmp_node; + int ret; + + node=calloc(sizeof(_node_t),1); + if(node == NULL) + { + printf("add_object_node:calloc fail\n"); + return 0; + } + node->data=data; + if(tmp_node_link.head_node == NULL) + { + //printf("add %s %lx\n",data->name,node); + tmp_node_link.head_node=node; + } + else + { + tmp_node=tmp_node_link.head_node; + do + { + ret=strcmp(data->name,tmp_node->data->name); + if(ret == 0) + { + printf("Critical warning:Name conflict,%s\n",data->name); + return 0; + } + else if(ret > 0) + { + if(tmp_node->right == NULL) + { + //printf("add %s in the right of %s,%lx\n",data->name,tmp_node->data->name,node); + tmp_node->right=node; + break; + } + else + { + tmp_node=tmp_node->right; + } + } + else + { + if(tmp_node->left == NULL) + { + //printf("add %s in the left of %s,%lx\n",data->name,tmp_node->data->name,node); + tmp_node->left=node; + break; + } + else + { + tmp_node=tmp_node->left; + } + } + }while(1); + } + return 1; +} + +void free_object_node() +{ + if(tmp_node_link.head_node == NULL) + return; + free_t_node(tmp_node_link.head_node); + tmp_node_link.head_node=NULL; +} + +void free_t_node(_node_t *node) +{ + if(node->left != NULL) + free_t_node(node->left); + + if(node->right != NULL) + free_t_node(node->right); + + if(node->data != NULL) + { + //printf("free %s,%s,%d\n",node->data->name,node->data->pname,node->data->oid); + free(node->data); + node->data=NULL; + } + + free(node); + node=NULL; +} +static _tmp_node_link move_object_node_link; +void free_last_file_object_node() +{ + if(tmp_node_link.head_node == NULL) + return; + move_object_node(tmp_node_link.head_node); + free_object_node(); + tmp_node_link.head_node=move_object_node_link.head_node; + move_object_node_link.head_node=NULL; +} + +void move_object_node(_node_t *node) +{ + if(node->left != NULL) + move_object_node(node->left); + + if(node->right != NULL) + move_object_node(node->right); + + if(node->data != NULL && node->data->file_index == 0) + { + add_move_node(node->data); + } +} + + +int add_move_node(_object_identifier_t *data) +{ + struct _node_t *node; + struct _node_t *tmp_node; + _object_identifier_t *pdata; + int ret; + + node=calloc(sizeof(_node_t),1); + if(node == NULL) + { + printf("add_move_node:calloc fail\n"); + return 0; + } + + pdata=calloc(sizeof(_object_identifier_t),1); + if(pdata == NULL) + { + printf("add_move_node:calloc fail2\n"); + return 0; + } + memcpy(pdata,data,sizeof(_object_identifier_t)); + node->data=pdata; + if(move_object_node_link.head_node == NULL) + { + //printf("add %s %lx\n",data->name,node); + move_object_node_link.head_node=node; + } + else + { + tmp_node=move_object_node_link.head_node; + do + { + ret=strcmp(pdata->name,tmp_node->data->name); + if(ret == 0) + { + printf("Critical warning:Name conflict,%s\n",data->name); + return 0; + } + else if(ret > 0) + { + if(tmp_node->right == NULL) + { + //printf("add %s in the right of %s,%lx\n",data->name,tmp_node->data->name,node); + tmp_node->right=node; + break; + } + else + { + tmp_node=tmp_node->right; + } + } + else + { + if(tmp_node->left == NULL) + { + //printf("add %s in the left of %s,%lx\n",data->name,tmp_node->data->name,node); + tmp_node->left=node; + break; + } + else + { + tmp_node=tmp_node->left; + } + } + }while(1); + } + return 1; +} + + + +void list_object_id() +{ + printf("================ OBJECT ID ==============\n"); + if(tmp_node_link.head_node == NULL) + return; + list_object(tmp_node_link.head_node); + printf("\n=========================================\n"); +} + +void list_object(_node_t *node) +{ + if(node->left != NULL) + list_object(node->left); + + if(node->right != NULL) + list_object(node->right); + + printf("[%s %s %d]\n",node->data->name,node->data->pname,node->data->oid); +} + +void lookup_object_oid(char *name,int *oid,int *oidlen) +{ + _node_t* node; + char *node_name; + node_name=name; + *oidlen=0; + do + { + node=find_object_node(tmp_node_link.head_node,node_name); + if(node == NULL) + { + oid[*oidlen]=1; + (*oidlen)++; + reverse_oids(oid,oidlen); + return; + } + oid[*oidlen]=node->data->oid; + (*oidlen)++; + + node_name=node->data->pname; + }while(strcmp(node->data->name,"iso")); +} + +_node_t* find_object_node(_node_t* parent,char *name) +{ + int ret; + + if(parent == NULL) + return NULL; + ret=strcmp(name,parent->data->name); + if(ret == 0) + return parent; + + if(ret > 0) + return find_object_node(parent->right,name); + else + return find_object_node(parent->left,name); + + + return NULL; +} + + +static _replace_node_link replace_node_link; +int add_replace_node(_replace_type_t *data) +{ + struct _replace_node_t *node; + + node=calloc(sizeof(_replace_node_t),1); + node->data=data; + if(node == NULL) + { + printf("add_replace_node:calloc fail\n"); + return 0; + } + if(replace_node_link.head == NULL) + { + replace_node_link.head=replace_node_link.tail=node; + } + else + { + //printf("add replace node=%s\n",data->type_name); + replace_node_link.tail->next=node; + replace_node_link.tail=node; + } + + return 1; +} + +void free_replace_node() +{ + struct _replace_node_t *node; + + while((node=replace_node_link.head) != NULL) + { + replace_node_link.head=node->next; + //printf("free replace node=%s\n",node->data->type_name); + free(node->data); + node->data=NULL; + free(node); + node=NULL; + } +} + + +int add_mib_object_node(MIB_OBJECT *data) +{ + struct _object_node_t *node; + + node=calloc(sizeof(_object_node_t),1); + node->data=data; + if(node == NULL) + { + printf("add_mib_object_node:calloc fail\n"); + return 0; + } + if(object_node_link.head == NULL) + { + object_node_link.head=object_node_link.tail=node; + } + else + { + object_node_link.tail->next=node; + object_node_link.tail=node; + } + + return 1; +} +void free_mib_object_node() +{ + struct _object_node_t *node; + + while((node=object_node_link.head) != NULL) + { + object_node_link.head=node->next; + free(node->data); + node->data=NULL; + free(node); + node=NULL; + } +} + +void find_last_file_oid() +{ + struct _object_node_t *node; + struct _object_node_t *head_node; + + head_node=object_node_link.head; + while((node=head_node) != NULL) + { + head_node=node->next; + if(node->data->need_find_oid && node->data->have_find_oid == 0) + { + //printf("lookup_object_oid %s\n",node->data->name); + lookup_object_oid(node->data->name,node->data->oid,&node->data->oidlen); + node->data->have_find_oid=1; + } + } +} + +static _object_node_t *mib_object_head_node; +void prepare_enum() +{ + mib_object_head_node=object_node_link.head; +} + +MIB_OBJECT* enum_object() +{ + _object_node_t *node; + + node=mib_object_head_node; + if(node == NULL) + return NULL; + if(node->data->have_find_oid == 0) + lookup_object_oid(node->data->name,node->data->oid,&node->data->oidlen); + mib_object_head_node=node->next; + return node->data; +} + + +int add_word_node(_word_t *data) +{ + struct _word_node_t *node; + + node=calloc(sizeof(_word_node_t),1); + node->data=data; + if(node == NULL) + { + printf("add_word_node:calloc fail\n"); + return 0; + } + if(word_node_link.head == NULL) + { + word_node_link.head=word_node_link.tail=node; + //printf("add word node=%s,node address=%x,data address=%x\n",data->word,node,data); + } + else + { + //printf("add word node=%s,node address=%x,data address=%x\n",data->word,node,data); + word_node_link.tail->next=node; + node->prev=word_node_link.tail; + word_node_link.tail=node; + + //node->next=word_node_link.head; + //word_node_link.head=node; + } + + return 1; +} + +void free_word_node() +{ + struct _word_node_t *node; + + while((node=word_node_link.head) != NULL) + { + word_node_link.head=node->next; + //printf("free word node=%s,node address=%x,data address=%x\n",node->data->word); + free(node->data->word); + node->data->word=NULL; + free(node->data); + node->data=NULL; + free(node); + node=NULL; + } +} +//0-head +char *get_next_word(_word_node_t *refer_node,int index) +{ + struct _word_node_t *node; + + node=refer_node; + + while(index > 0) + { + if(node == NULL) + return NULL; + + node=node->next; + + index--; + } + + if(node == NULL) + return NULL; + return node->data->word; +} + +char *get_prev_word(_word_node_t *refer_node,int index) +{ + struct _word_node_t *node; + + node=refer_node; + + while(index > 0) + { + if(node == NULL) + return NULL; + + node=node->prev; + + index--; + } + + if(node == NULL) + return NULL; + return node->data->word; +} + +void parse_range(char *input,char *start,char *end) +{ + char inputstr[64]; + char *pstart; + char *pend; + char *ptmp; + + sprintf(inputstr,"%s",input); + if(strstr(input,"..")) + { + pstart=inputstr; + pend=strstr(inputstr,".."); + ptmp=pend; + pend+=2; + *ptmp=0; + sprintf(start,"%s",pstart); + sprintf(end,"%s",pend); + } + else + { + sprintf(start,"%s",input); + sprintf(end,"%s",input); + } +} + +void free_resource() +{ + free_object_node(); + free_replace_node(); + free_word_node(); + free_mib_object_node(); +} + +int is_digit_string(char *input) +{ + int index,len; + len=strlen(input); + for(index=0;index= prefix_oidlen) + { + oid[pos]=oid_tmp[*oidlen-1-index]; + pos++; + } + } + *oidlen=pos; +} + +int find_syntax_from_textual(char *type_name,MIB_OBJECT *pobject) +{ + struct _replace_node_t *node,*head_node; + + head_node=replace_node_link.head; + while((node=head_node) != NULL) + { + head_node=node->next; + if(strcmp(node->data->type_name,type_name) == 0) + { + + switch(node->data->type) + { + case INTEGER_ENUM_TYPE: + pobject->type=VALUETYPE_INTEGER; + sprintf(pobject->valuestring,"%s",node->data->replacing_type_desc); + return 1; + break; + case INTEGER_RANGE_TYPE: + pobject->type=VALUETYPE_INTEGER; + sprintf(pobject->minvalue,"%s",node->data->start_range); + sprintf(pobject->maxvalue,"%s",node->data->end_range); + return 1; + break; + case OCTET_STRING_TYPE: + pobject->type=VALUETYPE_OCTETSTR; + sprintf(pobject->minvalue,"%s",node->data->start_range); + sprintf(pobject->maxvalue,"%s",node->data->end_range); + return 1; + break; + default: + return 0; + break; + } + break; + } + } + return 0; +} + +void print_object(MIB_OBJECT *pobject) +{ +#if OUTPUT == 1 + int index; + printf("#############################\n"); + printf("type:%d\n",pobject->type); + printf("name:%s\n",pobject->name); + printf("oidlen=%d\n",pobject->oidlen); + for(index=0;indexoidlen;index++) + printf("%d.",pobject->oid[index]); + printf("\n"); + printf("access:%d\n",pobject->access); + printf("status:%d\n",pobject->status); + printf("init value:%s\n",pobject->initvalue); + printf("valuestring:%s\n",pobject->valuestring); + printf("min:%s, max:%s\n",pobject->minvalue,pobject->maxvalue); + printf("hookvalue=%d\n",pobject->hookvalue); + printf("desc:\n"); + printf("%s\n",pobject->desc); +#endif +} + diff --git a/src/omcLib/c_program/omcLib/mib_parse.h b/src/omcLib/c_program/omcLib/mib_parse.h new file mode 100644 index 0000000..eb12abb --- /dev/null +++ b/src/omcLib/c_program/omcLib/mib_parse.h @@ -0,0 +1,310 @@ +#ifndef _OMCLIB_MIB_PARSE_ +#define _OMCLIB_MIB_PARSE_ + +#include +#include +#include +#include +#include + +#define INTEGER_ENUM_TYPE 0 +#define INTEGER_RANGE_TYPE 1 +#define OCTET_STRING_TYPE 2 +#define UNKNOWN_TYPE 99 +/************** struct ****************/ +typedef struct _object_identifier_t +{ + char name[64]; + int oid; + char pname[64]; + int file_index; +}_object_identifier_t; + +typedef struct _node_t +{ + struct _node_t *left; + struct _node_t *right; + _object_identifier_t *data; +}_node_t; + +typedef struct _tmp_node_link +{ + struct _node_t *head_node; +}_tmp_node_link; + +//-------------------------------- +typedef struct _replace_type_t +{ + char type_name[64]; + char replacing_type_desc[2048]; + int type; + char start_range[64]; + char end_range[64]; +}_replace_type_t; + +typedef struct _replace_node_t +{ + struct _replace_node_t *next; + _replace_type_t *data; +}_replace_node_t; + +typedef struct _replace_node_link +{ + struct _replace_node_t *head; + struct _replace_node_t *tail; +}_replace_node_link; +//--------------------------------- +typedef struct _word_t +{ + char *word; + unsigned long line_no; +}_word_t; + +typedef struct _word_node_t +{ + struct _word_node_t *prev; + struct _word_node_t *next; + _word_t *data; +}_word_node_t; + +typedef struct _word_node_link +{ + struct _word_node_t *head; + struct _word_node_t *tail; +}_word_node_link; +/**************************************/ +typedef struct _line_mark +{ + int line_no; + char previous_char; + char previous_word[128]; + int previous_word_pos; + int current_line_word_count; + char previous_line[1024]; + int previous_line_pos; + int previous_blank_char_count; + char double_quote_flag; + char previous_quote_content[8192]; + int previous_quote_content_pos; + + char single_quote_flag; + char bracket_count; + char comment_flag; + char brace_flag; + char punctuate_flag; +}_line_mark; + +#define OUTPUT 1 +#define ASSIGN_SIGN "::=" + +#define PARSE_STATE_UNCERTAIN 0 +#define PARSE_STATE_OBJECT_IDENTIFIER 1 +#define PARSE_STATE_IMPORT 2 +#define PARSE_STATE_MRCRO 3 +#define PARSE_STATE_MODULE_IDENTITY 4 +#define PARSE_STATE_INTEGER 5 +#define PARSE_STATE_TEXTUAL_CONVENTION 6 +#define PARSE_STATE_OBJECT_TYPE 7 + + + + +//OBJECT IDENTIFIER parse state +#define PARSE_OBJECT_ID_START 0 +#define PARSE_OBJECT_ID_PNAME 1 +#define PARSE_OBJECT_ID_OID 2 +#define PARSE_OBJECT_ID_FINISH 3 + +//IMPORTS parse state +#define PARSE_IMPORT_STATE_WORD 0 +#define PARSE_IMPORT_STATE_COMMA 1 +#define PARSE_IMPORT_STATE_FROM 2 +#define PARSE_IMPORT_STATE_SEMICOLON 3 + +//MACRO parse state +#define PARSE_MACRO_STATE_BEGIN 0 +#define PARSE_MACRO_STATE_END 1 + + +//MODULE-IDENTITY parse state +#define PARSE_MODULE_IDENTITY_STATE_SIGN 0 +#define PARSE_MODULE_IDENTITY_STATE_START 1 +#define PARSE_MODULE_IDENTITY_STATE_PNAME 2 +#define PARSE_MODULE_IDENTITY_STATE_OID 3 +#define PARSE_MODULE_IDENTITY_STATE_FINISH 4 + +//INTEGER parse state +#define PARSE_INTEGER_STATE_START 0 +#define PARSE_INTEGER_STATE_LABEL 1 +#define PARSE_INTEGER_STATE_VALUE 2 + +//TEXTUAL-CONVENTION parse state +#define PARSE_TEXTUAL_STATE_SYNTAX 0 +#define PARSE_TEXTUAL_STATE_CHECK 1 +#define PARSE_TEXTUAL_STATE_INTEGER 2 +#define PARSE_TEXTUAL_STATE_INTEGER_CHECK 3 +#define PARSE_TEXTUAL_STATE_INTEGER_ENUM 4 +#define PARSE_TEXTUAL_STATE_INTEGER_LABEL 5 +#define PARSE_TEXTUAL_STATE_INTEGER_VALUE 6 +#define PARSE_TEXTUAL_STATE_OCTET_STRING 7 +#define PARSE_TEXTUAL_STATE_SIZE 8 +#define PARSE_TEXTUAL_STATE_RANGE 9 + +//OBJECT-TYPE parse state +#define PARSE_OBJECT_TYPE_STATE_SYNTAX 0 +#define PARSE_OBJECT_TYPE_STATE_CHECK 1 +#define PARSE_OBJECT_TYPE_STATE_ACCESS 2 +#define PARSE_OBJECT_TYPE_STATE_STATUS 3 +#define PARSE_OBJECT_TYPE_STATE_DESC 4 +#define PARSE_OBJECT_TYPE_STATE_OID 5 + +typedef struct _mib_file_info +{ + char filename[64]; + char file_begin_flag; + char file_end_flag; + + char store_word[64][128]; + int store_word_count; + char store_desc[4][8192]; + int store_desc_count; +}_mib_file_info; + +typedef struct _mib_parse_mng +{ + int parse_state; + int parse_block_state; +}_mib_parse_mng; + +#define MAX_IMPORT_OBJ 64 +typedef struct _import_obj +{ + char import_word[MAX_IMPORT_OBJ][64]; + char import_file[MAX_IMPORT_OBJ][64]; + int word_index; + int file_index; +}_import_obj; + +//------------------------------------------------ +#define VALUETYPE_OTHER 0 +#define VALUETYPE_OBJID 1 +#define VALUETYPE_OCTETSTR 2 +#define VALUETYPE_INTEGER 3 +#define VALUETYPE_NETADDR 4 +#define VALUETYPE_IPADDR 5 +#define VALUETYPE_COUNTER 6 +#define VALUETYPE_GAUGE 7 +#define VALUETYPE_TIMETICKS 8 +#define VALUETYPE_OPAQUE 9 +#define VALUETYPE_NULL 10 +#define VALUETYPE_COUNTER64 11 +#define VALUETYPE_BITSTRING 12 +#define VALUETYPE_NSAPADDRESS 13 +#define VALUETYPE_UINTEGER 14 +#define VALUETYPE_UNSIGNED32 15 +#define VALUETYPE_INTEGER32 16 +#define VALUETYPE_TRAPTYPE 20 +#define VALUETYPE_NOTIFTYPE 21 +#define VALUETYPE_OBJGROUP 22 +#define VALUETYPE_NOTIFGROUP 23 +#define VALUETYPE_MODID 24 +#define VALUETYPE_AGENTCAP 25 +#define VALUETYPE_MODCOMP 26 +#define VALUETYPE_OBJIDENTITY 27 + +#define ACCESS_READONLY 18 +#define ACCESS_READWRITE 19 +#define ACCESS_WRITEONLY 20 +#define ACCESS_NOACCESS 21 +#define ACCESS_NOTIFY 67 +#define ACCESS_CREATE 48 + +#define STATUS_MANDATORY 23 +#define STATUS_OPTIONAL 24 +#define STATUS_OBSOLETE 25 +#define STATUS_DEPRECATED 39 +#define STATUS_CURRENT 57 + +typedef struct _mib_object +{ + int type; + int oid[64]; + int oidlen; + char name[64]; + int access; + int status; + char initvalue[128]; + char minvalue[64]; + char maxvalue[64]; + char valuestring[2048]; + char desc[8192]; + int need_find_oid; + int have_find_oid; + int hookvalue; +}MIB_OBJECT; + +typedef struct _object_node_t +{ + struct _object_node_t *next; + MIB_OBJECT *data; +}_object_node_t; + +typedef struct _object_node_link +{ + struct _object_node_t *head; + struct _object_node_t *tail; +}_object_node_link; + +char mib_directory[64]; +/************** Public function ****************/ +/* Set the mib directory */ +int set_mib_directory(char *dir); + +/* Load mib information from file */ +/* flag=1: store the MIB OBJECT from this file, then can enum them later */ +/* hookvalue: this value will store in every object, then can trace it between load files */ +int load_mib_file(char *filename,int flag,int hookvalue); + +/* MIB OBJECT will skip the prefix length of the OID */ +void set_prefix_oid_length(int poidlen); + +/* Enumerate the MIB OB one by one, when finished, return NULL */ +void prepare_enum(); +MIB_OBJECT* enum_object(); + +/* Free all resource */ +void free_resource(); + +/*************** Private function *****************/ +int parse_mib(); +int add_object_node(_object_identifier_t *data); +void free_object_node(); +_node_t* find_object_node(_node_t* parent,char *name); +void list_object_id(); +void list_object(_node_t *node); +void lookup_object_oid(char *name,int *oid,int *oidlen); +void reverse_oids(int *oid,int *oidlen); +void print_object(MIB_OBJECT *pobject); + +int add_replace_node(_replace_type_t *data); +void free_replace_node(); + +int add_mib_object_node(MIB_OBJECT *data); +void free_mib_object_node(); + +int add_word_node(_word_t *data); +void free_word_node(); +char *get_next_word(_word_node_t *refer_node,int index); +char *get_prev_word(_word_node_t *refer_node,int index); + +void parse_range(char *input,char *start,char *end); +int is_digit_string(char *input); + +int find_syntax_from_textual(char *type_name,MIB_OBJECT *pobject); + +void free_last_file_object_node(); +void move_object_node(_node_t *node); +int add_move_node(_object_identifier_t *data); +void find_last_file_oid(); +#endif + diff --git a/src/omcLib/c_program/omcLib/omcDbLib.c b/src/omcLib/c_program/omcLib/omcDbLib.c new file mode 100644 index 0000000..d881c11 --- /dev/null +++ b/src/omcLib/c_program/omcLib/omcDbLib.c @@ -0,0 +1,437 @@ +#include +#include +#include "omcDbLib.h" + +void exitLog(const char *fmt, ...); + +int getOmcSysNo_pri(int* sysNo) +{ + char fileName[512]; + unsigned char buf[4096]; + unsigned char param[32][512]; + char paramName[128]; + char paramValue[384]; + char* temp; + FILE* fp; + int fi; + int i; + //int j; + int paramCount; + int byteCount; + + paramCount=0; + byteCount=0; + memset(buf,0,4096); + memset(param,0,32*512); + sprintf(fileName,"/usr/local/omc/bin/conf/omcd.conf"); + fp=fopen(fileName,"r"); + if(fp) + { + fi=fileno(fp); + if(read(fi,buf,4096)) + { + for(i=0;i<4096;i++) + { + if(buf[i] == 0x0A) + { + //printf("\n"); + if(byteCount<512 && param[paramCount][0] != 0x00 && param[paramCount][0] != 0x23) + paramCount++; + else + memset(param[paramCount],0,512); + byteCount=0; + } + else + { + param[paramCount][byteCount]=buf[i]; + byteCount++; + } + + //printf("%02x ",buf[i]); + } + + for(i=0;i 0) + { + fprintf(stderr, "\n Error number:%d", mysql_errno(myconn)); + fprintf(stderr, "\n Description: %s", mysql_error(myconn)); + } +} + +/* setup DB connection with both omc DB server */ +MYSQL *mysql_conn(char *hostname, char *db_name) +{ + MYSQL *myconn; + + /*Initialize the conn point */ + while ((myconn = mysql_init(NULL)) == NULL) { + fprintf(stderr, "Cannot initiate MySQL!!\n"); + print_mysql_err(myconn); + + if(CheckError(myconn)) + { + Print("Host:%s",hostname); + Print("DB :%s",db_name); + PrintError(myconn); + } + + sleep(2); + } + + while (mysql_real_connect + (myconn, hostname, USER_NAME, PASSWORD, db_name, DB_PORT_NUM, + SOCKET_NAME, FLAGS) == NULL) { + fprintf(stderr, "Cannot connect to MySQL!!\n"); + print_mysql_err(myconn); + + if(CheckError(myconn)) + { + Print("Host:%s",hostname); + Print("DB :%s",db_name); + PrintError(myconn); + } + + sleep(2); + } + return myconn; +} + + +/* mysql get query result*/ +MYSQL_RES *mysql_getres(MYSQL * conn, char *strsql) +{ + MYSQL_RES *temp_res_set; + + if (mysql_query(conn, strsql) != 0) { +#if MYSQL_DEBUG + fprintf(stderr, "\nSQL=%s", strsql); +#endif + //print_mysql_err(conn); + + if(CheckError(conn)) + { + PrintTime(); + PrintSQL(strsql); + PrintError(conn); + PrintEndDash(); + } + } else { + if ((temp_res_set = mysql_store_result(conn)) == NULL) { + fprintf(stderr, "\n mysql store result error"); + //print_mysql_err(conn); + + if(CheckError(conn)) + { + PrintTime(); + PrintSQL(strsql); + PrintError(conn); + PrintEndDash(); + } + + } else { +#if MYSQL_DEBUG + fprintf(stderr, "\nSQL=%s \n", strsql); +#endif + return temp_res_set; + } + } + return NULL; +} + +/* Only execute query ,no result*/ +int mysql_getnores(MYSQL * conn, char *strsql) +{ + long affected_rows; + + if (mysql_query(conn, strsql) != 0) { +#if MYSQL_DEBUG + fprintf(stderr, "\nSQL=%s \n", strsql); +#endif + //print_mysql_err(conn); + + if(CheckError(conn)) + { + PrintTime(); + PrintSQL(strsql); + PrintError(conn); + PrintEndDash(); + } + return -1; + } else { + //2008-9-16,modify the <= to < + if ((affected_rows = mysql_affected_rows(conn)) < 0) { +#if MYSQL_DEBUG + fprintf(stderr, "\n mysql query affected zero row !"); + fprintf(stderr, "\nSQL=%s \n", strsql); +#endif + //print_mysql_err(conn); + + if(CheckError(conn)) + { + PrintTime(); + PrintSQL(strsql); + PrintError(conn); + PrintEndDash(); + } + + return -1; + } +#if MYSQL_DEBUG + fprintf(stderr, "\nSQL=%s \n", strsql); + fprintf(stderr, "\n mysql query affected %ld row !", + affected_rows); +#endif + } + return 0; +} + +/*by hewd 2003-04-22*/ +int mysql_tblCpy(MYSQL * conn, const char *dstName, const char *srcName) +{ + char *tmpStr; + //10240 13312 + char tmpSql[13312*2] = "/0"; + MYSQL_RES *tmpResultSet; + MYSQL_ROW tmpRow; + + sprintf(tmpSql, "SHOW CREATE TABLE %s", srcName); + tmpResultSet = mysql_getres(conn, tmpSql); + + if (tmpResultSet == NULL) { + return (-1); + } else if (mysql_num_rows(tmpResultSet) == 0) { + mysql_free_result(tmpResultSet); + return (-1); + } + + tmpRow = mysql_fetch_row(tmpResultSet); + //printf("\ncreate SQL=%s",tmpRow[1]); + + if (strlen(tmpRow[1]) >= 13312*2) { + mysql_free_result(tmpResultSet); + return (-1); + } + + tmpStr = strchr(tmpRow[1], '('); + //printf("\ntmpStr=%s",tmpStr); + + sprintf(tmpSql, "CREATE TABLE IF NOT EXISTS %s %s", dstName, tmpStr); + + if (mysql_query(conn, tmpSql) != 0) { +#if MYSQL_DEBUG + fprintf(stderr, "\nSQL=%s \n", tmpSql); +#endif + print_mysql_err(conn); + mysql_free_result(tmpResultSet); + return (-1); + } else { + mysql_free_result(tmpResultSet); + return (0); + } +} + +void CheckMysqlConnect(MYSQL ** conn) +{ + if(mysql_ping(*conn)) + { + mysql_close(*conn); + *conn = (MYSQL *) mysql_conn(HOST_NAME, "mysql"); + if(*conn == NULL) + { + *conn = (MYSQL *) mysql_conn(HOST_NAME, "mysql"); + } + } +} + +#define EXIT_LOG_FILE "/usr/local/omc/log/exit_code.log" +void exitLog(const char *fmt, ...) +{ + FILE *fp; + char buf[8096]; + char logDate[64]; + va_list args; + long l_time; + struct tm *t; + + fp=fopen(EXIT_LOG_FILE,"a+"); + if(fp == NULL) + return; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logDate,"\n%04d-%02d-%02d %02d:%02d:%02d \t",t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec); + va_start(args,fmt); + vsprintf(buf,fmt,args); + fputs(logDate,fp); + fputs(buf,fp); + fflush(fp); + va_end(args); + fclose(fp); + return; +} + +/********************************** +Write log to file MySQL********.log +**********************************/ + + +void Print(const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[81920]; + struct tm *t; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/MySQL%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + +void PrintTime() +{ + time_t l_time; + struct tm *t; + + l_time=time(NULL); + t=localtime(&l_time); + Print("--------------- %02d:%02d:%02d ---------------",t->tm_hour,t->tm_min,t->tm_sec); +} + +void PrintEndDash() +{ + Print("----------------------------------------"); +} + +void PrintSQL(char *sqlstr) +{ + Print("SQL :%s",sqlstr); +} + +void PrintError(MYSQL * myconn) +{ + Print("Err : %d",mysql_errno(myconn)); + Print("Desc: %s",mysql_error(myconn)); +} + +int CheckError(MYSQL * myconn) +{ + int errorNo=0; + errorNo=mysql_errno(myconn); + if(errorNo > 0) + { + switch(errorNo) + { + //Disk space full,compCode 2,alarmCode 1 + case 1021: + insertSeriousAlarmLog(2,1); + break; + //Fail to write file,compCode 2,alarmCode 2 + case 1026: + insertSeriousAlarmLog(2,2); + break; + //Table is full,compCode 2,alarmCode 3 + case 1114: + insertSeriousAlarmLog(2,3); + break; + //Table has been remarked as crashed,compCode 2,alarmCode 4 + case 1194: + insertSeriousAlarmLog(2,4); + break; + //Table crashed and repair failed,compCode 2,alarmCode 5 + case 1195: + insertSeriousAlarmLog(2,5); + break; + //DB crashed or not exist,compCode 2,alarmCode 6 + case 1244: + insertSeriousAlarmLog(2,6); + break; + default: + break; + } + } + return errorNo; +} + + diff --git a/src/omcLib/c_program/omcLib/omcDbLib.h b/src/omcLib/c_program/omcLib/omcDbLib.h new file mode 100644 index 0000000..05e138a --- /dev/null +++ b/src/omcLib/c_program/omcLib/omcDbLib.h @@ -0,0 +1,42 @@ +#include +#include +#include +#include +#include + +#ifndef OMCDBLIB__H +#define OMCDBLIB__H + +// by simon at 23/9/25 +#ifndef MYSQL__H +#include "mysql.h" +#endif + +#ifndef MYSQL_DEBUG +#define MYSQL_DEBUG 0 +#endif + +#define HOST_NAME "localhost" +#define DB_NAME "OMC_PUB" +#define DB_PORT_NUM 0 +#define SOCKET_NAME NULL +#define FLAGS 0 +#define USER_NAME "administrator" +#define PASSWORD "*86#ROtartsinim" + +void print_mysql_err(MYSQL * myconn); +MYSQL *mysql_conn(char *hostname, char *db_name); +MYSQL_RES *mysql_getres(MYSQL * conn, char *strsql); +int mysql_getnores(MYSQL * conn, char *strsql); +void CheckMysqlConnect(MYSQL ** conn); +int mysql_tblCpy(MYSQL * conn, const char *srcName, const char *dstName); + +void insertSeriousAlarmLog(int compCode,int alarmCode); +void Print(const char *fmt,...); +void PrintTime(); +void PrintEndDash(); +void PrintSQL(char *sqlstr); +void PrintError(MYSQL * myconn); +int CheckError(MYSQL * myconn); + +#endif diff --git a/src/omcLib/c_program/omcLib/omcFuncLib.c b/src/omcLib/c_program/omcLib/omcFuncLib.c new file mode 100644 index 0000000..b83e911 --- /dev/null +++ b/src/omcLib/c_program/omcLib/omcFuncLib.c @@ -0,0 +1,501 @@ +#include "./omcFuncLib.h" + +static int readOmcdConf(void); +//----------from function.c----------- +/* +Convert data from ASCII form to right-aligned compact BCD form. +*/ + +void omc_AsciiToRbcd(unsigned char *bcd_buf, const char *ascii_buf, + int len) +{ + int i; + char ch; + + if (len > 0) + *bcd_buf = 0x00; + for (i = 0; i < len; i++) { + ch = ascii_buf[i]; + + if ((ch >= '0') && (ch <= '9')) + ch -= '0'; + else if ((ch >= 'A') && (ch <= 'F')) + ch -= 'A' - 10; + else if ((ch >= 'a') && (ch <= 'f')) + ch -= 'a' - 10; + else + ch = 0; + + if ((len - i) & 1) + *(bcd_buf++) |= ch & 0x0f; + else + *bcd_buf = ch << 4; + } +} + +/* +Convert data from right-aligned compact BCD form to ASCII form. +*/ +void omc_RbcdToAscii(char *ascii_buf, const unsigned char *bcd_buf, + int len) +{ + int i; + char ch; + //if(sizeof(*ascii_buf) < len*2){ + // len = sizeof(*ascii_buf)/2; + //} + for (i = 0; i < len; i++) { + if ((len - i) & 1) { + ch = *(bcd_buf++) & 0x0f; + } else { + //ch = (*bcd_buf & 0xf0) >> 4; + ch = *bcd_buf >> 4; + } + ascii_buf[i] = ch + ((ch > 9) ? 'A' - 10 : '0'); + } + ascii_buf[i] = '\0'; +} + +//----------from snmp.c----------- +/* +BYTE encode_integer(BYTE *buf,DWORD val) +{ + if(val<128) + { + buf[0]=val; + return 1; + } + else if(val<0x8000) + { + buf[0]=val >>8; + buf[1]=val & 0xFF; + return 2; + } + else if(val <0x800000) + { + buf[0]=val >>16; + buf[1]=(val & 0xFF00)>>8; + buf[2]=val & 0xFF; + return 3; + } + else if(val <0x80000000) + { + buf[0]=val >>24; + buf[1]=(val & 0xFF0000)>>16; + buf[2]=(val & 0xFF00)>>8; + buf[3]=val & 0xFF; + return 4; + } + else + { + buf[0]=0; + buf[1]=val >>24; + buf[2]=(val & 0xFF0000)>>16; + buf[3]=(val & 0xFF00)>>8; + buf[4]=val & 0xFF; + return 5; + } +} + +DWORD decode_integer(BYTE *buf,BYTE len) +{ + BYTE i=0; + DWORD val=0; + while(itm_mon + 1, t->tm_mday); + + if(*logFp != NULL) + fclose(*logFp); + + *logFp = fopen(logFile, "a"); + if (*logFp == NULL) { + perror("Can't Create log file\n"); + return (-1); + } + omcLog(*logFp, "===================Start===================="); + return (0); +} + +void omcLog(FILE * logFp, const char *fmt, ...) +{ + char buf[8196]; + char logDate[30]; + va_list args; + long l_time; + struct tm *t; + l_time = time(NULL); + + t = localtime(&l_time); + sprintf(logDate, "\n%02d-%02d %02d:%02d:%02d \t", t->tm_mon + 1, + t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); + //strftime(logDate,sizeof(logDate),"\n%m-%d %H:%M:%S \t",t); + if (logFp == NULL) { + return; + } + va_start(args, fmt); + vsprintf(buf, fmt, args); + fputs(logDate, logFp); + fputs(buf, logFp); + fflush(logFp); + va_end(args); +} + +void StringCut(char *str, int c) +{ + if (toupper(*str) == toupper(c)) + *str = 0; + while (str && *str++) + if (toupper(*str) == toupper(c)) { + *str = 0; + break; + } +} + +void ems_debug(char *file,const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/%s%04d%02d%02d.log",file,t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + +static struct timeval ltv1, ltv2; +static struct timezone ltz; +static char ltime_mark_name[64]; + +void time_mark_start(char *desc) +{ + sprintf(ltime_mark_name,"%s",desc); + gettimeofday(<v1, <z); +} + +unsigned long time_mark_end() +{ + unsigned long elapse; + gettimeofday(<v2, <z); + elapse=(ltv2.tv_sec - ltv1.tv_sec) * (1000000) + ltv2.tv_usec - ltv1.tv_usec; + ems_debug("/tmp/time.log","%s consume time %ld microseconds\r\n",ltime_mark_name,elapse); + return elapse; +} + + + + + +/* +Register the sync source data +Parameter: provide the source data name +return: the id of this source data setting +*/ +static _sync_source sync_source[64]; +static int sync_source_count=0; +static int sync_enable=0; +int sync_data_register(char *name) +{ + FILE *handle; + char line[2048],*part; + char filename[256]; + int len,i,index,ret; + + + // initial + if(sync_source_count == 0) + { + readOmcdConf(); + if(sync_enable) + printf("Sync data function on\n"); + else + printf("Sync data function off\n"); + + handle=fopen("./dual/sync_source.conf","r"); + if(!handle) + { + printf("Can not find sync_source.conf file\n"); + exit(1); + } + + while(fgets(line,2048,handle)) + { + len=strlen(line); + if(len < 8) + continue; + for(i=0;i sync_source[id].syncfilesize) + { + + sprintf(filename,"%s/%06d.end",sync_source[id].senddir,sync_source[id].syncfileindex); + handle=fopen(filename,"w"); + if(!handle) + { + ems_debug("write_sync_data","Fail to open %s",filename); + exit(1); + } + fclose(handle); + + sync_source[id].syncfileindex++; + sync_source[id].syncfileindex%=MAX_SYNC_FILE_INDEX; + sync_source[id].curfilesize=0; + sprintf(sync_source[id].curfilename,"%s/%06d.dat",sync_source[id].senddir,sync_source[id].syncfileindex); + + sprintf(filename,"%s/file.index",sync_source[id].senddir); + handle=fopen(filename,"w"); + if(!handle) + { + ems_debug("write_sync_data","Fail to open %s",filename); + exit(1); + } + fwrite(&sync_source[id].syncfileindex,sizeof(sync_source[id].syncfileindex),1,handle); + fclose(handle); + + ems_debug("write_sync_data","Prepare to write file %06d",sync_source[id].syncfileindex); + } + handle=fopen(sync_source[id].curfilename,"a"); + sprintf(syncdata,"%s\n",data); + fwrite(syncdata,datalen+1,1,handle); + sync_source[id].curfilesize+=datalen+5; + fclose(handle); + return 1; +} + +/* +read the omcd.conf +*/ +static int readOmcdConf(void) +{ + char fileName[512]; + unsigned char buf[4096]; + unsigned char param[32][512]; + char paramName[128]; + char paramValue[384]; + char* temp; + FILE* fp; + int fi; + int i; + //int j; + int paramCount; + int byteCount; + + paramCount=0; + byteCount=0; + memset(buf,0,4096); + memset(param,0,32*512); + sprintf(fileName,"./conf/omcd.conf"); + fp=fopen(fileName,"r"); + if(fp) + { + fi=fileno(fp); + if(read(fi,buf,4096)) + { + for(i=0;i<4096;i++) + { + + if(buf[i] == 0x0A) + { + //printf("\n"); + if(byteCount<512 && param[paramCount][0] != 0x00 && param[paramCount][0] != 0x23) + paramCount++; + else + memset(param[paramCount],0,512); + byteCount=0; + } + else + { + param[paramCount][byteCount]=buf[i]; + byteCount++; + } + } + + for(i=0;i +#include +#include +#include +#include +#include +#include +#include + +#ifndef omcLib__H +#define omcLib__H + +#ifndef _T_BOOL +#define _T_BOOL +typedef unsigned char BOOL; +#endif + +#ifndef _T_BYTE +#define _T_BYTE +typedef unsigned char BYTE; +#endif + +#ifndef _T_WORD +#define _T_WORD +typedef unsigned short WORD; +#endif + +#ifndef _T_DWORD +#define _T_DWORD +typedef unsigned int DWORD; +#endif + + +// define struct for dual +#define MAX_SYNC_FILE_INDEX 1000000 +typedef struct _sync_source +{ + char name[128]; + char senddir[256]; + unsigned int syncfilesize; + unsigned int syncfileindex; + char curfilename[256]; + unsigned int curfilesize; +}_sync_source; +int sync_data_register(char *name); +int sync_data_write(int id, char *data, int datalen); + + + + + +void omc_AsciiToRbcd(BYTE * bcd_buf, const char *ascii_buf, int len); +void omc_RbcdToAscii(char *ascii_buf, const BYTE * bcd_buf, int len); +void clrscr(void); +int omcLogInit(const char *logFilePath, const char *logFileName, + FILE ** logFp); +void omcLog(FILE * logFp, const char *fmt, ...); +void StringCut(char *str, int c); +void exitLog(const char *fmt, ...); +void ems_debug(char *file,const char *fmt,...); +void time_mark_start(char *desc); +unsigned long time_mark_end(); + +#endif diff --git a/src/omcLib/c_program/omcLib/omcLib.h b/src/omcLib/c_program/omcLib/omcLib.h new file mode 100644 index 0000000..f08c72d --- /dev/null +++ b/src/omcLib/c_program/omcLib/omcLib.h @@ -0,0 +1,27 @@ +#ifndef OMCLIB__H +#define OMCLIB__H + +#ifndef _T_BOOL +#define _T_BOOL +typedef unsigned char BOOL; +#endif + +#ifndef _T_BYTE +#define _T_BYTE +typedef unsigned char BYTE; +#endif + +#ifndef _T_WORD +#define _T_WORD +typedef unsigned short WORD; +#endif + +#ifndef _T_DWORD +#define _T_DWORD +typedef unsigned int DWORD; +#endif + +#include "omcFuncLib.h" +#include "omcDbLib.h" + +#endif diff --git a/src/omcLib/c_program/omcLib/omcLibMain.c b/src/omcLib/c_program/omcLib/omcLibMain.c new file mode 100644 index 0000000..771156a --- /dev/null +++ b/src/omcLib/c_program/omcLib/omcLibMain.c @@ -0,0 +1,71 @@ +#include +#include "omcLib.h" + +int main() +{ + static MYSQL *dbConn; + static FILE *logFp_1; + static FILE *logFp_2; + + dbConn = mysql_conn("localhost", "OMC_PUB"); + if (dbConn == NULL) { + return (0); + } + //test omc_RbcdToAscii + if (1) { + char tmpAsc[10]; + unsigned char tmpBcd[5] = { 0x96, 0x51, 0x99, 0x99, 0x99 }; + omc_RbcdToAscii(tmpAsc, tmpBcd, 10); + printf("\n tmpAsc = %s", tmpAsc); + printf("\n Just say:Good Luck! \n\n"); + } + //test omcLog + if (1) { + char hewd[6] = "hewd"; + omcLogInit("./log", "hahaLog", &logFp_1); + omcLog(logFp_1, "I love you, %s", hewd); + omcLogInit("./log", "heheLog", &logFp_2); + omcLog(logFp_2, "%s,I love you", hewd); + omcLog(logFp_2, "%s,I love you", hewd); + omcLog(logFp_2, "%s,I love you", hewd); + omcLog(logFp_2, "%s,I love you", hewd); + } + //test mysql_tblcopy + if (0) { + int haha; + haha = + mysql_tblCpy(dbConn, "CDR_DB.cdrFromHLR_30", + "CDR_DB.cdrFromHLR_00"); + printf("haha = %d", haha); + } + //test delete table's record and sync with other omc + if (0) { + char sqlstr[256] = "\0"; + sprintf(sqlstr, + "DELETE FROM CDR_DB.cdrFromMSC_23 WHERE TO_DAYS(releaseTime)50000||wxc2_param.userIntLicense[SMEG_]<0) + wxc2_param.userIntLicense[SMEG_]=10000; + printf("smegLicense=%d\n",wxc2_param.userIntLicense[SMEG_]); + + for(i=0;i<4;i++){ + //High 4 bit + tmpStr[0]=tmpSequenceNumber[i*2+0]; + tmpStr[1]=0; + tmpValue=atoi(tmpStr)<<4; + //low 4 bit; + tmpStr[0]=tmpSequenceNumber[i*2+1]; + tmpStr[1]=0; + tmpValue=tmpValue+atoi(tmpStr); + sprintf(message, "tmpValue=%d\n", tmpValue); + writeDebug(message); + sequenceNum[i]=tmpValue; + } + + printf("SequenceNumber:"); + sprintf(message,"SequenceNumber="); + for(i=0;i<4;i++) + { + printf("%02X,",sequenceNum[i]); + sprintf(tmpStr,"%02X",sequenceNum[i]); + strcat(message,tmpStr); + } + strcat(message,"\n"); + writeDebug(message); + printf("\n"); + /**********Get serial/sequence Number End*********/ + + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + //umask(0); + } +/* switch(runOption){ + case 'd': + setup_daemon(); + break; + case '?': + break; + }*/ + + debug_init();//must do it at first + sysCode = omcSysNo*omcMaxSubSysNum+omcSubSysNo; + + // by simon at 20240426 + //init red led,set it to off + //WriteParalPort(0,1); + //init p1& p16 + //outb(0x05,PORT); + // -- end by simon + + fprintf(stderr,"\n Calling heartbeat_init(%x) finished",sysCode); + heartbeat_init(sysCode); + fflush(NULL); + + fprintf(stderr,"\n Calling iptrans_init()"); + iptrans_init(); + fflush(NULL); + + fprintf(stderr,"\n Calling mtp_shm_init()"); + mtp_shm_init(0); + mtp3_init_serial(tmpSequenceNumber); + fflush(NULL); + + fprintf(stderr,"\n Calling sccp_init()"); + sccp_init(); + sccp_init_serial_number(tmpSequenceNumber); + fflush(NULL); + + fprintf(stderr,"\n Calling beatProcInit()"); + + beatProcInit(sequenceNum); + fflush(NULL); + + fprintf(stderr,"\n Calling beatSendInit()"); + omcInfo.omcTypeNo =omcTypeNo; + omcInfo.sysNo =omcSysNo; + omcInfo.subSysNo =omcSubSysNo; + omcInfo.runMode =omcRunMode; + memcpy(omcInfo.version,omcVersion,sizeof(omcVersion)); + + beatSendInit(&omcInfo,sequenceNum); + fflush(NULL); + + fprintf(stderr,"\n Calling smpp_init_new()"); + smpp_init_new(sysCode); + fflush(NULL); + + //Init raid agent + raid_agent_init(omcSysNo); + + fprintf(stderr,"\n Calling smeg_init()"); + smeg_init(sequenceNum,omcSysNo,omcSubSysNo,wxc2_param.userIntLicense[SMEG_]); + fflush(NULL); + + fprintf(stderr,"\n Calling wsms_init()"); + wsms_init(); + fflush(NULL); + + if( omcRunMode == 0){ + register_ssn(4,1); + } + + //fprintf(stderr,"\n Calling cstaCollector_init()"); + //csta_init(); + + fprintf(stderr,"\n Calling init_paralport()"); + InitParalPort(); + + //if( omcRunMode == 1){ + fprintf(stderr,"\n Calling dualsrv_init()"); + dualsrv_init(); + //} + + snmp_init(4957); + snmp_init_serial_number((BYTE*)tmpSequenceNumber); + + printf("\n Finish all module's init!!"); + + wxc2SetTermSignal(&prev_termio,wxc2Terminate); + setOmcMainTimer(); + while(1) + { + usleep(2000); + } + return(1); +} + +void onOmcMainTimer(){ + BYTE m_state = 0; + unsigned long newTimeStamp; + static int shutSigCont=0; + static int reloadFlag=0; + +//START; + + if(reloadFlag==1){//Prevent to omcMainTimer reload + // removed by simon, 2023/11/02 + //printf("Has prevented to onOmcMainTimer reload\n"); + return; + } + + reloadFlag=1; + + //当0x379被连续按住超过10秒时,系统关机(LINUX服务器) + //by simon at 20240426 +// if(~(inb(0x379)) & 0x10){ +/* if(shutSigCont++ > 500){// 10s + int i; + for(i=1;i<10;i++){ + WriteParalPort(i,0);//set green led to off + } + WriteParalPort(0,1);//set red led to off + system("poweroff"); + exit(0); + } +*/ // }else{ + // shutSigCont = 0; + //} + // end by simon + + //init red led,set it to off + WriteParalPort(0,1); + newTimeStamp = time(NULL); +//END("process1"); + +//START; + #if omcMain_DEBUG + printf("\n %lu ,begin",time(NULL)); + #endif + + //if( omcRunMode == 1){ + m_state=dualsrv_timer(); + //} +//END("dualsrv_timer"); + #if omcMain_DEBUG + printf("\n %lu, dualsrv_timer()",time(NULL)); + #endif +//START; + WriteParalPort(5,1); + LED3=1; + debug_rt(); + mtp3_proc(); + sccp_timer(); + snmp_timer(); + heartbeat_timer(); + smpp_fsm_new(); + + + + WriteParalPort(5,0); + LED3=0; +//printf("omcMain timer,timerCount=%d\n",timerCount); + if(timerCount % 100 == 0){ //1s +//printf("omcMain timer,omcRunMode=%d\n",omcRunMode); + if(omcRunMode == 1){ +//printf("call beatSend in omcMain, omcRunMode=1\n"); + LED1=beatSend(m_state,omcRunMode); + }else{ +//printf("call beatSend in omcMain, omcRunMode!=1\n"); +//printf("beatSend %ld\n",time(NULL)); + LED1=beatSend(1,omcRunMode); + } + WriteParalPort(3,LED1); + beatSendOldTimeStamp = newTimeStamp; + } + + if((timerCount % 5 == 0) || (abs(newTimeStamp - beatProcOldTimeStamp) > 1)){ //100ms or 1s + beatProc(); + if(timerCount % 25 == 0){ + if(LED0 == 0){ + WriteParalPort(2,1); + LED0=1; + }else{ + WriteParalPort(2,0); + LED0=0; + } + } + if((omcRunMode == 0) || (m_state > 0)){ //master + WriteParalPort(4,1); + }else{ + WriteParalPort(4,0); + } + beatProcOldTimeStamp = newTimeStamp; + } + + if((omcRunMode == 0) || (omcRunMode == 1&& m_state == 0)){ + if(timerCount % 5 == 0){ + smeg_main(); + } + } + raid_agent_timer(); + wsms_timer(); + //if((omcRunMode == 0) || (m_state > 0)){ //master + //csta_timer(); + //wsms_timer(); + //cdr_timer(); + //WriteParalPort(9,0); + //}else{ + //snmp_set_timesync(1);//call of this function will tell snmp module sync the omc time from the master omc +// WriteParalPort(9,1); + //} + + if(timerCount > 180000){ //one hour's timerCount + timerCount=0; + } + timerCount++; + reloadFlag=0; +//END("other"); +} + + +void setOmcMainTimer() +{ + struct sigaction act; + act.sa_handler=onOmcMainTimer; + act.sa_flags=0; + sigemptyset(&act.sa_mask); + if(sigaction(SIGALRM,&act,NULL)<0) + { + perror("Produce Sigaction"); + exit(1); + } + + itimer.it_interval.tv_sec=0; + itimer.it_interval.tv_usec=10*1000; + itimer.it_value.tv_sec=0; + itimer.it_value.tv_usec=10*1000; + + if (setitimer(ITIMER_REAL,&itimer,&old_itimer) !=0 ) + { + printf("Setting Timer error! \n"); + exit(1); + } +} + +/************************************************* +Function: // getOmcConf +Description: // get omcVersion and omcBaseInfo from omcd.conf +Calls: // +Called By: // main() +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK,-1:error +Others: // +*************************************************/ +int getOmcConf() +{ + int statfd; + int i=0,buffSize = 1024; + char buff[buffSize]; + char strBuf[64]; + char *tmpStr; + char *b=NULL; + char *oneNum=NULL; + if ((statfd = open(OMCD_CONF_FILE, O_RDONLY, 0)) != -1){ + buff[buffSize-1] = 0; + read(statfd, buff, buffSize-1); + close(statfd); + + b = strstr(buff, "omcVersion="); + if(b == NULL){ + fprintf(stderr,"[%s:%d] %s Error: Cannot get omcVersion!! \n",__FILE__,__LINE__,__FUNCTION__); + exit(1); + }else{ + sscanf(b, "omcVersion=%s \n", strBuf); + printf("omcVersion=%s \n", strBuf); + } + tmpStr=strBuf; + i = 0; + while((oneNum = strsep(&tmpStr, "."))){ + if(atol(oneNum) >= 0xFF || i >= 3){ + fprintf(stderr,"[%s:%d] %s Error: OMC Version is error!! \n",__FILE__,__LINE__,__FUNCTION__); + exit(1); + } + omcVersion[i] = atol(oneNum); + //printf("omcVersion[%d]=%d \n",i,omcVersion[i]); + i++; + } + + b = strstr(buff, "omcTypeNo="); + if(b == NULL){ + printf("Cannot get omcTypeNo!! \n"); + exit(1); + }else{ + sscanf(b, "omcTypeNo=%d \n", &omcTypeNo); + printf("omcTypeNo=%d \n",omcTypeNo); + } + + b = strstr(buff, "omcSysNo="); + if(b == NULL){ + printf("Cannot get omcSysNo!! \n"); + exit(1); + }else{ + sscanf(b, "omcSysNo=%d \n", &omcSysNo); + printf("omcSysNo=%d \n",omcSysNo); + } + + b = strstr(buff, "omcSubSysNo="); + if(b == NULL){ + printf("Cannot get omcSubSysNo!! \n"); + exit(1); + }else{ + sscanf(b, "omcSubSysNo=%d \n", &omcSubSysNo); + printf("omcSubSysNo=%d \n",omcSubSysNo); + } + + b = strstr(buff, "omcRunMode="); + if(b == NULL){ + printf("Cannot get omcRunMode!! \n"); + omcRunMode=0; + //exit(1); + }else{ + sscanf(b, "omcRunMode=%d \n", &omcRunMode); + printf("omcRunMode=%d \n",omcRunMode); + } + + return(1); + }else{ + fprintf(stderr,"[%s:%d] %s Error: Can not open config file:%s!! \n",__FILE__,__LINE__,__FUNCTION__,OMCD_CONF_FILE); + return(-1); + } +} + +/************************************************* +Function: // getOmcSN +Description: // get omcSerialNum from omcd_serialNum.conf +Calls: // +Called By: // main() +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK,-1:error +Others: // +*************************************************/ +int getOmcSN() +{ + int statfd; + int buffSize = 1024; + char buff[buffSize]; + char strBuf[64]; + char *tmpStr; + char *b = NULL; + memset(strBuf, 0, 64); + memset(buff, 0, buffSize); + if ((statfd = open("./conf/omcd_serialnum.conf", O_RDONLY, 0)) != -1) + { + buff[buffSize - 1] = 0; + read(statfd, buff, buffSize - 1); + close(statfd); + + b = strstr(buff, "omcSN="); + if (b == NULL) + { + fprintf(stderr, "[%s:%d] %s Error: Cannot get omc sequence number!! \n", __FILE__, __LINE__, __FUNCTION__); + exit(1); + } + else + { + sscanf(b, "omcSN=%s \n", strBuf); + memcpy(tmpSequenceNumber, strBuf, 18); + tmpSequenceNumber[8] = '\0'; + printf("omcSN=%s \n", strBuf); + printf("tmpSequenceNumber=%s\n", tmpSequenceNumber); + } + + return (1); + } + else + { + fprintf(stderr, "[%s:%d] %s Error: Can not open omcd_serialnum.conf !! \n", __FILE__, __LINE__, __FUNCTION__); + return (-1); + } +} + +/************************************************* +Function: // ReadSystemConf +Description: // get serial/sequence numver from omcd.conf + //Check Activation_request_code.txt +Calls: // +Called By: // main() +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void ReadSystemConf() +{ + FILE *fpConf=NULL; + int i,flag=0; + // char hostname[128]; + char filename[]="./conf/system.ini"; + struct stat fileinfo; + //u_char data[8]; + + fpConf = fopen(filename,"r"); + if(fpConf==NULL){ + printf("Cann't open config file\n"); + printf("Please check directory and conf file\n"); + printf("Failed to continue!\n"); + exit(1); + } + stat(filename,&fileinfo); + /* + if(fileinfo.st_size != sizeof(wxc2_param)) + { + // don't set license when initialized + //updateFromLowVersion = 1; + //if(fileinfo.st_size == sizeof(wxc2_param_old)) + { + wxc2_param_old tmpParam; + fread(&tmpParam,sizeof(wxc2_param_old),1,fpConf); + memcpy(wxc2_param.serialNumber,tmpParam.serialNumber,16); + memcpy(wxc2_param.HDSerialNumber[0],tmpParam.HDSerialNumber,256); + } + + } + else + */ + fread(&wxc2_param,sizeof(wxc2_param),1,fpConf); + fclose(fpConf); + + /* + if(updateFromLowVersion) + { + memcpy(wxc2_param.HDSerialNumber[1],wxc2_param.HDSerialNumber,256); + } + */ + + for(i=0;i../log/hwlog.txt"); + system(buf); + fpConf = fopen("../log/hwlog.txt","r"); + if(fpConf != NULL) + { + fread(buf,2048,1,fpConf); + offset = strstr(buf,"HWaddr "); + if(offset == NULL) + offset = strstr(buf,"ether "); + + if (offset != NULL) + { + offset += 7; + for(i=0,j=0;i<64;i++) + { + if ((*(offset+i)=='\n') || + (*(offset+i)==' ')) + { + ethmac[j] = 0; + break; + } + else if (*(offset+i)==':') + continue; + else + { + ethmac[j] = *(offset+i); + //printf("ethmac[%d] = %c\n", j, ethmac[j]); + j++; + } + } + ethmac[j] = 0; + } + fclose(fpConf); + remove("../log/hwlog.txt"); + } + else + { + printf("Log directory may be missing!\n"); + return 0; + } + + // Memory + // Modify by simon, 2023/11/25 + memset(meminfo, 0, 64); + sprintf(meminfo, "%ld", totalMemory); + /* + sprintf(buf,"cat /proc/meminfo >../log/hwlog.txt"); + system(buf); + fpConf = fopen("../log/hwlog.txt","r"); + if(fpConf != NULL) + { + fread(buf,2048,1,fpConf); + offset = strstr(buf,"MemTotal:"); + if (offset != NULL) + { + for(i=0,j=0;i<64;i++) + { + if ((*(offset+i)=='\n') ||(*(offset+i)=='k')) + { + meminfo[j] = 0; + break; + } + else if (isdigit(*(offset+i))) + { + meminfo[j] = *(offset+i); + //printf("meminfo[%d] = %c\n", j, meminfo[j]); + j++; + } + } + meminfo[j] = 0; + } + fclose(fpConf); + remove("../log/hwlog.txt"); + } + else + { + printf("Log directory may be missing!\n"); + return 0; + } + */ + + // CPUInfo + memset(cpuinfo, 0, 64); + sprintf(buf,"cat /proc/cpuinfo >../log/hwlog.txt"); + system(buf); + fpConf = fopen("../log/hwlog.txt","r"); + if(fpConf != NULL) + { + fread(buf,2048,1,fpConf); + offset = strstr(buf,"cpu family"); + if (offset != NULL) + { + for(i=0,j=0;i<64;i++) + { + if (*(offset+i)=='\n') + { + cpuinfo[j] = 0; + break; + } + else if (isdigit(*(offset+i))) + { + cpuinfo[j] = *(offset+i); + //printf("cpuinfo[%d] = %c\n", j, cpuinfo[j]); + j++; + } + } + } + offset = strstr(buf,"model"); + if (offset != NULL) + { + for(i=0;i<64;i++) + { + if (*(offset+i)=='\n') + { + cpuinfo[j] = 0; + break; + } + else if (isdigit(*(offset+i))) + { + cpuinfo[j] = *(offset+i); + //printf("cpuinfo[%d] = %c\n", j, cpuinfo[j]); + j++; + } + } + } + offset = strstr(buf,"cache size"); + //offset = strstr(buf,"cpu MHz"); + //offset = strstr(buf,"bogomips"); + if (offset != NULL) + { + for(i=0;i<64;i++) + { + if (*(offset+i)=='\n') + { + cpuinfo[j] = 0; + break; + } + else if (*(offset+i) == 'K') + { + //continue; + break; + } + else if (isdigit(*(offset+i))) + { + cpuinfo[j] = *(offset+i); + //printf("cpuinfo[%d] = %c\n", j, cpuinfo[j]); + j++; + } + } + cpuinfo[j] = 0; + } + fclose(fpConf); + remove("../log/hwlog.txt"); + } + else + { + printf("Log directory may be missing!\n"); + return 0; + } + + strcpy(hwinfo, ""); + strcat(hwinfo, ethmac); + i = j = strlen(ethmac); + hwinfo[i++] = ethmac[0]; + hwinfo[i++] = ethmac[1]; + hwinfo[i++] = ethmac[2]; + hwinfo[i++] = ethmac[3]; + hwinfo[i] = 0; + strcat(hwinfo, meminfo); + j = strlen(meminfo); + i += j; + hwinfo[i++] = ethmac[4]; + hwinfo[i++] = ethmac[5]; + hwinfo[i++] = ethmac[6]; + hwinfo[i++] = ethmac[7]; + hwinfo[i] = 0; + strcat(hwinfo, cpuinfo); + j = strlen(cpuinfo); + i += j; + hwinfo[i++] = ethmac[8]; + hwinfo[i++] = ethmac[9]; + hwinfo[i++] = ethmac[10]; + hwinfo[i++] = ethmac[11]; + hwinfo[i] = 0; + + j = strlen(hwinfo); + if (j == 0) + { + printf("Missing Activation Request Info!\n"); + return 0; + } + + k = (j + 7) / 8; + //printf("hwinfo: %s, len: %d, segment: %d\n", hwinfo, j, k); + memset(hwinfo + j, '0', 128 - j); + printf("xxx=%d\n",k); + memset(act_req_code, 0, 128); + for (i = 0; i < k; i++) + { + memset(TmpStr, 0, 64); + DesCrypt(TmpStr, (BYTE*)(hwinfo + 8 * i), NULL, 0); + memcpy(act_req_code + 8 * i, TmpStr, 8); + } + memset(ascii_buf, 0, 256); + BcdToAscii(ascii_buf, act_req_code, k * 16); + + fpConf = fopen("../log/Activation_request_code.txt","w"); + if (fpConf != NULL) + { + fprintf(fpConf, "%s\n", ascii_buf); + fclose(fpConf); + } + else + { + printf("Missing Activation_request_code file!\n"); + return 0; + } + + memset(act_req_code_des, 0, 128); + for (i = 0; i < k; i++) + { + memset(TmpStr, 0, 64); + DesCrypt(TmpStr, act_req_code + 8 * i, NULL, 0); + memcpy(act_req_code_des + 8 * i, TmpStr, 8); + } + //memset(ascii_buf, 0, 128); + //BcdToAscii(ascii_buf, act_req_code_des, k * 16); + //printf("Activation request code DES: %s\n", ascii_buf); + + if(memcmp(act_req_code_des,HDSerailNumber,k*8) != 0 && memcmp(act_req_code_des, &HDSerailNumber[4],k*8) != 0) + { + printf("Check HD license failed!\n"); + printf("Activation request code: %s\n", ascii_buf); + printf("Please send ./log/Activation_request_code.txt to get the license\n"); + return 0; + } + printf("Check HD license... pass!\n"); + return 1; +} + +static int CheckLicenseDate(const u_char license_date[3]) +{ + time_t time_now = (unsigned long long)time(0); + struct tm tm_now; + localtime_r(&time_now, &tm_now); + u_char cur_year = tm_now.tm_year + 1900 - 2000; + u_char cur_mon = tm_now.tm_mon + 1; + u_char cur_day = tm_now.tm_mday; + + if(cur_year > license_date[0]) + { + printf("Check HD license date failed! license date year:mon:day=%d:%d%d\n", + license_date[0] + 2000, + license_date[1], + license_date[2]); + printf("Please send ./log/Activation_request_code.txt to get new license\n"); + return 0; + } + + if(cur_year == license_date[0] && + cur_mon > license_date[1]) + { + printf("Check HD license date failed! license date year:mon:day=%d:%d%d\n", + license_date[0] + 2000, + license_date[1], + license_date[2]); + printf("Please send ./log/Activation_request_code.txt to get new license\n"); + return 0; + } + + if(cur_year == license_date[0] && + cur_mon == license_date[1] && + cur_day > license_date[2] ) + { + printf("Check HD license date failed! license date year:mon:day=%d:%d%d\n", + license_date[0] + 2000, + license_date[1], + license_date[2]); + printf("Please send ./log/Activation_request_code.txt to get new license\n"); + return 0; + } + + printf("Check HD license date... pass!\n"); + return 1; +} +/************************************************* +Function: // setup_daemon +Description: // make process running at daemon +Calls: // +Called By: // main() +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void setup_daemon(void) +{ + //int i; + pid_t pid; + + /* + for (i=0; i<3; i++){ + close(i); + } + */ + + if ((pid = fork()) != 0) + exit(0); + setsid(); + //umask(0); + +/* switch (fork()){ + case -1: + perror("setup_daemon(), 1st fork()"); + exit(2); + case 0: + if (setsid()==-1){ + perror("setup_daemon(), setsid()"); + exit(3); + } + switch (fork()){ + case -1: + perror("setup_daemon(), 2nd fork()"); + exit(3); + case 0: + umask(0); + return; + default: + exit(0); + } + default: + exit(0); + }*/ + return; +} + +/************************************************* +Function: // wxc2SetTermSignal +Description: // make process accepting the signal from the terminal +Calls: // +Called By: // main() +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ + +static +void wxc2SetTermSignal(struct termio *ptermio, void (*handler)(int)) +{ + ioctl(0,TCGETA, ptermio); + ptermio->c_cc[VINTR] = '\x03'; + ioctl(0,TCSETA, ptermio); + + signal(SIGINT, handler); +// signal(SIGPIPE,handler); + signal(SIGKILL,handler); + signal(SIGSTOP,handler); + signal(SIGTERM,handler); +} + +/************************************************* +Function: // wxc2Terminate +Description: // Init parrallel port +Calls: // +Called By: // main() +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +static +void wxc2Terminate(int sig) +{ + //WriteParalPort(0,1); + // b simon at 20240426 + //outb(0x00,0x37a); + WriteParalPort(2,0); + WriteParalPort(3,0); + WriteParalPort(4,0); + WriteParalPort(5,0); + WriteParalPort(6,0); + WriteParalPort(7,0); + WriteParalPort(8,0); + WriteParalPort(9,0); + if(!sig){ + system("poweroff"); + } + exit(sig); +} + +void writeDebug(const char *fmt, ...) +{ + char command[512]; + long l_time; + struct tm *t; + va_list ap; + char message[1024]; + va_start(ap, fmt); + vsprintf(message, fmt, ap); + va_end(ap); + + l_time = time(NULL); + t = localtime(&l_time); + + sprintf(command,"echo '%02d:%02d:%02d %s' >>../log/omcmain_%d_%d.log",t->tm_hour, t->tm_min, t->tm_sec, message, t->tm_mon + 1, t->tm_mday); + system(command); +} diff --git a/src/omcMain/c_program/omcMain/omcMain.h b/src/omcMain/c_program/omcMain/omcMain.h new file mode 100644 index 0000000..3d2eaef --- /dev/null +++ b/src/omcMain/c_program/omcMain/omcMain.h @@ -0,0 +1,59 @@ +/************************************************* +File name: omcMain.h +Author: Cui Ticun +Version: 9.00.00 +Date: 2007-8-1 +Description:It calls the plat Module:SNMP,MTP3,SCCP,DEBUG,SMPP + and the faultMgr :beatSend,beatProc,dualSrv + +History: +No. +Author +Date +Version +Description +*************************************************/ + +#include + +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../../plat/debug/src/include/debug.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../../plat/snmp/src/include/macro.h" +#include "../../../../plat/mtp3/src/include/mtp3.h" +#include "../../../../plat/sccp/src/include/sccp.h" +#include "../../../../plat/iptrans/src/include/iptrans.h" +#include "../../../../plat/smpp/src/include/smpp.h" + +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../faultMgr/c_program/beatProc/beatProc.h" +#include "../../../faultMgr/c_program/beatSend/beatSend.h" +#include "../../../faultMgr/c_program/dualsrv/dualsrv.h" +#include "../../../performanceMgr/c_program/cstaCollector/csta.h" +#include "../../../accountMgr/c_program/wsms/wsms.h" + +#include "../../../faultMgr/c_program/raidAgent/raid_agent.h" + +#ifndef omcMain_DEBUG + #define omcMain_DEBUG 0 +#endif + +/* by simon at 23/9/26 */ +// struct timeval starttime,endtime; +// int nouse; +/* end by simon */ + +#define START gettimeofday(&starttime,NULL) +#define END(label) nouse=(gettimeofday(&endtime,NULL),printf("[%s]consume time=%f\n",label,((endtime.tv_sec-starttime.tv_sec)*1000000+endtime.tv_usec-starttime.tv_usec)/1000000.0)); + + +#define OMCD_CONF_FILE "./conf/omcd.conf" + +//OMC runMode Define +#define nSingleOmc 0 +#define nDualOmc 1 + +#define omcMaxSubSysNum 2 + +#define HD_SN_CHECK_FLAG 1 + diff --git a/src/performanceMgr/c_program/cstaCollector/Makefile b/src/performanceMgr/c_program/cstaCollector/Makefile new file mode 100644 index 0000000..2971fcf --- /dev/null +++ b/src/performanceMgr/c_program/cstaCollector/Makefile @@ -0,0 +1,84 @@ +#/bin/sh + +# Makefile for cstaCollector Module. + +CC = gcc +CFLAGS=-g -Wall -I/usr/local/mysql/include +CFLAGS.ES=-g -Wall -I/usr/include/mariadb + +COMPILE.c=$(CC) $(CFLAGS) +COMPILE.c.ES=$(CC) $(CFLAGS.ES) + +LINK.c=$(CC) $(CFLAGS) +LINK.c.ES=$(CC) $(CFLAGS.ES) + +LINKFLAG=-L../../../omcLib/c_program/ftp -lftp \ +-L../../../../wxc2plat/snmp -lsnmp \ +-L../../../../wxc2plat/debug -ldebug \ +-L../../../../wxc2plat/iptrans -liptrans \ +-L../../../../wxc2plat/public -lpublic \ +-L/usr/local/mysql/lib -lmariadbclient -lz + +LINKFLAG.ES=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lz + +PROGS=cstaCollector +CSTA_OBJ = csta.o +CSTA_OBJ.ES = csta.o.ES cstamain.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files(*.o, *.a)" + @echo "make linux72 -- Generate target files for Redhat Linux 7.2" + @echo "make linuxES -- Generate target files for Redhat ES 4.0" + +linux72: $(CSTA_OBJ) cstamain.o + @echo Linking $(PROGS) + @$(LINK.c) -o $(PROGS) cstamain.o $(CSTA_OBJ) $(LINKFLAG) -lm + ar r libcsta.a $(CSTA_OBJ) + rm -rf *.o + rm -rf *bak + rm -rf *~ + cp -f $(PROGS) ../../../bin + cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(CSTA_OBJ.ES) cstamain.o.ES + @echo Linking $(PROGS) + @$(LINK.c.ES) -o $(PROGS) cstamain.o $(CSTA_OBJ) $(LINKFLAG.ES) -lm + ar r libcsta.a $(CSTA_OBJ) + # rm -rf *.o + # rm -rf *bak + # rm -rf *~ + # cp -f $(PROGS) ../../../../bin + # cp -f $(PROGS) /usr/local/omc/bin/ + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +cstamain.o: cstamain.c + $(COMPILE.c) -c cstamain.c + +csta.o: csta.c csta.h + $(COMPILE.c) -c csta.c + +cstamain.o.ES: cstamain.c + $(COMPILE.c.ES) -c cstamain.c + +csta.o.ES: csta.c csta.h + $(COMPILE.c.ES) -c csta.c + +clean: + rm -f *.o *.a $(PROGS) + diff --git a/src/performanceMgr/c_program/cstaCollector/csta.c b/src/performanceMgr/c_program/cstaCollector/csta.c new file mode 100644 index 0000000..38d44ec --- /dev/null +++ b/src/performanceMgr/c_program/cstaCollector/csta.c @@ -0,0 +1,1804 @@ +#include "csta.h" + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,12}; +int PROC_HEARTBEAT_OIDLEN=11; +unsigned long heartbeat_timeout=0; +int sendHeartbeat(); + +int getOmcSysNo(int* sysNo); +int getOmcStatus(int sysNo); +int omcSysNo=-1; + +/* +return: + TIMETO_NONE + TIMETO_GET_CSTA + TIMETO_OUTPUT_FILE + TIMETO_CHANGE_LOG +*/ +int checkTime(); +/* +return: + 0-95 +*/ +int getInstance(); + +/* +return: + -1:fail + 0-95:success +*/ +int getLastInstance(csta_src *pcsta,csta_sys *psys); + +/* +return: + 0:fail + 1:success +*/ + +void csta_log(const char *fmt, ...); + +int cstasrc_init(); +void csta_receive(); +void csta_request(csta_src *pcsta,csta_sys *psys); +void csta_analyze(snmp_pdu *pdu); +int csta_send(csta_src *pcsta,csta_sys *psys); +int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu); +int csta_record_multi(csta_src *pcsta,csta_sys *psys); +int csta_create_csv(); + +int parse_map_table(csta_obj *pobj); +void getSystemIP(); +void update_system(); + +BYTE str2oid(char *str, DWORD * array, BYTE max); +int parseLine(char *str, char (*row)[32], int maxrow); + +/* Global variable */ +int change_log_flag=1; +int output_file_flag=1; +int csta_flag[96]; +FILE *logfp=NULL; +MYSQL *pCstaConn; +MYSQL *pubConn; +csta_src CstaSet[MAX_CSTA_SRC_NUM]; +int csta_src_num=0; +int global_instance=0; +int csv_src_index=0; +char csv_sent_dir[128]; +char csv_sending_dir[128]; +int csv_send_flag=0; + +int csta_init() +{ + csta_log("cstaCollector starting ..."); + + pCstaConn=mysql_conn("localhost",CSTA_DB); + if(pCstaConn == NULL) + { + csta_log("Connect to %s fail",CSTA_DB); + return 0; + } + + pubConn=mysql_conn("localhost","OMC_PUB"); + if(pubConn == NULL) + { + csta_log("Connect to OMC_PUB fail"); + return 0; + } + + getOmcSysNo(&omcSysNo); + if(omcSysNo<0 || omcSysNo >1) + printf("Fail to get the omcSysNo\n"); + + cstasrc_init(); + return 1; +} + +void csta_timer() +{ + static int update_system_timeout=0; + csta_src *pcsta; + csta_sys *psys; + csta_obj *pobj; + int i,j; + int omcStatus; + + if(time(NULL) - heartbeat_timeout > 5) + { + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + + omcStatus=getOmcStatus(omcSysNo); + + //Master or single + if(omcStatus == 5 || omcStatus == 7) + { + if(update_system_timeout-- < 0) + { + update_system_timeout=UPDATE_SYSTEM_INTERVAL; + update_system(); + + if(mysql_ping(pCstaConn)) + { + csta_log("[ERR 2006][csta_timer]:mysql CSTA_DB has gone away,reconnect"); + mysql_close(pCstaConn); + pCstaConn=mysql_conn("localhost","CSTA_DB"); + if(pCstaConn == NULL) + { + csta_log("[ERR][csta_timer]:reconnect CSTA_DB"); + } + } + } + + switch(checkTime()) + { + case TIMETO_GET_CSTA: + for(i=0;isystemCount;j++) + { + if(pcsta->systems[j].system_state == STATE_NORMAL && pcsta->systems[j].msg_state != STATE_MSG_WAIT_RESPONSE) + { + pcsta->systems[j].msg_state=STATE_MSG_GET_REQUEST; + pcsta->systems[j].instance=getInstance(); + pcsta->systems[j].objindex=0; + pcsta->systems[j].id1=pcsta->objects[0].id1_start; + pcsta->systems[j].id2=pcsta->objects[0].id2_start; + csta_log("sysTypeNo=%d,start to get instance=%d csta data!",pcsta->sysTypeNo,pcsta->systems[j].instance); + } + } + } + break; + case TIMETO_OUTPUT_FILE: + csv_src_index=0; + csta_log("It is time to create csv file"); + break; + case TIMETO_CHANGE_LOG: + //cstalog_init(); + break; + case TIMETO_NONE: + default: + break; + } + csta_create_csv(); + csta_receive(); + for(i=0;isystemCount;j++) + { + psys=&pcsta->systems[j]; + switch(psys->msg_state) + { + case STATE_MSG_GET_REQUEST: + csta_request(pcsta,psys); + break; + case STATE_MSG_WAIT_RESPONSE: + //The csta_analyze function will change the state to STATE_MSG_GET_REQUEST + psys->fail++; + if(psys->fail > 50*10) + { + psys->fail=0; + psys->retry++; + + psys->instance=psys->pre_instance; + psys->objindex=psys->pre_objindex; + psys->id1=psys->pre_id1; + psys->id2=psys->pre_id2; + psys->msg_state=STATE_MSG_GET_REQUEST; + #if CSTA_DEBUG + csta_log("Get response timeout,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d,retry=%d",pcsta->sysTypeNo,psys->instance,psys->objindex,psys->id1,psys->id2,psys->retry); + #endif + } + + if(psys->retry > 2) + { + #if CSTA_DEBUG + csta_log("Get response timeout and retry %d time, ignore it",psys->retry); + #endif + psys->retry=0; + + if(psys->system_state == STATE_CHASE) + { + psys->msg_state=STATE_MSG_GET_REQUEST; + pobj=&pcsta->objects[psys->objindex]; + if(pobj->csta_type == 0) + { + psys->objindex++; + if(psys->objindex == pcsta->objectCount) + { + psys->objindex=0; + psys->instance++; + psys->instance%=96; + } + } + else if(pobj->csta_type == 1) + { + psys->id1++; + if(psys->id1 == pobj->id1_end) + { + psys->id1=0; + psys->objindex++; + if(psys->objindex == pcsta->objectCount) + { + psys->objindex=0; + psys->instance++; + psys->instance%=96; + } + } + } + else + { + psys->id2++; + if(psys->id2 == pobj->id2_end) + { + psys->id2=0; + psys->id1++; + if(psys->id1 == pobj->id1_end) + { + psys->id1=0; + psys->objindex++; + if(psys->objindex == pcsta->objectCount) + { + psys->objindex=0; + psys->instance++; + psys->instance%=96; + } + } + } + } + + if(psys->instance == global_instance) + { + psys->system_state=STATE_NORMAL; + psys->msg_state=STATE_MSG_NONE; + } + } + else + { + psys->msg_state=STATE_MSG_NONE; + } + } + break; + case STATE_MSG_NONE: + default: + break; + } + } + } + } +} + +int getOmcSysNo(int* sysNo) +{ + char fileName[512]; + unsigned char buf[4096]; + unsigned char param[32][512]; + char paramName[128]; + char paramValue[384]; + char* temp; + FILE* fp; + int fi; + int i; + //int j; + int paramCount; + int byteCount; + + paramCount=0; + byteCount=0; + memset(buf,0,4096); + memset(param,0,32*512); + sprintf(fileName,"./conf/omcd.conf"); + fp=fopen(fileName,"r"); + if(fp) + { + fi=fileno(fp); + if(read(fi,buf,4096)) + { + for(i=0;i<4096;i++) + { + if(buf[i] == 0x0A) + { + //printf("\n"); + if(byteCount<512 && param[paramCount][0] != 0x00 && param[paramCount][0] != 0x23) + paramCount++; + else + memset(param[paramCount],0,512); + byteCount=0; + } + else + { + param[paramCount][byteCount]=buf[i]; + byteCount++; + } + + //printf("%02x ",buf[i]); + } + + for(i=0;itm_hour; + minute=t->tm_min; + + //for changing log file + if(change_log_flag == 0 && hour == 23 && minute == 0) + change_log_flag=1; + if(change_log_flag && hour == 0 && minute == 0) + { + change_log_flag=0; + return TIMETO_CHANGE_LOG; + } + + //for output file + if(output_file_flag == 0 && hour == OUTPUT_FILE_TIME_HOUR && minute == (OUTPUT_FILE_TIME_MINUTE-15)) + output_file_flag=1; + if(output_file_flag == 1 && hour == OUTPUT_FILE_TIME_HOUR && minute == OUTPUT_FILE_TIME_MINUTE) + { + output_file_flag=0; + return TIMETO_OUTPUT_FILE; + } + + // fj for debug + //for get csta + #if 0 + // 一分钟取一次数据 + if(((minute%1) == 1) || minute == 5 || minute == 20 || minute == 35 || minute == 50) + #else + // 15分钟取一次数据 + if( minute == 5 || minute == 20 || minute == 35 || minute == 50) + #endif + { + instance=(hour*4 + minute/15 - 1 + 96)%96; + if(csta_flag[instance] == 0) + { + csta_flag[instance]=1; + csta_flag[(instance - 1 + 96)%96]=0; + global_instance++; + global_instance=global_instance%96; + return TIMETO_GET_CSTA; + } + } + + return TIMETO_NONE; +} + +int getInstance() +{ + long l_time; + struct tm *t; + int hour,minute; + + l_time=time(NULL); + t=localtime(&l_time); + hour=t->tm_hour; + minute=t->tm_min; + + return (hour*4 + minute/15 - 1 + 96)%96; +} + +int getLastInstance(csta_src *pcsta,csta_sys *psys) +{ + char sqlstr[1024]; + MYSQL_RES *res_set; + MYSQL_ROW row; + csta_obj *pobj; + time_t l_time; + struct tm *t; + time_t now_time; + + pobj=&pcsta->objects[0]; + sprintf(sqlstr,"select max(UNIX_TIMESTAMP(csta_datetime)) from %s.%sData ",CSTA_DB,pobj->detail_table); + + res_set=mysql_getres(pCstaConn,sqlstr); + if(res_set == NULL) + { + csta_log("Get last instance from %sData fail,res_set is null",pobj->detail_table); + return -1; + } + + if(mysql_num_rows(res_set) != 1) + { + csta_log("There is no last instance in the table of system %d",pcsta->sysTypeNo); + mysql_free_result(res_set); + return -1; + } + + row=mysql_fetch_row(res_set); + if(row == NULL) + { + csta_log("Get last instance from %sData fail,row is null",pobj->detail_table); + mysql_free_result(res_set); + return -1; + } + mysql_free_result(res_set); + + if(row[0] == NULL || strlen(row[0]) == 0) + l_time=0; + else + l_time=(time_t)(strtoul(row[0],NULL,10)); + t=localtime(&l_time); + + now_time=time(NULL); + if(now_time < l_time) + { + csta_log("Get last instance from %sData fail,time is invalid",pobj->detail_table); + return -1; + } + if((now_time - l_time) > 24 * 60 * 60) + { + csta_log("Get last instance from %sData fail,ems may be stopped for one more day",pobj->detail_table); + return -1; + } + + return t->tm_hour*4 + t->tm_min/15; +} + +int cstasrc_init() +{ + char sqlstr[8192]; + char tmpstr[256]; + MYSQL_RES *res_set; + MYSQL_ROW row; + int index; + csta_src *pcsta; + csta_obj *pobj; + int i; + + long l_time; + struct tm *t; + int hour,minute; + + csta_log("Load csta source"); + memset(csta_flag,0,sizeof(csta_flag)); + + l_time=time(NULL); + t=localtime(&l_time); + hour=t->tm_hour; + minute=t->tm_min; + + if(minute == 5 || minute == 20 || minute == 35 || minute == 50) + global_instance=((hour*60+minute-5+24*60)%(24*60))/15-2+96; + else + global_instance=((hour*60+minute-5+24*60)%(24*60))/15-1+96; + global_instance%=96; + + sprintf(sqlstr, + "SELECT sysTypeNo,recordTable,sumTable,sumUp,hasSubSys,width,isFullRow,checkTime,useAgent,csvPath,detailToSum FROM %s.cstaDefine WHERE isEnable > '0' GROUP BY sysTypeNo,isFullRow", + CSTA_DB); + + res_set=mysql_getres(pCstaConn,sqlstr); + if(res_set == NULL) + { + csta_log("Load csta source fail"); + return 0; + } + + while ((row = mysql_fetch_row(res_set)) != NULL) + { + CstaSet[csta_src_num].sysTypeNo=atoi(row[0]); + CstaSet[csta_src_num].hassubsys=atoi(row[4]); + CstaSet[csta_src_num].sum_flag=atoi(row[3]); + CstaSet[csta_src_num].check_time_flag=atoi(row[7]); + CstaSet[csta_src_num].single_message_flag=atoi(row[6]); + CstaSet[csta_src_num].systemCount=0; + CstaSet[csta_src_num].objectCount=0; + sprintf(CstaSet[csta_src_num].csv_path,"%s",row[9]); + + csta_src_num++; + if(csta_src_num >= MAX_CSTA_SRC_NUM) + { + csta_log("The csta source is greater than %d\n",MAX_CSTA_SRC_NUM); + break; + } + } + mysql_free_result(res_set); + + for(index=0;index 0 order by objIndex",CSTA_DB,pcsta->sysTypeNo); + + res_set=mysql_getres(pCstaConn,sqlstr); + while ((row = mysql_fetch_row(res_set)) != NULL) + { + pobj=&pcsta->objects[pcsta->objectCount]; + pobj->csta_type=atoi(row[4]); + pobj->field_width=atoi(row[5]); + pobj->oidlen=str2oid(row[1],pobj->oid,OID_MAXLEN); + pobj->id1_start=atoi(row[6]); + pobj->id1_end=atoi(row[7]); + //csta_log("id1_end:%d",pobj->id1_end); + pobj->id1_offset=atoi(row[8]); + sprintf(pobj->id1_field,"%s",row[9]); + pobj->id2_start=atoi(row[10]); + pobj->id2_end=atoi(row[11]); + pobj->id2_offset=atoi(row[12]); + sprintf(pobj->id2_field,"%s",row[13]); + sprintf(pobj->sql_detail,"%s",row[14]); + pobj->detail_field_count=parseLine(row[14],pobj->detail_field_list,MAX_FIELD_NUM); + sprintf(pobj->detail_table,"%s",row[2]); + sprintf(pobj->sum_table,"%s",row[3]); + //map table + if(row[15] != NULL && strlen(row[15])>0 && row[15][0] != ' ') + { + sprintf(pobj->relate_table,"%s",row[15]); + if(!parse_map_table(pobj)) + csta_log("Parse map table fail,sysTypeNo=%d",pcsta->sysTypeNo); + } + else + { + if(pcsta->sum_flag) + { + pobj->sum_field_count=pobj->detail_field_count; + memset(pobj->sum_field_list,0,sizeof(pobj->sum_field_list)); + memcpy(pobj->sum_field_list,pobj->detail_field_list,sizeof(pobj->detail_field_list)); + memset(pobj->sql_sum,0,sizeof(pobj->sql_sum)); + for(i=0;isum_field_count;i++) + { + sprintf(tmpstr,"sum(%s) as %s",pobj->sum_field_list[i],pobj->sum_field_list[i]); + if(i != (pobj->sum_field_count-1)) + strcat(tmpstr,","); + strcat(pobj->sql_sum,tmpstr); + } + sprintf(pobj->relate_table,"NoRelation"); + } + } + pcsta->objectCount++; + } + mysql_free_result(res_set); + } + + //Initial the csv src index + csv_src_index=csta_src_num; + + //Get csv_sending_dir + sprintf(sqlstr,"SELECT pubVarValue FROM %s.cstaPubVarConf WHERE pubVarName='sending_directory' ",CSTA_DB); + res_set=mysql_getres(pCstaConn,sqlstr); + if(res_set == NULL) + { + csta_log("Load sending directory fail, set it to /tmp/"); + sprintf(csv_sending_dir,"/tmp/"); + } + else + { + row=mysql_fetch_row(res_set); + if(row == NULL || strlen(row[0]) == 0) + sprintf(csv_sending_dir,"/tmp/"); + else + sprintf(csv_sending_dir,"%s",row[0]); + mysql_free_result(res_set); + } + csta_log("CSV sending direcory=%s",csv_sending_dir); + + //Get csv_sent_dir + sprintf(sqlstr,"SELECT pubVarValue FROM %s.cstaPubVarConf WHERE pubVarName='sent_directory' ",CSTA_DB); + res_set=mysql_getres(pCstaConn,sqlstr); + if(res_set == NULL) + { + csta_log("Load sent directory fail, set it to /tmp/"); + sprintf(csv_sent_dir,"/tmp/"); + } + else + { + row=mysql_fetch_row(res_set); + if(row == NULL || strlen(row[0]) == 0) + sprintf(csv_sent_dir,"/tmp/"); + else + sprintf(csv_sent_dir,"%s",row[0]); + mysql_free_result(res_set); + } + csta_log("CSV sent direcory=%s",csv_sent_dir); + + csv_send_flag=0; + sprintf(sqlstr,"SELECT pubVarValue FROM OMC_PUB.omcPubVarConf WHERE pubVarName='csta_store_server'"); + res_set=mysql_getres(pCstaConn,sqlstr); + if(res_set == NULL) + { + csv_send_flag=0; + } + else + { + if((row=mysql_fetch_row(res_set)) != NULL) + { + if(strlen(row[0]) == 0) + { + csv_send_flag=0; + } + else + { + csv_send_flag=1; + } + } + mysql_free_result(res_set); + } + csta_log("CSV send flag=%d",csv_send_flag); + + return 1; +} + +int parse_map_table(csta_obj *pobj) +{ + char sqlstr[8192]; + char tmpstr2[512]; + char tmplist[8192]; + MYSQL_RES *res_set; + MYSQL_ROW row; + int i; + + if(strcmp(pobj->relate_table,"NoRelation") == 0) + return 0; + + memset(sqlstr,0,sizeof(sqlstr)); + memset(tmpstr2,0,sizeof(tmpstr2)); + memset(tmplist,0,sizeof(tmplist)); + + sprintf(sqlstr,"select distinct sumFieldList from %s.%s ",CSTA_DB,pobj->relate_table); + res_set=mysql_getres(pCstaConn,sqlstr); + if(res_set == NULL) + return 0; + + pobj->sum_field_count=0; + while ((row = mysql_fetch_row(res_set)) != NULL) + { + sprintf(pobj->sum_field_list[pobj->sum_field_count],"%s",row[0]); + pobj->sum_field_count++; + } + mysql_free_result(res_set); + memset(pobj->sql_sum,0,sizeof(pobj->sql_sum)); + for(i=0;isum_field_count;i++) + { + sprintf(sqlstr,"select detailFieldList from %s.%s where sumFieldList='%s' ",CSTA_DB,pobj->relate_table,pobj->sum_field_list[i]); + res_set=mysql_getres(pCstaConn,sqlstr); + if(res_set == NULL) + return 0; + + memset(tmplist,0,sizeof(tmplist)); + while ((row = mysql_fetch_row(res_set)) != NULL) + { + sprintf(tmpstr2,"sum(%s)+",row[0]); + strcat(tmplist,tmpstr2); + } + if(tmplist[strlen(tmplist)-1] == '+') + tmplist[strlen(tmplist)-1]='\0'; + sprintf(tmpstr2," as %s",pobj->sum_field_list[i]); + strcat(tmplist,tmpstr2); + if(i != (pobj->sum_field_count-1)) + strcat(tmplist,","); + strcat(pobj->sql_sum,tmplist); + mysql_free_result(res_set); + } + return 1; +} + +void update_system() +{ + char sqlstr[512]; + MYSQL_RES *res_set; + MYSQL_ROW row; + csta_src *pcsta; + csta_sys *psys; + csta_obj *pobj; + int i; + int last_instance; + + for(i=0;isystemCount=0; + sprintf(sqlstr, + "SELECT sysNo,subSysNo,ip,isRemote,netId,DPC FROM OMC_PUB.sysInfo WHERE sysTypeNo=%d ORDER BY sysNo,subSysNo", + pcsta->sysTypeNo); + res_set=mysql_getres(pCstaConn,sqlstr); + if(res_set == NULL) + return; + while ((row = mysql_fetch_row(res_set)) != NULL) + { + psys=&pcsta->systems[pcsta->systemCount++]; + if(psys->addr.remote_ip == inet_addr(row[2])) + { + continue; + } + + psys->sysid=atoi(row[0]); + psys->subsysid=atoi(row[1]); + psys->addr.remote_ip=inet_addr(row[2]); + + psys->addr.local_port=CSTA_PORT; + psys->addr.remote_port=SNMP_PORT; + psys->objindex=0; + psys->msglen=0; + pobj=&pcsta->objects[0]; + if(pobj->csta_type > 0) + psys->id1=pobj->id1_start; + if(pobj->csta_type == 2) + { + psys->id2=pobj->id2_start; + } + + if(pcsta->check_time_flag) + { + last_instance=getLastInstance(pcsta,psys); + if(last_instance == -1) + psys->instance=(global_instance+2)%96; + else + psys->instance=last_instance; + + if(last_instance == global_instance) + { + psys->msg_state=STATE_MSG_NONE; + psys->system_state=STATE_NORMAL; + } + else + { + psys->timeout=CHASE_INTERVAL; + psys->msg_state=STATE_MSG_GET_REQUEST; + psys->system_state=STATE_CHASE; + } + } + else + { + psys->instance=global_instance; + psys->timeout=0; + psys->msg_state=STATE_MSG_NONE; + psys->system_state=STATE_NORMAL; + } + csta_log("Connect to system,sysTypeNo=%d,sysid=%d,subsysid=%d,ip=%s,instance=%d",pcsta->sysTypeNo,psys->sysid,psys->subsysid,row[2],psys->instance); + } + mysql_free_result(res_set); + } +} + +void csta_request(csta_src *pcsta,csta_sys *psys) +{ + csta_obj *pobj,*pobj_n; + + pobj=&pcsta->objects[psys->objindex]; + psys->pre_objindex=psys->objindex; + psys->pre_instance=psys->instance; + psys->pre_id1=psys->id1; + psys->pre_id2=psys->id2; + if(psys->objindex < pcsta->objectCount) + { + switch(pobj->csta_type) + { + case 0: + if(csta_send(pcsta,psys)) + { + psys->objindex++; + } + break; + case 1: + //csta_log("psys->id1:%d",psys->id1); + if(psys->id1 <= pobj->id1_end) + { + if(csta_send(pcsta,psys)) + { + psys->id1++; + } + } + else + { + psys->objindex++; + pobj_n=&pcsta->objects[psys->objindex]; + psys->id1=pobj_n->id1_start; + } + break; + case 2: + if(psys->id1 <= pobj->id1_end) + { + if(psys->id2 <= pobj->id2_end) + { + if(csta_send(pcsta,psys)) + psys->id2++; + } + else + { + psys->id1++; + psys->id2=pobj->id2_start; + } + } + else + { + psys->objindex++; + pobj_n=&pcsta->objects[psys->objindex]; + psys->id1=pobj_n->id1_start; + psys->id2=pobj_n->id2_start; + } + break; + default: + break; + } + } + else + { + psys->objindex=0; + pobj_n=&pcsta->objects[psys->objindex]; + psys->id1=pobj_n->id1_start; + psys->id2=pobj_n->id2_start; + + if(psys->instance == global_instance) + { + psys->system_state=STATE_NORMAL; + psys->msg_state=STATE_MSG_NONE; + csta_log("sysTypeNo=%d,finish to get instance=%d csta data.",pcsta->sysTypeNo,psys->instance); + if(!pcsta->single_message_flag) + csta_record_multi(pcsta,psys); + } + else + { + if(psys->system_state == STATE_CHASE) + { +#if CSTA_DEBUG + csta_log("sysTypeNo=%d,finish to chase instance=%d csta data.",pcsta->sysTypeNo,psys->instance); +#endif + if(!pcsta->single_message_flag) + csta_record_multi(pcsta,psys); + } + } + + psys->instance++; + psys->instance%=96; + } +} + +int csta_send(csta_src *pcsta,csta_sys *psys) +{ + snmp_pdu csta_pdu; + csta_obj *pobj; + int b_oidlen; + + pobj=&pcsta->objects[psys->objindex]; + + csta_pdu.pdu_type=PDU_GET; + csta_pdu.var_num=1; + sprintf(csta_pdu.community,"public"); + b_oidlen=pobj->oidlen; + memcpy(csta_pdu.var[0].oid,pobj->oid,b_oidlen * 4); + + switch(pobj->csta_type) + { + case 0: + if(pcsta->sysTypeNo==226 || pcsta->sysTypeNo==227){ + //Entry OID + csta_pdu.var[0].oid[b_oidlen++]=1; + //Data OID + csta_pdu.var[0].oid[b_oidlen++]=2; + } + break; + case 1: + csta_pdu.var[0].oid[b_oidlen++]=psys->id1; + if(pcsta->sysTypeNo==320 || pcsta->sysTypeNo==379 || pcsta->sysTypeNo==385 || pcsta->sysTypeNo==387) + { + //Entry OID + csta_pdu.var[0].oid[b_oidlen++]=1; + //Data OID + csta_pdu.var[0].oid[b_oidlen++]=2; + //printf("sysTypeNo=%d,csta_type=1,objindex=%d,id1=%d\n",pcsta->sysTypeNo,psys->objindex,psys->id1); + } + + break; + case 2: + csta_pdu.var[0].oid[b_oidlen++]=psys->id1; + if(pcsta->sysTypeNo==320 || pcsta->sysTypeNo==378|| pcsta->sysTypeNo==387) + { + //Entry OID + csta_pdu.var[0].oid[b_oidlen++]=1; + //Data OID + csta_pdu.var[0].oid[b_oidlen++]=3; + //printf("sysTypeNo=%d,csta_type=2,objindex=%d,id1=%d,id2=%d\n",pcsta->sysTypeNo,psys->objindex,psys->id1,psys->id2); + } + csta_pdu.var[0].oid[b_oidlen++]=psys->id2; + break; + } + if(psys->system_state == STATE_NORMAL) + psys->instance=getInstance(); + csta_pdu.var[0].oid[b_oidlen]=psys->instance; + csta_pdu.var[0].oidlen=b_oidlen+1; + csta_pdu.request_id=0; + + psys->request_id=snmp_send(&csta_pdu,&psys->addr); + psys->msg_state=STATE_MSG_WAIT_RESPONSE; + + //printf("send,sysTypeNo=%d,request_id=%ld,instance=%d,obj=%d,id1=%d,id2=%d\n",pcsta->sysTypeNo,psys->request_id,psys->instance,psys->objindex,psys->id1,psys->id2); + return 1; +} + +void csta_receive() +{ + snmp_pdu csta_pdu; + snmp_addr addr; + int loop=20; + addr.local_port=CSTA_PORT; + while(loop-->0) + { + if(snmp_receive(&csta_pdu,&addr) == 0) + { + continue; + } + if(csta_pdu.pdu_type != PDU_RSP) + { + continue; + } + csta_analyze(&csta_pdu); + break; + } +} + +void csta_analyze(snmp_pdu *pdu) +{ + csta_src *pcsta; + csta_sys *psys; + csta_obj *pobj; + var_list *pvar; + int i,j; + + pvar=&pdu->var[0]; + for(i=0;isystemCount;j++) + { + psys=&pcsta->systems[j]; + if(psys->msg_state == STATE_MSG_WAIT_RESPONSE && psys->request_id == pdu->request_id) + { + //printf("receive,sysTypeNo=%d,pre_objindex=%d,objindex=%d\n",pcsta->sysTypeNo,psys->pre_objindex,psys->objindex); + psys->fail=0; + psys->retry=0; + psys->request_id=0; + csta_record(pcsta,psys,pdu); + + if(psys->system_state == STATE_NORMAL) + { + if(psys->pre_objindex == (pcsta->objectCount-1)) + { + pobj=&pcsta->objects[psys->pre_objindex]; + switch(pobj->csta_type) + { + case 0: + psys->msg_state=STATE_MSG_NONE; + csta_log("sysTypeNo=%d,finish to get instance=%d csta data!",pcsta->sysTypeNo,psys->instance); + if(!pcsta->single_message_flag) + { + csta_record_multi(pcsta,psys); + } + break; + case 1: + if(psys->id1 == (pobj->id1_end+1)) + { + psys->msg_state=STATE_MSG_NONE; + csta_log("sysTypeNo=%d,finish to get instance=%d csta data!!",pcsta->sysTypeNo,psys->instance); + } + else + { + psys->msg_state=STATE_MSG_GET_REQUEST; + } + break; + case 2: + if(psys->id1 == (pobj->id1_end+1) && psys->id2 == (pobj->id2_end+1)) + { + psys->msg_state=STATE_MSG_NONE; + csta_log("sysTypeNo=%d,finish to get instance=%d csta data!!!",pcsta->sysTypeNo,psys->instance); + } + else + { + psys->msg_state=STATE_MSG_GET_REQUEST; + } + } + } + //normal get + else + { + psys->msg_state=STATE_MSG_GET_REQUEST; + } + } + //chase + else + { + psys->msg_state=STATE_MSG_GET_REQUEST; + } + return; + } + } + } + + if(i == csta_src_num) + { + csta_log("The package is not match any system, discard it"); + } + return; +} + +int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu) +{ + csta_obj *pobj; + var_list *pvar; + DWORD d_timestamp,*p_long; + DWORD *pval4; + WORD *pval2; + char sqlstr[8192],sumsqlstr[8192],sumCondition[512],sumFieldList[8192]; + char sys_field[128],sys_value[128]; + char key_field[128],key_value[128]; + char tmpstr3[128]; + int i; + //for sum up + int needSumFlag=0; + int isRecord=0; + MYSQL_RES *res_set; + MYSQL_ROW row; + + memset(sqlstr,0,sizeof(sqlstr)); + memset(sumsqlstr,0,sizeof(sumsqlstr)); + memset(sumCondition,0,sizeof(sumCondition)); + memset(sumFieldList,0,sizeof(sumFieldList)); + memset(sys_field,0,sizeof(sys_field)); + memset(sys_value,0,sizeof(sys_field)); + memset(key_field,0,sizeof(sys_field)); + memset(key_value,0,sizeof(sys_field)); + memset(tmpstr3,0,sizeof(tmpstr3)); + + pvar=&pdu->var[0]; + + if(pvar->vartype == 0x04 && pvar->msglen > 0) + { + pobj=&pcsta->objects[psys->pre_objindex]; + p_long = (DWORD *) pvar->msg; + d_timestamp = htonl(*p_long); + + //no timestamp + if(d_timestamp == 0) + { +#if CSTA_DEBUG + csta_log("sysTypeNo=%d,objindex=%d,timestamp=0",pcsta->sysTypeNo,psys->objindex); +#endif + return 0; + } + + //message length invalid + if(pvar->msglen < 4 + pobj->field_width * pobj->detail_field_count) + { + csta_log("sysTypeNo=%d,objindex=%d,message length(%d) is invalid,must be(%d)",pcsta->sysTypeNo,psys->objindex,pvar->msglen,4 + pobj->field_width * pobj->detail_field_count); + return 0; + } + + if(pcsta->sum_flag && strcmp(pobj->relate_table,"NoRelation") != 0) + needSumFlag=1; + + if(pcsta->hassubsys) + { + sprintf(sys_field,"key_sys_id,key_subsys_id,"); + sprintf(sys_value,"%d,%d,",psys->sysid,psys->subsysid); + if(needSumFlag) + { + sprintf(tmpstr3,"key_sys_id=%d and key_subsys_id=%d",psys->sysid,psys->subsysid); + strcat(sumCondition,tmpstr3); + } + } + else + { + sprintf(sys_field,"key_sys_id,"); + sprintf(sys_value,"%d,",psys->sysid); + if(needSumFlag) + { + sprintf(tmpstr3,"key_sys_id=%d",psys->sysid); + strcat(sumCondition,tmpstr3); + } + } + + switch(pobj->csta_type) + { + case 1: + sprintf(key_field,"%s,",pobj->id1_field); + sprintf(key_value,"%d,",psys->pre_id1 + pobj->id1_offset); + if(needSumFlag) + { + sprintf(tmpstr3," and %s=%d",pobj->id1_field,psys->pre_id1 + pobj->id1_offset); + strcat(sumCondition,tmpstr3); + } + break; + case 2: + sprintf(key_field,"%s,%s,",pobj->id1_field, pobj->id2_field); + sprintf(key_value,"%d,%d,",psys->pre_id1 + pobj->id1_offset,psys->pre_id2 + pobj->id2_offset); + if(needSumFlag) + { + sprintf(tmpstr3," and %s=%d and %s=%d",pobj->id1_field,psys->pre_id1 + pobj->id1_offset,pobj->id2_field,psys->pre_id2 + pobj->id2_offset); + strcat(sumCondition,tmpstr3); + } + break; + } + //csta_log("single_message_flag:%d",pcsta->single_message_flag); + if(pcsta->single_message_flag) + { + sprintf(sqlstr, "replace into %s.%sData (%s%s%s,csta_datetime)VALUES(%s%s", + CSTA_DB,pobj->detail_table,sys_field,key_field,pobj->sql_detail,sys_value,key_value); + + //sum up accord to the map table + if(needSumFlag) + { + sprintf(tmpstr3," and UNIX_TIMESTAMP(csta_datetime) = %ld",d_timestamp); + strcat(sumCondition,tmpstr3); + sprintf(sumsqlstr,"select %s from %s.%sData where %s",pobj->sql_sum,CSTA_DB,pobj->detail_table,sumCondition); + } + + if(pobj->field_width == 2) + { + for(i=0;idetail_field_count;i++) + { + pval2=(WORD*)(pvar->msg + 4 + i * 2); + sprintf(tmpstr3,"%d,",htons(*pval2)); + strcat(sqlstr,tmpstr3); + } + } + else + { + for(i=0;idetail_field_count;i++) + { + pval4=(DWORD*)(pvar->msg + 4 + i * 4); + sprintf(tmpstr3,"%u,",htonl(*pval4)); + strcat(sqlstr,tmpstr3); + } + } + sprintf(tmpstr3,"FROM_UNIXTIME(%ld))",d_timestamp); + strcat(sqlstr,tmpstr3); + + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + + if(mysql_errno(pCstaConn) == 1146) + { + char dstTable[64]; + sprintf(dstTable,"%sData",pobj->detail_table); + if(mysql_tblCpy(pCstaConn,dstTable,pobj->detail_table) != 0) + { + csta_log("create table %s fail",dstTable); + } + else + { + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + csta_log("Store csta fail,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2); + csta_log("SQL-1:%s\n",sqlstr); + } + else + { + //csta_log("Record single csta data,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d,time=%s",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2,ctime((time_t*)&d_timestamp)); + isRecord=1; + } + } + } + else + { + csta_log("Store csta fail,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2); + csta_log("SQL-2:%s\n",sqlstr); + } + } + else + { + //csta_log("Record single csta data,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d,time=%s",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2,ctime((time_t*)&d_timestamp)); + isRecord=1; + } + + //printf("%s\n",sqlstr); + } + else + { + //multi-message consist one record + //csta_log("Store the objindex=%d csta data for sysTypeNo=%d,instance=%d,pvar->msglen=%d",psys->pre_objindex,pcsta->sysTypeNo,psys->pre_instance,pvar->msglen); + memcpy(psys->cstamsg[psys->pre_objindex],pvar->msg,pvar->msglen); + psys->msglen+=pvar->msglen; + } + + } + else + { + //csta_log("Record csta fail,msglen=%d or vartype=%02x,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d",pvar->msglen,pvar->vartype,pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2); + return 0; + } + + if(isRecord&&needSumFlag) + { + res_set=mysql_getres(pCstaConn,sumsqlstr); + if(res_set == NULL) + { + csta_log("Sumup csta fail,res_set is null,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2); + return 0; + } + if(mysql_num_rows(res_set) != 1) + { + csta_log("Sumup csta fail,rownum=%d,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d",mysql_num_rows(res_set),pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2); + mysql_free_result(res_set); + return 0; + } + + row=mysql_fetch_row(res_set); + if(row == NULL) + { + csta_log("Sumup csta fail,rowis null,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2); + mysql_free_result(res_set); + return 0; + } + + mysql_free_result(res_set); + + memset(sumFieldList,0,sizeof(sumFieldList)); + for(i=0;isum_field_count;i++) + { + sprintf(tmpstr3,"%s,",pobj->sum_field_list[i]); + strcat(sumFieldList,tmpstr3); + } + + sprintf(sqlstr, "replace into %s.%sData (%s%s%scsta_datetime)VALUES(%s%s", + CSTA_DB,pobj->sum_table,sys_field,key_field,sumFieldList,sys_value,key_value); + for(i=0;isum_field_count;i++) + { + if(row[i] == NULL) + { + sprintf(tmpstr3,"0"); + } + else + { + if(strlen(row[i]) <= 0) + sprintf(tmpstr3,"0"); + else + sprintf(tmpstr3,"%s",row[i]); + } + strcat(sqlstr,tmpstr3); + strcat(sqlstr,","); + } + sprintf(tmpstr3,"FROM_UNIXTIME(%ld))",d_timestamp); + strcat(sqlstr,tmpstr3); + + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + if(mysql_errno(pCstaConn) == 1146) + { + char dstTable[64]; + sprintf(dstTable,"%sData",pobj->sum_table); + if(mysql_tblCpy(pCstaConn,dstTable,pobj->sum_table) != 0) + { + csta_log("create table %s fail",dstTable); + } + else + { + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + csta_log("Sumup csta fail,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2); + return 0; + } + else + { + ;//csta_log("Sumup single csta data,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d,time=%s",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2,ctime((time_t*)&d_timestamp)); + } + } + } + else + { + csta_log("Sumup csta fail,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2); + csta_log("%s\n",sqlstr); + return 0; + } + } + else + { + ;//csta_log("Sumup single csta data,sysTypeNo=%d,instance=%d,objindex=%d,id1=%d,id2=%d,time=%s",pcsta->sysTypeNo,psys->pre_instance,psys->pre_objindex,psys->pre_id1,psys->pre_id2,ctime((time_t*)&d_timestamp)); + } + + } + return 1; +} + +int csta_record_multi(csta_src *pcsta,csta_sys *psys) +{ + DWORD d_timestamp,*p_long; + DWORD *pval4; + WORD *pval2; + char sqlstr[8192],tol_field_sql[8192]; + char sys_field[128],sys_value[128]; + char tmpstr3[8192]; + + unsigned long ref_data_len; + csta_obj *pobj; + int i,j; + + memset(sqlstr,0,sizeof(sqlstr)); + memset(tol_field_sql,0,sizeof(tol_field_sql)); + memset(sys_field,0,sizeof(sys_field)); + memset(sys_value,0,sizeof(sys_value)); + memset(tmpstr3,0,sizeof(tmpstr3)); + + ref_data_len=0; + //csta_log("objectCount:%d",pcsta->objectCount); + for(i=0;iobjectCount;i++) + { + pobj=&pcsta->objects[i]; + if(pobj->csta_type != 0) + { + csta_log("The %d system csta source configure error, it must be 0 when isFullRow=0",pcsta->sysTypeNo); + psys->msglen=0; + return 0; + } + //csta_log("detail_field_count:%d,field_width:%d",pobj->detail_field_count,pobj->field_width); + ref_data_len += pobj->detail_field_count * pobj->field_width; + ref_data_len += 4; + //csta_log("ref_data_len[%d]:%d",i,ref_data_len); + } + + if(ref_data_len != psys->msglen) + { + csta_log("Record multi csta data fail,sysTypeNo=%d,instance=%d,message length(%ld) != %ld",pcsta->sysTypeNo,psys->pre_instance,psys->msglen,ref_data_len); + psys->msglen=0; + return 0; + } + + psys->msglen=0; + psys->objindex=0; + p_long=(DWORD *)psys->cstamsg[0]; + d_timestamp=htonl(*p_long); + + if(pcsta->hassubsys) + { + sprintf(sys_field,"key_sys_id,key_subsys_id,"); + sprintf(sys_value,"%d,%d,",psys->sysid,psys->subsysid); + } + else + { + sprintf(sys_field,"key_sys_id,"); + sprintf(sys_value,"%d,",psys->sysid); + } + + memset(tol_field_sql,0,sizeof(tol_field_sql)); + for(i=0;iobjectCount;i++) + { + sprintf(tmpstr3,"%s",pcsta->objects[i].sql_detail); + if(i != (pcsta->objectCount-1)) + strcat(tmpstr3,","); + strcat(tol_field_sql,tmpstr3); + } + + sprintf(sqlstr, "replace into %s.%sData (%s%s,csta_datetime)VALUES(%s", + CSTA_DB,pobj->detail_table,sys_field,tol_field_sql,sys_value); + + for(i=0;iobjectCount;i++) + { + pobj=&pcsta->objects[i]; + for(j=0;jdetail_field_count;j++) + { + if(pobj->field_width == 2) + { + pval2=(WORD*)(psys->cstamsg[i] + 4 + j * 2); + sprintf(tmpstr3,"%d,",htons(*pval2)); + strcat(sqlstr,tmpstr3); + } + else + { + pval4=(DWORD*)(psys->cstamsg[i] + 4 + j * 4); + sprintf(tmpstr3,"%u,",htonl(*pval4)); + strcat(sqlstr,tmpstr3); + } + } + } + + sprintf(tmpstr3,"FROM_UNIXTIME(%ld))",d_timestamp); + strcat(sqlstr,tmpstr3); + + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + if(mysql_errno(pCstaConn) == 1146) + { + char dstTable[64]; + sprintf(dstTable,"%sData",pcsta->objects[0].detail_table); + if(mysql_tblCpy(pCstaConn,dstTable,pcsta->objects[0].detail_table) != 0) + { + csta_log("create table %s fail",dstTable); + return 0; + } + else + { + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + csta_log("Store csta fail,sysTypeNo=%d,instance=%d",pcsta->sysTypeNo,psys->pre_instance); + csta_log("SQL-3:%s\n",sqlstr); + return 0; + } + else + { + ;//csta_log("Record multi csta data,sysTypeNo=%d,instance=%d,time=%s",pcsta->sysTypeNo,psys->pre_instance,ctime((time_t*)&d_timestamp)); + } + } + } + else + { + csta_log("Store csta fail,sysTypeNo=%d,instance=%d",pcsta->sysTypeNo,psys->pre_instance); + csta_log("SQL4:%s\n",sqlstr); + return 0; + } + } + else + { + ;//csta_log("Record multi csta data,sysTypeNo=%d,instance=%d,time=%s",pcsta->sysTypeNo,psys->pre_instance,ctime((time_t*)&d_timestamp)); + } + + return 1; +} + +int csta_create_csv() +{ + csta_src *pcsta; + char sqlstr[512]; + char command[512]; + time_t l_time; + struct tm *t; + char csvfile[64]; + char tablename[64]; + + if(csv_src_index == csta_src_num) + return 1; + + pcsta=&CstaSet[csv_src_index]; + //Create the csv dir if not exist + if(chdir(pcsta->csv_path) == -1) + { + sprintf(command,"mkdir -p -m755 %s",pcsta->csv_path); + system(command); + csta_log("The %s is not exist, create it",pcsta->csv_path); + if(chdir(pcsta->csv_path) == -1) + { + csta_log("Create %s fail",pcsta->csv_path); + csv_src_index++; + return 0; + } + } + + if(chdir(csv_sent_dir) == -1) + { + sprintf(command,"mkdir -p -m755 %s",csv_sent_dir); + system(command); + csta_log("The %s is not exist, create it",csv_sent_dir); + if(chdir(csv_sent_dir) == -1) + { + csta_log("Create %s fail",csv_sent_dir); + csv_src_index++; + return 0; + } + } + + if(chdir(csv_sending_dir) == -1) + { + sprintf(command,"mkdir -p -m755 %s",csv_sending_dir); + system(command); + csta_log("The %s is not exist, create it",csv_sending_dir); + if(chdir(csv_sending_dir) == -1) + { + csta_log("Create %s fail",csv_sending_dir); + csv_src_index++; + return 0; + } + } + + l_time=time(NULL) - 24 * 60 * 60; + t=localtime(&l_time); + + sprintf(csvfile,"%s_%04d%02d%02d.csv",pcsta->objects[0].detail_table,t->tm_year+1900,t->tm_mon+1,t->tm_mday); + sprintf(tablename,"%sData",pcsta->objects[0].detail_table); + sprintf(sqlstr,"SELECT * INTO OUTFILE '%s%s' FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' FROM %s.%s WHERE csta_datetime >= '%04d-%02d-%02d 00:00:00' AND csta_datetime < '%04d-%02d-%02d 23:59:59'", + pcsta->csv_path,csvfile,CSTA_DB,tablename, + t->tm_year + 1900,t->tm_mon + 1,t->tm_mday,t->tm_year + 1900,t->tm_mon + 1,t->tm_mday); + //printf("%s\n",sqlstr); + + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + csta_log("Create %s fail",csvfile); + } + else + { + csta_log("Create %s successfully",csvfile); + if(csv_send_flag) + { + sprintf(command,"cp %s%s %s/%s",pcsta->csv_path,csvfile,csv_sending_dir,csvfile); + system(command); + + sprintf(command,"cp %s%s %s/%s",pcsta->csv_path,csvfile,csv_sent_dir,csvfile); + system(command); + + sprintf(command,"chmod 644 %s%s",pcsta->csv_path,csvfile); + system(command); + sprintf(command,"chown mysql %s%s",pcsta->csv_path,csvfile); + system(command); + sprintf(command,"chgrp mysql %s%s",pcsta->csv_path,csvfile); + system(command); + + csta_log("Move %s to %s prepare to send",csvfile,csv_sending_dir); + } + else + { + sprintf(command,"chmod 644 %s%s",pcsta->csv_path,csvfile); + system(command); + } + } + + l_time=time(NULL) - 24 * 60 * 60; + t=localtime(&l_time); + //Create the mscSum csv table + if(pcsta->sum_flag) + { + sprintf(csvfile,"%s_%04d%02d%02d.csv",pcsta->objects[0].sum_table,t->tm_year+1900,t->tm_mon+1,t->tm_mday); + sprintf(tablename,"%sData",pcsta->objects[0].sum_table); + sprintf(sqlstr,"SELECT * INTO OUTFILE '%s%s' FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' FROM %s.%s WHERE csta_datetime >= '%04d-%02d-%02d 00:00:00' AND csta_datetime < '%04d-%02d-%02d 23:59:59'", + pcsta->csv_path,csvfile,CSTA_DB,tablename, + t->tm_year + 1900,t->tm_mon + 1,t->tm_mday,t->tm_year + 1900,t->tm_mon + 1,t->tm_mday); + //printf("%s\n",sqlstr); + + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + csta_log("Create %s fail",csvfile); + } + else + { + csta_log("Create %s successfully",csvfile); + if(csv_send_flag) + { + sprintf(command,"cp %s%s %s/%s",pcsta->csv_path,csvfile,csv_sending_dir,csvfile); + system(command); + + sprintf(command,"cp %s%s %s/%s",pcsta->csv_path,csvfile,csv_sent_dir,csvfile); + system(command); + + sprintf(command,"chmod 644 %s%s",pcsta->csv_path,csvfile); + system(command); + sprintf(command,"chown mysql %s%s",pcsta->csv_path,csvfile); + system(command); + sprintf(command,"chgrp mysql %s%s",pcsta->csv_path,csvfile); + system(command); + + csta_log("Move %s to %s prepare to send",csvfile,csv_sending_dir); + } + else + { + sprintf(command,"chmod 644 %s%s",pcsta->csv_path,csvfile); + system(command); + } + } + } + + //Delete the over-time record + l_time=time(NULL) - RECORD_KEEP_DAY * 24 * 60 * 60; + t=localtime(&l_time); + sprintf(tablename,"%sData",pcsta->objects[0].detail_table); + sprintf(sqlstr,"DELETE FROM %s.%s WHERE csta_datetime < '%04d-%02d-%02d 00:00:00' ", + CSTA_DB,tablename,t->tm_year + 1900,t->tm_mon + 1,t->tm_mday); + csta_log("%s",sqlstr); + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + csta_log("Delete over-time record of %s fail",tablename); + } + else + { + csta_log("Delete over-time1 record of %s successfully",tablename); + } + + if(pcsta->sum_flag) + { + l_time=time(NULL) - RECORD_KEEP_DAY * 24 * 60 * 60; + t=localtime(&l_time); + sprintf(tablename,"%sData",pcsta->objects[0].sum_table); + sprintf(sqlstr,"DELETE FROM %s.%s WHERE csta_datetime < '%04d-%02d-%02d 00:00:00' ", + CSTA_DB,tablename,t->tm_year + 1900,t->tm_mon + 1,t->tm_mday); + csta_log("%s",sqlstr); + if(mysql_getnores(pCstaConn,sqlstr) != 0) + { + csta_log("Delete over-time record of %s fail",tablename); + } + else + { + csta_log("Delete over-time2 record of %s successfully",tablename); + } + } + + + csv_src_index++; + return 1; +} + + +void csta_log(const char *fmt, ...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"/usr/local/omc/log/cstalog_%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} + +BYTE str2oid(char *str, DWORD * array, BYTE max) +{ + BYTE sub = 0; + short len, i; + char *pvar; + + len = strlen(str); + pvar = str; + for (i = 0; i < len && sub < max; i++) { + if (str[i] == '.') { + str[i] = '\0'; + if (strlen(pvar) == 0) + continue; + array[sub++] = atoi(pvar); + pvar = str + i + 1; + } + } + if (strlen(pvar) == 0) + return sub; + array[sub++] = atoi(pvar); + return sub; +} + +int parseLine(char *str, char (*row)[32], int maxrow) +{ + char *pstr = str; + int len, index = 0, i; + BOOL black = 0; + len = strlen(str); + for (i = 0; i < len && index < maxrow; i++) + { + if (isspace(str[i]) || str[i] == ',' || str[i] == ';' || + str[i] == '/' || str[i] == '|' || str[i] == '.') + { + if (black == 0) + { + pstr = str + i + 1; + } + else + { + str[i] = '\0'; + if (strlen(pstr) > 64) + { + pstr[63] = 0; + } + sprintf(row[index++], "%s", pstr); + pstr = str + i + 1; + } + black = 0; + } + else + { + black = 1; + } + } + if (black == 1) + { + if (strlen(pstr) > 64) + { + pstr[63] = 0; + } + sprintf(row[index++], "%s", pstr); + } + return index; +} + diff --git a/src/performanceMgr/c_program/cstaCollector/csta.h b/src/performanceMgr/c_program/cstaCollector/csta.h new file mode 100644 index 0000000..52c13e8 --- /dev/null +++ b/src/performanceMgr/c_program/cstaCollector/csta.h @@ -0,0 +1,146 @@ +#include +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "mysql.h" + +#include "errmsg.h" +#include +#include +#include + +#ifndef __CSTA_HEAD_FILE +#define __CSTA_HEAD_FILE + +#ifndef _T_BYTE +#define _T_BYTE +typedef unsigned char BYTE; +#endif + +#ifndef _T_BOOL +#define _T_BOOL +typedef unsigned char BOOL; +#endif + +#ifndef _T_DWORD +#define _T_DWORD +typedef unsigned int DWORD; +#endif + +#ifndef _T_WORD +#define _T_WORD +typedef unsigned short WORD; +#endif +//======================================================= +int csta_init(); +void csta_timer(); + +#ifndef CSTA_DEBUG +#define CSTA_DEBUG 0 +#endif + +#define CSTA_DB "CSTA_DB" +#define CSTA_LOG_PATH "../log" +#define LOG_FILE "../log/cstalog" +#define OUTPUT_FILE_TIME_HOUR 4 +#define OUTPUT_FILE_TIME_MINUTE 30 +#define RECORD_KEEP_DAY 30 +#define CSTA_PORT 4954 + +#define MAX_SYSTEM_NUM 32 +#define MAX_OBJECT_NUM 16 +#define MAX_FIELD_NUM 512 +#define MAX_CSTA_SRC_NUM 64 +#define MAX_MSG_NUM 32 + +#define UPDATE_SYSTEM_INTERVAL 50*60 +#define CHASE_INTERVAL 50*4 + +#define TIMETO_NONE 0 +#define TIMETO_GET_CSTA 1 +#define TIMETO_OUTPUT_FILE 2 +#define TIMETO_CHANGE_LOG 3 + +#define STATE_NORMAL 0 +#define STATE_CHASE 1 + +#define STATE_MSG_NONE 0 +#define STATE_MSG_GET_REQUEST 1 +#define STATE_MSG_WAIT_RESPONSE 2 + +typedef struct csta_sys +{ + DWORD request_id; + int sysid; + int subsysid; + snmp_addr addr; + int system_state; + int msg_state; + + int instance; + int objindex; + int id1; + int id2; + + //for retry + int pre_instance; + int pre_objindex; + int pre_id1; + int pre_id2; + + int timeout; + int fail; + int retry; + BYTE cstamsg[MAX_OBJECT_NUM][4096]; + unsigned long msglen; +}csta_sys; + +typedef struct csta_obj +{ + int csta_type; + int field_width; + + int oidlen; + DWORD oid[OID_MAXLEN]; + + int id1_start; + int id1_end; + int id1_offset; + char id1_field[32]; + + int id2_start; + int id2_end; + int id2_offset; + char id2_field[32]; + + char sql_detail[8192]; + char detail_field_list[MAX_FIELD_NUM][32]; + int detail_field_count; + + char relate_table[64]; + + char sql_sum[8192]; + char sum_field_list[MAX_FIELD_NUM][32]; + int sum_field_count; + + char detail_table[64]; + char sum_table[64]; +}csta_obj; + +typedef struct csta_src +{ + int sysTypeNo; + int hassubsys; + int sum_flag; + int check_time_flag; + int single_message_flag; + csta_sys systems[MAX_SYSTEM_NUM]; + int systemCount; + + csta_obj objects[MAX_OBJECT_NUM]; + int objectCount; + + char csv_path[64]; +}csta_src; + + +#endif diff --git a/src/performanceMgr/c_program/cstaCollector/cstamain.c b/src/performanceMgr/c_program/cstaCollector/cstamain.c new file mode 100644 index 0000000..c2440d0 --- /dev/null +++ b/src/performanceMgr/c_program/cstaCollector/cstamain.c @@ -0,0 +1,184 @@ +/************************************************* +File name: cstamain.c +Author: JianHui Zheng +Version: 9:00:00 +Date: 2007-7-2 +Description:cstaCollector模块的main文件,该文件可以使模块独立运行 + 调用外部函数 + void iptrans_init(); + void snmp_init(int port); + 调用csta.c文件函数 + void csta_init(); + +History: +No. +Author +Date +Version +Description +*************************************************/ +#include +#include +#include +#include +#include + +#include "csta.h" + +static struct itimerval itimer, old_itimer; + +void onCstaCollectorTimer(); +void setCstaCollectorTimer(); +void setup_daemon(void); +int timerCounter = 0; + +/************************************************* +Function: // main +Description: // main函数,可以使模块独立运行 +Calls: // iptrans_init; snmp_init; csta_init; setCstaCollectorTimer; +Called By: // csta.c:csta_init; +Table Accessed: // +Table Updated: // +Input: // int argc, char *argv[] +Output: // +Return: // +Others: // +*************************************************/ +int main(int argc, char *argv[]) +{ + char runMode; + + runMode = getopt(argc, argv, "d"); + + //获取运行参数 + switch (runMode) + { + case 'd': + setup_daemon(); + break; + case '?': + break; + } + + //IP平台模块初始化 + fprintf(stderr, "\n Calling iptrans_init() \n"); + iptrans_init(); + + //snmp模块初始化 + fprintf(stderr, "\n Calling snmp_init() \n"); + snmp_init(4957); + + //cstaCollector模块初始化 + fprintf(stderr, "\n Calling csta_init() \n"); + csta_init(); + + //设定定时器 + setCstaCollectorTimer(); + while (1) { + usleep(50); + } + + return (1); +} + +/************************************************* +Function: // onCstaCollectorTimer +Description: // 设定定时器函数 +Calls: // csta_timer; +Called By: // setCstaCollectorTimer; +Table Accessed: // +Table Updated: // +Input: // int argc; char *argv[]; +Output: // +Return: // +Others: // +*************************************************/ +void onCstaCollectorTimer() +{ + csta_timer(); +} + +/************************************************* +Function: // setCstaCollectorTimer +Description: // 开启定时器函数 +Calls: // setitimer; +Called By: // main; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void setCstaCollectorTimer() +{ + struct sigaction act; + act.sa_handler = onCstaCollectorTimer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exitLog("cstaCollector:setCstaCollectorTimer, sigaction function error"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 10 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 10 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exitLog("cstaCollector:setCstaCollectorTimer, setitimer function error"); + exit(1); + } +} + +/************************************************* +Function: // setup_daemon +Description: // 将程序设为后台进程 +Calls: // fork; +Called By: // main; +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void setup_daemon(void) +{ + + //复制进程 + switch (fork()) + { + case -1: + { + perror("setup_daemon(), 1st fork()"); + exit(2); + } + default: + exit(0); + case 0: + if (setsid() == -1) + { + perror("setup_daemon(), setsid()"); + exit(3); + } + switch (fork()) + { + case -1: + { + perror("setup_daemon(), 2nd fork()"); + exit(3); + } + + default: + exit(0); + case 0: + umask(0); + /* and return with daemon set up */ + return; + } + } +} diff --git a/src/performanceMgr/c_program/logCollector/Makefile b/src/performanceMgr/c_program/logCollector/Makefile new file mode 100644 index 0000000..79490ba --- /dev/null +++ b/src/performanceMgr/c_program/logCollector/Makefile @@ -0,0 +1,84 @@ +#!/bin/sh + +CC = gcc +CFLAGS=-D_REENTRANT -g -Wall + +dbINCLUDE_FLAGS = -I/usr/local/mysql/include +dbINCLUDE_FLAGS.ES = -I/usr/include/mariadb + +LINKFLAG=-L../../../../wxc2plat/snmp -lsnmp \ +-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../wxc2plat/debug -ldebug \ +-L../../../../wxc2plat/iptrans -liptrans \ +-L../../../../wxc2plat/public -lpublic \ +-L/usr/local/mysql/lib -lmariadbclient -lz + +LINKFLAG.ES=-L../../../../plat/snmp/lib -lsnmp \ +-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lz + +COMPILE_SUFFIX = $(dbINCLUDE_FLAGS) +COMPILE_SUFFIX.ES = $(dbINCLUDE_FLAGS.ES) + +LINK_SUFFIX = $(dbINCLUDE_FLAGS) $(LINKFLAG) +LINK_SUFFIX.ES = $(dbINCLUDE_FLAGS.ES) $(LINKFLAG.ES) + +PROGS = logCollector + +LOGCOLLECTOR_OBJ = logCollectorMain.o logCollector.o +LOGCOLLECTOR_OBJ.ES = logCollectorMain.o.ES logCollector.o.ES + +LIB_OBJ = logCollector.o +LIB_OBJ.ES = logCollector.o.ES + +default: linuxES + +all: + @echo " **** Compiling $(PROGS) ****" + @echo "make clean -- Delete the target files" + @echo "make linux72 -- Generate target files for Redhat Linux 72" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linux72: $(LOGCOLLECTOR_OBJ) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(LOGCOLLECTOR_OBJ) $(LINK_SUFFIX) -lm + ar r liblogCollector.a $(LIB_OBJ) + rm -f *.o core *~ + cp -f $(PROGS) ../../../bin/ + cp -f $(PROGS) /usr/local/omc/bin/ + +linuxES: $(LOGCOLLECTOR_OBJ.ES) + @echo Linking $(PROGS) + @$(CC) $(CFLAGS) -o $(PROGS) $(LOGCOLLECTOR_OBJ) $(LINK_SUFFIX.ES) -lm + ar r liblogCollector.a $(LIB_OBJ) + rm -f *.o core *~ + cp -f $(PROGS) ../../../../bin/ + cp -f $(PROGS) /usr/local/omc/bin/ + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + +logCollectorMain.o: logCollectorMain.c + $(CC) $(CFLAGS) -c logCollectorMain.c $(dbINCLUDE_FLAGS) + +logCollector.o: logCollector.c + $(CC) $(CFLAGS) -c logCollector.c $(dbINCLUDE_FLAGS) + +logCollectorMain.o.ES: logCollectorMain.c + $(CC) $(CFLAGS) -c logCollectorMain.c $(dbINCLUDE_FLAGS.ES) + +logCollector.o.ES: logCollector.c + $(CC) $(CFLAGS) -c logCollector.c $(dbINCLUDE_FLAGS.ES) + +clean: + rm -f *.o *.a $(PROGS) + diff --git a/src/performanceMgr/c_program/logCollector/logCollector.c b/src/performanceMgr/c_program/logCollector/logCollector.c new file mode 100644 index 0000000..3c6f590 --- /dev/null +++ b/src/performanceMgr/c_program/logCollector/logCollector.c @@ -0,0 +1,1102 @@ +/* Title: logColl.c + * Description: process the subscriber command + * Author: + * Date: + */ + +#include +#include +#include "logCollector.h" +#include "mysql.h" + +/******************************************************/ +/****** Heartbeat Parameter ******/ +/******************************************************/ +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,3}; +int PROC_HEARTBEAT_OIDLEN=11; +int sendHeartbeat(); + + +/***********Private Functions Declare***********************/ +int logColl_initLogSrcArr(); +int logColl_initAttrDefnArr(); +int logColl_getIp(int logSrcArrNo, char *dstIP); +int logColl_mainProc(); +int logColl_sendMsg(int logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr); +int logColl_recvMsg(int *logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr); +int logColl_mkPdu(int logSrcArrNo, snmp_pdu * pdu); +int logColl_mkAddr(int logSrcArrNo, snmp_addr * addr); +int logColl_mkVarArr(int logSrcArrNo, var_list * varArr); +int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu); + +/***********Global Var Declare And Init*********************/ +int logColl_timerCount = 0; +static MYSQL *dbConn; +static char errorStatusDescArr[19][30] = + { "NoError", "TooBig", "NoSuchName", "BadValue", "ReadOnly", + "GenErr", "NoAccess", "WrongType", "WrongLength", "WrongEncoding", + "wrongValue", "noCreation", "inconsistentValue", "resourceUnavailabe", + "commitFailed", + "UndoFailed", "AuthorizationError", "NoWritable", "inconsistentName" +}; +static int MaxErrorStatusNum = 19; +static unitLogSrc logSrcArr[MaxLogSrcNum]; +static unitAttrDefn attrDefnArr[MaxAttrDefnNum]; + +//log file pointer +static FILE *logFp; +int old_day; + +/* +*Function :logCollInit +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript :Must call this function at first. +*/ +int logCollectorInit() +{ + long l_time; + struct tm *t; + + l_time = time(NULL); + t = localtime(&l_time); + old_day = t->tm_mday; + + //init snmp port + snmp_init(4960); + + //init write log + omcLogInit("../log", "logColl", &logFp); + + omcLog(logFp,"Module start...."); + + //init db connect + dbConn = mysql_conn(HOSTNAME, PUB_DB); + if (dbConn == NULL) { + omcLog(logFp, " Fail to init database connection"); + return (0); + } + //init system configuration array + if (!logColl_initLogSrcArr()) { + omcLog(logFp, " Fail to init system configuration array"); + return (0); + } + //init parameter configuration array + if (!logColl_initAttrDefnArr()) { + omcLog(logFp, " Fail to init Attributes Define array"); + return (0); + } + return (1); +} + +/************************************************* +Function: // sendHeartbeat +Description: // Send process heartbeat to beatProc +Calls: // snmp_send +Called By: // logCollectorTimer +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // 1:OK; 0:Fail +Others: // +*************************************************/ +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"logCollector"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + omcLog(logFp,"Send heartbeat fail"); + return 0; + } + return 1; +} + +/* +*Function :logCollTimer +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript :call this function ever 100ms +*/ +unsigned long heartbeat_timeout=0; +int logCollectorTimer() +{ + + + if(time(NULL) - heartbeat_timeout > 5) + { + if(mysql_ping(dbConn)) + { + mysql_close(dbConn); + dbConn=mysql_conn("localhost","OMC_PUB"); + if(dbConn == NULL) + { + omcLog(logFp,"Mysql connection lost"); + return 0; + } + } + + + heartbeat_timeout=time(NULL); + sendHeartbeat(); + } + + if (logColl_timerCount < 5000) { + logColl_timerCount++; + } else { + long l_time; + struct tm *t; + int arrayNo; + //check ip + for (arrayNo = 0; arrayNo < MaxLogSrcNum; arrayNo++) { + if (logSrcArr[arrayNo].sysTypeNo > 0 + && logSrcArr[arrayNo].isEnable < 1) { + if (logColl_getIp(arrayNo, logSrcArr[arrayNo].dstIP)) { + logSrcArr[arrayNo].isEnable = 1; + omcLog(logFp, + "Find sysId(%d_%d_%d)'s IP ok,Let's get it's log", + logSrcArr[arrayNo].sysTypeNo, + logSrcArr[arrayNo].sysNo, + logSrcArr[arrayNo].subSysNo); + } else { + omcLog(logFp, "Still cannot find sysId(%d_%d_%d)'s IP", + logSrcArr[arrayNo].sysTypeNo, + logSrcArr[arrayNo].sysNo, + logSrcArr[arrayNo].subSysNo); + } + } + } + //check log + l_time = time(NULL); + t = localtime(&l_time); + if (t->tm_mday != old_day) { + omcLog(logFp, "Check time nowDay[%d] != oldDay[%d],change!", + t->tm_mday, old_day); + omcLogInit("../log", "logColl", &logFp); + old_day = t->tm_mday; + } + logColl_timerCount = 0; + } + + if (logColl_mainProc()) { + return (1); + } else { + return (0); + } +} + + +/* +*Function :logColl_initLogSrcArr +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript : +*/ +int logColl_initLogSrcArr() +{ + char confQuery[400] = "\0"; + MYSQL_RES *confResult = NULL; + MYSQL_ROW confRow; + int arrayNo = 0, i = 0; + char *oneOid; + + //init array first + for (i = 0; i < MaxLogSrcNum; i++) { + logSrcArr[i].isEnable = 0; + } + + //find sysTypeNo which need subscriber manage + sprintf(confQuery, "SELECT maxMsgLen,snmpCommunity,snmpPort," + " sysLogSourceConf.sysTypeNo,sysNo,subSysNo,dataTypeNo,preObjId," + " maxSizeOfRec,maxRecNumOfBuf,maxRecNumOfDay,dataStoreTable,isIncremental" + " FROM sysConf,sysLogSourceConf " + " WHERE sysConf.sysTypeNo = sysLogSourceConf.sysTypeNo AND sysLogSourceConf.isEnable > '0' " + " ORDER BY sysTypeNo"); + confResult = (MYSQL_RES *) mysql_getres(dbConn, confQuery); + if (confResult == NULL) { + omcLog(logFp, " Database may be stopped,Please check!"); + return (-1); + } else if (mysql_num_rows(confResult) == 0) { + omcLog(logFp, "There is 0 record in the OMC_PUB.sysLogSourceConf"); + mysql_free_result(confResult); + return (0); + } + if (mysql_num_rows(confResult) >= MaxLogSrcNum) { //sizeof logSrcArr is 16 + omcLog(logFp, + "The records count in the OMC_PUB.sysLogSourceConf is larger than %d",MaxLogSrcNum); + mysql_free_result(confResult); + return (-1); + } + //fill into config array + while ((confRow = mysql_fetch_row(confResult)) != NULL) { + logSrcArr[arrayNo].maxMsgLen = atol(confRow[0]); //<-- + sprintf(logSrcArr[arrayNo].snmpCommunity, "%s", confRow[1]); //<-- + logSrcArr[arrayNo].dstPort = atol(confRow[2]); //<-- + logSrcArr[arrayNo].sysTypeNo = atol(confRow[3]); //<-- + logSrcArr[arrayNo].sysNo = atol(confRow[4]); //<-- + logSrcArr[arrayNo].subSysNo = atol(confRow[5]); //<-- + logSrcArr[arrayNo].dataTypeNo = atol(confRow[6]); //<-- + + if (logColl_getIp(arrayNo, logSrcArr[arrayNo].dstIP) < 1) { //<-- + logSrcArr[arrayNo].isEnable = 0; + omcLog(logFp, "Can not get the IP,%d-%d-%d",logSrcArr[arrayNo].sysTypeNo,logSrcArr[arrayNo].sysNo,logSrcArr[arrayNo].subSysNo); + } else { + logSrcArr[arrayNo].isEnable = 1; //<-- + } + + i = 0; + while ((oneOid = strsep(&(confRow[7]), "."))) { + logSrcArr[arrayNo].preObjId[i] = atol(oneOid); //<-- + i++; + } + logSrcArr[arrayNo].preObjIdLen = i; //<-- + if (i < 1) { + mysql_free_result(confResult); + omcLog(logFp, "get preObjId error!!"); + return (0); + } + + logSrcArr[arrayNo].maxSizeOfRec = atol(confRow[8]); //<-- + logSrcArr[arrayNo].maxRecNumOfBuf = atol(confRow[9]); //<-- + logSrcArr[arrayNo].maxRecNumOfDay = atol(confRow[10]); //<-- + sprintf(logSrcArr[arrayNo].dataStoreTable, "%s", confRow[11]); //<-- + //logSrcArr[arrayNo].isIncremental = atol(confRow[11]); //<-- + + logSrcArr[arrayNo].requestId = arrayNo + 1; //<-- + logSrcArr[arrayNo].sleepTime = 3600 * 24 * 10 / logSrcArr[arrayNo].maxRecNumOfDay; //<-- + logSrcArr[arrayNo].sleepCount = logSrcArr[arrayNo].sleepTime; //<-- + + omcLog(logFp, "Get source define: %d %d-%d-%d %s %s", arrayNo, + logSrcArr[arrayNo].sysTypeNo, logSrcArr[arrayNo].sysNo, + logSrcArr[arrayNo].subSysNo, logSrcArr[arrayNo].dstIP, + logSrcArr[arrayNo].dataStoreTable); + arrayNo++; + } + mysql_free_result(confResult); + return (1); +} + +/* +*Function :logColl_initAttrDefnArr +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript : +*/ +int logColl_initAttrDefnArr() +{ + char confQuery[400] = "\0"; + MYSQL_RES *confResult = NULL; + MYSQL_ROW confRow; + int arrayNo = 0, logSrcArrNo = 0, i = 0, j = 0; + char oneOid[8]; + char *levelSelect = " level_1,level_2,level_3,level_4,level_5," + "level_6,level_7,level_8,level_9,level_10"; + char *queryOrderBy = " level_1,level_2,level_3,level_4,level_5," + "level_6,level_7,level_8,level_9,level_10"; + //init if first + for (i = 0; i < MaxAttrDefnNum; i++) { + attrDefnArr[arrayNo].sysTypeNo = 0; + attrDefnArr[arrayNo].fieldObjIdStr[0] = 0; + attrDefnArr[arrayNo].fieldName[0] = 0; + attrDefnArr[arrayNo].valueType = 0; + attrDefnArr[arrayNo].valueLen = 0; + //attrDefnArr[arrayNo].initValue; + } + + //load subscriber data into array one bye one sysTypeNo + for (logSrcArrNo = 0; logSrcArrNo < MaxLogSrcNum; logSrcArrNo++) { + //if (logSrcArr[logSrcArrNo].isEnable <= 0) { + if (logSrcArr[logSrcArrNo].sysTypeNo <= 0) { + continue; + } + logSrcArr[logSrcArrNo].attrDefnArrOffset = arrayNo; //<--<-- + sprintf(confQuery, + "SELECT %s,fieldName,valueType,length,initValue " + "FROM OBJ_%d.logAttrDef_%d WHERE operType > '0' ORDER BY %s", + levelSelect, logSrcArr[logSrcArrNo].sysTypeNo, + logSrcArr[logSrcArrNo].dataTypeNo, queryOrderBy); + confResult = (MYSQL_RES *) mysql_getres(dbConn, confQuery); + if (confResult == NULL) { + omcLog(logFp, " Database may be stopped,Please check!"); + return (0); + } else if (mysql_num_rows(confResult) == 0) { + mysql_free_result(confResult); + return (0); + } + if ((logSrcArrNo + mysql_num_rows(confResult)) >= MaxAttrDefnNum) { //sizeof attrDefnArr is 512 + omcLog(logFp, "The number of parameter type is too much!"); + mysql_free_result(confResult); + return (0); + } + logSrcArr[logSrcArrNo].attrDefnNum = mysql_num_rows(confResult); + while ((confRow = mysql_fetch_row(confResult)) != NULL) { + j = 0; + attrDefnArr[arrayNo].sysTypeNo = logSrcArr[logSrcArrNo].sysTypeNo; //<-- + attrDefnArr[arrayNo].dataTypeNo = logSrcArr[logSrcArrNo].dataTypeNo; //<-- + attrDefnArr[arrayNo].fieldObjIdStr[0] = 0; + while (atoi(confRow[j]) > 0 && j < 10) { + if (j == 0) { + sprintf(oneOid, "%d", atoi(confRow[j])); + } else { + sprintf(oneOid, ".%d", atoi(confRow[j])); + } + strcat(attrDefnArr[arrayNo].fieldObjIdStr, oneOid); + j++; + } + sprintf(attrDefnArr[arrayNo].fieldName, "%s", confRow[10]); + attrDefnArr[arrayNo].valueType = atoi(confRow[11]); + attrDefnArr[arrayNo].valueLen = atoi(confRow[12]); + arrayNo++; + } + mysql_free_result(confResult); + } + return (1); +} + +/* +*Function :logColl_getIp +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript : +*/ +int logColl_getIp(int logSrcArrNo, char *dstIP) +{ + MYSQL_RES *tmpResult; + MYSQL_ROW tmpRow; + char tmpQuery[400] = "\0"; + sprintf(tmpQuery, "SELECT ip FROM %s WHERE sysTypeNo='%d' " + "AND sysNo='%d' AND subsysNo='%d' ORDER BY updateTime DESC", + IpTable, logSrcArr[logSrcArrNo].sysTypeNo, + logSrcArr[logSrcArrNo].sysNo, logSrcArr[logSrcArrNo].subSysNo); + tmpResult = (MYSQL_RES *) mysql_getres(dbConn, tmpQuery); + if (tmpResult == NULL) { + omcLog(logFp, " Can not get sysId(%d_%d_%d)'s IP", + logSrcArr[logSrcArrNo].sysTypeNo, + logSrcArr[logSrcArrNo].sysNo, + logSrcArr[logSrcArrNo].subSysNo); + mysql_free_result(tmpResult); + return (0); + } + if ((tmpRow = mysql_fetch_row(tmpResult)) != NULL) { + strcpy(dstIP, tmpRow[0]); +#if logColl_DEBUG + omcLog(logFp, " dstIP=%s", dstIP); +#endif + mysql_free_result(tmpResult); + return (1); + } else { + omcLog(logFp, " Can not get sysId(%d_%d_%d)'s IP", + logSrcArr[logSrcArrNo].sysTypeNo, + logSrcArr[logSrcArrNo].sysNo, + logSrcArr[logSrcArrNo].subSysNo); + return (0); + } +} + + +/* +*Function :logCollProc +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript : +*/ +int logColl_mainProc() +{ + int i = 0; + int idleLogSrcCount = 0; + snmp_pdu tmpPdu; + //var_list tmpVarArr[MaxVarNum]; + snmp_addr tmpAddr; + +#if logColl_DEBUG + //system("clear"); + clrscr(); + printf + ("\nId sysId systemIp log/msgStat bgnNo/logNo/endNo sleepCount/sleepTime Desc"); +#endif + for (i = 0; i < MaxLogSrcNum; i++) { +#if logColl_DEBUG + printf("\n%d %d-%d-%d %s %d/%d \t %lu/%lu/%lu %d/%d \t%s ", i, + logSrcArr[i].sysTypeNo, logSrcArr[i].sysNo, + logSrcArr[i].subSysNo, logSrcArr[i].dstIP, + logSrcArr[i].logState, logSrcArr[i].msgState, + logSrcArr[i].bgnNo, logSrcArr[i].logNo, logSrcArr[i].endNo, + logSrcArr[i].sleepCount, logSrcArr[i].sleepTime, + logSrcArr[i].desc); +#endif + if (logSrcArr[i].isEnable < 1) { + continue; + } + switch (logSrcArr[i].logState) { + case nGetInfo: + if (logSrcArr[i].msgState == nIdle) + { + logColl_sendMsg(i, &tmpPdu, &tmpAddr); + logSrcArr[i].msgState = nWaitResponse; + continue; + } + else + { //nWaitResponse + if (!logColl_recvMsg(&i, &tmpPdu, &tmpAddr)) + { + //not receive message or received invaild message + //write log + /* + #if logColl_DEBUG + omcLog(logFp,"%d %d-%d-%d %s %d/%d \t %lu/%lu/%lu %d/%d \t%s ", i, + logSrcArr[i].sysTypeNo,logSrcArr[i].sysNo,logSrcArr[i].subSysNo, + logSrcArr[i].dstIP, + logSrcArr[i].logState,logSrcArr[i].msgState, + logSrcArr[i].bgnNo,logSrcArr[i].logNo,logSrcArr[i].endNo, + logSrcArr[i].sleepCount,logSrcArr[i].sleepTime, + logSrcArr[i].desc); + #endif + */ + continue; + } + } + + if (logSrcArr[i].bgnNo >= logSrcArr[i].endNo) + { + if (logSrcArr[i].bgnNo > logSrcArr[i].endNo && logSrcArr[i].bgnNo > (0x80000000 - logSrcArr[i].maxRecNumOfBuf)) + { + //endNo overflow + + if (logSrcArr[i].logNo >= logSrcArr[i].bgnNo && logSrcArr[i].logNo > logSrcArr[i].endNo) + { + //when endNo overflow.omc running normal + omcLog(logFp, "LogNo is overflow,logNo=%ld,bgnNo=%ld,endNo=%ld,%s",logSrcArr[i].logNo,logSrcArr[i].bgnNo,logSrcArr[i].endNo,logSrcArr[i].dataStoreTable); + logSrcArr[i].logState = nGetLog; + logSrcArr[i].msgState = nIdle; + } + else if (logSrcArr[i].logNo < logSrcArr[i].bgnNo && logSrcArr[i].logNo <= logSrcArr[i].endNo) + { + logSrcArr[i].logState = nGetLog; + logSrcArr[i].msgState = nIdle; + } + else + { + //logSrcArr[i].logNo < logSrcArr[i].bgnNo + // && logSrcArr[i].logNo > logSrcArr[i].endNo + + //when endNo overflow,omc reset or network broke + logSrcArr[i].logNo = logSrcArr[i].bgnNo; + logSrcArr[i].logState = nGetLog; + logSrcArr[i].msgState = nIdle; + } + } + else + { + //no find new log + sprintf(logSrcArr[i].desc, "No new log"); + logSrcArr[i].logState = nWaitLog; + logSrcArr[i].msgState = nIdle; +#if logColl_DEBUG + omcLog(logFp, "No new log %s %lu/%lu/%lu \t%s ", + logSrcArr[i].dstIP, logSrcArr[i].bgnNo, + logSrcArr[i].logNo, logSrcArr[i].endNo, + logSrcArr[i].dataStoreTable); +#endif + } + + } + else if (logSrcArr[i].logNo > logSrcArr[i].endNo || logSrcArr[i].logNo < logSrcArr[i].bgnNo) + { + //log source system be reset + logSrcArr[i].logNo = logSrcArr[i].bgnNo; + logSrcArr[i].logState = nGetLog; + logSrcArr[i].msgState = nIdle; + + } + else + { + // if(logSrcArr[i].logNo > logSrcArr[i].bgnNo + // && logSrcArr[i].logNo < logSrcArr[i].endNo) + if (logSrcArr[i].logNo == logSrcArr[i].endNo) + { + //no find new log + sprintf(logSrcArr[i].desc, "No new log"); + logSrcArr[i].logState = nWaitLog; + logSrcArr[i].msgState = nIdle; +#if logColl_DEBUG + omcLog(logFp, "No new log %s %lu/%lu/%lu \t%s ", + logSrcArr[i].dstIP, logSrcArr[i].bgnNo, + logSrcArr[i].logNo, logSrcArr[i].endNo, + logSrcArr[i].dataStoreTable); +#endif + } + else + { + //find new log + omcLog(logFp, "Prepare to get log,logNo=%ld,bgnNo=%ld,endNo=%ld,%s",logSrcArr[i].logNo,logSrcArr[i].bgnNo,logSrcArr[i].endNo,logSrcArr[i].dataStoreTable); + logSrcArr[i].logState = nGetLog; + logSrcArr[i].msgState = nIdle; + } + } + break; + case nGetLog: + if (logSrcArr[i].msgState == nIdle) { + logColl_sendMsg(i, &tmpPdu, &tmpAddr); + logSrcArr[i].msgState = nWaitResponse; + omcLog(logFp, "Send snmp package to get log,logNo=%ld,bgnNo=%ld,endNo=%ld,%s",logSrcArr[i].logNo,logSrcArr[i].bgnNo,logSrcArr[i].endNo,logSrcArr[i].dataStoreTable); + continue; + } else { + //nWaitResponse + if (!logColl_recvMsg(&i, &tmpPdu, &tmpAddr)) { + //write log + omcLog(logFp, + "%d %d-%d-%d %s %d/%d \t %lu/%lu/%lu %d/%d \t%s ", + i, logSrcArr[i].sysTypeNo, logSrcArr[i].sysNo, + logSrcArr[i].subSysNo, logSrcArr[i].dstIP, + logSrcArr[i].logState, logSrcArr[i].msgState, + logSrcArr[i].bgnNo, logSrcArr[i].logNo, + logSrcArr[i].endNo, logSrcArr[i].sleepCount, + logSrcArr[i].sleepTime, logSrcArr[i].desc); + continue; + } + } + + if (logSrcArr[i].logNo == logSrcArr[i].endNo) { + //finish + logSrcArr[i].logState = nGetInfo; + logSrcArr[i].msgState = nIdle; + } + logSrcArr[i].msgState = nIdle; + break; + case nWaitLog: + logSrcArr[i].sleepCount--; + if (logSrcArr[i].sleepCount == 0) { + logSrcArr[i].logState = nGetInfo; + logSrcArr[i].sleepCount = logSrcArr[1].sleepTime; + } + break; + default: //nLogFail or unknown logState + sprintf(logSrcArr[i].desc, "Unknown logState"); + logSrcArr[i].msgState = nIdle; + logSrcArr[i].logState = nWaitLog; + break; + } //end of switch() + } //end of for(..) +#if logColl_DEBUG + printf("\n"); +#endif + if (idleLogSrcCount == MaxLogSrcNum) { + //clear the msg buffer + snmp_receive(&tmpPdu, &tmpAddr); + return (2); + } else { + return (1); + } +} + + +/* +*Function :logColl_sendMsg +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript : +*/ +int logColl_sendMsg(int logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr) +{ + if (logColl_mkAddr(logSrcArrNo, addr) < 1) { + return (0); + } + if (logColl_mkPdu(logSrcArrNo, pdu) < 1) { + return (0); + } + if (snmp_send(pdu, addr) > 0) { + sprintf(logSrcArr[logSrcArrNo].desc, "send snmp message ok!"); + omcLog(logFp, "Send request snmp package wait for response, %s",logSrcArr[logSrcArrNo].dataStoreTable); + logSrcArr[logSrcArrNo].msgState = nWaitResponse; + return (1); + } else { + //write log + omcLog(logFp, + "failed to send snmp msg,remote ip=%x,remote port=%d", + addr->remote_ip, addr->remote_port); + + sprintf(logSrcArr[logSrcArrNo].desc, + "failed to send snmp message!"); + logSrcArr[logSrcArrNo].logState = nWaitLog; + logSrcArr[logSrcArrNo].msgState = nIdle; + return (0); + } +} + +/* +*Function :logColl_recvMsg +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript : +*/ +int logColl_recvMsg(int *logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr) +{ + int i = *logSrcArrNo; + int respProcReturn = 0; + + logColl_mkAddr(i, addr); + if (snmp_receive(pdu, addr) > 0) { + //received msg ok + respProcReturn = logColl_procResp(logSrcArrNo, pdu); //here maybe changed *logSrcArrNo's value + i = *logSrcArrNo; + if (respProcReturn > 0) { + //vaild message + logSrcArr[i].waitTimeCount = 0; + logSrcArr[i].timeoutCount = 0; + omcLog(logFp, "Receive log success,logNo=%ld,bgnNo=%ld,endNo=%ld,%s",logSrcArr[i].logNo,logSrcArr[i].bgnNo,logSrcArr[i].endNo,logSrcArr[i].dataStoreTable); + return (1); + } else if (respProcReturn == 0) { + //invaild message + logSrcArr[i].waitTimeCount++; + omcLog(logFp, "Receive invalid snmp package,logNo=%ld,bgnNo=%ld,endNo=%ld,%s",logSrcArr[i].logNo,logSrcArr[i].bgnNo,logSrcArr[i].endNo,logSrcArr[i].dataStoreTable); + //time out + if (logSrcArr[i].waitTimeCount == 20) { + logSrcArr[i].waitTimeCount = 0; + logSrcArr[i].timeoutCount++; + if (logSrcArr[i].timeoutCount > 2) { + sprintf(logSrcArr[i].desc, "response timeout"); + logSrcArr[i].logState = nWaitLog; + logSrcArr[i].msgState = nIdle; + } else { //send msg again + logColl_sendMsg(i, pdu, addr); + } //end of if(logSrcArr[i].timeoutCount > 2) + } //end of if(logSrcArr[i].waitTimeCount == 20) + } else { + //error report message + logSrcArr[i].logState = nGetInfo; + logSrcArr[i].msgState = nIdle; + } + } else { + //not received msg + + sprintf(logSrcArr[i].desc, "Receive snmp message failed!"); + logSrcArr[i].waitTimeCount++; + + //time out + if (logSrcArr[i].waitTimeCount == 20) { + logSrcArr[i].waitTimeCount = 0; + logSrcArr[i].timeoutCount++; + if (logSrcArr[i].timeoutCount > 2) { + sprintf(logSrcArr[i].desc, "response timeout"); + logSrcArr[i].logState = nWaitLog; + logSrcArr[i].msgState = nIdle; + } else { //send msg again + logColl_sendMsg(i, pdu, addr); + } //end of if(logSrcArr[i].timeoutCount > 2) + } //end of if(logSrcArr[i].waitTimeCount == 20) + } //end of not received msg + return (0); +} + +/* +*Function :logColl_mkPdu +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript : +*/ +int logColl_mkPdu(int logSrcArrNo, snmp_pdu * pdu) +{ + if (logColl_mkVarArr(logSrcArrNo, pdu->var) < 1) { + return (0); + } + pdu->pdu_type = nGet; + pdu->request_id = logSrcArr[logSrcArrNo].requestId; + pdu->var_num = logSrcArr[logSrcArrNo].varNum; + strcpy(pdu->community, logSrcArr[logSrcArrNo].snmpCommunity); + pdu->error_status = 0x0; //0:no error 1:too big 2:nosuchname 3:badvalue 4:readonly 5:generr + pdu->error_index = 0x0; + return (1); +} + + +/* +*Function :logColl_mkAddr +*Input :Null +*Output :Return 1: ok, 0:failed +*Descript : +*/ +int logColl_mkAddr(int logSrcArrNo, snmp_addr * addr) +{ + if (strlen(logSrcArr[logSrcArrNo].dstIP) <= 0) { + omcLog(logFp, "Initing snmp_addr error: Cannot get ip"); + logSrcArr[logSrcArrNo].logState = nWaitLog; + return (0); + } + //addr->local_ip = ; + addr->local_port = DefPort; + addr->remote_ip = inet_addr(logSrcArr[logSrcArrNo].dstIP); + addr->remote_port = logSrcArr[logSrcArrNo].dstPort; + addr->broadcast = 0; + return (1); +} + +/* +*Function :logColl_mkVarArr +*Input :int logSrcArrNo,var_list *varArr +*Output :Return 1: ok, 0:failed +*Descript : +*/ +int logColl_mkVarArr(int logSrcArrNo, var_list * varArr) +{ + var_list *unitVar; + int i, varCount = 0; + int totalMsgLen = 0; + + for (varCount = 0; varCount < MaxVarNum; varCount++) { + unitVar = varArr + varCount; + + for (i = 0; i < logSrcArr[logSrcArrNo].preObjIdLen; i++) { + unitVar->oid[i] = logSrcArr[logSrcArrNo].preObjId[i]; + } + + if (logSrcArr[logSrcArrNo].logState == nGetInfo) { + unitVar->vartype = nInteger; + unitVar->oidlen = logSrcArr[logSrcArrNo].preObjIdLen + 1; + unitVar->msglen = 4; + if (varCount == 0) { + unitVar->oid[i] = nBgnOid; + } else { + unitVar->oid[i] = nEndOid; + break; + } + } else { //nGetLog + unitVar->msglen = logSrcArr[logSrcArrNo].maxSizeOfRec; + unitVar->vartype = nOctetString; + unitVar->oidlen = logSrcArr[logSrcArrNo].preObjIdLen + 2; + unitVar->oid[i] = nDataOid; + if (logSrcArr[logSrcArrNo].logNo + varCount >= 0x80000000) { + unitVar->oid[i + 1] = + logSrcArr[logSrcArrNo].logNo + varCount - 0x80000000; + } else { + unitVar->oid[i + 1] = + logSrcArr[logSrcArrNo].logNo + varCount; + if(unitVar->oid[i + 1] < (0x80000000 - logSrcArr[logSrcArrNo].maxRecNumOfBuf)) + { + if(unitVar->oid[i + 1] >= (logSrcArr[logSrcArrNo].endNo - 1)) + { + break; + } + } + } + omcLog(logFp, "Make Var,logNo=%ld,%s",logSrcArr[logSrcArrNo].logNo,logSrcArr[logSrcArrNo].dataStoreTable); + } + totalMsgLen = totalMsgLen + unitVar->oidlen + unitVar->msglen; + + //check the message len + if ((totalMsgLen + unitVar->oidlen + unitVar->msglen) > + logSrcArr[logSrcArrNo].maxMsgLen) { + break; + } + } //end of for() + logSrcArr[logSrcArrNo].finishVarNum = 0; + logSrcArr[logSrcArrNo].totalVarNum = varCount; + logSrcArr[logSrcArrNo].varNum = varCount + 1; + return (1); +} + + +/* +*Function :logColl_procResp +*Input :Null +*Output : 1 : ok, +* : 0 : invailed message(unmatched requestId,objectId,pduType or message format error) +* :-1 : error message(varType or errorState > 0) +*Descript : +*/ +int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu) +{ + int i, j, logSrcArrNo, tlvCount; + char tmpQuery[3500] = "\0"; + char tmpValue[3000] = "\0"; + int tlvLen = 0; + int tlvIntValue = 0; + char tlvAscValue[512] = "\0"; + BYTE tlvBcdValue[256]; + ASN_BUF asnBuffer; + unsigned long tmpInstanceNo = 0; + + //here if oldlogSrcArrNo's address cannot be access,will core down + if (*oldlogSrcArrNo >= MaxLogSrcNum) { + omcLog(logFp, " Error: oldlogSrcArrNo is too big (%d)", + *oldlogSrcArrNo); + return (0); + } + logSrcArrNo = *oldlogSrcArrNo; + +#if logColl_DEBUG + // omcLog(logFp," ----- Processing logSrcArr[%d]'s response message ",logSrcArrNo); +#endif + //check pdu_type + if (pdu->pdu_type != nResp) { + sprintf(logSrcArr[logSrcArrNo].desc, "Error pdu type:%d(!=Resp%d)", + pdu->pdu_type, nResp); + omcLog(logFp, "logColl_procResp:Error pdu type:%d(!=Resp%d)", + pdu->pdu_type, nResp); + return (0); + } + //check request_id + if (pdu->request_id != logSrcArr[logSrcArrNo].requestId) { + int isRequestIdMatch = 0; + + for (i = 0; i < MaxLogSrcNum; i++) { + if (pdu->request_id == logSrcArr[i].requestId) { + isRequestIdMatch = 1; + *oldlogSrcArrNo = i; + logSrcArrNo = i; + break; + } + } + if (isRequestIdMatch == 0) { + sprintf(logSrcArr[logSrcArrNo].desc, + "unknown pdu->request_id(%ld)", pdu->request_id); + omcLog(logFp, "unknown snmp package to receive,logNo=%ld,bgnNo=%ld,endNo=%ld,%s",logSrcArr[i].logNo,logSrcArr[i].bgnNo,logSrcArr[i].endNo,logSrcArr[i].dataStoreTable); + return (0); + } + } + + for (i = 0; i < pdu->var_num; i++) { + int errStr; + + //check ObjId len + if (pdu->var[i].oidlen <= logSrcArr[logSrcArrNo].preObjIdLen) { + sprintf(logSrcArr[logSrcArrNo].desc, + "Oid is too short (oidlen =%d)", pdu->var[i].oidlen); + omcLog(logFp, "Oid is too short (oidlen =%d)", + pdu->var[i].oidlen); + return (0); + } + //check preObjId + for (j = 0; j < logSrcArr[logSrcArrNo].preObjIdLen; j++) { + if (logSrcArr[logSrcArrNo].preObjId[j] != pdu->var[i].oid[j]) { + int k = 0; + sprintf(logSrcArr[logSrcArrNo].desc, " Oid is not match!"); + omcLog(logFp, "Oid is not match!"); + for (k = 0; k < logSrcArr[logSrcArrNo].preObjIdLen; k++) { + omcLog(logFp, " %d: %ld [%ld]", k, + logSrcArr[logSrcArrNo].preObjId[k], + pdu->var[i].oid[k]); + } + return (0); + } + } + //check msgbuffer len + //if(pdu->var[i].msglen >= (sizeof(tmpValue)/2)){ + // sprintf(logSrcArr[logSrcArrNo].desc,"Msg is too long(%d)",pdu->var[i].msglen); + // return(0); + //} + + //check value type + switch (pdu->var[i].vartype) { + case 0x02: //INTEGER + if (logSrcArr[logSrcArrNo].logState == nGetInfo) { + break; + } else { + sprintf(logSrcArr[logSrcArrNo].desc, "INTEGER"); + return (-1); + } + case 0x04: //OCTET STRING + break; + case 0x05: //NULL(unSpecified) + sprintf(logSrcArr[logSrcArrNo].desc, "NULL"); + return (-1); + case 0x06: //OBJECT IDENTIFIER + sprintf(logSrcArr[logSrcArrNo].desc, "OBJECT IDENTIFIER"); + return (-1); + case 0x80: //noSuchObject + sprintf(logSrcArr[logSrcArrNo].desc, "noSuchObject"); + return (-1); + case 0x81: //NoSuchInstance + sprintf(logSrcArr[logSrcArrNo].desc, "NoSuchInstance"); + return (-1); + case 0x82: //endOfMibView + sprintf(logSrcArr[logSrcArrNo].desc, "endOfMibView"); + return (-1); + default: + sprintf(logSrcArr[logSrcArrNo].desc, "Invailed vartype(%d)", + pdu->var[i].vartype); + return (-1); + } + + //check error status and error index + if ((pdu->error_status > 0) && (pdu->error_index == (i + 1))) { + omcLog(logFp, + "Error message: pdu->error_status =%d pdu->error_index =%d", + pdu->error_status, pdu->error_index); + if (pdu->error_status < MaxErrorStatusNum) { + sprintf(logSrcArr[logSrcArrNo].desc, "Error:%s", + errorStatusDescArr[pdu->error_status]); + } else { + sprintf(logSrcArr[logSrcArrNo].desc, + "Error:Unknown snmp error status"); + } + return (-1); + } + + if (logSrcArr[logSrcArrNo].logState == nGetInfo + && pdu->var[i].oid[logSrcArr[logSrcArrNo].preObjIdLen] != + nDataOid) { + if (pdu->var[i].oid[logSrcArr[logSrcArrNo].preObjIdLen] == + nBgnOid) { + logSrcArr[logSrcArrNo].bgnNo = + decode_integer(pdu->var[i].msg, pdu->var[i].msglen); + } else if (pdu->var[i]. + oid[logSrcArr[logSrcArrNo].preObjIdLen] == + nEndOid) { + logSrcArr[logSrcArrNo].endNo = + decode_integer(pdu->var[i].msg, pdu->var[i].msglen); + } else { + //error report + omcLog(logFp, "Error message: last oid != 1,2,3"); + return (-1); + } + } else { /*get data and update to database */ + char tmpUnitValue[1024] = "\0"; + char tmpSetStr[1024] = "\0"; + int attrDefnBgn = logSrcArr[logSrcArrNo].attrDefnArrOffset; + int attrDefnEnd = logSrcArr[logSrcArrNo].attrDefnArrOffset + + logSrcArr[logSrcArrNo].attrDefnNum; + int varCount = 0; + + tmpValue[0] = 0; + + tmpInstanceNo = + pdu->var[i].oid[logSrcArr[logSrcArrNo].preObjIdLen + 1]; + + //decode msg to asn buffer + AsnDecode(pdu->var[i].msg, pdu->var[i].msglen, 1024, &errStr, + &asnBuffer); + + //get value form asnbuffer and make SQL string + for (tlvCount = attrDefnBgn; tlvCount < attrDefnEnd; + tlvCount++) { + tmpSetStr[0] = 0; + switch (attrDefnArr[tlvCount].valueType) { + case 0x02: //INTEGER + tlvLen = + GetInteger(attrDefnArr[tlvCount].fieldObjIdStr, + &tlvIntValue, 0x80, &asnBuffer); + sprintf(tmpSetStr, "%s = '%d'", + attrDefnArr[tlvCount].fieldName, tlvIntValue); + break; + case 0x03: //OCTET STRING -> Asc + memset(tlvAscValue, 0, sizeof(tlvAscValue)); + tlvLen = + GetTLV(attrDefnArr[tlvCount].fieldObjIdStr, + attrDefnArr[tlvCount].valueLen, (u_char*)tlvAscValue, + 0x80, &asnBuffer); + sprintf(tmpSetStr, "%s = '%s'", + attrDefnArr[tlvCount].fieldName, tlvAscValue); + break; + case 0x04: //OCTET STRING -> Hex + memset(tlvBcdValue, 0, sizeof(tlvBcdValue)); + memset(tmpUnitValue, 0, sizeof(tmpUnitValue)); + tlvLen = + GetTLV(attrDefnArr[tlvCount].fieldObjIdStr, + attrDefnArr[tlvCount].valueLen, tlvBcdValue, + 0x80, &asnBuffer); + if (tlvLen >= 0) { + omc_RbcdToAscii(tmpUnitValue, tlvBcdValue, + tlvLen * 2); + sprintf(tmpSetStr, "%s = '%s'", + attrDefnArr[tlvCount].fieldName, + tmpUnitValue); + } + break; + default: + sprintf(logSrcArr[logSrcArrNo].desc, + " Invailed vartype(attrDefnArr[%d].valueType=%d)", + tlvCount, attrDefnArr[tlvCount].valueType); + return (-1); + } + if (tlvLen >= 0) { + if (varCount == 0) { + strcat(tmpValue, tmpSetStr); + } else { + strcat(tmpValue, ", "); + strcat(tmpValue, tmpSetStr); + } + varCount++; + } else { + omcLog(logFp, " can not get tlvTag[%s]'s tlvValue", + attrDefnArr[tlvCount].fieldObjIdStr); + return (0); + } + } //end of for(..) + + //Query SQL + if (strlen(logSrcArr[logSrcArrNo].dataStoreTable) > 1 + && strlen(tmpValue) > 3) { + int errorNo=0; + int result=0; + tmpQuery[0] = 0; + sprintf(tmpQuery, "REPLACE %s SET %s", + logSrcArr[logSrcArrNo].dataStoreTable, tmpValue); + omcLog(logFp, "Replace log into %s",logSrcArr[logSrcArrNo].dataStoreTable); + result=mysql_getnores(dbConn, tmpQuery); + + errorNo = mysql_errno(dbConn); + if (errorNo > 0) + { + omcLog(logFp, "\n Error number:%d", mysql_errno(dbConn)); + omcLog(logFp, "\n Description: %s", mysql_error(dbConn)); + if(errorNo == 2006) + { + mysql_close(dbConn); + omcLog(logFp, "Mysql has gone away"); + dbConn = mysql_conn(HOSTNAME, PUB_DB); + if (dbConn == NULL) { + omcLog(logFp, " Fail to reconnect"); + } + result=0; + result=mysql_getnores(dbConn, tmpQuery); + if(result == -1) + { + omcLog(logFp, " Reconnect,but fail too"); + omcLog(logFp,"\n%s\n", tmpQuery); + } + } + } + } + //if(tmpInstanceNo >= 0x80000000){ + // logSrcArr[logSrcArrNo].logNo = tmpInstanceNo - 0x80000000; + //}else{ + if (tmpInstanceNo + 1 <= logSrcArr[logSrcArrNo].endNo) { + logSrcArr[logSrcArrNo].logNo = tmpInstanceNo + 1; + } + //} + } //end of if(logSrcArr[logSrcArrNo].logState == nGetInfo) + } //end of for(i = 0; i < pdu->var_num; i++) + + return (1); +} //end of function + diff --git a/src/performanceMgr/c_program/logCollector/logCollector.h b/src/performanceMgr/c_program/logCollector/logCollector.h new file mode 100644 index 0000000..1b616e2 --- /dev/null +++ b/src/performanceMgr/c_program/logCollector/logCollector.h @@ -0,0 +1,118 @@ +/* Title: logCollector.h + * Description: + * Author: + * Date: + */ + +#ifndef logCollector__H +#define logCollector__H + +#include "../../../../plat/public/src/include/asn1.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" + +#ifndef MYSQL_H +#include "mysql.h" +#endif + +#ifndef logCollector_DEBUG +#define logColl_DEBUG 0 +#endif + +#define MaxLogSrcNum 16 //max number of command can be execute as same time +#define MaxAttrDefnNum 256 +#define MaxOidLen 20 //max number of object ID +#define MaxSubOidLen 10 //max number of sub object ID +#define MaxVarNum 50 //max number of var in one pdu +#define DefPort 4960 //define receive port +#define HOSTNAME "localhost" +#define PUB_DB "OMC_PUB" //OMC's public database +#define SysConfTable "OMC_PUB.sysConf" //system config table +#define logConfTable "OMC_PUB.sysLogSrcConf" //system config table +#define IpTable "OMC_PUB.sysInfo" //system's IP table + +//msgState flag define +#define nIdle 0 +#define nWaitResponse 1 + +//logState flag define +#define nGetInfo 0 +#define nGetLog 1 +#define nWaitLog 2 + +//snmp pdu type define [define in snmp.h] +#define nGet 0 +#define nGetNext 1 +#define nResp 2 +#define nSet 3 + +#define nBgnOid 1 +#define nEndOid 2 +#define nDataOid 3 + +//snmp var type code +#define nInteger 0x02 +#define nOctetString 0x04 +#define nNull 0x05 +#define nObjectId 0x06 +#define nNoSuchObject 0x80 +#define nNoSuchInstance 0x81 +#define nEndOfMibView 0x82 + +typedef struct unitAttrDefn { + int sysTypeNo; + int dataTypeNo; + char fieldObjIdStr[16]; + char fieldName[64]; + int valueType; + int valueLen; +} unitAttrDefn; + +typedef struct unitLogSrc { + int isEnable; + int sysTypeNo; + int sysNo; + int subSysNo; + + int requestId; + char dstIP[16]; + WORD dstPort; + DWORD preObjId[20]; //the oid before x + int preObjIdLen; + int maxMsgLen; + char snmpCommunity[16]; + + int dataTypeNo; + int maxSizeOfRec; + int maxRecNumOfBuf; + int maxRecNumOfDay; + char dataStoreTable[64]; //database.table + int attrDefnArrOffset; + int attrDefnNum; + + unsigned long bgnNo; + unsigned long endNo; + unsigned long logNo; + + BYTE logState; //-1:nFailed,0:nWaitProc,1:nNoFinish,2:nFinished + BYTE msgState; //command process state:0=idle,1=waitResponse + BYTE waitTimeCount; //the times number of timeout + BYTE timeoutCount; //the timeCount + + int sleepTime; //the time count of sleep to wait log + int sleepCount; //tht count + + int totalVarNum; + int finishVarNum; + + char desc[200]; + + //var_list info + BYTE varNum; +} unitLogSrc; + +//Interface Functions Declare,define in logCollector.c +int logCollectorInit(); +int logCollectorTimer(); + +#endif diff --git a/src/performanceMgr/c_program/logCollector/logCollectorMain.c b/src/performanceMgr/c_program/logCollector/logCollectorMain.c new file mode 100644 index 0000000..b737a97 --- /dev/null +++ b/src/performanceMgr/c_program/logCollector/logCollectorMain.c @@ -0,0 +1,122 @@ +/* Title: logCollectorMain.c + * Description: test + * Author: + * Date: + */ + +#include +#include +#include +#include +#include + +#include "logCollector.h" + +static struct itimerval itimer, old_itimer; + +void onTimer(); +void setTimer(); +void setup_daemon(void); +int timerCounter = 0; + +int main(int argc, char *argv[]) +{ + char runMode; + debug_init(); + fprintf(stderr, "\n Calling iptrans_init()"); + iptrans_init(); + + fprintf(stderr, "\n Calling logCollectorInit()"); + logCollectorInit(); + + if (argc > 0) { + runMode = getopt(argc, argv, "d"); + switch (runMode) { + case 'd': + setup_daemon(); + break; + case '?': + exit(0); + break; + } + //debug_init();//must do it at first + } + setTimer(); + while (1) { + usleep(50); + } + + return (1); +} + +void onTimer() +{ + //debug_rt(); + //snmp_timer(); + if (timerCounter % 3 == 0) { + logCollectorTimer(); + } + if (timerCounter >= 50000) { + //logCollectorInit(); + timerCounter = 0; + } + timerCounter++; +} + +void setTimer() +{ + struct sigaction act; + act.sa_handler = onTimer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) { + perror("Produce Sigaction"); + exitLog("logCollector:setTimer, sigaction function error"); + exit(1); + } + + itimer.it_interval.tv_sec = 0; + itimer.it_interval.tv_usec = 20 * 1000; + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 20 * 1000; + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) { + printf("Setting Timer error! \n"); + exitLog("logCollector:setTimer, setitimer function error"); + exit(1); + } +} + +void setup_daemon(void) +{ + /* + int i; + + for (i = 0; i < 3; ++i) { + close(i); + } + */ + switch (fork()) { + case -1: + perror("setup_daemon(), 1st fork()"); + exit(2); + default: + exit(0); + case 0: + if (setsid() == -1) { + perror("setup_daemon(), setsid()"); + exit(3); + } + switch (fork()) { + case -1: + perror("setup_daemon(), 2nd fork()"); + exit(3); + default: + exit(0); + case 0: + umask(0); + /* and return with daemon set up */ + return; + } + } +} diff --git a/src/securityMgr/c_program/omcCleaner/Makefile b/src/securityMgr/c_program/omcCleaner/Makefile new file mode 100644 index 0000000..6863ab3 --- /dev/null +++ b/src/securityMgr/c_program/omcCleaner/Makefile @@ -0,0 +1,54 @@ +#/bin/bash + +CC=gcc +CFLAGS=-g -Wall -I/usr/include/mariadb +PROGS=omcCleaner + + +LINK.c=$(CC) $(CFLAGS) + +LINKFLAG=-L../../../omcLib/c_program/omcLib -lomcLib \ +-L../../../../plat/snmp/lib -lsnmp \ +-L../../../../plat/sccp/lib -lsccp \ +-L../../../../plat/iptrans/lib -liptrans \ +-L../../../../plat/debug/lib -ldebug \ +-L../../../../plat/public/lib -lpublic \ +-L/usr/lib/mysql -lmariadbclient -lz \ + +TOTAL_OBJ=omc_cleaner_main.o omc_cleaner.o omc_task.o + +default: linuxES + +all: + @echo "make clean -- Delete the target files" + @echo "make linuxES -- Generate target files for Redhat Linux ES" + +linuxES: $(TOTAL_OBJ) + @$(LINK.c) -o $(PROGS) $(TOTAL_OBJ) $(LINKFLAG) -lm + ar r libomcCleaner.a $(TOTAL_OBJ) + # rm -rf *.o + # rm -rf *bak + # rm -rf *~ + # cp -f $(PROGS) ../../../../bin/ + # cp -f $(PROGS) /usr/local/omc/bin/ + +installbin: linuxES + cp -f $(PROGS) ../../../../bin/ + +installomc: linuxES + cp -f $(PROGS) /usr/local/omc/bin/ + +installall: installbin installomc + + +omc_cleaner_main.o: omc_cleaner_main.c + $(LINK.c) -c omc_cleaner_main.c + +omc_cleaner.o: omc_cleaner.c + $(LINK.c) -c omc_cleaner.c + +omc_task.o: omc_task.c + $(LINK.c) -c omc_task.c + +clean: + rm -rf *.o *.a $(PROGS) diff --git a/src/securityMgr/c_program/omcCleaner/omc_cleaner.c b/src/securityMgr/c_program/omcCleaner/omc_cleaner.c new file mode 100644 index 0000000..a5d165d --- /dev/null +++ b/src/securityMgr/c_program/omcCleaner/omc_cleaner.c @@ -0,0 +1,553 @@ +#include "omc_cleaner.h" + +static int table_mtn_timer(); +static int file_mtn_timer(); +static int table_maintain_proc(int cur_index); +static int file_maintain_proc(int cur_index); +static int check_table(int cur_index); +static int read_conffile(); +static int parse_line(FILE *handle,char *line,int max_size); + +tableMtnNodeList tbNodeList; +fileMtnNodeList fileNodeList; + +DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,4}; +int PROC_HEARTBEAT_OIDLEN=11; +int sendHeartbeat(); +int alterTableAutoIncrement(); + +int alterTableAutoIncrement() +{ + char alterTableList[32][64]; + int table_count=1; + int i; + + MYSQL *dbConn; + MYSQL_RES *res; + char sqlstr[512]; + + memset(alterTableList,0,sizeof(alterTableList)); + sprintf(alterTableList[0],"OMC_PUB.parameterComm"); + + dbConn=mysql_conn("localhost","OMC_PUB"); + if(dbConn == NULL) + { + logMessage("[ERR][alterTableAutoIncrement]:mysql_conn OMC_PUB"); + return 0; + } + + for(i=0;i 0) + { + sprintf(sqlstr,"select count(*) from %s.%s",tbNodeList.node[cur_index].database_name,tbNodeList.node[cur_index].table_name); + res=mysql_getres(dbConn,sqlstr); + if(res == NULL) + { + logMessage("Get record count fail from %s.%s",tbNodeList.node[cur_index].database_name,tbNodeList.node[cur_index].table_name); + mysql_close(dbConn); + return 0; + } + row=mysql_fetch_row(res); + if(row == NULL) + { + logMessage("Get record count fail from %s.%s",tbNodeList.node[cur_index].database_name,tbNodeList.node[cur_index].table_name); + mysql_free_result(res); + mysql_close(dbConn); + return 0; + } + record_count=strtoul(row[0],NULL,10); + mysql_free_result(res); + + if(record_count > tbNodeList.node[cur_index].keep_records) + { + if(tbNodeList.node[cur_index].keep_seconds > 0) + { + delete_time=time(NULL)-tbNodeList.node[cur_index].keep_seconds; + sprintf(sqlstr,"delete from %s.%s where UNIX_TIMESTAMP(%s) < %ld ",tbNodeList.node[cur_index].database_name,tbNodeList.node[cur_index].table_name,tbNodeList.node[cur_index].time_fieldname,delete_time); + mysql_getnores(dbConn,sqlstr); + logMessage("%s, affected rows num=%d",sqlstr,mysql_affected_rows(dbConn)); + } + /* + sprintf(sqlstr,"delete from %s.%s order by %s LIMIT %ld",tbNodeList.node[cur_index].database_name,tbNodeList.node[cur_index].table_name,tbNodeList.node[cur_index].time_fieldname,record_count - tbNodeList.node[cur_index].keep_records); + mysql_getnores(dbConn,sqlstr); + logMessage("%s, affected rows num=%d",sqlstr,mysql_affected_rows(dbConn)); + */ + } + } + + mysql_close(dbConn); + + return 1; +} + +int file_maintain_proc(int cur_index) +{ + struct dirent* pDirEnt; + DIR* dir; + struct stat fileStat; + char fullpathname[256]; + + dir=opendir(fileNodeList.node[cur_index].directory); + if(dir == NULL) + { + logMessage("Fail to open directory %s",fileNodeList.node[cur_index].directory); + return 0; + } + + while((pDirEnt = readdir(dir))!=NULL) + { + if(strstr(pDirEnt->d_name,fileNodeList.node[cur_index].keyword)) + { + sprintf(fullpathname,"%s/%s",fileNodeList.node[cur_index].directory,pDirEnt->d_name); + stat(fullpathname,&fileStat); + if((time(NULL) - fileStat.st_mtime) > fileNodeList.node[cur_index].keep_seconds) + { + if(unlink(fullpathname) == 0) + logMessage("Delete file %s successfully",fullpathname); + else + logMessage("Delete file %s fail",fullpathname); + } + } + } + closedir(dir); + return 1; +} + +int check_table(int cur_index) +{ + MYSQL *dbConn; + MYSQL_RES *res; + MYSQL_ROW row; + char sqlstr[512]; + int tmpflag; + + dbConn=mysql_conn("localhost",tbNodeList.node[cur_index].database_name); + if(dbConn == NULL) + { + logMessage("[ERR][check_table]:mysql_conn %s",tbNodeList.node[cur_index].database_name); + tbNodeList.node[cur_index].valid=0; + return 0; + } + + //check database + sprintf(sqlstr,"show databases"); + res=mysql_getres(dbConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR][check_table]:mysql_getres=%s",sqlstr); + tbNodeList.node[cur_index].valid=0; + mysql_close(dbConn); + return 0; + } + tmpflag=0; + while((row = mysql_fetch_row(res)) != NULL) + { + if(strstr(row[0],tbNodeList.node[cur_index].database_name)) + { + tmpflag=1; + break; + } + } + if(!tmpflag) + { + logMessage("Database %s not exist",tbNodeList.node[cur_index].database_name); + tbNodeList.node[cur_index].valid=0; + mysql_free_result(res); + mysql_close(dbConn); + return 0; + } + mysql_free_result(res); + + //check table + sprintf(sqlstr,"show tables from %s where Tables_in_%s = '%s' ",tbNodeList.node[cur_index].database_name,tbNodeList.node[cur_index].database_name,tbNodeList.node[cur_index].table_name); + res=mysql_getres(dbConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR][check_table]:mysql_getres=%s",sqlstr); + tbNodeList.node[cur_index].valid=0; + mysql_close(dbConn); + return 0; + } + if(mysql_num_fields(res) == 0) + { + logMessage("Table %s not exist",tbNodeList.node[cur_index].table_name); + tbNodeList.node[cur_index].valid=0; + mysql_free_result(res); + mysql_close(dbConn); + return 0; + } + mysql_free_result(res); + + //check field + sprintf(sqlstr,"show fields from %s.%s where Field = '%s' ",tbNodeList.node[cur_index].database_name,tbNodeList.node[cur_index].table_name,tbNodeList.node[cur_index].time_fieldname); + res=mysql_getres(dbConn,sqlstr); + if(res == NULL) + { + logMessage("[ERR][check_table]:mysql_getres=%s",sqlstr); + tbNodeList.node[cur_index].valid=0; + mysql_close(dbConn); + return 0; + } + if(mysql_num_fields(res) == 0) + { + logMessage("Field %s not exist",tbNodeList.node[cur_index].time_fieldname); + tbNodeList.node[cur_index].valid=0; + mysql_free_result(res); + mysql_close(dbConn); + return 0; + } + mysql_free_result(res); + mysql_close(dbConn); + + tbNodeList.node[cur_index].valid=1; + return 1; +} + +int sendHeartbeat() +{ + snmp_pdu pdu; + snmp_addr addr; + char proc_name[16]; + + memset(proc_name,0,16); + sprintf(proc_name,"omcCleaner"); + + //pdu + memset(&pdu,0,sizeof(snmp_pdu)); + pdu.pdu_type=7; + pdu.request_id=0; + sprintf(pdu.community,"public"); + pdu.var_num=1; + pdu.error_status=0; + pdu.error_index=0; + + //Addr + addr.local_port = 4957; + //addr.remote_ip = inet_addr("127.0.0.1"); + addr.remote_ip = GetLocalIP(); + addr.broadcast = 0; + addr.remote_port = 4957; + + //Varlist + memcpy(pdu.var[0].oid,PROC_HEARTBEAT_OID,PROC_HEARTBEAT_OIDLEN*sizeof(DWORD)); + + pdu.var[0].oidlen=PROC_HEARTBEAT_OIDLEN; + pdu.var[0].vartype=0x04; + pdu.var[0].msglen=16; + memcpy(pdu.var[0].msg,proc_name,16); + + if(snmp_send(&pdu, &addr) <= 0) + { + logMessage("Send heartbeat fail"); + return 0; + } + return 1; +} + +int read_conffile() +{ + FILE *handle; + char line[512]; + char tmpline[512]; + char *pstr; + + int i; + int tableMntFlag=0; + int fileMntFlag=0; + + handle=fopen(CONF_FILE,"r"); + if(handle == NULL) + { + printf("Read conf file %s fail\n",CONF_FILE); + logMessage("Read conf file %s fail",CONF_FILE); + exit(1); + } + + memset(&tbNodeList,0,sizeof(tbNodeList)); + memset(&fileNodeList,0,sizeof(fileNodeList)); + + logMessage("Read conf file %s",CONF_FILE); + + while(parse_line(handle,line,512)) + { + if(line[0] == '#' || strlen(line) < 4) + continue; + + if(strstr(line,"clean")) + { + tableMntFlag=1; + fileMntFlag=0; + continue; + } + else if(strstr(line,"remove_log")) + { + tableMntFlag=0; + fileMntFlag=1; + continue; + } + + if(tableMntFlag) + { + sprintf(tmpline,"%s",line); + pstr=strtok(tmpline,","); + if(pstr) + { + sprintf(tbNodeList.node[tbNodeList.node_count].database_name,"%s",pstr); + } + else + { + logMessage("Error configure database_name in line '%s'",line); + continue; + } + pstr=strtok(NULL,","); + if(pstr) + { + sprintf(tbNodeList.node[tbNodeList.node_count].table_name,"%s",pstr); + } + else + { + logMessage("Error configure table_name in line '%s'",line); + continue; + } + pstr=strtok(NULL,","); + if(pstr) + { + sprintf(tbNodeList.node[tbNodeList.node_count].time_fieldname,"%s",pstr); + } + else + { + logMessage("Error configure time_fieldname in line '%s'",line); + continue; + } + pstr=strtok(NULL,","); + if(pstr) + { + tbNodeList.node[tbNodeList.node_count].keep_seconds=atoi(pstr) * 24 * 60 * 60; + } + else + { + logMessage("Error configure keep_seconds in line '%s'",line); + continue; + } + pstr=strtok(NULL,","); + if(pstr) + { + tbNodeList.node[tbNodeList.node_count].keep_records=strtoul(pstr,NULL,10); + } + else + { + logMessage("Error configure keep_records in line '%s'",line); + continue; + } + tbNodeList.node_count++; + if(tbNodeList.node_count >= MAX_NODE_NUM) + { + logMessage("Table node count overflow"); + break; + } + } + else if(fileMntFlag) + { + sprintf(tmpline,"%s",line); + pstr=strtok(tmpline,","); + if(pstr) + { + sprintf(fileNodeList.node[fileNodeList.node_count].directory,"%s",pstr); + } + else + { + logMessage("Error configure directory in line '%s'",line); + continue; + } + pstr=strtok(NULL,","); + if(pstr) + { + sprintf(fileNodeList.node[fileNodeList.node_count].keyword,"%s",pstr); + } + else + { + logMessage("Error configure keyword in line '%s'",line); + continue; + } + pstr=strtok(NULL,","); + if(pstr) + { + fileNodeList.node[fileNodeList.node_count].keep_seconds=atoi(pstr) * 24 * 60 * 60; + } + else + { + logMessage("Error configure keep_records in line '%s'",line); + continue; + } + fileNodeList.node_count++; + if(fileNodeList.node_count >= MAX_NODE_NUM) + { + logMessage("File node count overflow"); + break; + } + } + } + + logMessage("[TableMaintainNode Count=%d]",tbNodeList.node_count); + for(i=0;i= (max_size-1)) + return 1; + line[cur_size]=chr; + cur_size++; + } + return 0; +} + +void logMessage(const char *fmt,...) +{ + char logFile[64]; + FILE *fp; + time_t l_time; + va_list ap; + char buf[8192]; + struct tm *t; + char timestr[64]; + + l_time=time(NULL); + t=localtime(&l_time); + sprintf(logFile,"../log/omcCleaner%04d%02d%02d.log",t->tm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +} diff --git a/src/securityMgr/c_program/omcCleaner/omc_cleaner.h b/src/securityMgr/c_program/omcCleaner/omc_cleaner.h new file mode 100644 index 0000000..22360e3 --- /dev/null +++ b/src/securityMgr/c_program/omcCleaner/omc_cleaner.h @@ -0,0 +1,72 @@ +#ifndef OMCCLEANER__H +#define OMCCLEANER__H + +#include "../../../../plat/public/src/include/pub_include.h" +#include "../../../omcLib/c_program/omcLib/omcLib.h" +#include "../../../../plat/snmp/src/include/snmp.h" +#include +#include +#include +#include +#include +#include + +#ifndef MYSQL_H + #include "mysql.h" +#endif + +#ifndef OMCCLEANER_DEBUG + #define OMCCLEANER_DEBUG 0 +#endif + +//Define in omc_cleaner.c +int omc_cleaner_init(); +void omc_cleaner_timer(); +void logMessage(const char *fmt,...); + +//Define in omc_task.c +int omc_task_init(); +int omc_task_timer(); + +#define CONF_FILE "./conf/omc_db.conf" +#define MAX_NODE_NUM 64 + +#define MTN_STATE_IDLE 0 +#define MTN_STATE_INIT 1 +#define MTN_STATE_PROC 2 +#define MTN_STATE_FINISH 3 + +typedef struct tableMtnNode +{ + char database_name[32]; + char table_name[32]; + char time_fieldname[32]; + unsigned long keep_seconds; + unsigned long keep_records; + int valid; //some table do not exist,or the time field do not exist,then invalid +}tableMtnNode; + +typedef struct fileMtnNode +{ + char directory[128]; + char keyword[64]; + unsigned long keep_seconds; +}fileMtnNode; + +typedef struct tableMtnNodeList +{ + tableMtnNode node[MAX_NODE_NUM]; + int node_count; + int cur_index; + int state; +}tableMtnNodeList; + +typedef struct fileMtnNodeList +{ + fileMtnNode node[MAX_NODE_NUM]; + int node_count; + int cur_index; + int state; +}fileMtnNodeList; + +#endif diff --git a/src/securityMgr/c_program/omcCleaner/omc_cleaner_main.c b/src/securityMgr/c_program/omcCleaner/omc_cleaner_main.c new file mode 100644 index 0000000..087799f --- /dev/null +++ b/src/securityMgr/c_program/omcCleaner/omc_cleaner_main.c @@ -0,0 +1,56 @@ +#include "omc_cleaner.h" + +void SetTimer(); + +static struct itimerval itimer, old_itimer; + +int main(int argc, char *argv[]) +{ + pid_t pid; + + if (argc == 2 && strstr(argv[1], "-d")) { + if ((pid = fork()) != 0) + exit(0); + setsid(); + } + + omc_cleaner_init(); + + SetTimer(); + while (1) { + usleep(50); + } + return 1; +} + +void SetTimer() +{ + struct sigaction act; + act.sa_handler = omc_cleaner_timer; + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + if (sigaction(SIGALRM, &act, NULL) < 0) + { + perror("Produce Sigaction"); + exitLog("omcCleaner:SetTimer, sigaction function error"); + exit(1); + } + +// itimer.it_interval.tv_sec = 0; +// itimer.it_interval.tv_usec = 1000 * 1000; +// itimer.it_value.tv_sec = 0; +// itimer.it_value.tv_usec = 1000 * 1000; + + itimer.it_interval.tv_sec = 1; + itimer.it_interval.tv_usec = 0; + itimer.it_value.tv_sec = 1; + itimer.it_value.tv_usec = 0; + + + if (setitimer(ITIMER_REAL, &itimer, &old_itimer) != 0) + { + printf("Setting Timer error! \n"); + exitLog("omcCleaner:SetTimer, setitimer function error"); + exit(1); + } +} diff --git a/src/securityMgr/c_program/omcCleaner/omc_task.c b/src/securityMgr/c_program/omcCleaner/omc_task.c new file mode 100644 index 0000000..fafcabd --- /dev/null +++ b/src/securityMgr/c_program/omcCleaner/omc_task.c @@ -0,0 +1,122 @@ +#include "omc_cleaner.h" + +#define TIME_TEN_SECOND 10 +#define TIME_ONE_MINUTE 60 +#define TIME_TEN_MINUTE (60*10) +#define TIME_ONE_QUARTER (60*15) +#define TIME_HALF_HOUR (60*30) +#define TIME_ONE_HOUR (60*60) +#define TIME_ONE_DAY (60*60*24) + +static unsigned long tensec_countdown; +static unsigned long minute_countdown; +static unsigned long tenmin_countdown; +static unsigned long quarter_countdown; +static unsigned long halfhour_countdown; +static unsigned long hour_countdown; +static unsigned long day_countdown; +static unsigned long prev_time; +static unsigned long next_time; + +extern tableMtnNodeList tbNodeList; +extern fileMtnNodeList fileNodeList; +extern int sendHeartbeat(); +extern int alterTableAutoIncrement(); + +int omc_task_init() +{ + time_t l_time; + struct tm *t; + int hour,minute,second; + + l_time=time(NULL); + t=localtime(&l_time); + hour=t->tm_hour; + minute=t->tm_min; + second=t->tm_sec; + + tensec_countdown=second%TIME_TEN_SECOND; + minute_countdown=second%TIME_ONE_MINUTE; + tenmin_countdown=(minute*TIME_ONE_MINUTE + second)%TIME_TEN_MINUTE; + quarter_countdown=(minute*TIME_ONE_MINUTE + second)%TIME_ONE_QUARTER; + halfhour_countdown=(minute*TIME_ONE_MINUTE + second)%TIME_HALF_HOUR; + hour_countdown=(minute*TIME_ONE_MINUTE + second)%TIME_ONE_HOUR; + day_countdown=(hour*TIME_ONE_HOUR + minute*TIME_ONE_MINUTE + second)%TIME_ONE_DAY; + + prev_time=next_time=l_time; + + return 1; +} + +int omc_task_timer() +{ + unsigned long time_past; + + next_time=time(NULL); + time_past=next_time-prev_time; + + tensec_countdown+=time_past; + minute_countdown+=time_past; + tenmin_countdown+=time_past; + quarter_countdown+=time_past; + halfhour_countdown+=time_past; + hour_countdown+=time_past; + day_countdown+=time_past; + + if(tensec_countdown >= TIME_TEN_SECOND) + { + time_past=tensec_countdown%TIME_TEN_SECOND; + tensec_countdown=time_past; + //Call ten-sec clock function here + sendHeartbeat(); + } + + if(minute_countdown >= TIME_ONE_MINUTE) + { + time_past=minute_countdown%TIME_ONE_MINUTE; + minute_countdown=time_past; + //Call minute clock function here + } + + if(tenmin_countdown >= TIME_TEN_MINUTE) + { + time_past=tenmin_countdown%TIME_TEN_MINUTE; + tenmin_countdown=time_past; + //Call ten-min clock function here + fileNodeList.state=MTN_STATE_INIT; + } + + if(quarter_countdown >= TIME_ONE_QUARTER) + { + time_past=quarter_countdown%TIME_ONE_QUARTER; + quarter_countdown=time_past; + //Call quarter clock function here + tbNodeList.state=MTN_STATE_INIT; + + } + + if(halfhour_countdown >= TIME_HALF_HOUR) + { + time_past=halfhour_countdown%TIME_HALF_HOUR; + halfhour_countdown=time_past; + //Call half-hour clock function here + } + + if(hour_countdown >= TIME_ONE_HOUR) + { + time_past=hour_countdown%TIME_ONE_HOUR; + hour_countdown=time_past; + //Call hour clock function here + alterTableAutoIncrement(); + } + + if(day_countdown >= TIME_ONE_DAY) + { + time_past=day_countdown%TIME_ONE_DAY; + day_countdown=time_past; + //call day clock function here + } + + prev_time=next_time; + return 1; +} diff --git a/src/smeg/Makefile b/src/smeg/Makefile new file mode 100644 index 0000000..2b95bcc --- /dev/null +++ b/src/smeg/Makefile @@ -0,0 +1,60 @@ +TOPDIR:=. +TGT:=libsmeg.a +LIBDIR := ./lib +AR = ar + +DIR= ./src +SRCS=$(foreach dir, $(DIR), $(wildcard $(dir)/*.c)) +OBJS:=$(patsubst %.c,%.o,$(SRCS)) + + +DIR_MYSQL = /usr/include/mariadb/ +DIR_SMEG = ./src/include/ +DIR_SMPP = ../../plat/smpp/src/include/ +DIR_SNMP = ../../plat/snmp/src/include/ +DIR_DEBUG = ../../plat/debug/src/include/ +DIR_PUBLIC = ../../plat/public/src/include/ +DIR_IPTRANS = ../../plat/iptrans/src/include/ +DIR_OMCLIB = ../../src/omcLib/c_program/omcLib/ +DIR_SCCP = ../../plat/sccp/src/include/ +DIR_MTP3 = ../../plat/mtp3/src/include/ +DIR_M2UA = ../../plat/m2ua/src/include/ + +INCDIR = $(foreach dir, $(DIR), -I $(dir)/ ) +INCDIR += -I $(DIR_SMEG) +INCDIR += -I $(DIR_MYSQL) +INCDIR += -I $(DIR_SNMP) +INCDIR += -I $(DIR_SMPP) +INCDIR += -I $(DIR_DEBUG) +INCDIR += -I $(DIR_PUBLIC) +INCDIR += -I $(DIR_IPTRANS) +INCDIR += -I $(DIR_OMCLIB) +INCDIR += -I $(DIR_SCCP) +INCDIR += -I $(DIR_MTP3) +INCDIR += -I $(DIR_M2UA) + +LIBS = -L/usr/lib64/mysql -lmariadbclient +LIBS += ../../plat/snmp/lib/libsnmp.a +LIBS += ../../plat/debug/lib/libdebug.a +LIBS += ../../plat/smpp/lib/libsmpp.a +LIBS += ../../plat/iptrans/lib/libiptrans.a +LIBS += ../../src/omcLib/c_program/omcLib/libomcLib.a +LIBS += ../../plat/sccp/lib/libsccp.a +LIBS += ../../plat/mtp3/lib/libmtp3.a +LIBS += ../../plat/m2ua/lib/libm2ua.a +LIBS += ../../plat/public/lib/libpublic.a +LIBS += -lrt -lm -lpthread + +CFLAGS = -Wall -g $(LIBS) +CC = gcc + +TARGET_SLIB = $(LIBDIR)/$(TGT) +$(TARGET_SLIB):$(OBJS) + @echo "AR $(TARGET_SLIB)" + @$(AR) cr $(TARGET_SLIB) $(OBJS) + +$(OBJS):%.o:%.c + $(CC) $(CFLAGS) -c -o $@ $< $(INCDIR) + +clean: + rm -rf $(OBJS) $(LIBDIR)/$(TGT) diff --git a/src/smeg/make.sh b/src/smeg/make.sh new file mode 100644 index 0000000..032be15 --- /dev/null +++ b/src/smeg/make.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +cd /usr/local/omc/src/smeg +make clean +make + +cd /usr/local/omc/src/omcMain/c_program/omcMain +make clean +make linuxES + + diff --git a/src/smeg/src/alert_smtp.c b/src/smeg/src/alert_smtp.c new file mode 100644 index 0000000..8a00315 --- /dev/null +++ b/src/smeg/src/alert_smtp.c @@ -0,0 +1,118 @@ + +#include "include/smtp.h" +#include "include/smeg_pub.h" +#include "include/statistic_data.h" +#include "include/tcp_client.h" + + +/************************************************* +Function: // alarm2email +Others: // +*************************************************/ +extern char* base64_encode(const char *data); +static int recipientNum=1; +static char recipientAddr[16][128]; +static char subjectContent[256]; + +int alarm2email(SMTP_MSG *smtp_msg, char *alarm_content) +{ + char tempcontents[8192]; + int addrLen = 0; + int i = 0, index = 0; + + if(smtp_msg == NULL || alarm_content == NULL || strlen(alarm_content) > MAX_EMAIL_LENGTH) + return PARSE_ERROR; + + + for(index = 0;index < recipientNum; index++) + { + i = 0; + + addrLen = strlen(recipientAddr[index]); + smtp_msg->recipient[smtp_msg->recipientNum][i++] = '<'; + strncpy(smtp_msg->recipient[smtp_msg->recipientNum]+i, recipientAddr[index], addrLen); + i += addrLen; + smtp_msg->recipient[smtp_msg->recipientNum][i++] = '>'; + smtp_msg->recipient[smtp_msg->recipientNum][i++] = '\0'; + + if(++smtp_msg->recipientNum > MAX_RECEIPTOR_PER_MSG) + break; + } + + if(smtp_msg->recipientNum == 0) + return PARSE_ERROR; + + strcpy(tempcontents, "From: "); + strcat(tempcontents, smtp_msg->sender); + strcat(tempcontents, "\r\nTo: "); + for(i = 0; i < smtp_msg->recipientNum; i++) + { + if(i != 0) + strcat(tempcontents, ","); + strcat(tempcontents, smtp_msg->recipient[i]); + } + + { + char *p; + strcpy((char*)smtp_msg->subject, subjectContent); + strcat(tempcontents, "\r\nSubject: =?UTF-8?B?"); + p = base64_encode(subjectContent); + if(p == NULL) + return PARSE_ERROR; + strcat(tempcontents, p); + strcat(tempcontents, "?="); + } + strcat(tempcontents, "\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=\""); + strcat(tempcontents, "UTF-8\"\r\nContent-Transfer-Encoding: base64\r\n\r\n"); + { + char *p = base64_encode(alarm_content); + if(p == NULL) + return PARSE_ERROR; + strcat(tempcontents, p); + } + strcpy((char*)smtp_msg->contents, tempcontents); + + smeg_print("Recipient:"); + for(i = 0; i < smtp_msg->recipientNum; i++) + smeg_print("%s,", smtp_msg->recipient[i]); + smeg_print("\nSubject:%s\n", smtp_msg->subject); + smeg_print("Contents:\n%s\n",smtp_msg->contents); + + return PARSE_SUCCESS; +} + + + + +/************************************************* +Function: // smtp_send_alert +Others: // +*************************************************/ +void smtp_send_alert(const char *source_addr, int to_num, const char to_addr_list[][128], char *subject, char *alarm_content ) +{ + int i; + SMTP_MSG smtp_msg; + + if(to_num<1) + return; + + memset(&smtp_msg, 0x00, sizeof(SMTP_MSG)); + + recipientNum = to_num; + for(i=0; i"); + + if(alarm2email(&smtp_msg, alarm_content) == PARSE_ERROR) + return ; + + smtp_tx_port_assign(&smtp_msg); +} + + diff --git a/src/smeg/src/dba_conn.c b/src/smeg/src/dba_conn.c new file mode 100644 index 0000000..4e09add --- /dev/null +++ b/src/smeg/src/dba_conn.c @@ -0,0 +1,302 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "./include/db_adaptor.h" + +#define MAX_ROWS 100 +#define MAX_FILEDS 16 +#define MAX_FIELD_LEN 256 + +_db_cfg db_cfg; + +static char network_name[128]={"AGrandtech Lab"}; +static char sender_addr[128]; +static int reciever_num=0; +static char receiver_addr[16][128]; + +static int query_rows = 0; +static char query_result[MAX_ROWS][MAX_FILEDS][MAX_FIELD_LEN]; + +static int to_be_handled_rows = 0; +static char to_be_handled_result[MAX_ROWS][MAX_FILEDS][MAX_FIELD_LEN]; + +/*-------------------------------------------------*/ + +int dbc_connect_host(u8 db_index) +{ + char host_info[128]; + _db_link *db_ptr=NULL; + unsigned int timeout = 1; + MYSQL*tmp_conn = NULL; + + db_ptr = &db_cfg.db_link[db_index]; + if(db_ptr->enable == 0 || db_ptr->conn_status == 1) + return 0; + + if ((db_ptr->db_conn = mysql_init(NULL)) == NULL) { + return -1; + } + + mysql_options(db_ptr->db_conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&timeout); + +// sprintf(host_info,"%s", db_ptr->str_host_ip); + sprintf(host_info,"%s", "127.0.0.1"); + +// tmp_conn = mysql_real_connect(db_ptr->db_conn, host_info, db_ptr->client_name, db_ptr->client_pwd, db_ptr->db_name, 0, NULL, 0 ); + tmp_conn = mysql_real_connect(db_ptr->db_conn, host_info, "root", "rootaa", "OMC_PUB", 0, NULL, 0 ); + + if(tmp_conn != NULL) + { + db_ptr->conn_status = 1; + db_cfg.total_active_links ++; + } + else + { + db_ptr->conn_status = 0; + mysql_close(db_ptr->db_conn); + return -1; + } + + if(db_cfg.total_active_links == 1) + { + db_cfg.current_working_link_id = db_index; + } + + + return 1; +} + +MYSQL *dba_get_working_conn() +{ + MYSQL *db_conn = NULL; + u8 index = db_cfg.current_working_link_id; + + if(db_cfg.total_active_links == 0) + return NULL; + if( index < MAX_DB_CONN) + { + db_conn = db_cfg.db_link[index].db_conn; + } + + return db_conn; +} + + +int dba_db_sql_execute(const char *sql, int max_rows, int max_fields) +{ + int rc; + int i, rows, fields; + u16 length; + MYSQL *db_conn; + MYSQL_RES *res_ptr; + MYSQL_ROW row; + + if(sql == NULL) + return 0; + + db_conn = dba_get_working_conn(); + if(db_conn == NULL) + return 0; + + + length = strlen(sql); + rc = mysql_real_query(db_conn, sql, length); + if(rc != 0) + { + //release_mysql_connection(db_conn); + return 0; + } + if(max_rows == 0)//update not query + return 1; + + res_ptr = mysql_store_result(db_conn); + if(res_ptr == NULL) + { + return 0; + } + + rows = mysql_num_rows(res_ptr); + if(rows == 0) + { + mysql_free_result(res_ptr); + return 0; + } + + rows = 0; + fields = mysql_num_fields(res_ptr); + if(fields > max_fields) + fields = max_fields; + + while ((row = mysql_fetch_row(res_ptr))) + { + for (i = 0; i < fields; i++) + { + if(row[i] == NULL) + { + query_result[rows][i][0] = 0; + if(max_rows == 1) + { + goto empty; + } + } + else + strcpy(query_result[rows][i], row[i]); + } + if(rows++ >= max_rows) + break; + } + +empty: + mysql_free_result(res_ptr); + + return rows;//fields; +} + +void scan_alarm() +{ + int rows = 0; + int i; + char sql[256]; + + sprintf(sql, "select sysTypeNo, compCode, alarmCode, alarmTime from sysAlarmLog where clearMode=0 and alertCheck=0 LIMIT %d", MAX_ROWS); + + query_rows = dba_db_sql_execute(sql, MAX_ROWS, 4); + if(query_rows>0) + { + to_be_handled_rows = query_rows; + memcpy(to_be_handled_result, query_result, sizeof(query_result)); + + for(i=0; i0) + sprintf(receiver_str, "%s", receiver_addr[0]); + + for(i=1;i 0) + { + if(0) + { + sprintf(subject, "%s, alarm of %s", network_name, query_result[0][0]); + sprintf(alarm_content, "%s", query_result[0][1]); + smtp_send_alert(sender_addr, + reciever_num, + receiver_addr, + subject, + alarm_content); + } + else + { + int ret=0; + sprintf(command,"echo \"%s\" | mutt -s \"%s, alarm of %s\" %s", query_result[0][1], network_name, query_result[0][0], receiver_str); + ret = system(command); + printf("%s, ret=%d\n", command, ret); + } + } + } + + to_be_handled_rows = 0; + +} + +void read_alarm_email_config() +{ + int rows, i; + char sql[256]; + + reciever_num = 0; + + sprintf(sql, "select pubVarValue from omcPubVarConf where pubVarName='fieldName'"); + rows = dba_db_sql_execute(sql, 1, 1); + if(rows > 0) + { + strcpy(network_name, query_result[0][0]); + } + + sprintf(sql, "select pubVarValue from omcPubVarConf where pubVarName='AlertSender'"); + rows = dba_db_sql_execute(sql, 1, 1); + if(rows > 0) + { + strcpy(sender_addr, query_result[0][0]); + } + + for(i=0; i<5; i++) + { + sprintf(sql, "select pubVarValue from omcPubVarConf where pubVarName='AlertReceiver%d'", i); + rows = dba_db_sql_execute(sql, 1, 1); + if(rows > 0 && strlen(query_result[0][0]) > 3) + { + strcpy(receiver_addr[reciever_num], query_result[0][0]); + reciever_num ++; + + } + } + +} + +int dba_conn_thread(void *param) +{ + register u32 check_conn_timer = 0; + + db_cfg.current_working_link_id = INVALID_DB_LINK_ID; + + db_cfg.db_link[0].enable = 1; + + dbc_connect_host(0); + + while(1) + { + if(check_conn_timer % 10 == 0)//10s + { + dbc_connect_host(0); + read_alarm_email_config(); + //dbc_connect_host(1); + } + check_conn_timer ++; + + scan_alarm(); + if(to_be_handled_rows>0) + send_alarm(); + + sleep(1); + } + + return 1; +} diff --git a/src/smeg/src/debug.txt b/src/smeg/src/debug.txt new file mode 100644 index 0000000..33edf65 --- /dev/null +++ b/src/smeg/src/debug.txt @@ -0,0 +1 @@ +make: *** No targets specified and no makefile found. Stop. diff --git a/src/smeg/src/include/db_adaptor.h b/src/smeg/src/include/db_adaptor.h new file mode 100644 index 0000000..4088c8d --- /dev/null +++ b/src/smeg/src/include/db_adaptor.h @@ -0,0 +1,47 @@ +#ifndef __DB_ADAPTOR_H +#define __DB_ADAPTOR_H + +#include "mysql.h" +#include "errmsg.h" +#include + +#ifndef _T_TYPE +#define _T_TYPE + +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; +typedef unsigned long DWORD; +typedef unsigned long long u64; + +#endif + +#define MAX_DB_CONN 2 +#define DB_NAME_LEN 32 +#define DB_PWD_LEN 16 +#define INVALID_DB_LINK_ID 0xFF + +typedef struct db_link +{ + u8 enable; + u8 role; /*1=master, 0=slave */ + u8 conn_status; /*0=not connected, 1=connected */ + char str_host_ip[16]; + u32 host_ip; + u16 host_port; + char db_name[DB_NAME_LEN]; + char client_name[DB_NAME_LEN]; + char client_pwd[DB_PWD_LEN]; + MYSQL *db_conn; +}_db_link; + +typedef struct db_cfg +{ + u8 total_active_links; + u8 current_working_link_id; + u8 prefix_file_created; + _db_link db_link[MAX_DB_CONN]; +}_db_cfg; + + +#endif diff --git a/src/smeg/src/include/smeg_pub.h b/src/smeg/src/include/smeg_pub.h new file mode 100644 index 0000000..f6aef05 --- /dev/null +++ b/src/smeg/src/include/smeg_pub.h @@ -0,0 +1,107 @@ +#ifndef SMEG_PUB_H +#define SMEG_PUB_H + +#include "smeg_smpp.h" +#include "smtp_struct.h" + +#define SMEG_MAX_ALLOWED_PREFIX_ENTRY 17 + +void smpp_send_email(SMTP_MSG *smtp_msg, int recipient_num); +void smpp_tx_fsm(SMEG_SMPP_PORT *); +int smpp_tx_port_assign(const char *, const char *, const char *, const char *); +void smpp_tx_port_release(SMEG_SMPP_PORT *p); + +int email2sm(SMPP_MSG *pMsg, SMTP_MSG *pSmtpMsg, int offset, int recipient_index); +int smpp_rx_DataRecv(BYTE , SMPP_MSG *, WORD); +int smpp_rx_LinkStateChange(BYTE linkNo, BYTE linkstate); +int smpp_onLinkStateChange(BYTE linkNo, BYTE linkstate); +void smppMsg_send(BYTE* msg); +int smpp_onDataRecv(BYTE linkNo, SMPP_MSG *pMsg, WORD dataLen); + +void decode7bitdata(char *in_buffer, char *out_buffer, int len_of_data); +void decode8byte7bitdata(char *in_buffer, char *out_buffer, int len_of_data); +void from_default_alphabet(char *in_buffer,int in_buffer_len); +void byteswap(char *input, int input_len); +int unicode_conv (const char *, const char *, char *, char *, int, int); +char *sm_decode(int, char *, int); + +void smpp_tx_register_link(); +int smpp_tx_DataRecv(BYTE, SMPP_MSG *, WORD ); +int smpp_tx_LinkStateChange(BYTE, BYTE); +void save_smpp_tx_msg(); +void smpp_tx_port_assign_contiue(const char *, const char *, const char *, int, const char *, int); + + +int smeg_loadParam(); +int smeg_writeParam(); + +int smeg_setmib ( BYTE oidlen, DWORD * oid, BYTE * pdata, WORD datalen ); +int smeg_getmib ( BYTE oidlen, DWORD * oid, BYTE * pdata, BYTE * vartype ); +void smeg_trapcallback ( BYTE oidlen, DWORD * oid, BYTE * pdata, WORD len, snmp_addr * addr ); + +void smeg_init(BYTE *, int, int, int); +void smeg_main(); +void smeg_debugTimer(); +void smeg_debugInit(); +void smeg_mib_init(); +void retset_call_statistics(); +void smeg_debug_log(const char *fmt,...); + +int uIntToByte(BYTE * buf, int bufLen, unsigned long uIntValue); +int get_license(); +int smeg_SendHeartBeating(); +int GetCSTA_Record(BYTE instance, BYTE *pdata); + +int check_user(const char *recipient); + +void smtp_init(); +void smpp_init(); +void smtp_main(); +void smpp_main(); + + + + + + + + +void smtp_rx_begin(void *); +void smtp_rx_send_helo_resp(void *); +void smtp_rx_send_mail_resp(void *); +void smtp_rx_send_rcpt_resp(void *); +void smtp_rx_send_data_resp(void *); +void smtp_rx_send_data_input_resp(void *); +void smtp_rx_quit_resp(void *); +void smtp_rx_failed(void *); +void smtp_rx_fsm(struct tSmtpPort *p); +void save_smtp_tx_msg(); +void smtp_init(); +void smtp_main(); +void smtp_send_sm(const char *, char *); + +void smeg_send_ascout(char *sdBuf); + +inline BYTE *get_service_number(); +inline BYTE* get_mailserver_ip(); +inline BYTE get_smtp_auth_flag(); +inline BYTE* get_smtp_auth_user(); +inline BYTE* get_smtp_auth_passwd(); +inline int get_license(); +inline BYTE* get_cc(); +inline BYTE* get_ndc(); +inline BYTE get_max_sms_per_email(); +inline BYTE* get_localdomain(); +inline BYTE* get_emaildomain(); +inline BYTE* get_allowed_prefixes(int i); +inline BYTE get_max_sms_per_email(); + +inline int get_smtp_link_state(); +inline int get_smpp_tx_link_state(); +inline int get_smpp_rx_link_state(); +inline void set_smtp_link_state(int i); +inline void set_smpp_tx_link_state(int i); +inline void set_smpp_rx_link_state(int i); + +void smeg_print(const char *fmt, ...); +#endif diff --git a/src/smeg/src/include/smeg_smpp.h b/src/smeg/src/include/smeg_smpp.h new file mode 100644 index 0000000..1575bc8 --- /dev/null +++ b/src/smeg/src/include/smeg_smpp.h @@ -0,0 +1,29 @@ +#ifndef _H_SMEG_SMPP +#define _H_SMEG_SMPP + +// #include "../../plat/smpp/src/include/smpp.h" +#include "smpp.h" + +#define MAX_CONCATENATED_SMS 16 +#define MAX_SMPP_MSG_LENGTH 140 + +typedef enum +{ + SMPP_TX_BEGIN = 0, + SMPP_TX_SEND, + SMPP_TX_END +} smpp_tx_state_type; + +typedef struct smppport_tag +{ + BYTE service_num[32]; + int port_state; + int curr_state; + BYTE link; + SMPP_MSG smpp_msg; +}SMEG_SMPP_PORT; + +extern void (*smpp_tx_state[])(void *); + +#endif + diff --git a/src/smeg/src/include/smtp.h b/src/smeg/src/include/smtp.h new file mode 100644 index 0000000..480fc50 --- /dev/null +++ b/src/smeg/src/include/smtp.h @@ -0,0 +1,253 @@ +#ifndef __SMTP_H__ +#define __SMTP_H__ + +/* + * (RFC 821) + * CONNECTION ESTABLISHMENT + * S: 220 + * F: 421 + * HELO + * S: 250 + * E: 500, 501, 504, 421 + * MAIL + * S: 250 + * F: 552, 451, 452 + * E: 500, 501, 421 + * RCPT + * S: 250, 251 + * F: 550, 551, 552, 553, 450, 451, 452 + * E: 500, 501, 503, 421 + * DATA + * I: 354 -> data -> S: 250 + * F: 552, 554, 451, 452 + * F: 451, 554 + * E: 500, 501, 503, 421 + * RSET + * S: 250 + * E: 500, 501, 504, 421 + * QUIT + * S: 221 + * E: 500 + * + * + * First, the diagram that represents most of the SMTP commands: + * + * 1,3 +---+ + * ----------->| E | + * | +---+ + * | + * +---+ cmd +---+ 2 +---+ + * | B |---------->| W |---------->| S | + * +---+ +---+ +---+ + * | + * | 4,5 +---+ + * ----------->| F | + * +---+ + * + * This diagram models the commands: + * + * HELO, MAIL, RCPT, SEND, QUIT + * + * + * A more complex diagram models the DATA command: + * + * +---+ DATA +---+ 1,2 +---+ + * | B |---------->| W |-------------------->| E | + * +---+ +---+ ------------>+---+ + * 3| |4,5 | + * | | | + * -------------- ----- | + * | | | +---+ + * | ---------- -------->| S | + * | | | | +---+ + * | | ------------ + * | | | | + * V 1,3| |2 | + * +---+ data +---+ --------------->+---+ + * | |---------->| W | | F | + * +---+ +---+-------------------->+---+ + * 4,5 + * + * + * Note that the "data" here is a series of lines sent from the + * sender to the receiver with no response expected until the last + * line is sent. + * + * + * + */ +#include +#include +#include +#include +#include +#include + + +#include "tcp_client.h" +#include "smtp_struct.h" + + +/* + * Reference RFC 821 Section 4.2.1 + */ +#define UNKNOWN_COMMAND "500" /* 500 Syntax error, command unrecognized */ + /* [This may include errors such as command line too long] */ +#define WRONG_PARAMETER "501" /* 501 Syntax error in parameters or arguments */ +#define COMMAND_NOT_IMPLEMENT "502" /* 502 Command not implemented */ +#define BAD_COMMAND_SEQUENCE "503" /* 503 Bad sequence of commands */ +#define PARAMETER_NOT_IMPLEMENT "504" /* 504 Command parameter not implemented */ + +#define SYSTEM_STATUS "211" /* 211 System status, or system help reply */ +#define HELP_MESSAGE "214" /* 214 Help message */ + /* [Information on how to use the receiver or the meaning of a */ + /* particular non-standard command; this reply is useful only */ + /* to the human user] */ + +#define SERVICE_READY "220" /* 220 Service ready */ +#define SERVICE_CLOSE "221" /* 221 Service closing transmission channel */ + +#define SERVICE_NOT_AVAILABLE "421" /* 421 Service not available, */ + /* closing transmission channel */ + /* [This may be a reply to any command if the service knows it */ + /* must shut down] */ + +#define MAIL_ACTION_OK "250" /* 250 Requested mail action okay, completed */ +#define USER_NOT_LOCAL_FORWARD "251" /* 251 User not local; will forward to */ + +#define MAILBOX_BUSY "450" /* 450 Requested mail action not taken: mailbox unavailable */ + /* [E.g., mailbox busy] */ +#define MAILBOX_NOT_ACCESS "550" /* 550 Requested action not taken: mailbox unavailable */ + /* [E.g., mailbox not found, no access] */ + +#define ERROR_IN_PROCESSING "451" /* 451 Requested action aborted: error in processing */ +#define USER_NOT_LOCAL "551" /* 551 User not local; please try */ +#define LACK_SYSTEM_STORAGE "452" /* 452 Requested action not taken: insufficient system storage */ +#define EXCEEDED_STORAGE_ALLOC "552" /* 552 Requested mail action aborted: exceeded storage allocation */ +#define WRONG_MAILBOX_NAME "553" /* 553 Requested action not taken: mailbox name not allowed */ + /* [E.g., mailbox syntax incorrect] */ +#define START_MAIL_INPUT "354" /* 354 Start mail input; end with . */ +#define TRANSACTION_FAILED "554" /* 554 Transaction failed */ + +typedef enum +{ + SMTP_TX_BEGIN=0, //0 + SMTP_TX_CONNECTING, //1 + SMTP_TX_SEND_HELO, //2 + SMTP_TX_WAIT_FOR_HELO_RESP, //3 + SMTP_TX_SEND_AUTH_LOGIN, //4 + SMTP_TX_WAIT_FOR_AUTH_LOGIN_RESP, //5 + SMTP_TX_SEND_USERNAME, //6 + SMTP_TX_WAIT_FOR_USER_NAME_RESP, //7 + SMTP_TX_SEND_PASSWD, //8 + SMTP_TX_WAIT_FOR_PASSWORD_RESP, //9 + SMTP_TX_SEND_MAIL_FROM, //10 + SMTP_TX_WAIT_FOR_MAIL_RESP, //11 + SMTP_TX_SEND_RCPT, //12 + SMTP_TX_WAIT_FOR_RCPT_RESP, //13 + SMTP_TX_SEND_DATA, //14 + SMTP_TX_WAIT_FOR_DATA_RESP, //15 + SMTP_TX_SEND_CONTENT, //16 + SMTP_TX_WAIT_FOR_CONTENT_RESP, //17 + SMTP_TX_SEND_QUIT, //18 + SMTP_TX_END //19 +} smtp_tx_state_type; + +void smtp_tx_begin(void *); +void smtp_tx_connecting(void *); +void smtp_tx_wait_for_helo_resp(void *); + +void smtp_tx_wait_for_auth_login_resp(void *); +void smtp_tx_wait_for_user_name_resp(void *); +void smtp_tx_wait_for_password_resp(void *); + +void smtp_tx_wait_for_mail_resp(void *); +void smtp_tx_wait_for_rcpt_resp(void *); +void smtp_tx_wait_for_data_resp(void *); +void smtp_tx_wait_for_data_input_resp(void *); +void smtp_tx_end(void *); +void smtp_tx_restart(struct tSmtpPort *); + +#define BASE64_PAD64 '=' +static int cmove_bits(unsigned char src, unsigned lnum, unsigned rnum) +{ + src <<= lnum; + src >>= rnum; + return src; +} +char* base64_encode(const char *data); +char* base64_decode(const char *bdata); + +void smtp_tx_fsm(struct tSmtpPort *tx_port); + +int smtp_tx_port_assign(SMTP_MSG*); + +void smtp_tx_port_release(struct tSmtpPort *p); + +#define LISTEN_NUMS 256 +#define Exe_num 128 +#define wait_queue_num 256 + +struct Smtp_wait_queue +{ + int start; + int end; + int wait_queue[wait_queue_num]; +}; +// move to smeg_smtp.c by simon, at 2024/06/11 +// struct Smtp_wait_queue smtp_wait_queue; +void insert_smtp_wait_queue(int); +void smtp_inser_Execute(int *); + +char * delete_characters(const char *, const char *, int ); +int sm2email(SMTP_MSG *, char *); + +///----------Server +#define EHLO_CMD "EHLO" +#define HELO_CMD "HELO" +#define MAIL_CMD "MAIL FROM" +#define RCPT_CMD "RCPT TO" +#define DATA_CMD "DATA" +#define QUIT_CMD "QUIT" + +#define PARSE_ERROR 0 +#define PARSE_SUCCESS 1 + +int smtp_rx_port_assign(int temp_fd, struct tSmtpPort *Smtp_Serv); +void smtp_rx_port_release(struct tSmtpPort *p); +typedef enum +{ + SMTP_RX_BEGIN = 0, + SMTP_RX_WAIT_HELO, + SMTP_RX_SEND_HELO_RESP, + SMTP_RX_WAIT_MAIL, + SMTP_RX_SEND_MAIL_RESP, + SMTP_RX_WAIT_RCPT_DATA, + SMTP_RX_SEND_RCPT_RESP, + SMTP_RX_SEND_DATA_RESP, + SMTP_RX_WAIT_CONTENT, + SMTP_RX_SEND_CONTENT_RESP, + SMTP_RX_WAIT_QUIT, + SMTP_RX_QUIT_RESP +} smtp_rx_state_type; + +int parse_field(struct tSmtpPort *pSmtpRxPort, char *pt); +int Qp_decode(char *, const char *, int); +//#define BYTE unsigned char +//-----common + + +void add_socket_fd(int ); +void delete_socket_fd(int ); + +int check_write_read(); +void setnonblocking(int ); + +void add_socket_tx(); +void add_socket_rx(); +void delt_socket_tx(); +void delt_socket_rx(); + +#endif /* __SMTP_H__ */ + + diff --git a/src/smeg/src/include/smtp_const.h b/src/smeg/src/include/smtp_const.h new file mode 100644 index 0000000..e1a0ee4 --- /dev/null +++ b/src/smeg/src/include/smtp_const.h @@ -0,0 +1,27 @@ + +#ifndef _SMTP_CONST +#define _SMTP_CONST + +//#define SMEG_DEBUG 1 + +#define MAX_EMAIL_LENGTH 8192 +#define MAX_RECEIPTOR_PER_MSG 5 +#define SMTP_ADDR_LENGTH 64 + 3 //add '<' '>' and '\0' +#define SMTP_SEND_BUF_SIZE 16*160 +#define SMTP_RECV_BUF_SIZE 8192 +#define MAX_SMTP_SUBJECT_LENGTH 100 +#define msisdn_prefixes_num 10 + +#define MAX_SMS_LENGTH 256 + + +#define SMTP 25 + +#define SMTP_MAX_TX_PORT 128 +#define SMTP_MAX_RX_PORT 128 +#define SMTP_PORT_IDLE 0 +#define SMTP_PORT_BUSY 1 + +#define CONNECT_FAIL (-2) + +#endif diff --git a/src/smeg/src/include/smtp_struct.h b/src/smeg/src/include/smtp_struct.h new file mode 100644 index 0000000..d08cb3c --- /dev/null +++ b/src/smeg/src/include/smtp_struct.h @@ -0,0 +1,35 @@ +#ifndef SMTP_STRUCT_H +#define SMTP_STRUCT_H + +#include "smtp_const.h" + +typedef struct smtp_message +{ + unsigned char recipientNum; + char recipient[MAX_RECEIPTOR_PER_MSG][SMTP_ADDR_LENGTH]; + char sender[SMTP_ADDR_LENGTH]; + unsigned char contents[MAX_EMAIL_LENGTH]; + unsigned char subject[MAX_SMTP_SUBJECT_LENGTH]; + char subject_coding[20]; + char contents_coding[20]; + char parsed_flag;//0-parse failed 1-parse sucess +}SMTP_MSG; + +/* SMTP client structure */ +struct tSmtpPort +{ + int sockfd; + unsigned char curr_state; + unsigned char port_state; + unsigned char send_buf[SMTP_SEND_BUF_SIZE]; + unsigned char recv_buf[SMTP_RECV_BUF_SIZE]; //100 + SMTP_MSG smtp_msg; //746 + unsigned char recipient_index; + unsigned char count; + unsigned char encode_mode; + unsigned short recv_offset; + unsigned short time_out; + unsigned char overflow; +}; + +#endif /* SMTP_STRUCT_H */ diff --git a/src/smeg/src/include/statistic_data.h b/src/smeg/src/include/statistic_data.h new file mode 100644 index 0000000..03c2fce --- /dev/null +++ b/src/smeg/src/include/statistic_data.h @@ -0,0 +1,53 @@ +#ifndef STATISTCI_DATA_H +#define STATISTCI_DATA_H + +struct statistic_item +{ + int Attempt; + int Successful; + int Failure; + float Successful_Rate; + int Total_Bytes; +}; + +struct call_statistics +{ + struct statistic_item Email_Incoming; + struct statistic_item Email_Outgoing; + struct statistic_item SMS_To_SMSC; + struct statistic_item SMS_From_SMSC; + unsigned char timeStamp[4]; +}; + +struct cdr +{ + int Instance_ID; + int recordType; //1 received sms, 2 send sms, 3 received email, 4 send email + int serviceCentre; //Service number of the UW Gateway + unsigned char servedMSISDN[32]; //MSISDN + unsigned char Sender[64]; //MSISDN or Email + unsigned char Recipient[64]; //MSISDN or Email + int Total_bytes; //Length of the message + int Email_Ref_ID; //Email identification ID + int Sequence_ID; //The UW Gateway uses concatenated SMS for long messages. This ID is the sequence number of the concatenated SMS. + int Result; //0 = Fail + int Cause_of_failure; //Failure cause code + char Deliver_Time[30]; //Datetime yyyy-mm-dd hh:mm:ss +}; + +#define Email_Outgoing_Attempt 1 +#define Email_Outgoing_Successful 2 +#define Email_Incoming_Attempt 3 +#define Email_Incoming_Successful 4 +#define SMS_Outgoing_Attempt 5 +#define SMS_Outgoing_Successful 6 +#define SMS_Incoming_Attempt 7 +#define SMS_Incoming_Successful 8 +#define Email_Outgoing_Failure 9 +#define Email_Incoming_Failure 10 +#define SMS_Outgoing_Failure 11 +#define SMS_Incoming_Failure 12 + +void add_call_statistics(int flag, int data_size); + +#endif diff --git a/src/smeg/src/include/tcp_client.h b/src/smeg/src/include/tcp_client.h new file mode 100644 index 0000000..904e4b7 --- /dev/null +++ b/src/smeg/src/include/tcp_client.h @@ -0,0 +1,41 @@ +#ifndef __TCP_CLIENT__H__ +#define __TCP_CLIENT__H__ + +#include +#include +#include +#include +#include +#include /* set non-blocking I/O */ +#include +#include + +#include +#include +#include +#include + + + +/* + * constant + */ +#define TCP_ERROR (-1) +#define TCP_NORMAL 0 + +typedef char byte; + +int tcp_send(int sockfd, byte *send_buffer, int send_buffer_size); +int tcp_recv(int sockfd, byte *recv_buffer, int recv_buffer_size); +int tcp_disconnect(int sockfd); +int tcp_tx_connect(int *sockfd, char *dest_ip, unsigned short int dest_port,int nonblocking_flag); + +///////////////// +int tcp_socket(int *sockfd); +int tcp_bind(int sockfd, struct sockaddr *my_addr, int addrlen); +int tcp_listen(int sockfd, int backlog); +int tcp_accept(int sockfd, struct sockaddr *addr,int *addrlen); + + +#endif /* __TCP_CLIENT__H__ */ + diff --git a/src/smeg/src/smeg.c b/src/smeg/src/smeg.c new file mode 100644 index 0000000..3c946c0 --- /dev/null +++ b/src/smeg/src/smeg.c @@ -0,0 +1,572 @@ +/************************************************* +File name: smeg.c +Author: JianHui Zheng +Version: 9:00:00 +Date: 2008-4-1 +Description:This file include functions of smeg + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include "include/statistic_data.h" +#include +//#include "../../plat/snmp/src/include/snmp.h" +#include "snmp.h" +//#include "src/include/smeg_pub.h" +//#include "smeg_pub.h" + +#define BYTE unsigned char +#define OMC_STATUS_SLAVE 3 +#define OMC_STATUS_MASTER 5 +#define OMC_STATUS_SINGLE 7 + +extern int dba_conn_thread(void *param); + +void set_license(int n); +extern int max_license_count; +extern BYTE omc_sequeue[2][4]; +//extern BYTE DEBUG_buf[512]; +int getOmcSysNo(int* sysNo); + +/* by simon at 23/9/26 */ +extern int omcSysNo; + +int omcStatus=-1; +#define counts_per_h (50*3600) + +static struct call_statistics Statistic_data; +static int time_num; +static struct cdr CDR[2000]; +static int cdr_num; +#define time_printf 500 +BYTE *SequenceNum = NULL; +int systemID = 0; + +//DWORD remote_ip; +#define HEART_BEATING_PORT 4957 + +DWORD SMEG_OID_PREFIX[20]={1,3,6,1,4,1,1373,2,3,3,11,9}; +extern DWORD smeg_ip[2]; +extern int omc_status[2]; + +extern int smeg_writeParam(); +extern inline BYTE get_function_flag(); +extern void exitLog(const char *fmt, ...); +struct smeg_heartbeat +{ + BYTE systemID; + BYTE subSystemID; + BYTE timeStamp[4]; + BYTE LED[8]; + BYTE Component[2]; + BYTE Alarm_code; + BYTE length_1[2]; + BYTE Compenent_id[2]; + BYTE length_2[2]; + BYTE software_version[3]; + BYTE state; + BYTE parameter_check_sum[4]; + BYTE max_user_licesnses[4]; + BYTE imported_online_users[4]; + BYTE sequenceNum[4]; + BYTE SMPP_TX_status; + BYTE SMPP_RX_status; + BYTE SMTP_TX_status; + BYTE SMTP_RX_status; +}; + +int save_smeg_param_flag; + +//struct smeg_heartbeat smeg_heartbeat; +/************************************************* +Function: // smeg_init +Description: // The initial function of the smeg +Calls: // smeg_mib_init + smeg_debugInit + smtp_init + smpp_init + set_license +Called By: // omcMain +Table Accessed: // +Table Updated: // +Input: // sequenceNum:sequence number of the omc + sysNo:the system no of the omc + subSysNo:the subsystem no of the omc + license:the license of the smeg +Output: // +Return: // +Others: // +*************************************************/ +void smeg_init(BYTE *sequenceNum, int sysNo,int subSysNo, int license) +{ + SequenceNum = sequenceNum; + systemID = sysNo; + smeg_mib_init(); + smeg_debugInit(); + smeg_ip[0] = 0; //set to localhost + smeg_ip[1] = 0; //set to localhost + smtp_init(); + smpp_init(); + + getOmcSysNo(&omcSysNo); + + time_num = 0; + memset(&Statistic_data, 0, sizeof(struct call_statistics)); + + cdr_num = 0; + memset(CDR, 0, sizeof(struct cdr )*2000); + save_smeg_param_flag=0; + set_license(license); + + pthread_t tid; + pthread_create(&tid,NULL,dba_conn_thread, NULL); +} + +/************************************************* +Function: // smeg_main +Description: // The timer function of the smeg +Calls: // smtp_main + smpp_main + smeg_debugTimer + smeg_SendHeartBeating +Called By: // omcMain +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void smeg_main() +{ + static BYTE time_count; + + if(get_function_flag()) + { + smtp_main(); + smpp_main(); + } + smeg_debugTimer(); + + time_count++; + if(time_count >= 99) //10 sec + { + + if(save_smeg_param_flag) + smeg_writeParam(); + //printf("omcSysNo=%d,omcstatus[0]=%d,omcstatus[1]=%d\n",omcSysNo,omc_status[0],omc_status[1]); + + if(omc_status[0] == OMC_STATUS_SINGLE) + { + smeg_SendHeartBeating(omcSysNo); + } + else if(omc_status[1] == OMC_STATUS_SINGLE) + { + smeg_SendHeartBeating(omcSysNo); + } + else if(omc_status[1] == OMC_STATUS_SLAVE && omcSysNo == 1) + { + smeg_SendHeartBeating(0); + smeg_SendHeartBeating(1); + } + + time_count = 0; + } +} + +/************************************************* +Function: // add_call_statistics +Description: // Statistic the csta data +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // flag:csta type; data_size:data size +Output: // +Return: // +Others: // +*************************************************/ +void add_call_statistics(int flag, int data_size) +{ + if(flag == Email_Outgoing_Attempt) + Statistic_data.Email_Outgoing.Attempt++; + else if(flag == Email_Outgoing_Successful) + { + Statistic_data.Email_Outgoing.Successful++; //Email 发送成功次数 + Statistic_data.Email_Outgoing.Total_Bytes += data_size; + } + else if(flag == Email_Incoming_Attempt) + Statistic_data.Email_Incoming.Attempt++; + else if(flag == Email_Incoming_Successful) + { + Statistic_data.Email_Incoming.Successful++; //收取Email成功次数 + Statistic_data.Email_Incoming.Total_Bytes += data_size; + + } + else if(flag == SMS_Incoming_Attempt) + Statistic_data.SMS_From_SMSC.Attempt++; + else if(flag == SMS_Incoming_Successful) + { + Statistic_data.SMS_From_SMSC.Successful++; + Statistic_data.SMS_From_SMSC.Total_Bytes += data_size; + } + else if(flag == SMS_Outgoing_Attempt) + Statistic_data.SMS_To_SMSC.Attempt++; + else if(flag == SMS_Outgoing_Successful) + { + Statistic_data.SMS_To_SMSC.Successful++; + Statistic_data.SMS_To_SMSC.Total_Bytes += data_size; + } + else if(flag == Email_Outgoing_Failure) + Statistic_data.Email_Outgoing.Failure++; // + else if(flag == Email_Incoming_Failure) + Statistic_data.Email_Incoming.Failure++; +} + +/************************************************* +Function: // add_CDR +Description: // Statistic the cdr data +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // cdr_record:the cdr data +Output: // +Return: // +Others: // +*************************************************/ +void add_CDR(struct cdr cdr_record) +{ + strcpy((char*)CDR[cdr_num].Sender, (char*)cdr_record.Sender); + strcpy((char*)CDR[cdr_num].Recipient, (char*)cdr_record.Recipient); + //CDR[cdr_num].Total_bytes = cdr_record.Total_bytes; + //CDR[cdr_num].serviceCentre = + //CDR[cdr_num].Email_Ref_ID + CDR[cdr_num].recordType = cdr_record.recordType; + CDR[cdr_num].Result = cdr_record.Result; + strcpy(CDR[cdr_num++].Deliver_Time, cdr_record.Deliver_Time); + if(cdr_num >= 2000) cdr_num = 0; + smeg_print("\t%d\t%s\n", CDR[cdr_num - 1].Result, CDR[cdr_num - 1].Deliver_Time); +} + +/************************************************* +Function: // smeg_SendHeartBeating +Description: // Send the heartbeat to the omc +Calls: // uIntToByte; snmp_send; +Called By: // smeg_main +Table Accessed: // +Table Updated: // +Input: // i:the plat no +Output: // +Return: // +Others: // +*************************************************/ +int smeg_SendHeartBeating(int i) +{ + struct smeg_heartbeat smeg_heartbeat; + unsigned long tmpTimestamp; + + snmp_pdu snmpbuf; + snmp_addr snmpaddr; + var_list *varlist; + int ret = -1; + + + //check the ems heartbeat sequenceNum with the SequenceNum + if(memcmp(omc_sequeue[i],SequenceNum,4) != 0) + return 0; + + if(smeg_ip[i] == 0) + return 0; + + snmpbuf.pdu_type = 0x07; //trap + snmpbuf.var_num = 0x01; + + snmpaddr.remote_ip = smeg_ip[i]; + snmpaddr.remote_port = HEART_BEATING_PORT; //4957 + snmpaddr.local_port = HEART_BEATING_PORT; + snmpaddr.broadcast = 0x00; + + varlist = snmpbuf.var; + varlist->oidlen = 12; + varlist->vartype = 0x04; + + memcpy(&varlist->oid, SMEG_OID_PREFIX, 12*4); + varlist->oid[12] = 0x01; /* heartbeat */ + varlist->msglen = sizeof(struct smeg_heartbeat); + + smeg_heartbeat.systemID = systemID; + smeg_heartbeat.subSystemID = 0; + tmpTimestamp = time(NULL); + uIntToByte(smeg_heartbeat.timeStamp, sizeof(smeg_heartbeat.timeStamp), tmpTimestamp); + memset(smeg_heartbeat.LED, 0xFF, 8); + smeg_heartbeat.Component[0] = 0; + smeg_heartbeat.Component[1] = 0; + + smeg_heartbeat.Alarm_code = 0; + + if(get_smtp_link_state() == 0) + smeg_heartbeat.Alarm_code = 3; + + if(get_smpp_tx_link_state() == 0) + smeg_heartbeat.Alarm_code = 1; + + if(get_smpp_rx_link_state() == 0) + smeg_heartbeat.Alarm_code = 2; + + if(!get_function_flag()) + smeg_heartbeat.Alarm_code = 0; + /* + if(get_smtp_link_state() == 0 + || get_smpp_tx_link_state() == 0 + || get_smpp_rx_link_state() == 0) + smeg_heartbeat.Alarm_code = 1; + else + smeg_heartbeat.Alarm_code = 0; + */ + + smeg_heartbeat.length_1[0] = 0; + smeg_heartbeat.length_1[1] = 25; + smeg_heartbeat.Compenent_id[0] = 0; + smeg_heartbeat.Compenent_id[1] = 0; + smeg_heartbeat.length_2[0] = 0; + smeg_heartbeat.length_2[1] = 21; + smeg_heartbeat.software_version[0] = 1; + smeg_heartbeat.software_version[1] = 0; + smeg_heartbeat.software_version[2] = 1; + + if(get_smpp_tx_link_state() == 0 && get_smtp_link_state() == 0) + smeg_heartbeat.state = 4; + else + smeg_heartbeat.state = 0; + + smeg_heartbeat.max_user_licesnses[0] = get_license() >> 24; + smeg_heartbeat.max_user_licesnses[1] = (get_license() >> 16) & 0xFF; + smeg_heartbeat.max_user_licesnses[2] = (get_license() >> 8) & 0xFF; + smeg_heartbeat.max_user_licesnses[3] = get_license() & 0xFF; + + smeg_heartbeat.imported_online_users[0] = max_license_count >> 24; + smeg_heartbeat.imported_online_users[1] = (max_license_count >> 16) & 0xFF; + smeg_heartbeat.imported_online_users[2] = (max_license_count >> 8) & 0xFF; + smeg_heartbeat.imported_online_users[3] = max_license_count & 0xFF; + memcpy(smeg_heartbeat.sequenceNum, SequenceNum, 4); + + if(get_smpp_tx_link_state() == 0) + smeg_heartbeat.SMPP_TX_status = 4; + else + smeg_heartbeat.SMPP_TX_status = 0; + + if(get_smpp_rx_link_state() == 0) + smeg_heartbeat.SMPP_RX_status = 4; + else + smeg_heartbeat.SMPP_RX_status = 0; + + if(get_smtp_link_state() == 0){ + smeg_heartbeat.SMTP_TX_status = 4; + smeg_heartbeat.SMTP_RX_status = 4; + } + else{ + smeg_heartbeat.SMTP_TX_status = 0; + smeg_heartbeat.SMTP_RX_status = 0; + } + + memcpy(varlist->msg, (BYTE *)&smeg_heartbeat, sizeof(struct smeg_heartbeat)); + + ret = snmp_send(&snmpbuf,&snmpaddr); + + return 1; +} + +/************************************************* +Function: // GetCSTA_Record +Description: // Get the csta record +Calls: // +Called By: // smeg_getmib +Table Accessed: // +Table Updated: // +Input: // instance:the instance no; pdata:the csta data +Output: // +Return: // +Others: // +*************************************************/ +int GetCSTA_Record(BYTE instance, BYTE *pdata) +{ + char temp_int[4]; + + uIntToByte(pdata, 4, time(NULL)); + + memcpy(temp_int, &Statistic_data.Email_Incoming.Attempt, 4); + pdata[4] = temp_int[3]; + pdata[5] = temp_int[2]; + pdata[6] = temp_int[1]; + pdata[7] = temp_int[0]; + + memcpy(temp_int, &Statistic_data.Email_Incoming.Successful, 4); + pdata[8] = temp_int[3]; + pdata[9] = temp_int[2]; + pdata[10] = temp_int[1]; + pdata[11] = temp_int[0]; + + memcpy(temp_int, &Statistic_data.Email_Outgoing.Attempt, 4); + pdata[12] = temp_int[3]; + pdata[13] = temp_int[2]; + pdata[14] = temp_int[1]; + pdata[15] = temp_int[0]; + + memcpy(temp_int, &Statistic_data.Email_Outgoing.Successful, 4); + pdata[16] = temp_int[3]; + pdata[17] = temp_int[2]; + pdata[18] = temp_int[1]; + pdata[19] = temp_int[0]; + + memcpy(temp_int, &Statistic_data.SMS_From_SMSC.Attempt, 4); + pdata[28] = temp_int[3]; + pdata[29] = temp_int[2]; + pdata[30] = temp_int[1]; + pdata[31] = temp_int[0]; + + memcpy(temp_int, &Statistic_data.SMS_From_SMSC.Successful, 4); + pdata[32] = temp_int[3]; + pdata[33] = temp_int[2]; + pdata[34] = temp_int[1]; + pdata[35] = temp_int[0]; + + memcpy(temp_int, &Statistic_data.SMS_To_SMSC.Attempt, 4); + pdata[20] = temp_int[3]; + pdata[21] = temp_int[2]; + pdata[22] = temp_int[1]; + pdata[23] = temp_int[0]; + + memcpy(temp_int, &Statistic_data.SMS_To_SMSC.Successful, 4); + pdata[24] = temp_int[3]; + pdata[25] = temp_int[2]; + pdata[26] = temp_int[1]; + pdata[27] = temp_int[0]; + + memset(&Statistic_data, 0, sizeof(Statistic_data)); + + return 36; +} + +/************************************************* +Function: // getOmcSysNo +Description: // Get the sysNo of the local omc system +Calls: // +Called By: // cdr_init; +Table Accessed: // +Table Updated: // +Input: // +Output: // sysNo:the sysNo of the local omc +Return: // 1:SUCCESSFUL; 0:FAIL; +Others: // +*************************************************/ +int getOmcSysNo(int* sysNo) +{ + char fileName[512]; + unsigned char buf[4096]; + unsigned char param[32][512]; + char paramName[128]; + char paramValue[384]; + char* temp; + FILE* fp; + int fi; + int i; + //int j; + int paramCount; + int byteCount; + + paramCount=0; + byteCount=0; + memset(buf,0,4096); + memset(param,0,32*512); + sprintf(fileName,"./conf/omcd.conf"); + fp=fopen(fileName,"r"); + if(fp) + { + fi=fileno(fp); + if(read(fi,buf,4096)) + { + for(i=0;i<4096;i++) + { + if(buf[i] == 0x0A) + { + //printf("\n"); + if(byteCount<512 && param[paramCount][0] != 0x00 && param[paramCount][0] != 0x23) + paramCount++; + else + memset(param[paramCount],0,512); + byteCount=0; + } + else + { + param[paramCount][byteCount]=buf[i]; + byteCount++; + } + + //printf("%02x ",buf[i]); + } + + for(i=0;itm_year+1900,t->tm_mon+1,t->tm_mday); + fp=fopen(logFile,"a"); + if(fp!=NULL) + { + va_start(ap,fmt); + vsprintf(buf,fmt,ap); + sprintf(timestr,"%02d:%02d:%02d: ",t->tm_hour,t->tm_min,t->tm_sec); + fputs(timestr,fp); + fputs(buf,fp); + fputs("\n",fp); + fflush(fp); + va_end(ap); + fclose(fp); + } +#endif +} diff --git a/src/smeg/src/smeg_debug.c b/src/smeg/src/smeg_debug.c new file mode 100644 index 0000000..88c3dc6 --- /dev/null +++ b/src/smeg/src/smeg_debug.c @@ -0,0 +1,111 @@ +//#include "../../plat/smpp/src/include/smpp.h" +//#include "../../plat/debug/src/include/debug.h" +#include "smpp.h" +#include "debug.h" +#include "include/smeg_pub.h" + +#define SMEG_DEBUG_ID 8 +#define MAX_OUT_BUF_LEN 8192 +#define MAX_IN_BUF_LEN 1024 +#define SMEG_DEBUG true + +// upgrade to ubuntu 22.04 by simon at 2024/06/11 +#define SMEG_MODULE_VERSION "V1.0.02" +static BYTE log_flag = 0; +BYTE smeg_debug_asciiIn[MAX_IN_BUF_LEN]; +BYTE smeg_debug_asciiOut[MAX_OUT_BUF_LEN]; + +static BYTE smeg_debug_status = 1; +static DWORD smeg_status_id[20] = +{ + 1,3,6,1,4,1,1373,1,1,2,3,1,2,SMEG_DEBUG_ID+2,1 +}; +static DWORD smeg_version_id[20] = +{ + 1,3,6,1,4,1,1373,1,1,2,3,1,2,SMEG_DEBUG_ID+2,2 +}; +static DWORD smeg_ascii_in_id[20] = +{ + 1,3,6,1,4,1,1373,1,1,2,3,1,2,SMEG_DEBUG_ID+2,3 +}; +static DWORD smeg_ascii_out_id[20] = +{ + 1,3,6,1,4,1,1373,1,1,2,3,1,2,SMEG_DEBUG_ID+2,4 +}; + +void smeg_send_error(char *sdBuf); +void smeg_debugInit(); +void smeg_list_smppLinkparam(int linkNo); +void smeg_debugTimer(); + +//--------- +void smeg_debugInit() +{ + debug_set_response(15, smeg_status_id, &smeg_debug_status, 1);//smpp status + debug_set_response(15, smeg_version_id, (BYTE*)SMEG_MODULE_VERSION, strlen(SMEG_MODULE_VERSION)); + debug_set_response(15, smeg_ascii_in_id, smeg_debug_asciiIn, MAX_IN_BUF_LEN); + debug_set_response(15, smeg_ascii_out_id, smeg_debug_asciiOut, MAX_OUT_BUF_LEN); +} + +void smeg_debugTimer() +{ + if (strlen((char*)smeg_debug_asciiIn) > 0) + { + if (strcmp((char*)(smeg_debug_asciiIn+1), "help") == 0) + { + smeg_send_ascout("SMEG Debug Monitor Help:\n\r\n\r"); + smeg_send_ascout("log none Turn off all log items\n\r"); + smeg_send_ascout("log all Turn on all log items\n\r"); + } + else if (strcmp((char*)(smeg_debug_asciiIn+1), "log none") == 0) + { + log_flag = 0; + smeg_send_ascout("Command OK!\n\r"); + } + else if (strcmp((char*)(smeg_debug_asciiIn+1), "log all") == 0) + { + log_flag = 1; + smeg_send_ascout("Command OK!\n\r"); + } + else + { + smeg_send_error("Command Error.\n\r"); + } + + smeg_debug_asciiIn[0] = '\0'; + } +} + + +void smeg_send_ascout(char *sdBuf) +{ + if (strlen(sdBuf)+strlen((char*)smeg_debug_asciiOut) < MAX_OUT_BUF_LEN) + { + strcat((char*)smeg_debug_asciiOut, sdBuf); + } +} + +void smeg_send_error(char *sdBuf) +{ + smeg_send_ascout("\x1b[31m"); + smeg_send_ascout(sdBuf); + smeg_send_ascout("\x1b[0m"); +} + +static char smeg_debug_buf[8192]; +void smeg_print(const char *fmt, ...) +{ + va_list ap; + + if(!log_flag) + return; + + va_start(ap, fmt); + vsprintf(smeg_debug_buf, fmt, ap); + if((strlen((char*)smeg_debug_asciiOut) + strlen((char*)smeg_debug_buf)) < MAX_OUT_BUF_LEN) + strcat((char*)smeg_debug_asciiOut, (char*)smeg_debug_buf); + else + strcpy((char*)smeg_debug_asciiOut, (char*)smeg_debug_buf); + va_end(ap); +} + diff --git a/src/smeg/src/smeg_mib.c b/src/smeg/src/smeg_mib.c new file mode 100644 index 0000000..58afb90 --- /dev/null +++ b/src/smeg/src/smeg_mib.c @@ -0,0 +1,1119 @@ +/************************************************* +File name: smeg_mib.c +Author: JianHui Zheng +Version: 9:00:00 +Date: 2008-4-1 +Description:This file include the set and get operation on the omc page + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include "include/smeg_smpp.h" +#include "include/smtp_const.h" +#include "include/smeg_pub.h" +//#include "../../plat/snmp/src/include/snmp.h" +//#include "../../plat/snmp/src/include/macro.h" +#include "snmp.h" +#include "macro.h" + +#define SMEG_OID {1,3,6,1,4,1,1373,2,3,3,11} +#define SMEG_OIDLEN 11 +#define SMEG_CONF_FILE "./conf/smeg.conf" +#define SMEG_MODULE_VERSION "R9V0_01" +/* +extern int license; //oid 1 +extern int Num_sms_per_email; //oid 2 Maximum number of SMS can be concatenated per long email + +extern char Email_server_IP[16]; //oid 3 IP address of the host email server ////"202.108.5.82" smtp.163.com +extern char SMEG_DOMAIN_NAME[30]; //oid 4 "wanghebo" +extern char smtp_tx_user_name[50]; //oid 5 SMTP Client authentication user name +extern char smtp_tx_user_password[50]; //oid 6 SMTP Client authentication user password +extern char Gateway_Msisdn[30]; //oid 7 MSISDN of the UW SMS Email Gateway +extern char Country_code_sms[5]; //oid 8 Default country code of the local SMS + +extern BYTE server_type_rx; //oid 9-1 server_type: 0-SMPP_TXENT; 1-SMPP_SERVER; +extern BYTE session_type_rx; //oid 9-2 session_type: 0-BIND_TX; 1-BIND_RX; 2-BIND_TRX +extern BYTE service_number_rx[30]; //oid 9-3 service_number_ptr: poiter to remote service number. +extern BYTE message_mode_rx; //oid 9-4 message_mode: 0-STORE_AND_FORWARD; 1-DATAGRAM; 2-TRANSACTION + +extern BYTE server_type_tx; //oid 10-1 +extern BYTE session_type_tx; //oid 10-2 +extern BYTE service_number_tx[30]; //oid 10-3 +extern BYTE message_mode_tx; //oid 10-4 + +char SMS_MSISDN_prefixes_allowed; //oid 11 +static char Local_domain[40]; //oid 12 +*/ +void inqure_smeg_table(); +extern int register_snmp_table(struct snmp_register *reg); +extern int save_smeg_param_flag; + +/************************************************/ +//MIB Interface=================================> +#define SMEG_MAX_LICENSE 200000 +#define SMEG_MAX_SMS_PER_MAIL 16 +typedef struct smeg_param_tag +{ + //SMPP Param + BYTE service_number[17]; + + //SMTP Param + BYTE mailserver_ip[16]; + BYTE smtp_auth_flag; + BYTE smtp_auth_user[65]; + BYTE smtp_auth_passwd[17]; + + //Global Param + int license; + BYTE cc[6]; + BYTE ndc[6]; + BYTE max_sms_per_email; + BYTE function_flag; + BYTE local_domain[33]; + BYTE email_domain[33]; + struct allowed_prefix_tag + { + BYTE flag; // 0-no use,1 use + BYTE prefix[17]; + }allowed_prefix[SMEG_MAX_ALLOWED_PREFIX_ENTRY]; +}SMEG_PARAM; + +typedef struct smeg_state_tag +{ + BYTE smtp; + BYTE smpp_tx; + BYTE smpp_rx; +}SMEG_STATE; + +static SMEG_PARAM param; +static SMEG_STATE state; + +/*******************************************************/ +/**** Get smeg parameter ****/ +/*******************************************************/ +BYTE *get_service_number() +{ + return param.service_number; +} +BYTE* get_mailserver_ip() +{ + return param.mailserver_ip; +} +BYTE get_smtp_auth_flag() +{ + return param.smtp_auth_flag; +} + BYTE* get_smtp_auth_user() +{ + return param.smtp_auth_user; +} +BYTE* get_smtp_auth_passwd() +{ + return param.smtp_auth_passwd; +} +int get_license() +{ + return param.license; +} +BYTE* get_cc() +{ + return param.cc; +} +BYTE* get_ndc() +{ + return param.ndc; +} + BYTE get_max_sms_per_email() +{ + return param.max_sms_per_email; +} +BYTE get_function_flag() +{ + return param.function_flag; +} +BYTE* get_localdomain() +{ + return param.local_domain; +} +BYTE* get_emaildomain() +{ + return param.email_domain; +} +BYTE* get_allowed_prefixes(int i) +{ + return (BYTE *)¶m.allowed_prefix[i].prefix; +} + +BYTE get_allowed_prefixes_flag(int i) +{ + return param.allowed_prefix[i].flag; +} + +/*******************************************************/ +/**** Set smeg parameter ****/ +/*******************************************************/ +/* + Set the service number parameter, oid=1.3.6.1.4.1.1373.1.3.3.11.2.1.1 +*/ +void set_service_number(const BYTE *pdata, int datalen) +{ + if(datalen > 16 || pdata == NULL){ + //print warning here + return; + } + + memcpy(param.service_number, pdata, datalen); + param.service_number[datalen] = '\0'; +} + +/* + Set the mail server ip parameter, oid=1.3.6.1.4.1.1373.1.3.3.11.2.2.1 +*/ +void set_mailserver_ip(const char *pdata, int datalen) +{ + if(datalen > 16 || pdata == NULL){ + //print warning here + return; + } + memcpy(param.mailserver_ip, pdata, datalen); + param.mailserver_ip[datalen] = '\0'; +} + +/* + Set the smtp authentication flag, oid=1.3.6.1.4.1.1373.1.3.3.11.2.2.2 +*/ +void set_smtp_auth_flag(int i) +{ + param.smtp_auth_flag = i; +} + +/* + Set the smtp authentication user name, oid=1.3.6.1.4.1.1373.1.3.3.11.2.2.3 +*/ +void set_smtp_auth_user(const BYTE *pdata, int datalen) +{ + if(datalen > 64 || pdata == NULL){ + //print warning here + return; + } + memcpy(param.smtp_auth_user, pdata, datalen); + param.smtp_auth_user[datalen] = '\0'; +} + +/* + Set the smtp authentication user password, oid=1.3.6.1.4.1.1373.1.3.3.11.2.2.4 +*/ +void set_smtp_auth_passwd(const BYTE *pdata, int datalen) +{ + if(datalen > 16 || pdata == NULL){ + //print warning here + return; + } + memcpy(param.smtp_auth_passwd, pdata, datalen); + param.smtp_auth_passwd[datalen] = '\0'; +} + +/* + Set the license parameter, oid=1.3.6.1.4.1.1373.1.3.3.11.2.3.1 +*/ +void set_license(int n) +{ + if(n > SMEG_MAX_LICENSE){ + //print warning here + param.license = SMEG_MAX_LICENSE; + } + else + param.license = n; +} + +/* + Set country code parameter, oid=1.3.6.1.4.1.1373.1.3.3.11.2.3.2 +*/ +void set_cc(const BYTE *pdata, WORD datalen) +{ + if(datalen > 5 || pdata == NULL){ + return; + } + + memcpy(param.cc, pdata, datalen); + param.cc[datalen] = '\0'; +} + +/* + Set ndc parameter, oid=1.3.6.1.4.1.1373.1.3.3.11.2.3.3 +*/ +void set_ndc(const BYTE *pdata, WORD datalen) +{ + if(datalen > 5 || pdata == NULL){ + return; + } + memcpy(param.ndc, pdata, datalen); + param.ndc[datalen] = '\0'; +} + +/* + Set max sms per mail parameter, oid=1.3.6.1.4.1.1373.1.3.3.11.2.3.4 +*/ +void set_max_sms_per_email(int n) +{ + if(n > SMEG_MAX_SMS_PER_MAIL){ + //print warning here + param.max_sms_per_email = SMEG_MAX_SMS_PER_MAIL; + } + else + param.max_sms_per_email = n; +} + +/* + Set the function flag, oid=1.3.6.1.4.1.1373.1.3.3.11.2.3.8 +*/ +void set_function_flag(int n) +{ + if(n) + { + param.function_flag=1; + } + else + { + param.function_flag=0; + } +} + +/* + Set the local domain parameter, oid=1.3.6.1.4.1.1373.1.3.3.11.2.3.5 +*/ +void set_localdomain(const BYTE *pdata, int datalen) +{ + if(datalen > 32 || pdata == NULL){ + return; + } + memcpy(param.local_domain, pdata, datalen); + param.local_domain[datalen] = '\0'; +} + +/* + Set email domain parameter, oid=1.3.6.1.4.1.1373.1.3.3.11.2.3.6 +*/ +void set_emaildomain(const BYTE *pdata, int datalen) +{ + if(datalen > 32 || pdata == NULL){ + return; + } + memcpy(param.email_domain, pdata, datalen); + param.email_domain[datalen] = '\0'; +} + +/* + Set the allowed prefixes, oid=1.3.6.1.4.1.1373.1.3.3.11.2.3.7.(index) +*/ +void set_allowed_prefixes(int i, const BYTE *pdata, int datalen) +{ + if(datalen > 17 || pdata == NULL){ + return; + } + memcpy(¶m.allowed_prefix[i].prefix, pdata, datalen); + param.allowed_prefix[i].prefix[datalen] = '\0'; +} + +//State---------------------------------------------------------------------------------------------- +//get state +int get_smtp_link_state() +{ + return state.smtp; +} +int get_smpp_tx_link_state() +{ + return state.smpp_tx; +} +int get_smpp_rx_link_state() +{ + return state.smpp_rx; +} + + +//set state +void set_smtp_link_state(int i) +{ + state.smtp = i; +} +void set_smpp_tx_link_state(int i) +{ + state.smpp_tx = i; +} +void set_smpp_rx_link_state(int i) +{ + state.smpp_rx = i; +} + +/************************************************/ +/************************************************* +Function: // smeg_mib_init +Description: // The initial function of the mib +Calls: // smeg_loadParam + inquire_setmsg + inquire_getmsg + inquire_trapmsg; + smeg_trapcallback +Called By: // smeg_init +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void smeg_mib_init() +{ +// DWORD oid[20] = SMEG_OID; + + inqure_smeg_table(); + //inquire_setmsg ( SMEG_OIDLEN, oid, smeg_setmib ); + //inquire_getmsg ( SMEG_OIDLEN, oid, smeg_getmib ); + + inquire_trapmsg ( smeg_trapcallback ); + smeg_loadParam(); +} + +/************************************************* +Function: // smeg_setmib +Description: // The callback function when the set the parameter of the smeg +Calls: // the set functions +Called By: // smeg_mib_init +Table Accessed: // +Table Updated: // +Input: // oidlen:the len of the oid + pData:the data + datalen:the length of the data +Output: // +Return: // +Others: // +*************************************************/ +int smeg_setmib ( BYTE oidlen, DWORD * oid, BYTE * pData, WORD datalen ) +{ + + switch(oid[SMEG_OIDLEN]) + { + case 1: //Heartbeat + /* + case 2: //Parameter + switch(oid[SMEG_OIDLEN+1]) + { + case 1: + switch(oid[SMEG_OIDLEN+2]) + { + case 1: + set_service_number(pData, datalen); + break; + default: + return (-1); + } + break; + case 2: + switch(oid[SMEG_OIDLEN+2]) + { + case 1: + set_mailserver_ip(pData, datalen); + break; + case 2: + set_smtp_auth_flag(*pData); + break; + case 3: + set_smtp_auth_user(pData, datalen); + break; + case 4: + set_smtp_auth_passwd(pData, datalen); + break; + } + break; + case 3: + switch(oid[SMEG_OIDLEN+2]) + { + case 1: +// n = pData[0]; +// n = (n << 8) | pData[1]; +// n = (n << 8) | pData[2]; +// n = (n << 8) | pData[3]; +// set_license(n); + break; + case 2: + set_cc(pData, datalen); + break; + case 3: + set_ndc(pData, datalen); + break; + case 4: + set_max_sms_per_email(*pData); + break; + case 5: + set_localdomain(pData, datalen); + break; + case 6: + set_emaildomain(pData, datalen); + break; + case 7: + set_allowed_prefixes(oid[SMEG_OIDLEN+3], pData, datalen); + break; + default: + return -1; + break; + } + break; + case 8: + smeg_writeParam(); + break; + default: + return (-1); + } + break; + */ + case 3: //CSTA + break; + case 4: //CDR + return (-1); + break; + + default: + return (-1); + break; + } + + return datalen; +} + +/************************************************* +Function: // smeg_getmib +Description: // The callback function when the get the parameter of the smeg +Calls: // the get functions; GetCSTA_Record; +Called By: // smeg_mib_init +Table Accessed: // +Table Updated: // +Input: // oidlen:the len of the oid + pData:the data + vartype:the type of the data +Output: // +Return: // +Others: // +*************************************************/ +int smeg_getmib ( BYTE oidlen, DWORD * oid, BYTE * pData, BYTE * vartype ) +{ + int datalen = 0; +// int temp = 0; +// char *ch = NULL; + *vartype = 4; + memset(pData, 0, 64); + + switch(oid[SMEG_OIDLEN]) + { + /* + case 2: // Parameter + switch(oid[SMEG_OIDLEN+1]) + { + case 1: //SMPP + switch(oid[SMEG_OIDLEN+2]) + { + case 1: + ch = get_service_number(); + datalen = 16; + memcpy(pData, ch, datalen); + pData[datalen] = '\0'; + return datalen; + break; + default: + return -1; + } + break; + case 2: //SMTP + switch(oid[SMEG_OIDLEN+2]) + { + case 1: + ch = get_mailserver_ip(); + strcpy(pData, ch); + datalen = 15; + // *vartype = 0x40; + pData[datalen] = '\0'; + break; + case 2: + pData[0] = get_smtp_auth_flag(); + *vartype = 2; + datalen = 1; + break; + case 3: + ch = get_smtp_auth_user(); + strcpy(pData, ch); + datalen = 64; + pData[datalen] = '\0'; + break; + case 4: + ch = get_smtp_auth_passwd(); + strcpy(pData, ch); + datalen = 16; + pData[datalen] = '\0'; + break; + default: + return -1; + break; + } + break; + case 3: //Global + switch(oid[SMEG_OIDLEN+2]) + { + case 1: + temp = get_license(); + pData[0] = temp >> 24; + pData[1] = (temp >> 16) & 0xFF; + pData[2] = (temp >> 8) & 0xFF; + pData[3] = temp & 0xFF; + *vartype = 2; + datalen = 4; + pData[4] = '\0'; + break; + case 2: + ch = get_cc(); + strcpy(pData, ch); + datalen = 5; + pData[datalen] = '\0'; + break; + case 3: + ch = get_ndc(); + strcpy(pData, ch); + datalen = 5; + pData[datalen] = '\0'; + break; + case 4: + pData[0] = get_max_sms_per_email(); + pData[1] = '\0'; + *vartype = 2; + datalen = 1; + break; + case 5: + ch = get_localdomain(); + strcpy(pData, ch); + datalen = 32; + pData[datalen] = '\0'; + break; + case 6: + ch = get_emaildomain(); + strcpy(pData, ch); + datalen = 32; + pData[datalen] = '\0'; + break; + case 7: + if(oid[SMEG_OIDLEN+3] > 15) + return -1; + ch = get_allowed_prefixes(oid[SMEG_OIDLEN+3]); + memcpy(pData, ch, 17); + datalen = 17; + pData[datalen] = '\0'; + break; + default: + return (-1); + } + break; + case 8: + pData[0] = 1; + datalen = 1; + break; + default: + return (-1); + } + break; + + */ + case 3: // CSTA + datalen = GetCSTA_Record(oid[SMEG_OIDLEN+1], pData); + *vartype = 4; + pData[datalen] = '\0'; + break; + case 4: // CDR + break; + default: + return -1; + break; + } + + return datalen; +} + +/************************************************* +Function: // smeg_writeParam +Description: // Write the parameter into the smeg.conf file +Calls: // +Called By: // smeg_setmib +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int smeg_writeParam() +{ + FILE *fp; + + save_smeg_param_flag=0; + + if((fp = fopen(SMEG_CONF_FILE,"wb")) == NULL) + return 0; + + fwrite((void *)¶m, sizeof(param), 1, fp); + + fclose(fp); + + return 1; +} + +/************************************************* +Function: // smeg_loadParam +Description: // Load the parameter into the param +Calls: // +Called By: // smeg_mib_init +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int smeg_loadParam() +{ + FILE *fp; + + fp = fopen(SMEG_CONF_FILE, "rb"); + if (fp == NULL) + { + smeg_print("SMEG configuration file %s not existed, using default parameters\n", SMEG_CONF_FILE); + return 0; + } + + fread((void*)¶m, sizeof(param), 1, fp); + + fclose(fp); + return TRUE; +} + +#define OMC_HB_OID {1,3,6,1,4,1,1373,2,4,1} +#define OMC_HB_OIDLEN 10 +#define OMC_HB_SEQUEUE_NUM 39 +DWORD smeg_ip[2]; +int omc_status[2]; +BYTE omc_sequeue[2][4]; +int test_i=0; +extern BYTE *SequenceNum; +void smeg_trapcallback ( BYTE oidlen, DWORD * oid, BYTE * pdata, WORD len, snmp_addr * addr ) +{ + //int i; + DWORD OMCHLObjID[20] = OMC_HB_OID; + + if( memcmp ( &oid[7], &OMCHLObjID[7], ( OMC_HB_OIDLEN - 7 ) * 4 ) == 0 ) //omc heartbeat + { + if(*pdata < 2) + { + if(memcmp(SequenceNum,&pdata[OMC_HB_SEQUEUE_NUM],4) == 0) + { + smeg_ip[*pdata] = addr->remote_ip; + omc_status[*pdata]=pdata[26]; + memset(omc_sequeue[*pdata],0,4); + memcpy(omc_sequeue[*pdata],&pdata[OMC_HB_SEQUEUE_NUM],4); + //omc_sequeue[*pdata][0]=1; + } + } + } +} + + +//============================new mib file========================= +int smeg_set_system(u32 column, u32 *instance, u8 *pdata, u16 datalen) +{ + switch(column) + { + //license + case 1: + break; + //country code + case 2: + if(datalen>5) + { + sprintf((char*)pdata,"length is too big"); + return -2; + } + set_cc(pdata, datalen); + break; + //national destination code + case 3: + set_ndc(pdata, datalen); + break; + //max sms per email + case 4: + set_max_sms_per_email(*pdata); + break; + //local domain name + case 5: + set_localdomain(pdata, datalen); + break; + //domain name for email + case 6: + set_emaildomain(pdata, datalen); + break; + //save parameter + case 7: + smeg_writeParam(); + break; + case 8: + set_function_flag(*pdata); + break; + } + save_smeg_param_flag=1; + return datalen; +} + +int smeg_get_system_resp(u32 column, u32 *instance, u8 *pdata, u8 *vartype) +{ + int datalen = 0; + char *ch = NULL; + int temp=0; + + switch(column) + { + //license + case 1: + temp = get_license(); + pdata[0] = temp >> 24; + pdata[1] = (temp >> 16) & 0xFF; + pdata[2] = (temp >> 8) & 0xFF; + pdata[3] = temp & 0xFF; + *vartype = 2; + datalen = 4; + pdata[4] = '\0'; + break; + //country code + case 2: + ch = (char*)get_cc(); + strcpy((char*)pdata, ch); + datalen = 5; + datalen = strlen(ch); + *vartype = 4; + pdata[datalen] = '\0'; + break; + //national destination code + case 3: + ch = (char*)get_ndc(); + strcpy((char*)pdata, ch); + //datalen = 5; + datalen = strlen(ch); + *vartype = 4; + pdata[datalen] = '\0'; + break; + //max sms per email + case 4: + pdata[0] = get_max_sms_per_email(); + pdata[1] = '\0'; + *vartype = 2; + datalen = 1; + break; + //local domain name + case 5: + ch = (char*)get_localdomain(); + strcpy((char*)pdata, ch); + //datalen = 32; + datalen = strlen(ch); + *vartype = 4; + pdata[datalen] = '\0'; + break; + //domain name for email + case 6: + ch = (char*)get_emaildomain(); + strcpy((char*)pdata, ch); + //datalen = 32; + datalen = strlen(ch); + *vartype = 4; + pdata[datalen] = '\0'; + break; + //save parameter + case 7: + pdata[0] = 1; + datalen = 1; + *vartype = 2; + break; + //function flag + case 8: + pdata[0] = get_function_flag(); + pdata[1] = '\0'; + *vartype = 2; + datalen = 1; + break; + } + + return datalen; +} + +int smeg_set_protocol(u32 column, u32 *instance, u8 *pdata, u16 datalen) +{ + char ipstr[16]; + switch(column) + { + //smpp link alias(service number) + case 1: + set_service_number(pdata, datalen); + break; + //email server ip + case 2: + + sprintf(ipstr,"%d.%d.%d.%d",pdata[0],pdata[1],pdata[2],pdata[3]); + set_mailserver_ip(ipstr, strlen(ipstr)); + break; + //authentication flag + case 3: + set_smtp_auth_flag(*pdata); + break; + //authentication user name + case 4: + set_smtp_auth_user(pdata, datalen); + break; + //authentication password + case 5: + set_smtp_auth_passwd(pdata, datalen); + break; + } + save_smeg_param_flag=1; + return datalen; +} + +int smeg_get_protocol_resp(u32 column, u32 *instance, u8 *pdata, u8 *vartype) +{ + int datalen = 0; + //int temp = 0; + char *ch = NULL; + + switch(column) + { + //smpp link alias + case 1: + ch = (char*)get_service_number(); + //datalen = 16; + datalen = strlen(ch); + memcpy(pdata, ch, datalen); + *vartype = 4; + pdata[datalen] = '\0'; + break; + //email server ip + case 2: + ch = (char*)get_mailserver_ip(); + strcpy((char*)pdata, ch); + //datalen = 15; + datalen = strlen(ch); + *vartype = 4; + pdata[datalen] = '\0'; + break; + //authentication flag + case 3: + pdata[0] = get_smtp_auth_flag(); + *vartype = 2; + datalen = 1; + break; + //authentication user name + case 4: + ch = (char*)get_smtp_auth_user(); + strcpy((char*)pdata, ch); + //datalen = 64; + datalen = strlen(ch); + *vartype = 4; + pdata[datalen] = '\0'; + break; + //authentication password + case 5: + ch = (char*)get_smtp_auth_passwd(); + strcpy((char*)pdata, ch); + //datalen = 16; + datalen = strlen(ch); + *vartype = 4; + pdata[datalen] = '\0'; + break; + } + return datalen; +} + +static int smeg_set_aup(u32 column, u32 *instance, u8 *pdata, WORD datalen) +{ + u8 new_id; + //u8 temp8; + //int i; + int index; + + save_smeg_param_flag=1; + //create new aup + if(column == 1) + { + //create by data + new_id=pdata[0]; + if(new_id >0 && new_id0 && index0 && index +#include +#include +#include + +#define SMEG_SMPP_MAX_PORT 256 +#define SMPP_PORT_IDLE 0 +#define SMPP_PORT_BUSY 1 + +//BYTE DEBUG_buf[512]; + +static BYTE smpp_rx_link = 0; +static BYTE smpp_tx_link = 0; +static int license_count = 0; +int max_license_count = 0; +BYTE short_message_buf[4096]; + +typedef enum +{ + // server type + SMEG_SMPP_CLIENT = 0, + SMEG_SMPP_SERVER, + // session type + SMEG_SMPP_BIND_TX = 0, + SMEG_SMPP_BIND_RX, + SMEG_SMPP_BIND_TRX, +} SMEG_SMPP_PARAM; + +#define CONCATENATED_SMS_BUFFER_SIZE 32 +typedef struct CONCATENATED_SMS_T +{ + int ttl; // time to live + int ref_id; // reference id + BYTE max_num; // max sms + BYTE cur_num; // current receieved sms + BYTE content[MAX_CONCATENATED_SMS][MAX_SMPP_MSG_LENGTH]; +} CONCATENATED_SMS; +CONCATENATED_SMS concat_buf[CONCATENATED_SMS_BUFFER_SIZE]; +inline BYTE get_allowed_prefixes_flag(int i); +/************************************************* +Function: // logMes +Description: // Write the log into the file +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // For test +*************************************************/ +char mes[8192]; +void logMes(char *message) +{ + char command[8192]; + long l_time; + struct tm *t; + + l_time = time(NULL); + t = localtime(&l_time); + if (strlen(message) > 8190) + return; + sprintf(command, "echo '%02d:%02d:%02d %s' >>../log/smeg_%d_%d.log", t->tm_hour, t->tm_min, t->tm_sec, message, t->tm_mon + 1, t->tm_mday); + system(command); +} + +int code_convert(char *from_charset, char *to_charset, char *inbuf, int inlen, char *outbuf, int outlen); +int check_code(char *subject_code, char *content_code); +int send_mail(SMTP_MSG *pSmtpMsg, int recipient_index); + +/************************************************* +Function: // add_concatenated_sms +Description: // Connect the sm received from SMSC into a integrated email +Calls: // +Called By: // parse_sm +Table Accessed: // +Table Updated: // +Input: // ref_id:the index of the whole sm + max_num:the count of the split sm + seq_id:the index of the split sm + pContent:the data of the split sm +Output: // +Return: // 1:the connection is complete; 0-not finish +Others: // +*************************************************/ +int add_concatenated_sms(int ref_id, BYTE max_num, BYTE seq_id, BYTE *pContent) +{ + int i; + int idle_one = -1; + + if (pContent == NULL) + return 0; + + for (i = 0; i < CONCATENATED_SMS_BUFFER_SIZE; i++) + { + if (concat_buf[i].ref_id == ref_id) + { + strcpy((char *)concat_buf[i].content[seq_id - 1], (char *)pContent); + concat_buf[i].cur_num++; + smeg_print("Add concatenated sms: id:%d, ref_id:%d, max_msg:%d, current recieved:%d, Content:%s\n\n", i, + concat_buf[i].ref_id, concat_buf[i].max_num, concat_buf[i].cur_num, concat_buf[i].content[seq_id - 1]); + if (concat_buf[i].cur_num >= concat_buf[i].max_num) + return 1; + else + return 0; + } + else if (concat_buf[i].ttl == 0 && idle_one == -1) + idle_one = i; + } + + // first one + if (idle_one != -1) + { + concat_buf[idle_one].ttl = 300; // 30s + concat_buf[idle_one].ref_id = ref_id; + concat_buf[idle_one].max_num = max_num; + concat_buf[idle_one].cur_num = 1; + strcpy((char *)concat_buf[idle_one].content[seq_id - 1], (char *)pContent); + smeg_print("Add concatenated new sms: id:%d, ref_id:%d, max_msg:%d, current recieved:%d, Content:%s\n\n", idle_one, + concat_buf[idle_one].ref_id, concat_buf[idle_one].max_num, + concat_buf[idle_one].cur_num, concat_buf[idle_one].content[seq_id - 1]); + return 0; + } + + return 0; +} + +/************************************************* +Function: // get_concatenated_sms +Description: // Return the whole data of the connected sm +Calls: // +Called By: // parse_sm +Table Accessed: // +Table Updated: // +Input: // ref_id:the index of the connected sm +Output: // +Return: // The whole data +Others: // +*************************************************/ +BYTE *get_concatenated_sms(int ref_id) +{ + int i, j; + + for (i = 0; i < CONCATENATED_SMS_BUFFER_SIZE; i++) + { + if (concat_buf[i].ref_id == ref_id) + { + short_message_buf[0] = '\0'; + for (j = 0; j < concat_buf[i].max_num; j++) + { + strcat((char *)short_message_buf, (char *)concat_buf[i].content[j]); + } + memset(&concat_buf[i], 0, sizeof(CONCATENATED_SMS)); + return short_message_buf; + } + } + return NULL; +} + +/************************************************* +Function: // update_concatenated_sms_buf +Description: // Delete the whole sm data when its time to live exhaust +Calls: // +Called By: // smpp_main +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void update_concatenated_sms_buf() +{ + int i = 0; + + for (; i < CONCATENATED_SMS_BUFFER_SIZE; i++) + { + if (concat_buf[i].ttl != 0) + if (--concat_buf[i].ttl == 0) + memset(&concat_buf[i], 0, sizeof(CONCATENATED_SMS)); + } +} + +/************************************************* +Function: // parse_sm +Description: // Parse the data receive from SMSC +Calls: // add_concatenated_sms + get_concatenated_sms + smtp_send_sm + sm_decode +Called By: // smpp_rx_DataRecv +Table Accessed: // +Table Updated: // +Input: // udhi:the flag to devide sm + coding:the coding method of the sm + pFromAddr:the msisdn of the MT + pSM:the data of the sm + sm_len:the length of the message +Output: // +Return: // +Others: // +*************************************************/ +void parse_sm(int udhi, int coding, char *pFromAddr, char *pSM, int sm_len) +{ + int ret; + BYTE udh_len; + BYTE udh_iei; + BYTE udh_ie_len; + unsigned int ref_id; + BYTE total_msg = 0; + BYTE seq_id = 0; + BYTE *pData = NULL; + + if (pSM == NULL) + return; + + if (udhi == 1) + { + udh_len = *pSM++; + udh_iei = *pSM++; + udh_ie_len = *pSM++; + if (udh_iei == 0x00) + ref_id = *pSM++; + else if (udh_iei == 0x08) + { + ref_id = *pSM++; + ref_id = (ref_id << 8) | *pSM++; + } + else + return; + total_msg = *pSM++; + seq_id = *pSM++; + sm_len = sm_len - udh_len - 1; + if (coding == 0x00 && udh_iei == 0x00) + { // 7bit coding & 8bit reference + pSM++; // skip padding byte + sm_len--; + } + pData = (BYTE *)sm_decode(coding, pSM, sm_len); + if (pData != NULL) + { + smeg_print("calling add_concatenated_sms(ref_id=%d, total_msg=%d, seq_id=%d, pData=%s)", ref_id, total_msg, seq_id, pData); + ret = add_concatenated_sms(ref_id, total_msg, seq_id, pData); + if (ret == 1) + { + pData = get_concatenated_sms(ref_id); + if (pData != NULL) + smtp_send_sm(pFromAddr, (char *)pData); + } + } + } + else + { + pData = (BYTE *)sm_decode(coding, pSM, sm_len); + if (pData != NULL) + smtp_send_sm(pFromAddr, (char *)pData); + } +} + +/************************************************* +Function: // check_user +Description: // Check the validation of the MT's msisdn +Calls: // get_allowed_prefixes +Called By: // smpp_send_email +Table Accessed: // +Table Updated: // +Input: // recipient:the MT's msisdn +Output: // +Return: // 1:valid; 0:not valid +Others: // +*************************************************/ +int check_user(const char *recipient) +{ + int i, j; + BYTE *pPrefix; + + // remove cc and ndc prefix, if existed + i = 0; + if (recipient[0] == '+') + i++; + if (!strncmp((char *)(recipient + i), (char *)get_cc(), strlen((char *)get_cc()))) + i += strlen((char *)get_cc()); + if (!strncmp((char *)(recipient + i), (char *)get_ndc(), strlen((char *)get_ndc()))) + i += strlen((char *)get_ndc()); + + for (j = 1; j < SMEG_MAX_ALLOWED_PREFIX_ENTRY; j++) + { + if ((pPrefix = get_allowed_prefixes(j)) == NULL) + continue; + + if (get_allowed_prefixes_flag(j) == 0) + continue; + + if (pPrefix[0] != 0 && !strncmp((char *)(recipient + i), (char *)(pPrefix + 1), strlen((char *)(pPrefix + 1)))) + return 1; + } + + smeg_print("User not in allowed list, discard message...\n"); + return 0; +} + +/************************************************* +Function: // smpp_send_email +Description: // Send email to the email server +Calls: // send_mail + add_call_statistics + email2sm; generating_cdr + get_max_sms_per_email +Called By: // smtp_rx_fsm +Table Accessed: // +Table Updated: // +Input: // smtp_msg:the data of smtp; recipient_num:the recipient count; +Output: // +Return: // +Others: // +*************************************************/ +void smpp_send_email(SMTP_MSG *smtp_msg, int recipient_num) +{ + int i; // offset, sm_seq_id; + // SMPP_MSG tmpMsg; + + if (!get_smpp_tx_link_state()) + { + return; + } + + for (i = 0; i < recipient_num; i++) + { + if (check_user(smtp_msg->recipient[i])) + { + send_mail(smtp_msg, i); + + /* + offset = 0; + sm_seq_id = 0; + logMes("*************"); + logMes(smtp_msg->contents); + logMes("*************"); + do{ + if(++sm_seq_id > get_max_sms_per_email()) + break; + add_call_statistics(SMS_Outgoing_Attempt, 0); + offset = email2sm(&tmpMsg, smtp_msg, offset, i); + smpp_send(smpp_tx_link , &tmpMsg, 0); + add_call_statistics(SMS_Outgoing_Successful, tmpMsg.pdu.deliver_sm.sm_length); + license_count++; + //generating_cdr(); + }while(offset > 0); + */ + } + } +} + +/************************************************* +Function: // send_mail +Description: // Send email to the email server(support unicode and UDH) +Calls: // check_code + code_convert + byteswap + add_call_statistics + smpp_send + get_max_sms_per_email +Called By: // smpp_send_email +Table Accessed: // +Table Updated: // +Input: // pSmtpMsg: the data of smtp message; recipient_index:the index of the recipient +Output: // +Return: // +Others: // This function is added for unicode support +*************************************************/ +int send_mail(SMTP_MSG *pSmtpMsg, int recipient_index) +{ + SMPP_MSG smppMsg; + int check_res; + char to_code_set[32]; + char *pch; + char data[MAX_EMAIL_LENGTH]; + char code_subject_data[MAX_EMAIL_LENGTH]; + char code_content_data[MAX_EMAIL_LENGTH]; + char code_data[MAX_EMAIL_LENGTH]; + char *recipient = pSmtpMsg->recipient[recipient_index]; + char *subject = (char *)pSmtpMsg->subject; + // char *content = (char*)pSmtpMsg->contents; + int subject_len; + int content_len; + int i; + + int sm_count; + int pos; + int total_len; + int maxLen; + + //----------fill the smpp object------------- + memset(&smppMsg, 0, sizeof(SMPP_MSG)); + memset(data, 0, MAX_EMAIL_LENGTH); + memset(code_data, 0, MAX_EMAIL_LENGTH); + memset(code_subject_data, 0, MAX_EMAIL_LENGTH); + memset(code_content_data, 0, MAX_EMAIL_LENGTH); + + smppMsg.message_type = 0x0B; + smppMsg.optional_param_flag1 = 0x08000001; + smppMsg.pdu.submit_sm.dest_addr_ton = 0x01; // IDD + smppMsg.pdu.submit_sm.dest_addr_npi = 0x01; // E164 + smppMsg.pdu.submit_sm.source_addr_ton = 0x00; // Unknow + smppMsg.pdu.submit_sm.source_addr_npi = 0x01; // E164 + strcpy((char *)smppMsg.pdu.submit_sm.service_type, "GSM"); + strcpy((char *)smppMsg.pdu.submit_sm.source_addr, (char *)get_service_number()); + if (*recipient == '+') + recipient++; + strcpy((char *)smppMsg.pdu.submit_sm.destination_addr, recipient); + + //--------check and justify the coding--------- + check_res = check_code(pSmtpMsg->subject_coding, pSmtpMsg->contents_coding); + if (check_res == 0) + { + sprintf(to_code_set, "us-ascii"); + smppMsg.pdu.submit_sm.data_coding = 0x04; + } + else + { + sprintf(to_code_set, "UCS-2"); + smppMsg.pdu.submit_sm.data_coding = 0x08; + } + + //----------------get the subject-------------- + if ((pch = strstr(subject, "\r\n")) != NULL) + *pch = '\0'; + strcpy(data, pSmtpMsg->sender); + strcat(data, " "); + if (strlen(subject) > 0) + { + strcat(data, "("); + strcat(data, subject); + strcat(data, ")"); + } + + //----------------code the subject-------------- + { + int ii; + char tmpstr[32]; + + logMes("-------------------------------------send_email--------------------------------------"); + memset(mes, 0, MAX_EMAIL_LENGTH); + sprintf(mes, "pSmtpMsg->subject_coding=%s,to_code_set=%s,datalen=%d\n", pSmtpMsg->subject_coding, to_code_set, strlen(data)); + for (ii = 0; ii < (strlen(data) >= 1024 ? 1024 : subject_len); ii++) + { + sprintf(tmpstr, "%02x ", (unsigned char)data[ii]); + strcat(mes, tmpstr); + } + logMes(mes); + } + + subject_len = code_convert(pSmtpMsg->subject_coding, to_code_set, data, strlen(data), code_subject_data, MAX_EMAIL_LENGTH); + if (subject_len == -1) + { + sprintf(mes, "convert error subject_len=%d\n", subject_len); + logMes(mes); + return 1; + } + { + int ii; + char tmpstr[32]; + + memset(mes, 0, MAX_EMAIL_LENGTH); + sprintf(mes, "coded subject_len=%d\n", subject_len); + for (ii = 0; ii < (subject_len >= 1024 ? 1024 : subject_len); ii++) + { + sprintf(tmpstr, "%02x ", (unsigned char)code_subject_data[ii]); + strcat(mes, tmpstr); + } + logMes(mes); + } + + + //---------------get the content----------------- + strcpy((char *)data, (char *)pSmtpMsg->contents); + { + int ii; + char tmpstr[32]; + + memset(mes, 0, MAX_EMAIL_LENGTH); + sprintf(mes, "pSmtpMsg->contents_coding=%s,to_code_set=%s,datalen=%d\n", pSmtpMsg->contents_coding, to_code_set, strlen(data)); + for (ii = 0; ii < (strlen(data) >= 1024 ? 1024 : subject_len) ; ii++) + { + sprintf(tmpstr, "%02x ", (unsigned char)data[ii]); + strcat(mes, tmpstr); + } + logMes(mes); + } + //----------------code the content--------------- + content_len = code_convert(pSmtpMsg->contents_coding, to_code_set, data, strlen(data), code_content_data, MAX_EMAIL_LENGTH); + if (content_len == -1) + { + sprintf(mes, "convert error content_len=%d\n", content_len); + logMes(mes); + return 1; + } + { + int ii; + char tmpstr[32]; + + memset(mes, 0, MAX_EMAIL_LENGTH); + sprintf(mes, "coded content_len=%d\n", content_len); + // for (ii = 0; ii < (content_len>64?64:content_len); ii++) + // { + // sprintf(tmpstr, "%02x ", (unsigned char)code_content_data[ii]); + // strcat(mes, tmpstr); + // } + logMes(mes); + } + + //-----------connect the subject and content------------- + if (check_res == 1) + { + byteswap(code_subject_data, subject_len); + byteswap(code_content_data, content_len); + } + for (i = 0; i < subject_len; i++) + { + code_data[i] = code_subject_data[i]; + } + for (i = 0; i < content_len; i++) + { + code_data[i + subject_len] = code_content_data[i]; + } + { + int ii; + char tmpstr[32]; + + memset(mes, 0, MAX_EMAIL_LENGTH); + sprintf(mes, "coded total message data len=%d\n", subject_len + content_len); + // for (ii = 0; ii < subject_len + content_len; ii++) + // { + // sprintf(tmpstr, "%02x ", (unsigned char)code_data[ii]); + // strcat(mes, tmpstr); + // } + logMes(mes); + } + //------------------divide the data---------------------- + // only need 1 short message + if ((subject_len + content_len) <= MAX_SMPP_MSG_LENGTH) + { + smppMsg.pdu.submit_sm.sm_length = subject_len + content_len; + memcpy(smppMsg.pdu.submit_sm.short_message, code_data, subject_len + content_len); + add_call_statistics(SMS_Outgoing_Attempt, 0); + smpp_send(smpp_tx_link, &smppMsg, 0); + add_call_statistics(SMS_Outgoing_Successful, smppMsg.pdu.deliver_sm.sm_length); + license_count++; + // generating_cdr(); + } + else + { + size_t temp = time(NULL); + total_len = subject_len + content_len; + sm_count = ceil((subject_len + content_len + 0.0) / MAX_SMPP_MSG_LENGTH); + sm_count = ceil((subject_len + content_len + sm_count * 6 + 0.0) / MAX_SMPP_MSG_LENGTH); + smppMsg.pdu.submit_sm.esm_class |= 0x40; + maxLen = MAX_SMPP_MSG_LENGTH - 6; + + { + sprintf(mes, "User data header(%dx6)=%d", sm_count, sm_count * 6); + logMes(mes); + sprintf(mes, "smppMsg.pdu.submit_sm.esm_class=%02x,max mail=%d,maxLen=%d", smppMsg.pdu.submit_sm.esm_class, get_max_sms_per_email(), maxLen); + logMes(mes); + } + for (i = 0; i < sm_count; i++) + { + pos = 0; + if (i >= get_max_sms_per_email()) + break; + { + sprintf(mes, "len=%d,position=%d,sm_count=%d", total_len, i + 1, sm_count); + logMes(mes); + } + + // User-Data-Header-Length + smppMsg.pdu.submit_sm.short_message[pos++] = 0x05; + // Information Element Identifier "A" + smppMsg.pdu.submit_sm.short_message[pos++] = 0x00; + // Length of Information Element "A" + smppMsg.pdu.submit_sm.short_message[pos++] = 0x03; + // Octet 1 Concatenated short message reference number + smppMsg.pdu.submit_sm.short_message[pos++] = temp % 255 + 1; + // Maximum number of short messages in the concatenated short message + if (sm_count > get_max_sms_per_email()) + smppMsg.pdu.submit_sm.short_message[pos++] = get_max_sms_per_email(); + else + smppMsg.pdu.submit_sm.short_message[pos++] = sm_count; + // Sequence number of the current short message + smppMsg.pdu.submit_sm.short_message[pos++] = i + 1; + // short message data + if (total_len >= maxLen) + { + smppMsg.pdu.submit_sm.sm_length = maxLen + pos; + memcpy(smppMsg.pdu.submit_sm.short_message + pos, code_data + i * maxLen, maxLen); + } + else + { + smppMsg.pdu.submit_sm.sm_length = total_len + pos; + memcpy(smppMsg.pdu.submit_sm.short_message + pos, code_data + i * maxLen, total_len); + } + { + sprintf(mes, "message(%d),len=%d", i + 1, smppMsg.pdu.submit_sm.sm_length); + logMes(mes); + } + add_call_statistics(SMS_Outgoing_Attempt, 0); + smpp_send(smpp_tx_link, &smppMsg, 0); + add_call_statistics(SMS_Outgoing_Successful, smppMsg.pdu.deliver_sm.sm_length); + license_count++; + // generating_cdr(); + total_len -= maxLen; + } + { + logMes("---------------------------------------------------------------------------"); + } + } + return 0; +} + +/************************************************* +Function: // email2sm +Description: // Change the smtp message to smpp message +Calls: // get_service_number; code_convert; byteswap; +Called By: // smpp_send_email +Table Accessed: // +Table Updated: // +Input: // pMsg:the smpp message; + pSmtpMsg:the smtp message; + offset:the data index; + recipient_index:the index of the recipient +Output: // +Return: // the data index +Others: // +*************************************************/ +int data_len; +char data_buf[MAX_EMAIL_LENGTH]; +int email2sm(SMPP_MSG *pMsg, SMTP_MSG *pSmtpMsg, int offset, int recipient_index) +{ + int len; + int sender_subject_len = 0; + int contents_len = 0; + char tmpBuf[256]; + char *sender = pSmtpMsg->sender; + char *recipient = pSmtpMsg->recipient[recipient_index]; + char *subject = (char *)pSmtpMsg->subject; + char *contents = (char *)pSmtpMsg->contents; + PDU_SUBMIT_SM *submit_sm = &pMsg->pdu.submit_sm; + + int check_res = -1; + char to_code_set[32]; + + memset(pMsg, 0, sizeof(SMPP_MSG)); + { + logMes("----------------------------------email2sm-------------------------------------"); + sprintf(mes, "before pSmtpMsg->subject_coding=%s\n", pSmtpMsg->subject_coding); + logMes(mes); + sprintf(mes, "before pSmtpMsg->contents_coding=%s\n", pSmtpMsg->contents_coding); + logMes(mes); + } + check_res = check_code(pSmtpMsg->subject_coding, pSmtpMsg->contents_coding); + + pMsg->message_type = 0x0B; + pMsg->optional_param_flag1 = 0x08000001; + if (check_res == 0) + { + sprintf(to_code_set, "us-ascii"); + submit_sm->data_coding = 0x04; + } + else + { + sprintf(to_code_set, "UCS-2"); + submit_sm->data_coding = 0x08; + } + + submit_sm->dest_addr_ton = 0x01; // IDD + submit_sm->dest_addr_npi = 0x01; // E164 + submit_sm->source_addr_ton = 0x00; // Unknow + submit_sm->source_addr_npi = 0x01; // E164 + strcpy((char *)submit_sm->service_type, "GSM"); + strcpy((char *)submit_sm->source_addr, (char *)get_service_number()); + if (*recipient == '+') + recipient++; + strcpy((char *)submit_sm->destination_addr, recipient); + + if (offset == 0) + { + // from&subject + char *pch; + if ((pch = strstr(subject, "\r\n")) != NULL) + *pch = '\0'; + + strcpy(tmpBuf, sender); + strcat(tmpBuf, " "); + if (strlen(subject) > 0) + { + strcat(tmpBuf, "("); + strcat(tmpBuf, subject); + strcat(tmpBuf, ")"); + } + // pSmtpMsg->contents_coding + { + int ii; + char strtmp[32]; + sprintf(mes, "after pSmtpMsg->subject_coding=%s\n", pSmtpMsg->subject_coding); + logMes(mes); + sprintf(mes, "after pSmtpMsg->contents_coding=%s\n", pSmtpMsg->contents_coding); + logMes(mes); + sprintf(mes, "before subject,size=%d\n", strlen(tmpBuf)); + logMes(mes); + + mes[0] = '\0'; + for (ii = 0; ii < strlen(tmpBuf); ii++) + { + sprintf(strtmp, "%02x ", tmpBuf[ii]); + strcat(mes, strtmp); + } + logMes(mes); + } + sender_subject_len = code_convert(pSmtpMsg->subject_coding, to_code_set, tmpBuf, strlen(tmpBuf), data_buf, MAX_EMAIL_LENGTH); + { + int ii; + char strtmp[32]; + sprintf(mes, "coded subject,size=%d\n", sender_subject_len); + logMes(mes); + + mes[0] = '\0'; + for (ii = 0; ii < sender_subject_len; ii++) + { + sprintf(strtmp, "%02x ", data_buf[ii]); + strcat(mes, strtmp); + } + logMes(mes); + } + // pSmtpMsg->contents_coding + { + int ii; + char strtmp[32]; + sprintf(mes, "before content,size=%d\n", strlen(contents)); + logMes(mes); + + mes[0] = '\0'; + for (ii = 0; ii < strlen(contents); ii++) + { + sprintf(strtmp, "%02x ", (unsigned char)contents[ii]); + strcat(mes, strtmp); + } + logMes(mes); + } + contents_len = code_convert(pSmtpMsg->contents_coding, to_code_set, contents, strlen(contents), data_buf + sender_subject_len, MAX_EMAIL_LENGTH); + + /* + sender_subject_len = unicode_conv(pSmtpMsg->subject_coding, + "UCS-2", + tmpBuf, + data_buf, + strlen(tmpBuf), + MAX_EMAIL_LENGTH); + + //content + contents_len = unicode_conv(pSmtpMsg->contents_coding, + "UCS-2", + contents, + data_buf+sender_subject_len, + strlen(contents), + MAX_EMAIL_LENGTH); + */ + if (check_res == 1) + byteswap(data_buf, sender_subject_len + contents_len); + + // strcpy(data_buf, tmpBuf); + // strcat(data_buf, contents); + // data_len = strlen(data_buf); + data_len = sender_subject_len + contents_len; + } + + if (offset == 0) + { + if (data_len > MAX_SMPP_MSG_LENGTH) + len = MAX_SMPP_MSG_LENGTH; + else + len = data_len; + + memcpy(submit_sm->short_message, data_buf, len); + offset = len; + } + else + { + if ((len = data_len - offset) > MAX_SMPP_MSG_LENGTH) + len = MAX_SMPP_MSG_LENGTH; + + memcpy(submit_sm->short_message, data_buf + offset, len); + offset += len; + } + submit_sm->sm_length = len; + smeg_print("destination_addr():%s\n", submit_sm->destination_addr); + smeg_print("short_message():%s\n", submit_sm->short_message); + + { + int ii; + char strtmp[32]; + + sprintf(mes, "coded short_message,size=%d\n", submit_sm->sm_length); + logMes(mes); + + mes[0] = '\0'; + for (ii = 0; ii < submit_sm->sm_length; ii++) + { + sprintf(strtmp, "%02x ", (unsigned char)submit_sm->short_message[ii]); + strcat(mes, strtmp); + } + logMes(mes); + logMes("----------------------------------------------------------------------------------\n"); + } + + if (offset < data_len) + return offset; + else + return 0; +} + +/************************************************* +Function: // smpp_tx_register_link +Description: // Register the tx smpp link +Calls: // smpp_registerLink; smpp_attach_link; set_smpp_tx_link_state +Called By: // smpp_init +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +extern BYTE smpp_registerLink(BYTE server_type, BYTE session_type, char *service_number_ptr, BYTE message_mode); +void smpp_tx_register_link() +{ + BYTE ret; + + smeg_debug_log("init smpp tx link"); + ret = smpp_registerLink(SMEG_SMPP_CLIENT, SMEG_SMPP_BIND_TX, get_service_number(), 0); + set_smpp_tx_link_state(0); + if ((ret & 0x80) == 0x80) + { + smpp_tx_link = ret & 0x7f; + smeg_print("\nsmpp_registerLink:%d\n", smpp_tx_link); + + smpp_attach_link(smpp_tx_link, smpp_tx_DataRecv, smpp_tx_LinkStateChange); + return; + } + + return; +} + +/************************************************* +Function: // smpp_tx_LinkStateChange +Description: // The callback function when the state of link change +Calls: // set_smpp_tx_link_state +Called By: // smpp_tx_register_link +Table Accessed: // +Table Updated: // +Input: // linkNo:the no of the link; linkstate:the state of the link +Output: // +Return: // +Others: // +*************************************************/ +int smpp_tx_LinkStateChange(BYTE linkNo, BYTE linkstate) +{ + smeg_print("smpp_tx link %d state change to %d\n", linkNo, linkstate); + if (linkstate == 0) + { + set_smpp_tx_link_state(0); + smeg_debug_log("smpp tx link state change to disnormal"); + } + else + { + set_smpp_tx_link_state(1); + smeg_debug_log("smpp tx link state change to normal"); + } + + return linkNo; +} + +/************************************************* +Function: // smpp_tx_DataRecv +Description: // The callback function when receive data from SMSC +Calls: // smpp_send +Called By: // smpp_tx_register_link +Table Accessed: // +Table Updated: // +Input: // linkNo:the no of the link; pMsg:the smpp message; dataLen:the length of the data +Output: // +Return: // +Others: // +*************************************************/ +int smpp_tx_DataRecv(BYTE linkNo, SMPP_MSG *pMsg, WORD dataLen) +{ + int sequence_number = 100; + char short_message[256]; + SMPP_MSG smpp_msg; + + memset(&smpp_msg, 0, sizeof(SMPP_MSG)); + + switch (pMsg->message_type) + { + + case 0x0C: /* SUBMIT SM RESP */ + break; + case 0x0B: /* SUBMIT SM */ + strcpy(short_message, sm_decode(pMsg->pdu.submit_sm.data_coding, (char *)pMsg->pdu.submit_sm.short_message, pMsg->pdu.submit_sm.sm_length)); + smpp_msg.message_type = 0x0c; + smpp_msg.pdu.submit_sm_resp.head.command_status = htonl(ESME_ROK); + smpp_msg.pdu.submit_sm_resp.head.sequence_number = pMsg->pdu.submit_sm.head.sequence_number; + smpp_msg.pdu.submit_sm_resp.head.command_length = 16 + strlen((char *)smpp_msg.pdu.submit_sm_resp.message_id); + strcpy((char *)smpp_msg.pdu.submit_sm_resp.message_id, "0"); + smpp_send(linkNo, &smpp_msg, dataLen); + break; + //------------------------------------------- + case 0x10: /* deliver_sm_resp*/ + break; + case 0x0F: /* deliver_sm*/ + strcpy(short_message, sm_decode(pMsg->pdu.deliver_sm.data_coding, (char *)pMsg->pdu.deliver_sm.short_message, pMsg->pdu.deliver_sm.sm_length)); + smpp_msg.message_type = 0x10; + smpp_msg.pdu.deliver_sm_resp.head.command_status = htonl(ESME_ROK); + smpp_msg.pdu.deliver_sm_resp.head.sequence_number = pMsg->pdu.deliver_sm.head.sequence_number; + smpp_msg.pdu.deliver_sm_resp.message_id = '0'; + smpp_msg.pdu.deliver_sm_resp.head.command_length = 17; + smpp_send(linkNo, &smpp_msg, dataLen); + break; + default: + smeg_debug_log("[ERROR]link %d no such message type!(=%02x)\n", linkNo, pMsg->message_type); + break; + } + return sequence_number; +} + +/************************************************* +Function: // decode8byte7bitdata +Description: // Decode the 8 bit to 7bit format +Calls: // +Called By: // decode7bitdata +Table Accessed: // +Table Updated: // +Input: // in_buffer:the input data; out_buffer:the output data; len_of_data:the length of the input data +Output: // +Return: // +Others: // +*************************************************/ +void decode8byte7bitdata(char *in_buffer, char *out_buffer, int len_of_data) +{ + int i; + for (i = 0; i < len_of_data; i++) + { + switch (i) + { + case 0: + out_buffer[0] = in_buffer[0] & 0x7f; + break; + case 1: + out_buffer[1] = ((in_buffer[1] & 0x3f) << 1) | ((in_buffer[0] >> 7) & 0x01); + break; + case 2: + out_buffer[2] = ((in_buffer[2] & 0x1f) << 2) | ((in_buffer[1] >> 6) & 0x03); + break; + case 3: + out_buffer[3] = ((in_buffer[3] & 0x0f) << 3) | ((in_buffer[2] >> 5) & 0x07); + break; + case 4: + out_buffer[4] = ((in_buffer[4] & 0x07) << 4) | ((in_buffer[3] >> 4) & 0x0f); + break; + case 5: + out_buffer[5] = ((in_buffer[5] & 0x03) << 5) | ((in_buffer[4] >> 3) & 0x1f); + break; + case 6: + out_buffer[6] = ((in_buffer[6] & 0x01) << 6) | ((in_buffer[5] >> 2) & 0x3f); + if (in_buffer[6] >> 1) + { + out_buffer[7] = (in_buffer[6] >> 1) & 0x7f; + } + break; + default: + break; + } + } +} + +/************************************************* +Function: // decode7bitdata +Description: // Decode the 8 bit to 7bit format +Calls: // decode8byte7bitdata +Called By: // sm_decode +Table Accessed: // +Table Updated: // +Input: // in_buffer:the input data; out_buffer:the output data; len_of_data:the length of the input data +Output: // +Return: // +Others: // +*************************************************/ +void decode7bitdata(char *in_buffer, char *out_buffer, int len_of_data) +{ + int i; + int in_buffer_len = (len_of_data / 7) * 8 + len_of_data % 7; + memset(out_buffer, 0, in_buffer_len); + for (i = 0; i < (len_of_data + 7); i += 7) + { + decode8byte7bitdata(in_buffer + i, out_buffer + (i / 7) * 8, (len_of_data - i >= 7 ? 7 : len_of_data - i)); + } + out_buffer[in_buffer_len + 1] = '\0'; +} + +/************************************************* +Function: // from_default_alphabet +Description: // Change some specil character to default +Calls: // +Called By: // sm_decode +Table Accessed: // +Table Updated: // +Input: // in_buffer:the input data; in_buffer_len:the length of the input data +Output: // +Return: // +Others: // +*************************************************/ +void from_default_alphabet(char *in_buffer, int in_buffer_len) +{ + int i; + + for (i = 0; i < in_buffer_len; i++) + { + switch (in_buffer[i]) + { + case 0x02: + in_buffer[i] = '$'; + break; + case 0x00: + in_buffer[i] = '@'; + break; + case 0x11: + in_buffer[i] = '_'; + break; + case 0x2F: + in_buffer[i] = '/'; + break; + default: + break; + } + } +} + +/************************************************* +Function: // byteswap +Description: // Swap the high byte and low byte +Calls: // +Called By: // sm_decode; send_mail; email2sm +Table Accessed: // +Table Updated: // +Input: // input:the input data; input_len:the length of the input data +Output: // +Return: // +Others: // +*************************************************/ +void byteswap(char *input, int input_len) +{ + char temp; + int i; + + for (i = 0; i < input_len; i += 2) + { + temp = input[i]; + input[i] = input[i + 1]; + input[i + 1] = temp; + } +} + +/************************************************* +Function: // unicode_conv +Description: // Convert the code data +Calls: // iconv_open; iconv; +Called By: // send_mail +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // This function have error +*************************************************/ +int unicode_conv(const char *fromcode, const char *tocode, char *in_buffer, char *out_buffer, int insize, int outsize) +{ + size_t retval = 0; + char *out_buffer_ptr = out_buffer; + char *in_buffer_ptr = in_buffer; + size_t out_byte = outsize; /* -2 because it ended with NUL,NUL */ + size_t in_byte = insize; + iconv_t conv_d; + + conv_d = iconv_open(tocode, fromcode); + if (conv_d == (iconv_t)-1) + { + return (-1); + } + retval = iconv(conv_d, NULL, NULL, NULL, NULL); + if (retval == (size_t)-1) + perror("1:unicode_conv()"); + + retval = iconv(conv_d, &in_buffer_ptr, &in_byte, &out_buffer_ptr, &out_byte); + + if (retval == (size_t)-1) + { + smeg_print("ERROR ....\n"); + smeg_print("in_byte=%d,out_byte=%d\n", in_byte, out_byte); + perror("unicode_conv()"); + return (-1); + } + + { + char *out_buffer_ptr = out_buffer; + size_t out_byte = outsize; + retval = iconv(conv_d, NULL, NULL, &out_buffer_ptr, &out_byte); + if (retval == (size_t)-1) + { + smeg_print("ERROR .....\n"); + } + } + + iconv_close(conv_d); + return (outsize - out_byte); +} + +/************************************************* +Function: // unicode_conv +Description: // Convert the code data +Calls: // iconv_open; iconv; +Called By: // send_mail +Table Accessed: // +Table Updated: // +Input: // from_charset:the source code method + to_charset:the destination code method + inbuf:the data will be changed coding + inlen:the length of the input data + outbuf:the data have been changed coding + outlen:the max length of the output data +Output: // +Return: // the length of the output data +Others: // +*************************************************/ +int code_convert(char *from_charset, char *to_charset, char *inbuf, int inlen, char *outbuf, int outlen) +{ + iconv_t cd; + char **pin = &inbuf; + char **pout = &outbuf; + int len = outlen; + size_t in_len = inlen, out_len = outlen; + //in_len = inlen; + cd = iconv_open(to_charset, from_charset); + if (cd == 0) + return -1; + memset(outbuf, 0, outlen); + if (iconv(cd, pin, (size_t *)&in_len, pout, (size_t *)&out_len) == -1) + { + sprintf(mes, "convert error, inbuf:%s, in_len=%d\n", inbuf, (int)in_len); + logMes(mes); + return -1; + } + iconv_close(cd); + + return len - (int)out_len; +} + +/************************************************* +Function: // check_code +Description: // Justify the coding method +Calls: // +Called By: // send_mail +Table Accessed: // +Table Updated: // +Input: // subject_code:the coding method of the subject + content_code:the coding method of the content +Output: // +Return: // +Others: // +*************************************************/ +int check_code(char *subject_code, char *content_code) +{ + // check the subject coding + if (strncasecmp(subject_code, "gb2312", 6) == 0) + { + sprintf(subject_code, "gb2312"); + } + else if (strncasecmp(subject_code, "gbk", 3) == 0) + { + sprintf(subject_code, "GBK"); + } + else if (strncasecmp(subject_code, "us-ascii", 8) == 0) + { + sprintf(subject_code, "us-ascii"); + } + else if (strncasecmp(subject_code, "utf-8", 5) == 0) + { + sprintf(subject_code, "utf-8"); + } + else + { + { + sprintf(mes, "subject other coding=%s", subject_code); + logMes(mes); + } + sprintf(subject_code, "utf-8"); + } + + // check the content coding + if (strncasecmp(content_code, "gb2312", 6) == 0) + { + sprintf(content_code, "gb2312"); + } + else if (strncasecmp(content_code, "gbk", 3) == 0) + { + sprintf(content_code, "GBK"); + } + else if (strncasecmp(content_code, "us-ascii", 8) == 0) + { + sprintf(content_code, "us-ascii"); + } + else if (strncasecmp(content_code, "utf-8", 5) == 0) + { + sprintf(content_code, "utf-8"); + } + else + { + { + sprintf(mes, "content other coding=%s", content_code); + logMes(mes); + } + sprintf(content_code, "utf-8"); + } + + if (strcmp(subject_code, "us-ascii") == 0 && strcmp(content_code, "us-ascii") == 0) + { + return 0; + } + else + { + return 1; + } +} + +/************************************************* +Function: // sm_decode +Description: // Decode the data of sm +Calls: // decode7bitdata; from_default_alphabet; byteswap; unicode_conv +Called By: // parse_sm +Table Accessed: // +Table Updated: // +Input: // data_coding:the coding method; short_message:the data; sm_length:the length of the data +Output: // +Return: // the coded data +Others: // +*************************************************/ +char *sm_decode(int data_coding, char *short_message, int sm_length) +{ + static char conv_message[256]; + char temp_buffer[512]; + char *in_buffer = short_message; + int no_of_bytes = sm_length; + + switch (data_coding) + { + case 0: + decode7bitdata(in_buffer, conv_message, no_of_bytes); + from_default_alphabet(conv_message, no_of_bytes); + smeg_print("short_message:%s\n", conv_message); + break; + case 4: + smeg_print("short_message:%s\n", short_message); + strcpy(conv_message, short_message); + break; + case 8: + memcpy(temp_buffer, in_buffer, no_of_bytes); + temp_buffer[no_of_bytes] = 0x0; + temp_buffer[no_of_bytes + 1] = 0x0; + temp_buffer[no_of_bytes + 2] = 0x0; + temp_buffer[no_of_bytes + 3] = 0x0; + byteswap(temp_buffer, no_of_bytes); + unicode_conv("UCS-2", "UTF-8", temp_buffer, conv_message, no_of_bytes + 4, sizeof(conv_message)); + smeg_print("short_message:%s\n", conv_message); + break; + } + + return conv_message; +} + +/************************************************* +Function: // smpp_rx_DataRecv +Description: // The callback function when smpp rx receive data +Calls: // parse_sm + add_call_statistics +Called By: // smpp_rx_register_link +Table Accessed: // +Table Updated: // +Input: // linkNo:the no of the link; pMsg:the received data; dataLen:the length of data +Output: // +Return: // +Others: // +*************************************************/ +int smpp_rx_DataRecv(BYTE linkNo, SMPP_MSG *pMsg, WORD dataLen) +{ + int udhi = 0; + BYTE *pSM = NULL, *pFromAddr = NULL; + BYTE sm_len = 0; + BYTE coding = 0; + int sequence_number = 100; + SMPP_MSG smpp_msg; + memset(&smpp_msg, 0, sizeof(SMPP_MSG)); + + switch (pMsg->message_type) + { + case 0x0C: /* SUBMIT SM RESP */ + smeg_print("Recv: Link %d received SUBMIT SM RESP.\n", linkNo); + break; + case 0x0B: /* SUBMIT SM */ + smeg_print("Recv: Link %d received submit_sm:%s \n", linkNo, pMsg->pdu.submit_sm.short_message); + smeg_print("data_coding_scheme:%d\n", pMsg->pdu.submit_sm.data_coding); + + pSM = pMsg->pdu.submit_sm.short_message; + sm_len = pMsg->pdu.submit_sm.sm_length; + pFromAddr = pMsg->pdu.submit_sm.source_addr; + coding = pMsg->pdu.submit_sm.data_coding; + if (pMsg->pdu.submit_sm.esm_class & 0x40) + udhi = 1; + + smpp_msg.message_type = 0x0c; + smpp_msg.pdu.submit_sm_resp.head.command_status = htonl(ESME_ROK); + smpp_msg.pdu.submit_sm_resp.head.sequence_number = pMsg->pdu.submit_sm.head.sequence_number; + strcpy((char *)smpp_msg.pdu.submit_sm_resp.message_id, "0"); + smpp_msg.pdu.submit_sm_resp.head.command_length = 16 + strlen((char *)smpp_msg.pdu.submit_sm_resp.message_id); + smpp_send(linkNo, &smpp_msg, dataLen); + break; + case 0x10: /* deliver_sm_resp*/ + smeg_print("Link %d received deliver_sm_resp.\n", linkNo); + break; + case 0x0F: /* deliver_sm*/ + smeg_print("Link %d received deliver_sm:%s \n", linkNo, pMsg->pdu.deliver_sm.short_message); + smeg_print("data_coding_scheme:%d\n", pMsg->pdu.deliver_sm.data_coding); + + pSM = pMsg->pdu.deliver_sm.short_message; + sm_len = pMsg->pdu.deliver_sm.sm_length; + pFromAddr = pMsg->pdu.deliver_sm.source_addr; + coding = pMsg->pdu.deliver_sm.data_coding; + if (pMsg->pdu.deliver_sm.esm_class & 0x40) + udhi = 1; + + smpp_msg.message_type = 0x10; + smpp_msg.pdu.deliver_sm_resp.head.command_status = htonl(ESME_ROK); + smpp_msg.pdu.deliver_sm_resp.head.sequence_number = pMsg->pdu.deliver_sm.head.sequence_number; + smpp_msg.pdu.deliver_sm_resp.message_id = '0'; + smpp_msg.pdu.deliver_sm_resp.head.command_length = 17; + smpp_send(linkNo, &smpp_msg, dataLen); + break; + + default: + smeg_print("Message_type=%d---Link %d received DELIVER SM. op:%s \n", pMsg->message_type, linkNo, pMsg->pdu.deliver_sm.short_message); + break; + } + + parse_sm(udhi, coding, (char *)pFromAddr, (char *)pSM, sm_len); + add_call_statistics(SMS_Incoming_Attempt, 0); + add_call_statistics(SMS_Incoming_Successful, pMsg->pdu.submit_sm.sm_length); + license_count++; + return sequence_number; +} + +/************************************************* +Function: // smpp_rx_register_link +Description: // Register the rx link +Calls: // smpp_registerLink; smpp_attach_link; set_smpp_rx_link_state +Called By: // smpp_init +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void smpp_rx_register_link() +{ + BYTE ret; + ret = smpp_registerLink(SMEG_SMPP_CLIENT, SMEG_SMPP_BIND_RX, get_service_number(), 0); + set_smpp_rx_link_state(0); + if ((ret & 0x80) == 0x80) + { + smpp_rx_link = ret & 0x7f; + smeg_print("\nGet smpp rx link is:%d\n", smpp_rx_link); + + smpp_attach_link(smpp_rx_link, smpp_rx_DataRecv, smpp_rx_LinkStateChange); + } + smeg_debug_log("init smpp rx link"); + + return; +} + +/************************************************* +Function: // smpp_rx_LinkStateChange +Description: // The callback function when rx link state change +Calls: // set_smpp_rx_link_state +Called By: // smpp_rx_register_link +Table Accessed: // +Table Updated: // +Input: // linkNo:the no of the link; linkstate:the state of the link +Output: // +Return: // +Others: // +*************************************************/ +int smpp_rx_LinkStateChange(BYTE linkNo, BYTE linkstate) +{ + smeg_print("smpp_rx link %d state change to %d\n", linkNo, linkstate); + + if (linkstate == 0) + { + set_smpp_rx_link_state(0); // 1-8 + smeg_debug_log("smpp rx link state change to disnormal"); + } + else + { + set_smpp_rx_link_state(1); + smeg_debug_log("smpp rx link state change to normal"); + } + return linkNo; +} + +/************************************************* +Function: // smpp_init +Description: // The initial function of the smpp file +Calls: // smpp_tx_register_link; smpp_rx_register_link; +Called By: // smeg_init +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void smpp_init() +{ + smpp_tx_register_link(); + smpp_rx_register_link(); +} + +/************************************************* +Function: // smpp_main +Description: // The timer function of the smpp file +Calls: // get_license + smpp_closeTCPConnection + set_smpp_rx_link_state + smpp_tx_register_link + smpp_rx_register_link +Called By: // semg_main +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void smpp_main() +{ + static int time_count = 0; + static int smpp_timeout = 600; + + update_concatenated_sms_buf(); + + if (time_count++ >= 36000) + { // 1 hour + if (license_count > max_license_count) + max_license_count = license_count; + license_count = 0; + } + + if (license_count > get_license()) + { + if (get_smpp_rx_link_state() != 0) + { + smpp_closeTCPConnection(smpp_rx_link); + set_smpp_rx_link_state(0); + } + else if (get_smpp_tx_link_state() != 0) + { + smpp_closeTCPConnection(smpp_tx_link); + set_smpp_tx_link_state(0); + } + } + else + { + if (smpp_timeout-- <= 0) + { + smpp_timeout = 600; + if (get_smpp_rx_link_state() == 0) + { + smpp_rx_register_link(); + } + if (get_smpp_tx_link_state() == 0) + { + smpp_tx_register_link(); + } + } + } +} diff --git a/src/smeg/src/smeg_smtp.c b/src/smeg/src/smeg_smtp.c new file mode 100644 index 0000000..2a1cc43 --- /dev/null +++ b/src/smeg/src/smeg_smtp.c @@ -0,0 +1,2088 @@ +/************************************************* +File name: smeg_smtp.c +Author: JianHui Zheng +Version: 9:00:00 +Date: 2008-4-1 +Description:This file include the functions to communicate with the smtp server + + + + + +History: +No. +Author: +Date: +Version: +Description: +*************************************************/ +#include "include/smtp.h" +#include "include/smeg_pub.h" +#include "include/statistic_data.h" +#include "include/tcp_client.h" + +/* by simon at 23/9/27 */ +//extern BYTE DEBUG_buf[6000]; + +static struct tSmtpPort smtp_tx_port[SMTP_MAX_TX_PORT]; +static struct tSmtpPort smtp_rx_port[SMTP_MAX_RX_PORT]; +static int Smtp_Ser_Sockfd; +static int Execute[Exe_num]; + +static int socket_tx = 0; +static int socket_rx = 0; // 1-6 + +static fd_set Read_fd, Write_fd; +static int All_Socket_FD[Exe_num + LISTEN_NUMS]; +// Move from smtp.h by simon, at 2024/06/11 +static struct Smtp_wait_queue smtp_wait_queue; + +char base64_alphabet[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', + 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', + 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', + 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', + 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', + 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', + '2', '3', '4', '5', '6', '7', '8', '9', '+', + '/'}; + +char base64_suffix_map[256] = { + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 62, 255, 255, 255, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, + 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}; + +/************************************************* +Function: // read_smtp_response +Description: // Parse the smtp response +Calls: // tcp_recv +Called By: // smtp_rx_fsm; smtp_tx_fsm; +Table Accessed: // +Table Updated: // +Input: // sockfd:socket id; recv_buf:the received data; recv_offset:the offset of the data +Output: // +Return: // 0 if whole response is received + 1 if is not seen + -1 on error +Others: // +*************************************************/ +#define READ_ERROR (-1) +#define READ_PARTIAL 1 +#define READ_COMPLETE 0 +static int read_smtp_response(int sockfd, char *recv_buf, unsigned short *recv_offset) +{ + int retval; + + if (!FD_ISSET(sockfd, &Read_fd)) + { + return READ_PARTIAL; + } + + if ((*recv_offset) >= SMTP_RECV_BUF_SIZE) + return READ_COMPLETE; + + retval = tcp_recv(sockfd, recv_buf + *recv_offset, SMTP_RECV_BUF_SIZE - *recv_offset); + if (retval <= 0) + { + return READ_ERROR; + } + + *recv_offset += retval; + + if ((*recv_offset) >= SMTP_RECV_BUF_SIZE) + recv_buf[SMTP_RECV_BUF_SIZE - 1] = '\0'; + else + recv_buf[*recv_offset] = '\0'; + + if ((recv_buf[*recv_offset - 2] != '\r') || (recv_buf[*recv_offset - 1] != '\n')) + { + /* More to read as is not seen */ + return READ_PARTIAL; + } + return READ_COMPLETE; +} + +/************************************************* +Function: // send_smtp_command +Description: // Send the smtp command to the mail server +Calls: // tcp_send +Called By: // smtp_tx_fsm; smtp_rx_fsm; +Table Accessed: // +Table Updated: // +Input: // sockfd:socket id; send_buf:the send data +Output: // +Return: // Return 0 on success, -1 otherwise +Others: // +*************************************************/ +static int send_smtp_command(int sockfd, char *send_buf) +{ + int len; + int retval; + + len = strlen(send_buf); + + retval = tcp_send(sockfd, send_buf, len); + if (retval != len) + { + perror("send error"); + return -1; + } + return 0; +} + +/************************************************* +Function: // smtp_tx_port_reset +Description: // Reset the smtp tx port +Calls: // smtp_tx_port_release +Called By: // smtp_tx_restart +Table Accessed: // +Table Updated: // +Input: // pTxPort:the port which be reset +Output: // +Return: // +Others: // +*************************************************/ +void smtp_tx_port_reset(struct tSmtpPort *pTxPort) +{ + pTxPort->count++; + if (pTxPort->count >= 4) + { + smtp_tx_port_release(pTxPort); + return; + } + else if (smtp_wait_queue.start == ((smtp_wait_queue.end + 1) % wait_queue_num)) // 队列满的话 + { + smtp_tx_port_release(pTxPort); + return; + } + else if (pTxPort->time_out >= 40) + { + smtp_tx_port_release(pTxPort); + return; + } // 1-6 + + pTxPort->port_state = SMTP_PORT_BUSY; + pTxPort->curr_state = SMTP_TX_BEGIN; + pTxPort->sockfd = 0; + pTxPort->recv_offset = 0; + pTxPort->time_out = 0; // 1-6 + pTxPort->recipient_index = 0; +} + +/************************************************* +Function: // smtp_tx_restart +Description: // Restart the smtp rx port +Calls: // tcp_disconnect; delete_socket_fd; add_call_statistics; smtp_tx_port_reset; +Called By: // smtp_tx_fsm +Table Accessed: // +Table Updated: // +Input: // pTxPort:the port which be restarted +Output: // +Return: // +Others: // +*************************************************/ +void smtp_tx_restart(struct tSmtpPort *pTxPort) +{ + tcp_disconnect(pTxPort->sockfd); + delete_socket_fd(pTxPort->sockfd); + add_call_statistics(Email_Outgoing_Failure, 0); + smtp_tx_port_reset(pTxPort); +} + +/************************************************* +Function: // base64_encode +Description: // Encode the data in base64 +Calls: // +Called By: // smtp_tx_fsm +Table Accessed: // +Table Updated: // +Input: // data:the input data +Output: // +Return: // the output data +Others: // +*************************************************/ +char *base64_encode(const char *data) +{ + char *ret, *retpos; + static char out[MAX_EMAIL_LENGTH]; + int m, padnum = 0, retsize, dlen = strlen(data); + + if (dlen == 0) + return NULL; + + /* Account the result buffer size and alloc the memory for it. */ + if ((dlen % 3) != 0) + padnum = 3 - dlen % 3; + retsize = (dlen + padnum) + ((dlen + padnum) * 1 / 3) + 1; + if (retsize > MAX_EMAIL_LENGTH) + return NULL; + ret = out; + retpos = ret; + + /* Starting to convert the originality characters to BASE64 chracaters. + Converting process keep to 4->6 principle. */ + for (m = 0; m < (dlen + padnum); m += 3) + { + /* When data is not suffice 24 bits then pad 0 and the empty place pad '='. */ + *(retpos) = base64_alphabet[cmove_bits(*data, 0, 2)]; + if (m == dlen + padnum - 3 && padnum != 0) + { /* Whether the last bits-group suffice 24 bits. */ + if (padnum == 1) + { /* 16bit need pad one '='. */ + *(retpos + 1) = base64_alphabet[cmove_bits(*data, 6, 2) + cmove_bits(*(data + 1), 0, 4)]; + *(retpos + 2) = base64_alphabet[cmove_bits(*(data + 1), 4, 2)]; + *(retpos + 3) = BASE64_PAD64; + } + else if (padnum == 2) + { /* 8bit need pad two'='. */ + *(retpos + 1) = base64_alphabet[cmove_bits(*data, 6, 2)]; + *(retpos + 2) = BASE64_PAD64; + *(retpos + 3) = BASE64_PAD64; + } + } + else + { /* 24bit normal. */ + *(retpos + 1) = base64_alphabet[cmove_bits(*data, 6, 2) + cmove_bits(*(data + 1), 0, 4)]; + *(retpos + 2) = base64_alphabet[cmove_bits(*(data + 1), 4, 2) + cmove_bits(*(data + 2), 0, 6)]; + *(retpos + 3) = base64_alphabet[*(data + 2) & 0x3f]; + } + + retpos += 4; + data += 3; + } + + ret[retsize - 1] = 0; + + return ret; +} + +/************************************************* +Function: // base64_decode +Description: // Decode the data in base64 +Calls: // +Called By: // parse_field +Table Accessed: // +Table Updated: // +Input: // bdata:the input data +Output: // +Return: // the output data +Others: // +*************************************************/ +char *base64_decode(const char *bdata) +{ + + char *ret = NULL, *retpos; + static char out[MAX_EMAIL_LENGTH]; + int m, padnum = 0, retsize, bdlen = strlen(bdata); + memset(out, 0, sizeof(out)); + + if (bdlen == 0) + return NULL; + if (bdlen % 4 != 0) + return NULL; + + /* Whether the data have invalid base-64 characters? */ + for (m = 0; m < bdlen; ++m) + { + if ((bdata[m] != BASE64_PAD64) && (base64_suffix_map[(int)bdata[m]] == -1)) + goto LEND; + } + + /* Account the output size. */ + if (bdata[bdlen - 1] == '=') + padnum = 1; + if (bdata[bdlen - 1] == '=' && bdata[bdlen - 2] == '=') + padnum = 2; + retsize = (bdlen - 4) - (bdlen - 4) / 4 + (3 - padnum) + 1; + ret = out; + if (retsize > MAX_EMAIL_LENGTH) + return NULL; + retpos = ret; + + /* Begging to decode. */ + for (m = 0; m < bdlen; m += 4) + { + *retpos = cmove_bits(base64_suffix_map[(int)*bdata], 2, 0) + cmove_bits(base64_suffix_map[(int)*(bdata + 1)], 0, 4); + if (m == bdlen - 4 && padnum != 0) + { /* Only deal with last four bits. */ + if (padnum == 1) /* Have one pad characters, only two availability characters. */ + *(retpos + 1) = cmove_bits(base64_suffix_map[(int)*(bdata + 1)], 4, 0) + cmove_bits(base64_suffix_map[(int)*(bdata + 2)], 0, 2); + /* + Have two pad characters, only two availability characters. + if(padnum == 2) { + } + */ + retpos += 3 - padnum; + } + else + { + *(retpos + 1) = cmove_bits(base64_suffix_map[(int)*(bdata + 1)], 4, 0) + cmove_bits(base64_suffix_map[(int)*(bdata + 2)], 0, 2); + *(retpos + 2) = cmove_bits(base64_suffix_map[(int)*(bdata + 2)], 6, 0) + base64_suffix_map[(int)*(bdata + 3)]; + retpos += 3; + } + bdata += 4; + } + + ret[retsize - 1] = 0; + +LEND: + return ret; +} + +/************************************************* +Function: // smtp_tx_fsm +Description: // The timer function of tx smtp +Calls: // read_smtp_response + send_smtp_command + add_call_statistics + tcp_disconnect + set_smtp_link_state + add_socket_tx + add_socket_fd +Called By: // smtp_main +Table Accessed: // +Table Updated: // +Input: // pTxPort:the port to operate +Output: // +Return: // +Others: // +*************************************************/ +void smtp_tx_fsm(struct tSmtpPort *pTxPort) +{ + int ret = 0; + switch (pTxPort->curr_state) + { + case SMTP_TX_BEGIN: + { + add_call_statistics(Email_Outgoing_Attempt, 0); + if ((ret = tcp_tx_connect(&pTxPort->sockfd, (char *)get_mailserver_ip(), SMTP, 1)) < 0) + { + if (ret == CONNECT_FAIL) + { + tcp_disconnect(pTxPort->sockfd); + pTxPort->sockfd = 0; + set_smtp_link_state(0); + } + return; + } + add_socket_fd(pTxPort->sockfd); + set_smtp_link_state(1); + add_socket_tx(); + pTxPort->curr_state = SMTP_TX_CONNECTING; + } + break; + case SMTP_TX_CONNECTING: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smtp_tx_restart(pTxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + { + if (strncasecmp((char *)pTxPort->recv_buf, SERVICE_READY, strlen(SERVICE_READY))) + { + // server not ready + smtp_tx_restart(pTxPort); + smeg_print("smtp_tx_connecting: READ_COMPLETE: %s\n", pTxPort->recv_buf); + return; + } + pTxPort->recv_offset = 0; + pTxPort->curr_state = SMTP_TX_SEND_HELO; + } + break; + default: + break; + } + } + break; + case SMTP_TX_SEND_HELO: + { + sprintf((char *)pTxPort->send_buf, "HELO %s\r\n", get_localdomain()); + ret = send_smtp_command(pTxPort->sockfd, (char *)pTxPort->send_buf); + if (ret < 0) + { + smeg_print("smtp_tx_connecting: ret < 0: %d\n", pTxPort->curr_state); + smeg_print("ret = send_smtp_command\n"); + smtp_tx_restart(pTxPort); + break; + } + pTxPort->curr_state = SMTP_TX_WAIT_FOR_HELO_RESP; + } + break; + case SMTP_TX_WAIT_FOR_HELO_RESP: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smeg_print("smtp_tx_wait_for_helo_resp READ_ERROR: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); // 12-26-11 + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + { + if (strncasecmp((char *)pTxPort->recv_buf, MAIL_ACTION_OK, strlen(MAIL_ACTION_OK))) + { + smeg_print("smtp_tx_wait_for_helo_resp: %s\n", pTxPort->recv_buf); + smtp_tx_restart(pTxPort); + return; + } + pTxPort->recv_offset = 0; + if (get_smtp_auth_flag()) + pTxPort->curr_state = SMTP_TX_SEND_AUTH_LOGIN; + else + pTxPort->curr_state = SMTP_TX_SEND_MAIL_FROM; + } + break; + } + } + break; + case SMTP_TX_SEND_AUTH_LOGIN: + { + sprintf((char *)pTxPort->send_buf, "AUTH LOGIN\r\n"); + smeg_print("Send: %s\n", pTxPort->send_buf); + ret = send_smtp_command(pTxPort->sockfd, (char *)pTxPort->send_buf); + if (ret < 0) + { + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + } + else + { + smeg_print("Recv: %s\n", pTxPort->recv_buf); + pTxPort->recv_offset = 0; + pTxPort->curr_state = SMTP_TX_WAIT_FOR_AUTH_LOGIN_RESP; + } + } + break; + case SMTP_TX_WAIT_FOR_AUTH_LOGIN_RESP: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smeg_print("smtp_tx_wait_for_AUTH_LOGIN_resp READ_ERROR: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + if (strncmp((char *)pTxPort->recv_buf, "334", 3)) + { + smeg_print("smtp_tx_wait_for_AUTH_LOGIN_resp: %s\n", pTxPort->recv_buf); + smtp_tx_restart(pTxPort); + return; + } + smeg_print("Recv: %s\n", pTxPort->recv_buf); + pTxPort->recv_offset = 0; + pTxPort->curr_state = SMTP_TX_SEND_USERNAME; + break; + } + } + break; + case SMTP_TX_SEND_USERNAME: + { + char *p = base64_encode((char *)get_smtp_auth_user()); + if (p == NULL) + { + tcp_disconnect(pTxPort->sockfd); + smtp_tx_port_release(pTxPort); + return; + } + sprintf((char *)pTxPort->send_buf, "%s\r\n", p); + smeg_print("Send: %s\n", pTxPort->send_buf); + ret = send_smtp_command(pTxPort->sockfd, (char *)pTxPort->send_buf); + if (ret < 0) + { + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); // 12-26-11 + return; + } + pTxPort->curr_state = SMTP_TX_WAIT_FOR_USER_NAME_RESP; + } + break; + case SMTP_TX_WAIT_FOR_USER_NAME_RESP: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smeg_print("smtp_tx_wait_for_user_name_resp READ_ERROR: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); // 12-26-11 + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + if (strncmp((char *)pTxPort->recv_buf, "334", 3)) + { + smeg_print("smtp_tx_wait_for_user_name_resp: %s\n", pTxPort->recv_buf); + smtp_tx_restart(pTxPort); // 12-26-11 + return; + } + smeg_print("Recv: %s\n", pTxPort->recv_buf); + pTxPort->recv_offset = 0; + pTxPort->curr_state = SMTP_TX_SEND_PASSWD; + break; + } + } + break; + case SMTP_TX_SEND_PASSWD: + { + char *p = base64_encode((char *)get_smtp_auth_passwd()); + if (p == NULL) + { + tcp_disconnect(pTxPort->sockfd); + smtp_tx_port_release(pTxPort); + return; + } + sprintf((char *)pTxPort->send_buf, "%s\r\n", p); + smeg_print("Send: %s\n", pTxPort->send_buf); + ret = send_smtp_command(pTxPort->sockfd, (char *)pTxPort->send_buf); + if (ret < 0) + { + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + return; + } + pTxPort->curr_state = SMTP_TX_WAIT_FOR_PASSWORD_RESP; + } + break; + case SMTP_TX_WAIT_FOR_PASSWORD_RESP: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smeg_print("smtp_tx_wait_for_password_resp READ_ERROR: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + if (strncmp((char *)pTxPort->recv_buf, "235", 3)) + { + smeg_print("smtp_tx_wait_for_password_resp: %s\n", pTxPort->recv_buf); + smtp_tx_restart(pTxPort); + return; + } + pTxPort->recv_offset = 0; + smeg_print("Recv: %s\n", pTxPort->recv_buf); + pTxPort->curr_state = SMTP_TX_SEND_MAIL_FROM; + break; + } + } + break; + case SMTP_TX_SEND_MAIL_FROM: + { + sprintf((char *)pTxPort->send_buf, "MAIL FROM: %s\r\n", pTxPort->smtp_msg.sender); + smeg_print("Send: %s\n", pTxPort->send_buf); + ret = send_smtp_command(pTxPort->sockfd, (char *)pTxPort->send_buf); + if (ret < 0) + { + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + return; + } + pTxPort->curr_state = SMTP_TX_WAIT_FOR_MAIL_RESP; + } + break; + case SMTP_TX_WAIT_FOR_MAIL_RESP: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smeg_print("smtp_tx_wait_for_mail_resp READ_ERROR: %s\n", pTxPort->recv_buf); + smtp_tx_restart(pTxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + smeg_print("Recv: %s\n", pTxPort->recv_buf); + if (strncasecmp((char *)pTxPort->recv_buf, MAIL_ACTION_OK, 3)) + { + smeg_print("smtp_tx_wait_for_mail_resp: %s\n", pTxPort->recv_buf); + smtp_tx_restart(pTxPort); + return; + } + pTxPort->recv_offset = 0; + pTxPort->curr_state = SMTP_TX_SEND_RCPT; + break; + } + } + break; + case SMTP_TX_SEND_RCPT: + { + sprintf((char *)pTxPort->send_buf, "RCPT TO: %s\r\n", pTxPort->smtp_msg.recipient[pTxPort->recipient_index++]); + ret = send_smtp_command(pTxPort->sockfd, (char *)pTxPort->send_buf); + if (ret < 0) + { + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + return; + } + smeg_print("Send: %s\n", pTxPort->send_buf); + pTxPort->curr_state = SMTP_TX_WAIT_FOR_RCPT_RESP; + } + break; + case SMTP_TX_WAIT_FOR_RCPT_RESP: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smeg_print("smtp_tx_wait_for_rcpt_resp READ_ERROR : %s\n", pTxPort->recv_buf); + smtp_tx_restart(pTxPort); // 12-26-11 + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + smeg_print("Recv: %s\n", pTxPort->recv_buf); + if (strncasecmp((char *)pTxPort->recv_buf, MAIL_ACTION_OK, 3)) + { + smeg_print("strncmp(pTxPort->recv_buf, %s\n", pTxPort->recv_buf); + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); // 12-26-11 + return; + } + pTxPort->recv_offset = 0; + if (pTxPort->recipient_index < pTxPort->smtp_msg.recipientNum) + pTxPort->curr_state = SMTP_TX_SEND_RCPT; + else + pTxPort->curr_state = SMTP_TX_SEND_DATA; + break; + } + } + break; + case SMTP_TX_SEND_DATA: + { + strcpy((char *)pTxPort->send_buf, "DATA\r\n"); + ret = send_smtp_command(pTxPort->sockfd, (char *)pTxPort->send_buf); + if (ret < 0) + { + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + return; + } + smeg_print("Send: QUIT\n"); + pTxPort->curr_state = SMTP_TX_WAIT_FOR_DATA_RESP; + } + break; + case SMTP_TX_WAIT_FOR_DATA_RESP: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smeg_print("SMTP_TX_ALARM READ_ERROR: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); // 12-26-11 + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + smeg_print("Recv: %s\n", pTxPort->recv_buf); + if (strncasecmp((char *)pTxPort->recv_buf, START_MAIL_INPUT, 3)) + { + smeg_print("strncmp(pTxPort->recv_buf, START_MAIL_INPUT, 3, %s\n", pTxPort->recv_buf); + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); // 12-26-11 + return; + } + pTxPort->recv_offset = 0; + pTxPort->curr_state = SMTP_TX_SEND_CONTENT; + break; + } + } + break; + case SMTP_TX_SEND_CONTENT: + { + sprintf((char *)pTxPort->send_buf, "%s\r\n\r\n.\r\n", pTxPort->smtp_msg.contents); + ret = send_smtp_command(pTxPort->sockfd, (char *)pTxPort->send_buf); + if (ret < 0) + { + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + return; + } + smeg_print("Send: QUIT\n"); + pTxPort->curr_state = SMTP_TX_WAIT_FOR_CONTENT_RESP; + } + break; + case SMTP_TX_WAIT_FOR_CONTENT_RESP: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smeg_print("READ_ERROR, %s\n", pTxPort->recv_buf); + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + return; + case READ_PARTIAL: + return; + case READ_COMPLETE: + smeg_print("Recv: %s\n", pTxPort->recv_buf); + if (strncasecmp((char *)pTxPort->recv_buf, MAIL_ACTION_OK, 3)) + { + smeg_print("strncmp(pTxPort->recv_buf, MAIL_ACTION_OK, 3\n,%s", pTxPort->recv_buf); + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); // 12-26-11 + return; + } + pTxPort->recv_offset = 0; + pTxPort->curr_state = SMTP_TX_SEND_QUIT; + break; + } + } + break; + case SMTP_TX_SEND_QUIT: + { + strcpy((char *)pTxPort->send_buf, "QUIT\r\n"); + ret = send_smtp_command(pTxPort->sockfd, (char *)pTxPort->send_buf); + if (ret < 0) + { + smeg_print("SMTP_TX_ALARM: curr_state: %d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + return; + } + smeg_print("Send: QUIT\n"); + pTxPort->curr_state = SMTP_TX_END; + } + break; + case SMTP_TX_END: + { + ret = read_smtp_response(pTxPort->sockfd, (char *)pTxPort->recv_buf, &pTxPort->recv_offset); + switch (ret) + { + case READ_ERROR: + smtp_tx_restart(pTxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + if (strncmp((char *)pTxPort->recv_buf, "221", 3)) + { + smtp_tx_restart(pTxPort); + return; + } + smeg_print("Recv: %s\n", pTxPort->recv_buf); + add_call_statistics(Email_Outgoing_Successful, strlen((char *)pTxPort->smtp_msg.contents)); + tcp_disconnect(pTxPort->sockfd); + smtp_tx_port_release(pTxPort); + break; + } + } + break; + default: + smeg_print("unknown curr_state:%d\n", pTxPort->curr_state); + smtp_tx_restart(pTxPort); + break; + } + return; +} + +/************************************************* +Function: // smtp_tx_port_assign +Description: // Assign a new tx port to send mail +Calls: // +Called By: // smtp_send_sm +Table Accessed: // +Table Updated: // +Input: // smtp_msg:the smtp message +Output: // +Return: // +Others: // +*************************************************/ +int smtp_tx_port_assign(SMTP_MSG *smtp_msg) +{ + static int start_pos = 0; + int i = start_pos; + int end_pos = start_pos - 1; + if (end_pos < 0) + { + end_pos = SMTP_MAX_TX_PORT - 1; + } + + while (i != end_pos) + { + if (smtp_tx_port[i].port_state == SMTP_PORT_IDLE) + { + + smtp_tx_port[i].port_state = SMTP_PORT_BUSY; + smtp_tx_port[i].curr_state = SMTP_TX_BEGIN; + smtp_tx_port[i].recipient_index = 0; + + insert_smtp_wait_queue(i); + + memcpy(&smtp_tx_port[i].smtp_msg, smtp_msg, sizeof(SMTP_MSG)); + + start_pos = i + 1; + if (start_pos >= SMTP_MAX_TX_PORT) + start_pos = 0; + return 0; + } + if (++i >= SMTP_MAX_TX_PORT) + i = 0; + } + return -1; +} + +/************************************************* +Function: // smtp_tx_port_release +Description: // Release the smtp tx port +Calls: // delt_socket_tx +Called By: // smtp_tx_port_reset +Table Accessed: // +Table Updated: // +Input: // p:the port to release +Output: // +Return: // +Others: // +*************************************************/ +void smtp_tx_port_release(struct tSmtpPort *p) +{ + if (p->port_state == SMTP_PORT_IDLE) + return; + delete_socket_fd(p->sockfd); + delt_socket_tx(); // 1-6 + // memset(p, 0, sizeof(*p)); //1-6 + //---- + p->sockfd = 0; + p->curr_state = 0; + p->port_state = 0; + // char send_buf[MAX_SMS_LENGTH + MAX_SMTP_SUBJECT_LENGTH + SMTP_ADDR_LENGTH*5]; //256+50+40*5 =506 + // char recv_buf[SMTP_SEND_BUF_SIZE]; //100 + // SMTP_MSG smtp_msg; //746 + memset(p->smtp_msg.recipient, 0, sizeof(p->smtp_msg.recipient)); + p->recv_offset = 0; + p->count = 0; + p->time_out = 0; + // short int curr_state_finished[13]; + + //---- + p->curr_state = -1; + return; +} + +/************************************************* +Function: // insert_smtp_wait_queue +Description: // Insert the port to wait queue to send email +Calls: // +Called By: // smtp_tx_port_assign +Table Accessed: // +Table Updated: // +Input: // port_num:the no of the port +Output: // +Return: // +Others: // +*************************************************/ +void insert_smtp_wait_queue(int port_num) +{ + printf("smtp_wait_queue.start=%d, end=%d, port_num=%d\n", smtp_wait_queue.start, smtp_wait_queue.end, port_num); + int i; + if (smtp_wait_queue.start == smtp_wait_queue.end) // 空的话 + { + for (i = 0; i < Exe_num; i++) + if (Execute[i] == -1) + { + Execute[i] = port_num; + return; + } + } + smtp_wait_queue.wait_queue[smtp_wait_queue.end] = port_num; + smtp_wait_queue.end = (smtp_wait_queue.end + 1) % wait_queue_num; +} + +/************************************************* +Function: // smtp_insert_Execute +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // no use +*************************************************/ +void smtp_insert_Execute(int *pexec) +{ + if (smtp_wait_queue.start == smtp_wait_queue.end) // 空的话 + return; + *pexec = smtp_wait_queue.wait_queue[smtp_wait_queue.start]; + smtp_wait_queue.start = (smtp_wait_queue.start + 1) % wait_queue_num; +} + +/************************************************* +Function: // smtp_rx_port_assign +Description: // Assign a new rx port +Calls: // +Called By: // smtp_main +Table Accessed: // +Table Updated: // +Input: // temp_fd:the socket id; smtp_rx_port:the new port +Output: // +Return: // +Others: // +*************************************************/ +int smtp_rx_port_assign(int temp_fd, struct tSmtpPort *smtp_rx_port) +{ + static int start_pos = 0; // start position + int i = start_pos; + int end_pos = start_pos - 1; + if (end_pos < 0) + { + end_pos = SMTP_MAX_RX_PORT - 1; + } + + while (i != end_pos) + { + if (smtp_rx_port[i].port_state == SMTP_PORT_IDLE) + { + + smtp_rx_port[i].port_state = SMTP_PORT_BUSY; + smtp_rx_port[i].sockfd = temp_fd; + smtp_rx_port[i].curr_state = SMTP_RX_BEGIN; + + start_pos = i + 1; // set next time start position + if (start_pos >= SMTP_MAX_RX_PORT) + start_pos = 0; + return 0; + } + if (++i >= SMTP_MAX_RX_PORT) + i = 0; // restart from beginning + } + return -1; +} + +/************************************************* +Function: // smtp_rx_port_release +Description: // Release the rx port +Calls: // delete_socket_fd +Called By: // smtp_main +Table Accessed: // +Table Updated: // +Input: // p:the port to release +Output: // +Return: // +Others: // +*************************************************/ +void smtp_rx_port_release(struct tSmtpPort *p) +{ + if (p->port_state == SMTP_PORT_IDLE) + return; + delete_socket_fd(p->sockfd); + delt_socket_rx(); + p->port_state = 0; + p->curr_state = 0; + memset(p->smtp_msg.recipient, 0, sizeof(p->smtp_msg.recipient)); + p->recv_offset = 0; + p->recipient_index = 0; + p->count = 0; + p->time_out = 0; + p->sockfd = 0; + p->encode_mode = 0; + + return; +} + +/************************************************* +Function: // smtp_rx_failed +Description: // Disconnect the port when fail +Calls: // tcp_disconnect; smtp_rx_port_release; +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void smtp_rx_failed(void *data) +{ + struct tSmtpPort *pSmtpRxPort = (struct tSmtpPort *)data; + + tcp_disconnect(pSmtpRxPort->sockfd); + smtp_rx_port_release(pSmtpRxPort); +} + +/************************************************* +Function: // smtp_rx_fsm +Description: // The timer of rx smtp,to receive the email sent of email server +Calls: // add_call_statistics + smtp_rx_failed + send_smtp_command + read_smtp_response + parse_field +Called By: // smtp_main +Table Accessed: // +Table Updated: // +Input: // pSmtpRxPort:the port to operate +Output: // +Return: // +Others: // +*************************************************/ +void smtp_rx_fsm(struct tSmtpPort *pSmtpRxPort) +{ + int retval; + switch (pSmtpRxPort->curr_state) + { + case SMTP_RX_BEGIN: + { + add_call_statistics(Email_Incoming_Attempt, 0); + sprintf((char *)pSmtpRxPort->send_buf, "%s\r\n", "220 LGC UltraWave SMS-Email Gateway Ready"); + retval = send_smtp_command(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->send_buf); + if (retval < 0) + { + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("\nSend: %s\n", pSmtpRxPort->send_buf); + pSmtpRxPort->curr_state = SMTP_RX_WAIT_HELO; + } + break; + case SMTP_RX_WAIT_HELO: + { + retval = read_smtp_response(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->recv_buf, &pSmtpRxPort->recv_offset); + switch (retval) + { + case READ_ERROR: + smtp_rx_failed(pSmtpRxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + if (strncasecmp((char *)pSmtpRxPort->recv_buf, HELO_CMD, 4) && strncasecmp((char *)pSmtpRxPort->recv_buf, EHLO_CMD, 4)) + { + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("Recv: %s\n", pSmtpRxPort->recv_buf); + pSmtpRxPort->recv_offset = 0; + pSmtpRxPort->curr_state = SMTP_RX_SEND_HELO_RESP; + break; + } + } + break; + case SMTP_RX_SEND_HELO_RESP: + { + sprintf((char *)pSmtpRxPort->send_buf, "%s\r\n", "250 Gateway service is Ready"); + retval = send_smtp_command(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->send_buf); + if (retval < 0) + { + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("Send: %s\n", pSmtpRxPort->send_buf); + pSmtpRxPort->curr_state = SMTP_RX_WAIT_MAIL; + } + break; + case SMTP_RX_WAIT_MAIL: + { + retval = read_smtp_response(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->recv_buf, &pSmtpRxPort->recv_offset); + switch (retval) + { + case READ_ERROR: + smtp_rx_failed(pSmtpRxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + if (strncasecmp((char *)pSmtpRxPort->recv_buf, MAIL_CMD, 9)) + { + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("Recv: %s\n", pSmtpRxPort->recv_buf); + pSmtpRxPort->recv_offset = 0; + pSmtpRxPort->curr_state = SMTP_RX_SEND_MAIL_RESP; + break; + } + } + break; + case SMTP_RX_SEND_MAIL_RESP: + { + sprintf((char *)pSmtpRxPort->send_buf, "%s\r\n", "250 OK"); + retval = send_smtp_command(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->send_buf); + if (retval < 0) + { + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("Send: %s\n", pSmtpRxPort->send_buf); + pSmtpRxPort->curr_state = SMTP_RX_WAIT_RCPT_DATA; + } + break; + case SMTP_RX_WAIT_RCPT_DATA: + { + retval = read_smtp_response(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->recv_buf, &pSmtpRxPort->recv_offset); + switch (retval) + { + case READ_ERROR: + smtp_rx_failed(pSmtpRxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + if (strncasecmp((char *)pSmtpRxPort->recv_buf, DATA_CMD, 4)) + { + if (strncasecmp((char *)pSmtpRxPort->recv_buf, RCPT_CMD, 7) == 0) + { + smeg_print("read rcpt:%s\n", pSmtpRxPort->recv_buf); + *strchr((char *)pSmtpRxPort->recv_buf, '@') = '\0'; // remove @ and domain + strcpy(pSmtpRxPort->smtp_msg.recipient[pSmtpRxPort->recipient_index], strchr((char *)pSmtpRxPort->recv_buf, '<') + 1); + pSmtpRxPort->recipient_index++; + pSmtpRxPort->recv_offset = 0; + pSmtpRxPort->curr_state = SMTP_RX_SEND_RCPT_RESP; + return; + } + else + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("Recv: %s\n", pSmtpRxPort->recv_buf); + pSmtpRxPort->recv_offset = 0; + pSmtpRxPort->curr_state = SMTP_RX_SEND_DATA_RESP; + break; + } + } + break; + case SMTP_RX_SEND_RCPT_RESP: + { + sprintf((char *)pSmtpRxPort->send_buf, "%s\r\n", "250 OK"); + retval = send_smtp_command(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->send_buf); + if (retval < 0) + { + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("Send: %s\n", pSmtpRxPort->send_buf); + pSmtpRxPort->curr_state = SMTP_RX_WAIT_RCPT_DATA; + } + break; + case SMTP_RX_SEND_DATA_RESP: + { + sprintf((char *)pSmtpRxPort->send_buf, "%s\r\n", "354 Start mail input;end with ."); + retval = send_smtp_command(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->send_buf); + if (retval < 0) + { + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("Send: %s\n", pSmtpRxPort->send_buf); + pSmtpRxPort->curr_state = SMTP_RX_WAIT_CONTENT; + pSmtpRxPort->overflow = 0; + } + break; + case SMTP_RX_WAIT_CONTENT: + { + retval = read_smtp_response(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->recv_buf, &pSmtpRxPort->recv_offset); + switch (retval) + { + case READ_ERROR: + smtp_rx_failed(pSmtpRxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + if (parse_field(pSmtpRxPort, (char *)pSmtpRxPort->recv_buf) == PARSE_ERROR) + { + smeg_print("Parsing email content failed\n"); + pSmtpRxPort->smtp_msg.parsed_flag = 0; + // smtp_rx_failed(pSmtpRxPort); + // return; + } + else + pSmtpRxPort->smtp_msg.parsed_flag = 1; + + // smeg_print("Recv: %s\n",pSmtpRxPort->recv_buf); + if (pSmtpRxPort->recv_offset >= SMTP_RECV_BUF_SIZE) + { + // too many data + pSmtpRxPort->overflow = 1; + } + pSmtpRxPort->recv_offset = 0; + pSmtpRxPort->curr_state = SMTP_RX_SEND_CONTENT_RESP; + break; + } + } + break; + case SMTP_RX_SEND_CONTENT_RESP: + { + if (pSmtpRxPort->overflow == 1) + { + pSmtpRxPort->curr_state = SMTP_RX_QUIT_RESP; + sprintf((char *)pSmtpRxPort->send_buf, "%s\r\n", "552 Too much mail data"); + } + else + { + pSmtpRxPort->curr_state = SMTP_RX_WAIT_QUIT; + sprintf((char *)pSmtpRxPort->send_buf, "%s\r\n", "250 OK"); + } + retval = send_smtp_command(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->send_buf); + if (retval < 0) + { + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("Send: %s\n", pSmtpRxPort->send_buf); + } + break; + case SMTP_RX_WAIT_QUIT: + { + retval = read_smtp_response(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->recv_buf, &pSmtpRxPort->recv_offset); + switch (retval) + { + case READ_ERROR: + smtp_rx_failed(pSmtpRxPort); + break; + case READ_PARTIAL: + break; + case READ_COMPLETE: + if (strncasecmp((char *)pSmtpRxPort->recv_buf, QUIT_CMD, 4)) + { + smtp_rx_failed(pSmtpRxPort); + return; + } + smeg_print("Recv: %s\n", pSmtpRxPort->recv_buf); + pSmtpRxPort->recv_offset = 0; + pSmtpRxPort->curr_state = SMTP_RX_QUIT_RESP; + break; + } + } + break; + case SMTP_RX_QUIT_RESP: + { + sprintf((char *)pSmtpRxPort->send_buf, "%s\r\n", "221 Gateway closing transmission channel"); + retval = send_smtp_command(pSmtpRxPort->sockfd, (char *)pSmtpRxPort->send_buf); + if (retval < 0) + { + smtp_rx_failed(pSmtpRxPort); // 12-26-10 + return; + } + smeg_print("Send: %s\n", pSmtpRxPort->send_buf); + if (pSmtpRxPort->recipient_index > 0 && pSmtpRxPort->smtp_msg.parsed_flag != 0) + smpp_send_email(&pSmtpRxPort->smtp_msg, pSmtpRxPort->recipient_index); + tcp_disconnect(pSmtpRxPort->sockfd); + smtp_rx_port_release(pSmtpRxPort); + add_call_statistics(Email_Incoming_Successful, strlen((char *)pSmtpRxPort->smtp_msg.contents)); + }; + break; + default: + smeg_print("unknown curr_state:%d\n", pSmtpRxPort->curr_state); + smtp_rx_port_release(pSmtpRxPort); + break; + } +} + +/************************************************* +Function: // parse_field +Description: // Parse the email content and subject +Calls: // base64_decode; Qp_decode; +Called By: // smtp_rx_fsm +Table Accessed: // +Table Updated: // +Input: // pSmtpRxPort:the port; pt:the received data +Output: // +Return: // PARSE_ERROR; PARSE_SUCCESS; +Others: // +*************************************************/ +char contents_temp[MAX_EMAIL_LENGTH * 2]; +int parse_field(struct tSmtpPort *pSmtpRxPort, char *pt) +{ + int i = 0; + char *pStart, *pEnd; + + char *pFrom, *pSubject, *pContents, *pContentsEnd, *pBoundary; + char *Pt_contents_origin_code; //, *Pt_boundary; + int contents_temp_len = 0; + + char subject_temp[100]; + // char boundary[100]; + char encode; + + char *pB = NULL, *pC = NULL, *pD = NULL; + + //--From--------------- + if ((pFrom = strstr(pt, "From: ")) != NULL) + pFrom += strlen("From: "); + else + return PARSE_ERROR; + + if (strncmp(pFrom, "=?", 2) == 0) + { + char *pTmp = pFrom; + pFrom += 2; + pFrom = strstr(pFrom, "?="); + if ((pFrom != NULL) && (pFrom < strstr(pTmp, "\r\n"))) + pFrom += 2; + else + return PARSE_ERROR; + } + + while (*pFrom != '\r') + pSmtpRxPort->smtp_msg.sender[i++] = *pFrom++; + + if (i >= SMTP_ADDR_LENGTH) + pSmtpRxPort->smtp_msg.sender[SMTP_ADDR_LENGTH - 1] = '\0'; + else + pSmtpRxPort->smtp_msg.sender[i] = '\0'; + + //---Subject----------- + i = 0; + if ((pSubject = strstr(pt, "Subject: ")) != NULL) + { + pSubject += strlen("Subject: "); + while (*pSubject != '\r') + { + subject_temp[i++] = *pSubject++; + + if (i == MAX_SMTP_SUBJECT_LENGTH - 1) + break; + } + subject_temp[i] = '\0'; + strcpy(pSmtpRxPort->smtp_msg.subject_coding, "us-ascii"); + pStart = subject_temp; // maybe Subject like: =?gb2312?B?TUlNRdCt0unLtcP308q8/g==?= + if (strncmp(pStart, "=?", 2) == 0 && strncmp(pStart + strlen(pStart) - 2, "?=", 2) == 0) + { + subject_temp[strlen(pStart) - 2] = '\0'; + pStart = pStart + 2; + pEnd = strstr(pStart, "?"); + strncpy(pSmtpRxPort->smtp_msg.subject_coding, pStart, pEnd - pStart); + encode = *(pEnd + 1); + strcpy(subject_temp, pEnd + 3); + if (encode == 'B' || encode == 'b') + { + char *p = base64_decode(subject_temp); + if (p == NULL) + return PARSE_ERROR; + strncpy((char *)pSmtpRxPort->smtp_msg.subject, p, MAX_SMTP_SUBJECT_LENGTH); + pSmtpRxPort->smtp_msg.subject[MAX_SMTP_SUBJECT_LENGTH - 1] = '\0'; + } + if (encode == 'Q' || encode == 'q') + if (!Qp_decode((char *)pSmtpRxPort->smtp_msg.subject, subject_temp, strlen(subject_temp))) + return PARSE_ERROR; + } + else + strcpy((char *)pSmtpRxPort->smtp_msg.subject, subject_temp); + } + else + { + pSubject = pFrom; + subject_temp[0] = '\0'; + } + + if (strstr(pt, "MIME-Version: 1.0") != NULL || strstr(pt, "Mime-Version: 1.0") != NULL) + { + // MIME format + // find content start/end point + pContents = pt; + pContentsEnd = pt + strlen(pt); + if ((pBoundary = strstr(pt, "boundary=")) != NULL) + { + char *pTemp; + pBoundary += strlen("boundary="); + if (*pBoundary == '"') + { + pBoundary++; + } + pTemp = pBoundary + 15; // just compare the first 15 chars + // while(*pTemp != '"' && *pTemp != '\r') + // pTemp++; + *pTemp = '\0'; + pContents = pTemp + 1; + pContentsEnd = strstr(pContents, "Content-Type: text/plain"); + if (pContentsEnd == NULL) + { + smeg_print("SYSTEM: No text content in this mail.\n"); + pSmtpRxPort->smtp_msg.contents[0] = '\0'; + return PARSE_SUCCESS; + } + pContentsEnd = strstr(pContentsEnd, pBoundary); + if (pContentsEnd == NULL) + pContentsEnd = pContents + strlen(pContents); + else + pContentsEnd--; + } + + *pContentsEnd = '\0'; + if ((pContents = strstr(pContents, "Content-Type: text/plain")) != NULL) + { + Pt_contents_origin_code = strstr(pContents, "charset="); + if (Pt_contents_origin_code == NULL) + strcpy(pSmtpRxPort->smtp_msg.contents_coding, "us-ascii"); + else + { + Pt_contents_origin_code += strlen("charset="); + + if (*Pt_contents_origin_code == '"') + Pt_contents_origin_code++; + + for (i = 0; *Pt_contents_origin_code != '\r'; i++) + { + if (*Pt_contents_origin_code == '"') + Pt_contents_origin_code++; + + pSmtpRxPort->smtp_msg.contents_coding[i] = *Pt_contents_origin_code; + Pt_contents_origin_code++; + + if (i >= 16) // for protection + break; + } + pSmtpRxPort->smtp_msg.contents_coding[i] = '\0'; + } + + smeg_print("contents_coding: %s\n", pSmtpRxPort->smtp_msg.contents_coding); + + if ((pStart = strstr(pContents, "Content-Transfer-Encoding: base64")) != NULL) + { + pSmtpRxPort->encode_mode = 1; + } + else if ((pStart = strstr(pContents, "Content-Transfer-Encoding: quoted-printable")) != NULL) + { + pSmtpRxPort->encode_mode = 2; + } + else + { + pStart = pContents; + pSmtpRxPort->encode_mode = 3; + } + + pStart = strstr(pStart, "\r\n\r\n"); + if (pStart == NULL) + { + smeg_print("SYSTEM: Unable to decode this mail.\n"); + return PARSE_ERROR; + } + pStart += 4; + + pEnd = pContentsEnd; + contents_temp_len = pEnd - pStart; + if (contents_temp_len > MAX_EMAIL_LENGTH * 2 - 1) + contents_temp_len = MAX_EMAIL_LENGTH * 2 - 1; + memcpy(contents_temp, pStart, contents_temp_len); + contents_temp[contents_temp_len] = '\0'; // 1-6 + } + else + { + smeg_print("SYSTEM: No text content in this mail.\n"); + pSmtpRxPort->smtp_msg.contents[0] = '\0'; + return PARSE_SUCCESS; + } + } + else + { + // RFC 822/2822 format + pSmtpRxPort->encode_mode = 3; + pStart = strstr(pt, "\r\n\r\n"); + if (pStart == NULL) + { + smeg_print("SYSTEM: No text content in this mail.\n"); + pSmtpRxPort->smtp_msg.contents[0] = '\0'; + return PARSE_SUCCESS; + } + pStart += 4; + + pEnd = strstr(pStart, "\r\n."); + if (pEnd == NULL) + { + pEnd = pStart; + while (*pEnd != '\0') + pEnd++; + } + else + { + pEnd += 2; + } + contents_temp_len = pEnd - pStart; + if (contents_temp_len > MAX_EMAIL_LENGTH * 2 - 1) + contents_temp_len = MAX_EMAIL_LENGTH * 2 - 1; + memcpy(contents_temp, pStart, contents_temp_len); + contents_temp[contents_temp_len] = '\0'; // 1-6 + } + + smeg_print("contents_temp: %s\n", contents_temp); + pSmtpRxPort->smtp_msg.contents[0] = '\0'; + if (pSmtpRxPort->encode_mode == 1) + { + pC = contents_temp; + while (1) + { + pB = pC; + pC = strchr(pC, '\r'); + if (pC == NULL) + break; + *(pC) = '\0'; + if (*pB == '\0') + break; + pD = base64_decode(pB); + if (pD == NULL) + return PARSE_ERROR; + strcat((char *)pSmtpRxPort->smtp_msg.contents, pD); + pC += 2; + } + } + else if (pSmtpRxPort->encode_mode == 2) + { + char tmpBuf[MAX_EMAIL_LENGTH * 2]; + tmpBuf[0] = '\0'; + pC = contents_temp; + while (1) + { + pB = pC; + pC = strchr(pC, '\r'); + if (pC == NULL) + break; + + *(pC) = '\0'; + strcat(tmpBuf, pB); + pC += 2; + } + if (!Qp_decode((char *)pSmtpRxPort->smtp_msg.contents, tmpBuf, strlen((char *)tmpBuf))) + return PARSE_ERROR; + } + else + { + pC = contents_temp; + while (1) + { + pB = pC; + pC = strchr(pC, '\r'); + if (pC == NULL) + break; + + *(pC) = '\0'; + strcat((char *)pSmtpRxPort->smtp_msg.contents, pB); + pC += 2; + } + } + + smeg_print("From: %s\nTo: ", pSmtpRxPort->smtp_msg.sender); + for (i = 0; pSmtpRxPort->smtp_msg.recipient[i][0] != 0; i++) + smeg_print("%s,", pSmtpRxPort->smtp_msg.recipient[i]); + smeg_print("\nSubject: %s\n", pSmtpRxPort->smtp_msg.subject); + smeg_print("Contents: %s\n", pSmtpRxPort->smtp_msg.contents); + + return PARSE_SUCCESS; +} + +/************************************************* +Function: // Qp_decode +Description: // The email decode function +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // dst:the output data; src:the input data; len:the length of the input data +Output: // +Return: // +Others: // +*************************************************/ +int Qp_decode(char *dst, const char *src, int len) // 解码函数 +{ + int i = 0; + char tmp = 0; + char ch1, ch2; + + if (len > 8192) + { + return 0; + } + + while (i < len) + { + if (src[i] == '=' && i < len - 2) // 是编码字节 + { + ch1 = src[i + 1]; + ch2 = src[i + 2]; + if ((src[i + 1] == '\r') || (src[i + 1] == '\n')) + { + i++; + continue; + } + tmp = ((ch1 > '9') ? (ch1 - 'A' + 10) : (ch1 - '0')) * 16 + ((ch2 > '9') ? (ch2 - 'A' + 10) : (ch2 - '0')); + *dst = tmp; + dst++; + i += 3; + } + else // 非编码字节 + { + *dst = src[i]; + dst++; + i++; + } + } // 输出加个结束符 + *dst = '\0'; + + return 1; +} + +/************************************************* +Function: // delete_characters +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // no use +*************************************************/ +char *delete_characters(const char *incoming, const char *characters, int flag) +{ + const char *pt1, *pt2; + static char out[20 * 254]; + int len1; + + // memset(out, 0, sizeof(out)); //1-6 + pt1 = incoming; + len1 = strlen(characters); + while (strncmp(pt1, characters, len1) == 0) // 清除最开始的 characters + pt1 = pt1 + len1; + while ((pt2 = strstr(pt1, characters)) != NULL && *pt1 != '\0') + { + strncat(out, pt1, pt2 - pt1); + if (flag) + strcat(out, " "); // incoming为全英文 + pt1 = pt2 + len1; + } + + if (*pt1 != '\0') + strncat(out, pt1, strlen(incoming) - (pt1 - incoming)); + while (out[strlen(out) - 1] == ' ') + out[strlen(out) - 1] = '\0'; + + return out; +} + +/************************************************* +Function: // smtp_init +Description: // The initial function of smtp file +Calls: // tcp_socket; tcp_bind; tcp_listen; + set_smtp_link_state +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void smtp_init() +{ + int i; + struct sockaddr_in server_addr; + memset(smtp_rx_port, 0, sizeof(struct tSmtpPort) * SMTP_MAX_RX_PORT); + bzero(&server_addr, sizeof(struct sockaddr_in)); + server_addr.sin_family = AF_INET; + server_addr.sin_addr.s_addr = htonl(INADDR_ANY); + server_addr.sin_port = htons(25); + + //----Smtp_Ser-- + tcp_socket(&Smtp_Ser_Sockfd); + tcp_bind(Smtp_Ser_Sockfd, (struct sockaddr *)(&server_addr), sizeof(struct sockaddr)); + tcp_listen(Smtp_Ser_Sockfd, LISTEN_NUMS); + //----smtp_tx_port------------------- + memset(smtp_tx_port, 0, sizeof(struct tSmtpPort) * SMTP_MAX_TX_PORT); + + for (i = 0; i < Exe_num; i++) + Execute[i] = -1; + + memset(&smtp_wait_queue, -1, sizeof(struct Smtp_wait_queue)); + smtp_wait_queue.start = 0; + smtp_wait_queue.end = 0; + for (i = 0; i < (Exe_num + LISTEN_NUMS); i++) + All_Socket_FD[i] = -1; + + set_smtp_link_state(1); + set_smtp_link_state(1); + + return; +} + +/************************************************* +Function: // smtp_main +Description: // The timer function of the smtp file +Calls: // tcp_accept + add_socket_fd + add_socket_rx + set_smtp_link_state + smtp_rx_failed + smtp_rx_fsm + smtp_tx_restart + smtp_tx_fsm +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +void smtp_main() +{ + int sin_size; + int temp_fd = -2; + int count; + struct sockaddr_in client_addr; + + sin_size = sizeof(struct sockaddr_in); + + if (get_smpp_tx_link_state() > 0) + { + temp_fd = tcp_accept(Smtp_Ser_Sockfd, (struct sockaddr *)(&client_addr), &sin_size); + if (temp_fd > -1) + { + smtp_rx_port_assign(temp_fd, smtp_rx_port); + add_socket_fd(temp_fd); + smeg_print("temp_fd: %d\n", temp_fd); + add_socket_rx(); + set_smtp_link_state(1); + printf("client connect\n"); + } + } + + check_write_read(); + for (count = 0; count < SMTP_MAX_RX_PORT; count++) + { + if (smtp_rx_port[count].port_state != SMTP_PORT_IDLE) + { + smtp_rx_port[count].time_out++; + if (smtp_rx_port[count].time_out >= 600) + { + smtp_rx_failed(&smtp_rx_port[count]); // 1-8 + continue; + } + smtp_rx_fsm(&smtp_rx_port[count]); + smeg_print("smtp_rx_port:%d, port_state:%d, curr_state:%d\n", count, smtp_rx_port[count].port_state, smtp_rx_port[count].curr_state); + } + } + + // check_write_read(); + for (count = 0; count < SMTP_MAX_TX_PORT; count++) + { + if (smtp_tx_port[count].port_state != SMTP_PORT_IDLE) + { + smtp_tx_port[count].time_out++; + if (smtp_tx_port[count].time_out >= 600) // 10s for each trying + { + smtp_tx_restart(&smtp_tx_port[count]); + continue; + } + smtp_tx_fsm(&smtp_tx_port[count]); + smeg_print("smtp_tx_port:%d, port_state:%d, curr_state:%d\n", count, smtp_tx_port[count].port_state, smtp_tx_port[count].curr_state); + } + } +} + +/************************************************* +Function: // smtp_send_sm +Description: // When receive a sm,change it to smtp format and send it to the smtp server +Calls: // sm2email; smtp_tx_port_assign; +Called By: // parse_sm +Table Accessed: // +Table Updated: // +Input: // source_addr:the msisdn of the MT; short_message:the content of the sm +Output: // +Return: // +Others: // +*************************************************/ +void smtp_send_sm(const char *source_addr, char *short_message) +{ + SMTP_MSG smtp_msg; + + if (!check_user(source_addr)) + return; + + memset(&smtp_msg, 0, sizeof(SMTP_MSG)); + + strcpy(smtp_msg.sender, "<"); + strcat(smtp_msg.sender, source_addr); + strcat(smtp_msg.sender, "@"); + strcat(smtp_msg.sender, (char *)get_emaildomain()); + strcat(smtp_msg.sender, ">"); + + if (sm2email(&smtp_msg, short_message) == PARSE_ERROR) + return; + + smtp_tx_port_assign(&smtp_msg); +} + +/************************************************* +Function: // sm2email +Description: // To change the sm format to the email format +Calls: // +Called By: // smtp_send_sm +Table Accessed: // +Table Updated: // +Input: // smtp_msg:the smtp message; sm_contents:the content of the sm +Output: // +Return: // +Others: // +*************************************************/ +int sm2email(SMTP_MSG *smtp_msg, char *sm_contents) +{ + char tempcontents[8192]; + char *pAddr, *pDestAddr, *pSubject, *pContent; + char *pMsg = sm_contents; + ; + char *pAt, *pSemicolon, *pTmpCh; + int addrLen = 0; + int i = 0; + + if (smtp_msg == NULL || sm_contents == NULL || strlen(sm_contents) > MAX_EMAIL_LENGTH) + return PARSE_ERROR; + + while (*pMsg < 0x21) // eat control ASCCII char + pMsg++; + + if (*pMsg == '"') + { // eat sender's name + pMsg++; + while (*pMsg != '"') + pMsg++; + pMsg++; + } + + while (*pMsg == ' ') // eat blank + pMsg++; + + pDestAddr = pMsg; + if ((pTmpCh = strchr(pMsg, ' ')) != NULL) + { + *pTmpCh = '\0'; + pSubject = pTmpCh + 1; + if (pSubject[0] == '#' && pSubject[1] == '#' && strchr(pSubject + 2, '#') != NULL) + { + // has subject marked by ## and # + pSubject += 2; // skip ## + pTmpCh = strchr(pSubject, '#'); + *pTmpCh = '\0'; + pContent = pTmpCh + 1; // skip '#' + } + else if (pSubject[0] == '(' && strchr(pSubject, ')') != NULL) + { + // has subject marked by ( and ) + pSubject += 1; // skip ( + pTmpCh = strchr(pSubject, ')'); + *pTmpCh = '\0'; + pContent = pTmpCh + 1; // skip ')' + } + else + { + // no subject + pContent = pSubject; + pSubject = NULL; + } + } + + // parse receiptor address + pAddr = pDestAddr; + smtp_msg->recipientNum = 0; + while (pAddr != NULL) + { + i = 0; + + if ((pSemicolon = strchr(pAddr, ',')) != NULL) + *(pSemicolon++) = '\0'; + + if ((pAt = strchr(pAddr, '@')) == NULL && (pAt = strchr(pAddr, '*')) == NULL) + goto NEXT_ADDR; // format wrong + + if (*pAt == '*') + *pAt = '@'; // replace '*' with '@' + + addrLen = strlen(pAddr); + if (addrLen > SMTP_ADDR_LENGTH) + goto NEXT_ADDR; // address to long, ignore + + smtp_msg->recipient[smtp_msg->recipientNum][i++] = '<'; + strncpy(smtp_msg->recipient[smtp_msg->recipientNum] + i, pAddr, addrLen); + i += addrLen; + smtp_msg->recipient[smtp_msg->recipientNum][i++] = '>'; + smtp_msg->recipient[smtp_msg->recipientNum][i++] = '\0'; + + if (++smtp_msg->recipientNum > MAX_RECEIPTOR_PER_MSG) + break; + + NEXT_ADDR: + pAddr = pSemicolon; // point to next one + } + + if (smtp_msg->recipientNum == 0) + return PARSE_ERROR; + + strcpy(tempcontents, "From: "); + strcat(tempcontents, smtp_msg->sender); + strcat(tempcontents, "\r\nTo: "); + for (i = 0; i < smtp_msg->recipientNum; i++) + { + if (i != 0) + strcat(tempcontents, ","); + strcat(tempcontents, smtp_msg->recipient[i]); + } + + if (pSubject != NULL && strlen(pSubject) != 0) + { + char *p; + strcpy((char *)smtp_msg->subject, pSubject); + strcat(tempcontents, "\r\nSubject: =?UTF-8?B?"); + p = base64_encode(pSubject); + if (p == NULL) + return PARSE_ERROR; + strcat(tempcontents, p); + strcat(tempcontents, "?="); + } + strcat(tempcontents, "\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=\""); + strcat(tempcontents, "UTF-8\"\r\nContent-Transfer-Encoding: base64\r\n\r\n"); + if (pContent != NULL && pContent[0] != '\0') + { + char *p = base64_encode(pContent); + if (p == NULL) + return PARSE_ERROR; + strcat(tempcontents, p); + } + strcpy((char *)smtp_msg->contents, tempcontents); + + smeg_print("Recipient:"); + for (i = 0; i < smtp_msg->recipientNum; i++) + smeg_print("%s,", smtp_msg->recipient[i]); + smeg_print("\nSubject:%s\n", smtp_msg->subject); + smeg_print("Contents:\n%s\n", smtp_msg->contents); + + return PARSE_SUCCESS; +} + +/************************************************* +Function: // save_smtp_tx_msg +Description: // +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // no use +*************************************************/ +void save_smtp_tx_msg() +{ + int count; + for (count = 0; count < SMTP_MAX_TX_PORT; count++) + if (smtp_tx_port[count].port_state == SMTP_PORT_BUSY) + smtp_tx_port[count].curr_state = SMTP_TX_BEGIN; +} + +/************************************************* +Function: // add_socket_fd +Description: // Insert the socket id into the queue +Calls: // +Called By: // smtp_tx_fsm +Table Accessed: // +Table Updated: // +Input: // fd:the socket id +Output: // +Return: // +Others: // +*************************************************/ +void add_socket_fd(int fd) +{ + int i; + for (i = 0; i < (Exe_num + LISTEN_NUMS); i++) + { + if (All_Socket_FD[i] == -1) + { + All_Socket_FD[i] = fd; + return; + } + } +} + +/************************************************* +Function: // delete_socket_fd +Description: // Delete the socket id in the queue +Calls: // +Called By: // smtp_tx_restart; smtp_tx_port_release; +Table Accessed: // +Table Updated: // +Input: // fd:socket id +Output: // +Return: // +Others: // +*************************************************/ +void delete_socket_fd(int fd) +{ + int i; + for (i = 0; i < (Exe_num + LISTEN_NUMS); i++) + { + if (All_Socket_FD[i] == fd) + { + All_Socket_FD[i] = -1; + return; + } + } +} + +/************************************************* +Function: // check_write_read +Description: // Check the state of the socket +Calls: // +Called By: // +Table Accessed: // +Table Updated: // +Input: // +Output: // +Return: // +Others: // +*************************************************/ +int check_write_read() +{ + int i; + int MaxFd = 0; + struct timeval timeout = {0, 10}; + FD_ZERO(&Write_fd); + FD_ZERO(&Read_fd); + for (i = 0; i < (Exe_num + LISTEN_NUMS); i++) + { + if (All_Socket_FD[i] == -1) + continue; + + FD_SET(All_Socket_FD[i], &Write_fd); + FD_SET(All_Socket_FD[i], &Read_fd); + if (All_Socket_FD[i] > MaxFd) + MaxFd = All_Socket_FD[i]; + } + return select(MaxFd + 1, &Read_fd, &Write_fd, NULL, &timeout); +} + +void add_socket_tx() +{ + ++socket_tx; +} +void add_socket_rx() +{ + ++socket_rx; +} +void delt_socket_tx() +{ + --socket_tx; +} +void delt_socket_rx() +{ + --socket_rx; +} // 1-6 diff --git a/src/smeg/src/tcp_client.c b/src/smeg/src/tcp_client.c new file mode 100644 index 0000000..fa4ae58 --- /dev/null +++ b/src/smeg/src/tcp_client.c @@ -0,0 +1,140 @@ +/* + * Non-blocking TCP connect() + * + * 1. fcntl(*sockfd,F_SETFL,FNDELAY) to make connect return immediately(return value=EINPROGRESS) + * 2. + * + */ +#include "include/tcp_client.h" +#include "include/smeg_pub.h" +#define SMEG_DEBUG_ERROR true +/* by simon at 23/9/27 */ +//extern BYTE DEBUG_buf[6000]; + +/* + * Syntax: tcp_tx_connect("127.0.0.1",25) + * INPUT: Destination IP, Port + */ + + +int +tcp_send(int sockfd, byte *send_buffer, int send_buffer_size) +{ + return(send(sockfd, send_buffer, send_buffer_size, MSG_NOSIGNAL)); +} + +int +tcp_recv(int sockfd, byte *recv_buffer, int recv_buffer_size) +{ + return(read(sockfd, recv_buffer, recv_buffer_size)); +} + +int tcp_disconnect(int sockfd) +{ + return(close(sockfd)); + +} +/* --------------------------------------------- * + * nonblocking_flag=0 for normal connect() + * nonblocking_flag=1 for non-blocking connect() + * --------------------------------------------- */ +int tcp_tx_connect(int *sockfd, char *dest_ip, unsigned short int dest_port,int nonblocking_flag) +{ + int ret; + struct sockaddr_in serv_addr; + int error = -1, len; + len = sizeof(int); + + memset((char *) &serv_addr, 0, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_addr.s_addr = inet_addr(dest_ip); + serv_addr.sin_port = htons(dest_port); + if(*sockfd <= 0) + { + if ( (*sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) + { + perror("socket"); + return(*sockfd); + } + else + { + fcntl(*sockfd, F_SETFL, O_NONBLOCK); + } + } + + if(connect(*sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) + { + getsockopt(*sockfd, SOL_SOCKET, SO_ERROR, &error, (socklen_t *)&len); + if(error == 0) + ret = -1; + else + ret = -2; + } + else + { + smeg_print("\nconnect sockfd=%d\n", *sockfd); + ret = 0; + } + + return ret; +} + +int tcp_socket(int *sockfd) +{ + if((*sockfd=socket(AF_INET,SOCK_STREAM,0))==-1) + { + smeg_print("socket fail\n"); + printf("smeg socket fail\n"); + return 0; + } + if(fcntl(*sockfd,F_SETFL,O_NONBLOCK)<0) + { + fprintf(stderr,"set nonblock failed\n"); + return 0; + } + smeg_print("\nsocket success\n"); + printf("smeg socket success\n"); + return 1; +} + +int tcp_bind(int sockfd, struct sockaddr *my_addr, int addrlen) +{ + if(bind(sockfd, my_addr, addrlen)<0) + { + sleep(60); + if(bind(sockfd, my_addr, addrlen)<0) { + smeg_print("bind fail\n"); + printf("smeg bind fail\n"); + return 0; + } + } + printf("smeg bind success\n"); + smeg_print("bind success\n"); + return 1; +} + +int tcp_listen(int sockfd, int backlog) +{ + if(listen(sockfd,backlog)==-1) + { + smeg_print("listen fail\n"); + printf("smeg listen fail\n"); + return 0; + } + smeg_print("listen success\n"); + printf("smeg listen success\n"); + return 1; +} + +int tcp_accept(int sockfd, struct sockaddr *addr,int *addrlen) +{ + return (accept(sockfd, addr, (size_t*)addrlen)); +} + + + + + + + +