[sccp] Implement sccp_parse_header to be used by the NAT code.
This commit is contained in:
parent
ef84539fb7
commit
caf49b4c14
|
@ -1275,6 +1275,41 @@ int sccp_determine_msg_type(struct msgb *msg)
|
||||||
return msg->l2h[0];
|
return msg->l2h[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sccp_parse_header(struct msgb *msg, struct sccp_parse_result *result)
|
||||||
|
{
|
||||||
|
int type;
|
||||||
|
|
||||||
|
if (msgb_l2len(msg) < 1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
type = msg->l2h[0];
|
||||||
|
switch(type) {
|
||||||
|
case SCCP_MSG_TYPE_CR:
|
||||||
|
return _sccp_parse_connection_request(msg, result);
|
||||||
|
break;
|
||||||
|
case SCCP_MSG_TYPE_RLSD:
|
||||||
|
return _sccp_parse_connection_released(msg, result);
|
||||||
|
break;
|
||||||
|
case SCCP_MSG_TYPE_CREF:
|
||||||
|
return _sccp_parse_connection_refused(msg, result);
|
||||||
|
break;
|
||||||
|
case SCCP_MSG_TYPE_CC:
|
||||||
|
return _sccp_parse_connection_confirm(msg, result);
|
||||||
|
break;
|
||||||
|
case SCCP_MSG_TYPE_RLC:
|
||||||
|
return _sccp_parse_connection_release_complete(msg, result);
|
||||||
|
break;
|
||||||
|
case SCCP_MSG_TYPE_DT1:
|
||||||
|
return _sccp_parse_connection_dt1(msg, result);
|
||||||
|
break;
|
||||||
|
case SCCP_MSG_TYPE_UDT:
|
||||||
|
return _sccp_parse_udt(msg, result);
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
static __attribute__((constructor)) void on_dso_load(void)
|
static __attribute__((constructor)) void on_dso_load(void)
|
||||||
{
|
{
|
||||||
tall_sccp_ctx = talloc_named_const(NULL, 1, "sccp");
|
tall_sccp_ctx = talloc_named_const(NULL, 1, "sccp");
|
||||||
|
|
Loading…
Reference in New Issue