add MSC-CDR
This commit is contained in:
@@ -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()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user