add MSC-CDR

This commit is contained in:
root
2025-01-03 18:35:27 +08:00
parent 8ef1414ea3
commit 6d9e440ec8
2 changed files with 37 additions and 23 deletions

View File

@@ -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
--

View File

@@ -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()
{