diff --git a/bin/mib/LGC-SS-SMSC-MIB.my b/bin/mib/LGC-SS-SMSC-MIB.my index c88b44d..47ca2e3 100644 --- a/bin/mib/LGC-SS-SMSC-MIB.my +++ b/bin/mib/LGC-SS-SMSC-MIB.my @@ -528,8 +528,15 @@ ::= { 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 } + -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.12 smppRoleType OBJECT-TYPE SYNTAX INTEGER { @@ -541,30 +548,9 @@ DESCRIPTION "Key Parameter:Yes Name:Role Type Remark:Specify the role type of local SMPP entity" - ::= { sMPPEntry 11 } - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.12 - smppRerouteInd OBJECT-TYPE - SYNTAX INTEGER - { - disable(0), - enable(1) - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes Name:Reroute Indication - Remark:Specify the reroute indication of local SMPP entity" ::= { sMPPEntry 12 } - -- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.13 - smppRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Key Parameter:Yes" - ::= { sMPPEntry 13 } - + END -- diff --git a/src/accountMgr/c_program/cdrCollector/cdr.c b/src/accountMgr/c_program/cdrCollector/cdr.c index f99481c..8b5599b 100644 --- a/src/accountMgr/c_program/cdrCollector/cdr.c +++ b/src/accountMgr/c_program/cdrCollector/cdr.c @@ -82,6 +82,8 @@ 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); +char* askm2str(BYTE* buf,int len); + void test() { @@ -1442,9 +1444,19 @@ void cdr_parse(cdr_sys *psys,int tagcode,ASN_BUF *asnbuf,int fieldIndex,char* fi 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 if (psrc->sysTypeNo == 320 && !strcmp(pdef->fields[fieldIndex].tags[tagcode], "7.12")) + { + if (tempbyte[0] == 0x91 ||tempbyte[0] == 0x81) { + sprintf(fieldstr, ",'%s'", digits2str(tempbyte + 1, (len - 1) * 2)); + } else { + // 阿斯克码值 + sprintf(fieldstr, ",'%s'", askm2str(tempbyte, len * 2)); + } + } else sprintf(fieldstr,",'%s'",digits2str(tempbyte + 1,(len - 1) * 2)); } @@ -1952,6 +1964,22 @@ char* digits2str(BYTE* buf,int len) return dig; } +char* askm2str(BYTE* buf, int len) { + static char str[512]; + int i; + + for (i = 0; i < 512; i++) { + str[i] = '\0'; + } + + for (i = 0; i < len; i++) { + str[i] = buf[i]; + } + str[len] = '\0'; + + return str; +} + // Extra function int sendHeartbeat() {