wireshark/asn1/h248/h248.cnf

307 lines
10 KiB
INI

# h248.cnf
# H.248 conformation file
# $Id$
#.MODULE_IMPORT
#.EXPORTS
#.PDU
#.NO_EMIT
MtpAddress
PkgdName
ErrorCode
PropertyID
SignalName
SigParameterName
SigParamValue
EventName
EventParameterName
EventParamValue
ContextID
#.TYPE_RENAME
IndAudMediaDescriptor/streams indAudMediaDescriptorStreams
ActionRequest/contextId contextId
ActionReply/contextId contextId
TransactionRequest/transactionId transactionId
TransactionPending/transactionId transactionId
TransactionReply/transactionId transactionId
StatisticsParameter/statName StatName
StatisticsParameter/statValue StatValue
PropertyParm/propertyName PropertyName
#.FIELD_RENAME
IP4Address/address iP4Address
IP6Address/address iP6Address
ContextAttrAuditRequest/emergency cAAREmergency
ContextAttrAuditRequest/priority cAARPriority
SecondRequestedEvent/eventAction secondaryEventAction
TerminationStateDescriptor/eventBufferControl tSEventBufferControl
SecondEventsDescriptor/eventList secondaryEventList
IndAudEventBufferDescriptor/eventName iAEBDEventName
TerminationID/id terminationId
IndAudStreamParms/localControlDescriptor iASPLocalControlDescriptor
IndAudStreamParms/localDescriptor iASPLocalDescriptor
MediaDescriptor/streams/oneStream mediaDescriptorOneStream
MediaDescriptor/streams/multiStream mediaDescriptorMultiStream
MediaDescriptor/streams/multiStream/_item mediaDescriptorMultiStream_item
DomainName/name domName
IndAudEventsDescriptor/pkgdName iAEDPkgdName
IndAudLocalRemoteDescriptor/propGrps iAPropertyGroup
IndAudLocalControlDescriptor/propertyParms indAudPropertyParms
IndAudTerminationStateDescriptor/propertyParms indAudPropertyParms
IndAudLocalControlDescriptor/reserveGroup iALCDReserveGroup
IndAudLocalControlDescriptor/reserveValue iALCDReserveValue
IndAudLocalControlDescriptor/streamMode iALCDStreamMode
IndAudStreamDescriptor/streamParms indAudStreamParms
IndAudMediaDescriptor/termStateDescr indAudTerminationStateDescriptor
IndAudSignal/signalName iASignalName
IndAudSeqSigList/signalList iASignalList
IndAudSignalsDescriptor/signal indAudSignal
IndAudSignalsDescriptor/seqSigList indAudSeqSigList
IndAudTerminationStateDescriptor/serviceState iATSDServiceState
IndAudStreamParms/remoteDescriptor iASPRemoteDescriptor
PropertyParm/value propertyParamValue
IndAudMediaDescriptor/streams indAudMediaDescriptorStreams
AmmRequest/terminationID terminationIDList
AmmsReply/terminationID terminationIDList
SubtractRequest/terminationID terminationIDList
NotifyRequest/terminationID terminationIDList
NotifyReply/terminationID terminationIDList
ServiceChangeRequest/terminationID terminationIDList
ServiceChangeReply/terminationID terminationIDList
IndAudStatisticsDescriptor/statName iAStatName
#.FN_HDR Message
curr_info.msg = gcp_msg(actx->pinfo,TVB_RAW_OFFSET(tvb),keep_persistent_data);
#.END
#.FN_FTR Message
if (check_col(actx->pinfo->cinfo, COL_INFO))
col_set_str(actx->pinfo->cinfo, COL_INFO, gcp_msg_to_str(curr_info.msg,keep_persistent_data));
if (keep_persistent_data)
gcp_analyze_msg(h248_tree, h248_tvb, curr_info.msg, &h248_arrel);
#.END
#.FN_BODY TransactionRequest/transactionId
guint32 trx_id = 0;
offset = dissect_h248_trx_id(implicit_tag, actx->pinfo, tree, tvb, offset, &trx_id);
curr_info.trx = gcp_trx(curr_info.msg, trx_id, GCP_TRX_REQUEST, keep_persistent_data);
error_code = 0;
#.END
#.FN_BODY ActionRequest/contextId
guint32 ctx_id = 0;
offset = dissect_h248_ctx_id(implicit_tag, actx->pinfo, tree, tvb, offset, &ctx_id);
curr_info.ctx = gcp_ctx(curr_info.msg,curr_info.trx,ctx_id,keep_persistent_data);
curr_info.cmd = NULL;
curr_info.term = NULL;
#.END
#.FN_FTR ActionReply
if (!curr_info.cmd) {
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_REPLY,offset,keep_persistent_data);
H248_TAP();
}
#.END
#.FN_HDR Command/addReq
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_ADD_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR Command/addReq
curr_info.cmd = NULL;
#.END
#.FN_HDR Command/moveReq
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_MOVE_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR Command/moveReq
curr_info.cmd = NULL;
#.END
#.FN_HDR Command/modReq
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_MOD_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR Command/modReq
curr_info.cmd = NULL;
#.END
#.FN_HDR Command/subtractReq
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_SUB_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR Command/subtractReq
curr_info.cmd = NULL;
#.END
#.FN_HDR Command/auditCapRequest
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_AUDITCAP_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR Command/auditCapRequest
curr_info.cmd = NULL;
#.END
#.FN_HDR Command/auditValueRequest
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_AUDITVAL_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR Command/auditValueRequest
curr_info.cmd = NULL;
#.END
#.FN_HDR Command/notifyReq
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_NOTIFY_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR Command/notifyReq
curr_info.cmd = NULL;
#.END
#.FN_HDR ServiceChangeRequest
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_SVCCHG_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR ServiceChangeRequest
curr_info.cmd = NULL;
#.END
#.FN_HDR ContextRequest/topologyReq
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_TOPOLOGY_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR ContextRequest/topologyReq
curr_info.cmd = NULL;
#.END
#.FN_HDR ActionRequest/contextAttrAuditReq
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_CTX_ATTR_AUDIT_REQ,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_FTR ActionRequest/contextAttrAuditReq
curr_info.cmd = NULL;
#.END
#.FN_HDR CommandReply/addReply
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_ADD_REPLY,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_HDR CommandReply/moveReply
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_MOVE_REPLY,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_HDR CommandReply/modReply
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_MOD_REPLY,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_HDR CommandReply/subtractReply
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_SUB_REPLY,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_HDR CommandReply/notifyReply
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_NOTIFY_REPLY,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_HDR ServiceChangeReply
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_SVCCHG_REPLY,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_HDR CommandReply/auditCapReply
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_AUDITCAP_REPLY,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_HDR CommandReply/auditValueReply
curr_info.cmd = gcp_cmd(curr_info.msg,curr_info.trx,curr_info.ctx,GCP_CMD_AUDITVAL_REPLY,offset,keep_persistent_data);
H248_TAP();
#.END
#.FN_BODY ErrorDescriptor/errorCode
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_h248_error_code, &error_code);
expert_add_info_format(actx->pinfo, get_ber_last_created_item(), PI_RESPONSE_CODE, PI_WARN, "Errored Command");
if (curr_info.cmd) {
gcp_cmd_set_error(curr_info.cmd,error_code);
} else if (curr_info.trx) {
gcp_trx_set_error(curr_info.trx,error_code);
}
return offset;
#.END
#.FN_HDR TerminationID
curr_info.term = ep_new0(gcp_term_t);
wild_term = GCP_WILDCARD_NONE;
#.END
#.FN_BODY WildcardField
tvbuff_t* new_tvb;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &new_tvb);
tree = proto_item_add_subtree(get_ber_last_created_item(),ett_wildcard);
proto_tree_add_item(tree,hf_h248_term_wild_type,new_tvb,0,1,FALSE);
proto_tree_add_item(tree,hf_h248_term_wild_level,new_tvb,0,1,FALSE);
proto_tree_add_item(tree,hf_h248_term_wild_position,new_tvb,0,1,FALSE);
wild_term = tvb_get_guint8(new_tvb,0) & 0x80 ? GCP_WILDCARD_CHOOSE : GCP_WILDCARD_ALL;
#.END
#.FN_BODY TerminationID/id
tvbuff_t* new_tvb;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &new_tvb);
if (new_tvb) {
curr_info.term->len = tvb_length(new_tvb);
curr_info.term->type = 0; /* unknown */
if (curr_info.term->len) {
curr_info.term->buffer = ep_tvb_memdup(new_tvb,0,curr_info.term->len);
curr_info.term->str = bytes_to_str(curr_info.term->buffer,curr_info.term->len);
}
curr_info.term = gcp_cmd_add_term(curr_info.msg, curr_info.trx, curr_info.cmd, curr_info.term, wild_term, keep_persistent_data);
if (h248_term_handle) {
call_dissector(h248_term_handle, new_tvb, actx->pinfo, tree);
}
} else {
curr_info.term->len = 0;
curr_info.term->buffer = (guint8*)ep_strdup("");
curr_info.term->str = ep_strdup("?");
}
#.END
#.FN_BODY SCreasonValueOctetStr VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
dissect_h248_ServiceChangeReasonStr(FALSE, parameter_tvb, 0, actx, tree, hf_h248_serviceChangeReasonStr);
#.TYPE_ATTR
IP4Address/address TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
IP6Address/address TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
ActionRequest/contextId TYPE = FT_UINT32 DISPLAY = BASE_HEX STRINGS = NULL
ActionReply/contextId TYPE = FT_UINT32 DISPLAY = BASE_HEX STRINGS = NULL