Merge code associated with AST-2009-006

(closes issue #12912)
Reported by: rathaus
Tested by: tilghman, russell, dvossel, dbrooks


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@215955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
David Vossel
2009-09-03 16:31:54 +00:00
parent 6d6ce303cb
commit d09f9fd00a
9 changed files with 1299 additions and 163 deletions

View File

@@ -277,6 +277,7 @@ static struct iax2_ie {
{ IAX_IE_RR_OOO, "RR_OUTOFORDER", dump_int },
{ IAX_IE_VARIABLE, "VARIABLE", dump_string },
{ IAX_IE_OSPTOKEN, "OSPTOKEN" },
{ IAX_IE_CALLTOKEN, "CALLTOKEN" },
};
static const struct iax2_ie prov_ies[] = {
@@ -533,6 +534,9 @@ void iax_frame_subclass2str(enum iax_frame_subclass subclass, char *str, size_t
case IAX_COMMAND_RTKEY:
cmd = "RTKEY ";
break;
case IAX_COMMAND_CALLTOKEN:
cmd = "CTOKEN ";
break;
}
ast_copy_string(str, cmd, len);
}
@@ -1052,6 +1056,12 @@ int iax_parse_ies(struct iax_ies *ies, unsigned char *data, int datalen)
errorf(tmp);
}
break;
case IAX_IE_CALLTOKEN:
if (len) {
ies->calltokendata = (unsigned char *) data + 2;
}
ies->calltoken = 1;
break;
default:
snprintf(tmp, (int)sizeof(tmp), "Ignoring unknown information element '%s' (%d) of length %d\n", iax_ie2str(ie), ie, len);
outputf(tmp);