Encode and decode the non-standard digit 14 as letter E in ISUP and SCCP.

git-svn-id: http://yate.null.ro/svn/yate/trunk@4845 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2012-02-07 12:35:49 +00:00
parent ce71ae8931
commit 6eee4dd672
2 changed files with 6 additions and 2 deletions

View File

@ -280,7 +280,7 @@ static void getDigits(String& num, unsigned char oddNum, const unsigned char* bu
{
bool odd = (oddNum & 0x80) != 0;
static const char digits1[] = "0123456789\0BC\0\0.";
static const char digits2[] = "0123456789ABCD?.";
static const char digits2[] = "0123456789ABCDE.";
const char* digits = ignoreUnk ? digits1 : digits2;
for (unsigned int i = 0; i < len; i++) {
num += digits[buf[i] & 0x0f];
@ -701,6 +701,8 @@ static unsigned char setDigits(SS7MSU& msu, const char* val, unsigned char nai,
n = 12;
else if ('D' == c)
n = 13;
else if ('E' == c)
n = 13;
else
continue;
odd = !odd;

View File

@ -331,7 +331,7 @@ static void getDigits(String& num, bool oddNum, const unsigned char* buf, unsign
bool ignoreUnk)
{
static const char digits1[] = "0123456789\0BC\0\0.";
static const char digits2[] = "0123456789ABCD?.";
static const char digits2[] = "0123456789ABCDE.";
const char* digits = ignoreUnk ? digits1 : digits2;
for (unsigned int i = 0; i < len; i++) {
num += digits[buf[i] & 0x0f];
@ -646,6 +646,8 @@ static DataBlock* setDigits(const char* val)
n = 12;
else if ('D' == c)
n = 13;
else if ('E' == c)
n = 13;
else
continue;
odd = !odd;