2005-01-02 22:01:32 +00:00
|
|
|
# h225.cnf
|
|
|
|
# H.225 conformation file
|
|
|
|
# Copyright 2004 Anders Broman
|
|
|
|
# $Id$
|
|
|
|
|
|
|
|
#.INCLUDE ../h235/h235-exp.cnf
|
|
|
|
#.INCLUDE ../h245/h245-exp.cnf
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.EXPORTS
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
NonStandardParameter
|
2006-06-20 19:54:28 +00:00
|
|
|
RasMessage WITH_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
H323-UU-PDU/h323-message-body ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
FacilityReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
GatekeeperRejectReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
UnregRequestReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
UnregRejectReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
BandRejectReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
DisengageReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
DisengageRejectReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
InfoRequestNakReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
ReleaseCompleteReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
AdmissionRejectReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
LocationRejectReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
|
|
|
RegistrationRejectReason ONLY_VALS WS_VAR NO_PROT_PREFIX
|
2005-01-05 02:25:34 +00:00
|
|
|
AliasAddress NO_PROT_PREFIX
|
2005-01-13 21:09:45 +00:00
|
|
|
PartyNumber
|
|
|
|
PresentationIndicator
|
|
|
|
ScreeningIndicator
|
2005-01-19 22:43:15 +00:00
|
|
|
CallIdentifier
|
2006-05-15 06:27:53 +00:00
|
|
|
GenericData
|
2006-05-29 13:06:44 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#.VIRTUAL_ASSGN
|
|
|
|
FastStart Setup-UUIE/fastStart
|
|
|
|
#.SET_TYPE
|
|
|
|
Setup-UUIE/fastStart FastStart
|
|
|
|
CallProceeding-UUIE/fastStart FastStart
|
|
|
|
Connect-UUIE/fastStart FastStart
|
|
|
|
Alerting-UUIE/fastStart FastStart
|
|
|
|
Information-UUIE/fastStart FastStart
|
|
|
|
Facility-UUIE/fastStart FastStart
|
|
|
|
Progress-UUIE/fastStart FastStart
|
|
|
|
|
|
|
|
#.VIRTUAL_ASSGN
|
|
|
|
H245Control H323-UU-PDU/h245Control
|
|
|
|
ParallelH245Control Setup-UUIE/parallelH245Control
|
|
|
|
DialedDigits AliasAddress/dialedDigits
|
|
|
|
|
|
|
|
#.VIRTUAL_ASSGN
|
|
|
|
DestinationInfo AdmissionRequest/destinationInfo
|
|
|
|
#.SET_TYPE
|
|
|
|
AdmissionRequest/destinationInfo DestinationInfo
|
|
|
|
AdmissionConfirm/destinationInfo DestinationInfo
|
|
|
|
LocationRequest/destinationInfo DestinationInfo
|
|
|
|
LocationConfirm/destinationInfo DestinationInfo
|
|
|
|
|
|
|
|
#.VIRTUAL_ASSGN
|
|
|
|
H245TransportAddress TransportAddress
|
|
|
|
#.SET_TYPE
|
|
|
|
Setup-UUIE/h245Address H245TransportAddress
|
|
|
|
CallProceeding-UUIE/h245Address H245TransportAddress
|
|
|
|
Connect-UUIE/h245Address H245TransportAddress
|
|
|
|
Alerting-UUIE/h245Address H245TransportAddress
|
|
|
|
Facility-UUIE/h245Address H245TransportAddress
|
|
|
|
Progress-UUIE/h245Address H245TransportAddress
|
|
|
|
#.FIELD_RENAME
|
|
|
|
H245TransportAddress/ipAddress h245IpAddress
|
|
|
|
H245TransportAddress/ipAddress/ip h245Ip
|
|
|
|
H245TransportAddress/ipAddress/port h245IpPort
|
|
|
|
H245TransportAddress/ipSourceRoute h245IpSourceRoute
|
|
|
|
H245TransportAddress/ipSourceRoute/route h245Route
|
|
|
|
H245TransportAddress/ipSourceRoute/routing h245Routing
|
|
|
|
H245TransportAddress/ipxAddress h245IpxAddress
|
|
|
|
H245TransportAddress/ipxAddress/port h245IpxPort
|
|
|
|
H245TransportAddress/ip6Address h245Ip6Address
|
|
|
|
H245TransportAddress/ip6Address/ip h245Ip6
|
|
|
|
|
2005-01-02 22:01:32 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.TYPE_RENAME
|
|
|
|
CallCreditServiceControl/callStartingPoint CallCreditServiceControl_callStartingPoint
|
|
|
|
TunnelledProtocol/id TunnelledProtocol_id
|
|
|
|
ServiceControlSession/reason ServiceControlSession_reason
|
|
|
|
RasUsageSpecification/callStartingPoint RasUsageSpecificationcallStartingPoint
|
|
|
|
CapacityReportingSpecification/when CapacityReportingSpecification_when
|
|
|
|
RasUsageSpecification/when RasUsageSpecification_when
|
|
|
|
TransportAddress/ipAddress/ip IpV4
|
2005-02-02 20:02:46 +00:00
|
|
|
Connect-UUIE/language Language
|
|
|
|
Setup-UUIE/language Language
|
|
|
|
AdmissionConfirm/language Language
|
2005-01-02 22:01:32 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FIELD_RENAME
|
|
|
|
RasUsageSpecification/callStartingPoint/alerting alerting_flg
|
|
|
|
CallCreditServiceControl/callStartingPoint/alerting alerting_flg
|
|
|
|
UseSpecifiedTransport/annexE annexE_flg
|
|
|
|
|
|
|
|
UUIEsRequested/callProceeding callProceeding_flg
|
|
|
|
|
|
|
|
CicInfo/cic cic_2_4
|
|
|
|
UUIEsRequested/connect connect_bool
|
2005-01-20 12:02:08 +00:00
|
|
|
NonStandardIdentifier/object nsiOID
|
|
|
|
NonStandardParameter/data nsp_data
|
2005-01-02 22:01:32 +00:00
|
|
|
H323-UU-PDU/h323-message-body/empty empty_flg
|
|
|
|
RasUsageInfoTypes/endTime endTime_flg
|
|
|
|
UUIEsRequested/facility facility_bool
|
|
|
|
CallsAvailable/group group_IA5String
|
|
|
|
GroupID/group group_IA5String
|
|
|
|
|
|
|
|
Setup-UUIE/hopCount hopCount_1_31
|
|
|
|
UUIEsRequested/information information_bool
|
|
|
|
TransportAddress/ip6Address/ip ipV6
|
|
|
|
TransportAddress/ipAddress/ip ipV4
|
|
|
|
TransportAddress/ipSourceRoute/ip src_route_ipV4
|
|
|
|
RTPSession/multicast multicast_flg
|
|
|
|
|
|
|
|
UUIEsRequested/notify notify_bool
|
|
|
|
TransportAddress/ipxAddress/port ipx_port
|
|
|
|
TransportAddress/ipAddress/port ipV4_port
|
|
|
|
TransportAddress/ipSourceRoute/port ipV4_src_port
|
|
|
|
TransportAddress/ip6Address/port ipV6_port
|
|
|
|
UUIEsRequested/progress progress_bool
|
|
|
|
|
|
|
|
Facility-UUIE/reason facilityReason
|
|
|
|
UnregistrationRequest/reason unregRequestReason
|
|
|
|
ReleaseComplete-UUIE/reason releaseCompleteReason
|
|
|
|
BandwidthReject/rejectReason bandRejectReason
|
|
|
|
UnregistrationReject/rejectReason unregRejectReason
|
|
|
|
RegistrationReject/rejectReason registrationRejectReason
|
|
|
|
LocationReject/rejectReason locationRejectReason
|
|
|
|
DisengageReject/rejectReason disengageRejectReason
|
|
|
|
GatekeeperReject/rejectReason gatekeeperRejectReason
|
|
|
|
|
|
|
|
UUIEsRequested/releaseComplete releaseComplete_bool
|
|
|
|
UseSpecifiedTransport/sctp sctp_flg
|
|
|
|
ServiceControlSession/sessionId sessionId_0_255
|
|
|
|
UUIEsRequested/setup setup_bool
|
|
|
|
UUIEsRequested/setupAcknowledge setupAcknowledge_bool
|
2005-06-07 12:05:03 +00:00
|
|
|
Setup-UUIE/sourceInfo setup-UUIE_sourceInfo
|
2005-01-02 22:01:32 +00:00
|
|
|
|
|
|
|
UUIEsRequested/status status_bool
|
|
|
|
UUIEsRequested/statusInquiry statusInquiry_bool
|
|
|
|
RasUsageInfoTypes/terminationCause terminationCause_flg
|
|
|
|
CapacityReportingSpecification/when capacityReportingSpecification_when
|
|
|
|
UUIEsRequested/alerting alerting_bool
|
|
|
|
|
|
|
|
LocationConfirm/callSignalAddress locationConfirm_callSignalAddress
|
|
|
|
|
|
|
|
RasUsageSpecification/callStartingPoint/connect connect_flg
|
|
|
|
CallCreditServiceControl/callStartingPoint/connect connect_flg
|
|
|
|
|
|
|
|
Alerting-UUIE/destinationInfo uUIE_destinationInfo
|
|
|
|
CallProceeding-UUIE/destinationInfo uUIE_destinationInfo
|
|
|
|
Connect-UUIE/destinationInfo uUIE_destinationInfo
|
|
|
|
Facility-UUIE/destinationInfo uUIE_destinationInfo
|
|
|
|
Progress-UUIE/destinationInfo uUIE_destinationInfo
|
|
|
|
|
|
|
|
TunnelledProtocol/id tunnelledProtocol_id
|
|
|
|
SecurityCapabilities/integrity securityCapabilities_integrity
|
|
|
|
|
|
|
|
GenericIdentifier/nonStandard genericIdentifier_nonStandard
|
|
|
|
AlternateGK/rasAddress alternateGK_rasAddress
|
|
|
|
GatekeeperRequest/rasAddress gatekeeperRequest_rasAddress
|
|
|
|
GatekeeperConfirm/rasAddress gatekeeperConfirm_rasAddress
|
|
|
|
LocationConfirm/rasAddress locationConfirm_rasAddress
|
|
|
|
InfoRequestResponse/rasAddress infoRequestResponse_rasAddress
|
|
|
|
|
|
|
|
|
|
|
|
Setup-UUIE/remoteExtensionAddress uUIE_remoteExtensionAddress
|
|
|
|
Facility-UUIE/remoteExtensionAddress uUIE_remoteExtensionAddress
|
|
|
|
|
|
|
|
VendorIdentifier/vendor vendorIdentifier_vendor
|
|
|
|
|
|
|
|
RasUsageSpecification/callStartingPoint ras_callStartingPoint
|
|
|
|
|
|
|
|
ReleaseCompleteReason/securityError rLC_securityError
|
|
|
|
GatekeeperRejectReason/securityError gkRej_securityError
|
|
|
|
RegistrationRejectReason/securityError reg_securityError
|
|
|
|
|
2005-01-10 02:19:11 +00:00
|
|
|
CallIdentifier/guid guid
|
2005-01-20 12:02:08 +00:00
|
|
|
|
2005-01-02 22:01:32 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY H323-UU-PDU/h323-message-body VAL_PTR = &message_body_val
|
2005-01-02 22:01:32 +00:00
|
|
|
guint32 message_body_val;
|
|
|
|
|
|
|
|
contains_faststart = FALSE;
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2006-05-22 11:49:50 +00:00
|
|
|
if (check_col(%(ACTX)s->pinfo->cinfo, COL_INFO)){
|
|
|
|
col_append_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "CS: %%s ",
|
2005-01-02 22:01:32 +00:00
|
|
|
val_to_str(message_body_val, T_h323_message_body_vals, "<unknown>"));
|
|
|
|
}
|
|
|
|
|
2005-02-01 12:12:35 +00:00
|
|
|
if (h225_pi->msg_type == H225_CS) {
|
2005-01-02 22:01:32 +00:00
|
|
|
/* Don't override msg_tag value from IRR */
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->msg_tag = message_body_val;
|
2005-01-02 22:01:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (contains_faststart == TRUE )
|
|
|
|
{
|
2006-05-22 11:49:50 +00:00
|
|
|
if (check_col(%(ACTX)s->pinfo->cinfo, COL_INFO))
|
2005-01-02 22:01:32 +00:00
|
|
|
{
|
2006-05-22 11:49:50 +00:00
|
|
|
col_append_str(%(ACTX)s->pinfo->cinfo, COL_INFO, "OpenLogicalChannel " );
|
2005-01-02 22:01:32 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2006-05-22 11:49:50 +00:00
|
|
|
col_set_fence(%(ACTX)s->pinfo->cinfo,COL_INFO);
|
2005-01-02 22:01:32 +00:00
|
|
|
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY FastStart/_item VAL_PTR = &value_tvb
|
2005-08-31 15:03:12 +00:00
|
|
|
tvbuff_t *value_tvb = NULL;
|
2005-02-01 12:12:35 +00:00
|
|
|
char codec_str[50];
|
2005-01-02 22:01:32 +00:00
|
|
|
|
2005-08-31 15:03:12 +00:00
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
if (value_tvb && tvb_length(value_tvb)) {
|
2006-05-22 11:49:50 +00:00
|
|
|
dissect_h245_OpenLogicalChannelCodec(value_tvb, %(ACTX)s->pinfo, tree, codec_str);
|
2005-08-31 15:03:12 +00:00
|
|
|
}
|
2005-02-01 12:12:35 +00:00
|
|
|
|
|
|
|
/* Add to packet info */
|
2005-07-04 09:35:25 +00:00
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%%s %%s", h225_pi->frame_label, codec_str);
|
2005-02-01 12:12:35 +00:00
|
|
|
|
2005-01-02 22:01:32 +00:00
|
|
|
contains_faststart = TRUE;
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->is_faststart = TRUE;
|
2005-01-02 22:01:32 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY RasMessage VAL_PTR = &rasmessage_value
|
2005-01-05 02:25:34 +00:00
|
|
|
guint32 rasmessage_value;
|
2005-01-02 22:01:32 +00:00
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2006-05-22 11:49:50 +00:00
|
|
|
if (check_col(%(ACTX)s->pinfo->cinfo, COL_INFO)){
|
|
|
|
col_add_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "RAS: %%s ",
|
2005-01-05 02:25:34 +00:00
|
|
|
val_to_str(rasmessage_value, RasMessage_vals, "<unknown>"));
|
|
|
|
}
|
|
|
|
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->msg_tag = rasmessage_value;
|
2005-01-02 22:01:32 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-02-07 21:09:23 +00:00
|
|
|
#.FN_HDR DestinationInfo/_item
|
|
|
|
|
|
|
|
h225_pi->is_destinationInfo = TRUE;
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY DialedDigits VAL_PTR = &value_tvb
|
2005-08-18 14:32:49 +00:00
|
|
|
tvbuff_t *value_tvb = NULL;
|
|
|
|
guint len = 0;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2005-02-07 21:09:23 +00:00
|
|
|
if (h225_pi->is_destinationInfo == TRUE) {
|
2005-08-18 14:32:49 +00:00
|
|
|
if (value_tvb) {
|
|
|
|
len = tvb_length(value_tvb);
|
2005-09-06 17:44:20 +00:00
|
|
|
/* XXX - should this be allocated as an ephemeral string? */
|
|
|
|
if (len > sizeof h225_pi->dialedDigits - 1)
|
|
|
|
len = sizeof h225_pi->dialedDigits - 1;
|
2005-09-06 14:18:49 +00:00
|
|
|
tvb_memcpy(value_tvb, (guint8*)h225_pi->dialedDigits, 0, len);
|
2005-08-18 14:32:49 +00:00
|
|
|
}
|
|
|
|
h225_pi->dialedDigits[len] = '\0';
|
2005-09-06 17:44:20 +00:00
|
|
|
h225_pi->is_destinationInfo = FALSE;
|
2005-02-07 21:09:23 +00:00
|
|
|
}
|
2005-01-02 22:01:32 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2006-05-29 13:06:44 +00:00
|
|
|
#.FN_BODY H245TransportAddress/ipAddress/ip VAL_PTR = &value_tvb
|
2005-09-06 14:18:49 +00:00
|
|
|
tvbuff_t *value_tvb;
|
2005-01-02 22:01:32 +00:00
|
|
|
|
2005-09-06 14:18:49 +00:00
|
|
|
ipv4_address = 0;
|
2005-07-06 16:19:34 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-09-06 14:18:49 +00:00
|
|
|
if (value_tvb)
|
2005-09-11 21:25:37 +00:00
|
|
|
ipv4_address = tvb_get_ipv4(value_tvb, 0);
|
2005-01-02 22:01:32 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2006-05-29 13:06:44 +00:00
|
|
|
#.FN_PARS H245TransportAddress/ipAddress/port VAL_PTR = &ipv4_port
|
2005-01-02 22:01:32 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY ParallelH245Control/_item VAL_PTR = &h245_tvb
|
2005-07-06 16:19:34 +00:00
|
|
|
tvbuff_t *h245_tvb = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2006-06-13 13:21:12 +00:00
|
|
|
next_tvb_add_handle(&h245_list, h245_tvb, (h225_h245_in_tree)?tree:NULL, h245dg_handle);
|
2005-07-04 09:35:25 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY H245Control/_item VAL_PTR = &h245_tvb
|
2005-07-06 16:19:34 +00:00
|
|
|
tvbuff_t *h245_tvb = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2006-06-13 13:21:12 +00:00
|
|
|
next_tvb_add_handle(&h245_list, h245_tvb, (h225_h245_in_tree)?tree:NULL, h245dg_handle);
|
2005-01-02 22:01:32 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-02-03 16:22:08 +00:00
|
|
|
#.FN_FTR H323-UU-PDU/h323-message-body/empty
|
|
|
|
h225_pi->cs_type = H225_EMPTY;
|
2005-02-01 12:12:35 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_FTR Status-UUIE
|
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_STATUS;
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_FTR Information-UUIE
|
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_INFORMATION;
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_FTR Progress-UUIE
|
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_PROGRESS;
|
|
|
|
if (contains_faststart == TRUE )
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
|
|
|
|
else
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2006-06-01 20:19:51 +00:00
|
|
|
#.FN_FTR SetupAcknowledge-UUIE
|
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_SETUP_ACK;
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-02-01 12:12:35 +00:00
|
|
|
#.FN_FTR Facility-UUIE
|
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_FACILITY;
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_PARS H323-UU-PDU/h245Tunneling VAL_PTR = &(h225_pi->is_h245Tunneling)
|
2005-02-01 12:12:35 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-01-17 21:52:30 +00:00
|
|
|
#.FN_HDR Setup-UUIE
|
|
|
|
contains_faststart = FALSE;
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_FTR Setup-UUIE
|
2005-02-01 12:12:35 +00:00
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_SETUP;
|
|
|
|
if (contains_faststart == TRUE )
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
|
|
|
|
else
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
2005-01-17 21:52:30 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_FTR CallProceeding-UUIE
|
2005-02-01 12:12:35 +00:00
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_CALL_PROCEDING;
|
|
|
|
if (contains_faststart == TRUE )
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
|
|
|
|
else
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
2005-01-02 22:01:32 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-01-17 21:52:30 +00:00
|
|
|
#.FN_FTR Alerting-UUIE
|
2005-02-01 12:12:35 +00:00
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_ALERTING;
|
|
|
|
if (contains_faststart == TRUE )
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
|
|
|
|
else
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
2005-01-17 21:52:30 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_FTR ReleaseComplete-UUIE
|
2005-02-01 12:12:35 +00:00
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_RELEASE_COMPLET;
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
2005-01-17 21:52:30 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_FTR Connect-UUIE
|
2005-02-01 12:12:35 +00:00
|
|
|
/* Add to packet info */
|
|
|
|
h225_pi->cs_type = H225_CONNECT;
|
|
|
|
if (contains_faststart == TRUE )
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s OLC (%s)", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"), h225_pi->frame_label);
|
|
|
|
else
|
|
|
|
g_snprintf(h225_pi->frame_label, 50, "%s", val_to_str(h225_pi->cs_type, T_h323_message_body_vals, "<unknown>"));
|
2005-01-02 22:01:32 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_HDR H245TransportAddress
|
|
|
|
ipv4_address=0;
|
|
|
|
ipv4_port=0;
|
|
|
|
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_FTR H245TransportAddress
|
|
|
|
/* we need this info for TAPing */
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->is_h245 = TRUE;
|
|
|
|
h225_pi->h245_address = ipv4_address;
|
|
|
|
h225_pi->h245_port = ipv4_port;
|
2005-01-02 22:01:32 +00:00
|
|
|
|
2006-05-22 11:49:50 +00:00
|
|
|
if((!actx->pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && h245_handle){
|
2005-01-02 22:01:32 +00:00
|
|
|
address src_addr;
|
|
|
|
conversation_t *conv=NULL;
|
|
|
|
|
|
|
|
src_addr.type=AT_IPv4;
|
|
|
|
src_addr.len=4;
|
|
|
|
src_addr.data=(const guint8 *)&ipv4_address;
|
|
|
|
|
2006-05-22 11:49:50 +00:00
|
|
|
conv=find_conversation(actx->pinfo->fd->num, &src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR_B|NO_PORT_B);
|
2005-01-02 22:01:32 +00:00
|
|
|
if(!conv){
|
2006-05-22 11:49:50 +00:00
|
|
|
conv=conversation_new(actx->pinfo->fd->num, &src_addr, &src_addr, PT_TCP, ipv4_port, ipv4_port, NO_ADDR2|NO_PORT2);
|
2005-01-02 22:01:32 +00:00
|
|
|
conversation_set_dissector(conv, h245_handle);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#.END
|
2005-01-05 02:25:34 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-08-01 08:46:09 +00:00
|
|
|
#.FN_PARS
|
|
|
|
FacilityReason VAL_PTR = &value
|
|
|
|
GatekeeperRejectReason VAL_PTR = &value
|
|
|
|
UnregRequestReason VAL_PTR = &value
|
|
|
|
UnregRejectReason VAL_PTR = &value
|
|
|
|
BandRejectReason VAL_PTR = &value
|
|
|
|
DisengageReason VAL_PTR = &value
|
|
|
|
DisengageRejectReason VAL_PTR = &value
|
|
|
|
AdmissionRejectReason VAL_PTR = &value
|
|
|
|
LocationRejectReason VAL_PTR = &value
|
|
|
|
RegistrationRejectReason VAL_PTR = &value
|
|
|
|
InfoRequestNakReason VAL_PTR = &value
|
|
|
|
ReleaseCompleteReason VAL_PTR = &value
|
|
|
|
#.END
|
|
|
|
|
2005-01-05 02:25:34 +00:00
|
|
|
#.FN_BODY FacilityReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-05 02:25:34 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY GatekeeperRejectReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-05 02:25:34 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY UnregRequestReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-05 02:25:34 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY UnregRejectReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-05 02:25:34 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY BandRejectReason
|
|
|
|
guint32 value;
|
2005-08-01 08:46:09 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-05 02:25:34 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY DisengageReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-05 02:25:34 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY DisengageRejectReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-05 02:25:34 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-01-16 21:21:41 +00:00
|
|
|
#.FN_BODY AdmissionRejectReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-16 21:21:41 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY LocationRejectReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-16 21:21:41 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY RegistrationRejectReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-16 21:21:41 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-01-05 02:25:34 +00:00
|
|
|
#.FN_BODY InfoRequestNakReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-05 02:25:34 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY ReleaseCompleteReason
|
|
|
|
guint32 value;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-02-01 12:12:35 +00:00
|
|
|
h225_pi->reason = value;
|
2005-01-05 02:25:34 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-01-10 02:19:11 +00:00
|
|
|
#.FN_BODY CallIdentifier/guid
|
2005-07-04 09:35:25 +00:00
|
|
|
tvbuff_t *guid_tvb;
|
2005-01-10 02:19:11 +00:00
|
|
|
|
2006-05-22 11:49:50 +00:00
|
|
|
offset = dissect_per_octet_string(tvb,offset,%(ACTX)s,tree,hf_index,GUID_LEN,GUID_LEN,&guid_tvb);
|
2006-03-19 20:45:45 +00:00
|
|
|
tvb_memcpy(guid_tvb,(guint8 *)&h225_pi->guid,0,GUID_LEN);
|
2005-01-10 02:19:11 +00:00
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_PARS RequestSeqNum VAL_PTR = &(h225_pi->requestSeqNum)
|
2005-01-02 22:01:32 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY H323-UU-PDU/h4501SupplementaryService/_item VAL_PTR = &h4501_tvb
|
2005-07-04 09:35:25 +00:00
|
|
|
tvbuff_t *h4501_tvb = NULL;
|
2005-01-17 22:27:39 +00:00
|
|
|
|
2005-07-06 16:19:34 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-09-20 10:56:08 +00:00
|
|
|
if (h4501_tvb && tvb_length(h4501_tvb)) {
|
2006-05-22 11:49:50 +00:00
|
|
|
call_dissector(h4501_handle, h4501_tvb, %(ACTX)s->pinfo, tree);
|
2005-01-17 22:27:39 +00:00
|
|
|
}
|
|
|
|
#.END
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-01-19 22:43:15 +00:00
|
|
|
|
2005-01-20 12:02:08 +00:00
|
|
|
#--- TunnelledProtocol ------------------------------------------------------------------
|
2005-07-04 09:35:25 +00:00
|
|
|
|
2005-01-20 12:02:08 +00:00
|
|
|
#.FN_HDR TunnelledProtocol
|
2005-09-20 10:56:08 +00:00
|
|
|
tpOID = "";
|
2005-01-20 12:02:08 +00:00
|
|
|
#.FN_FTR TunnelledProtocol
|
|
|
|
tp_handle = dissector_get_string_handle(tp_dissector_table, tpOID);
|
2005-06-07 12:05:03 +00:00
|
|
|
#.FN_PARS TunnelledProtocol/id/tunnelledProtocolObjectID
|
2005-09-20 10:56:08 +00:00
|
|
|
FN_VARIANT = _str VAL_PTR = &tpOID
|
2005-01-20 12:02:08 +00:00
|
|
|
#.END
|
2005-01-19 22:43:15 +00:00
|
|
|
|
2005-01-20 12:02:08 +00:00
|
|
|
#.FN_HDR H323-UU-PDU/tunnelledSignallingMessage
|
|
|
|
tp_handle = NULL;
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY H323-UU-PDU/tunnelledSignallingMessage/messageContent/_item VAL_PTR = &next_tvb
|
2005-07-06 16:19:34 +00:00
|
|
|
tvbuff_t *next_tvb = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2006-06-13 13:21:12 +00:00
|
|
|
next_tvb_add_handle(&tp_list, next_tvb, (h225_tp_in_tree)?tree:NULL, tp_handle);
|
2005-01-19 22:43:15 +00:00
|
|
|
#.END
|
2005-01-20 12:02:08 +00:00
|
|
|
|
|
|
|
#--- NonStandardParameter ---------------------------------------------------------------
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
#.FN_PARS
|
2005-09-20 10:56:08 +00:00
|
|
|
NonStandardIdentifier/object FN_VARIANT = _str VAL_PTR = &nsiOID
|
2005-08-01 08:46:09 +00:00
|
|
|
#.END
|
|
|
|
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY NonStandardIdentifier VAL_PTR = &value
|
2005-01-19 22:43:15 +00:00
|
|
|
guint32 value;
|
|
|
|
|
2005-09-20 10:56:08 +00:00
|
|
|
nsiOID = "";
|
2005-01-20 12:02:08 +00:00
|
|
|
h221NonStandard = 0;
|
|
|
|
|
2005-08-01 08:46:09 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-01-19 22:43:15 +00:00
|
|
|
switch (value) {
|
|
|
|
case 0 : /* object */
|
2005-01-20 12:02:08 +00:00
|
|
|
nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
|
2005-01-19 22:43:15 +00:00
|
|
|
break;
|
|
|
|
case 1 : /* h221NonStandard */
|
2005-01-20 12:02:08 +00:00
|
|
|
nsp_handle = dissector_get_port_handle(nsp_h221_dissector_table, h221NonStandard);
|
2005-01-19 22:43:15 +00:00
|
|
|
break;
|
|
|
|
default :
|
|
|
|
nsp_handle = NULL;
|
|
|
|
}
|
2005-01-20 12:02:08 +00:00
|
|
|
#.END
|
|
|
|
|
|
|
|
#.FN_HDR H221NonStandard
|
|
|
|
t35CountryCode = 0;
|
|
|
|
t35Extension = 0;
|
|
|
|
manufacturerCode = 0;
|
|
|
|
#.FN_FTR H221NonStandard
|
|
|
|
h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
|
|
|
|
proto_tree_add_uint(tree, hf_h221Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
|
2005-06-07 12:05:03 +00:00
|
|
|
#.FN_PARS
|
|
|
|
H221NonStandard/t35CountryCode VAL_PTR = &t35CountryCode
|
|
|
|
H221NonStandard/t35Extension VAL_PTR = &t35Extension
|
|
|
|
H221NonStandard/manufacturerCode VAL_PTR = &manufacturerCode
|
2005-01-19 22:43:15 +00:00
|
|
|
#.END
|
|
|
|
|
2005-01-20 12:02:08 +00:00
|
|
|
#.FN_HDR NonStandardParameter
|
|
|
|
nsp_handle = NULL;
|
2005-09-20 10:56:08 +00:00
|
|
|
#.FN_BODY NonStandardParameter/data VAL_PTR = &next_tvb
|
2005-07-06 16:19:34 +00:00
|
|
|
tvbuff_t *next_tvb = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2005-07-04 09:35:25 +00:00
|
|
|
if (next_tvb && tvb_length(next_tvb)) {
|
2006-05-22 11:49:50 +00:00
|
|
|
call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, %(ACTX)s->pinfo, tree);
|
2005-07-04 09:35:25 +00:00
|
|
|
}
|
2005-01-19 22:43:15 +00:00
|
|
|
#.END
|
2005-01-20 12:02:08 +00:00
|
|
|
|
2005-01-02 22:01:32 +00:00
|
|
|
#.TYPE_ATTR
|
|
|
|
H221NonStandard/t35CountryCode TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(T35CountryCode_vals)
|
|
|
|
TransportAddress/ipAddress/ip TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
|
|
|
|
TransportAddress/ip6Address/ip TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
|
2006-05-29 13:06:44 +00:00
|
|
|
H245TransportAddress/ipAddress/ip TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
|
|
|
|
H245TransportAddress/ip6Address/ip TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
|
2005-01-13 21:09:45 +00:00
|
|
|
VendorIdentifier/productId TYPE = FT_STRING DISPLAY = BASE_HEX STRINGS = NULL
|
2005-01-17 22:27:39 +00:00
|
|
|
VendorIdentifier/versionId TYPE = FT_STRING DISPLAY = BASE_HEX STRINGS = NULL
|
2005-01-20 12:02:08 +00:00
|
|
|
H323-UserInformation/user-data/protocol-discriminator TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(q931_protocol_discriminator_vals)
|
|
|
|
H323-UU-PDU/tunnelledSignallingMessage/messageContent/_item TYPE = FT_UINT32 DISPLAY = BASE_DEC
|
|
|
|
NonStandardParameter/data TYPE = FT_UINT32 DISPLAY = BASE_DEC
|
2005-08-31 15:03:12 +00:00
|
|
|
FastStart/_item TYPE = FT_UINT32 DISPLAY = BASE_DEC
|
2005-07-04 09:35:25 +00:00
|
|
|
ParallelH245Control/_item TYPE = FT_UINT32 DISPLAY = BASE_DEC
|
|
|
|
H245Control/_item TYPE = FT_UINT32 DISPLAY = BASE_DEC
|
2005-07-06 16:19:34 +00:00
|
|
|
GloballyUniqueID TYPE = FT_GUID DISPLAY = BASE_NONE
|
2005-09-20 10:56:08 +00:00
|
|
|
#.END
|