summaryrefslogtreecommitdiff
path: root/asn1/h460
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2007-10-24 06:54:58 +0000
committerGuy Harris <guy@alum.mit.edu>2007-10-24 06:54:58 +0000
commit9e5746000a6cadd9f9008390d3aa50d35ebe15ef (patch)
tree13a4ce84fbb59438e610a098fbb32c21b2a6158f /asn1/h460
parent13c0f43ee596a8baf43b136d223db4e4b6cfae24 (diff)
downloadwireshark-9e5746000a6cadd9f9008390d3aa50d35ebe15ef.tar.gz
Get rid of CRs, and set svn:eol-style to native.
Set svn:keywords to Id while we're at it. Get rid of extra blank lines at the ends of files. svn path=/trunk/; revision=23259
Diffstat (limited to 'asn1/h460')
-rw-r--r--asn1/h460/CALL-PARTY-CATEGORY.asn1
-rw-r--r--asn1/h460/CALL-PRIORITY.asn115
-rw-r--r--asn1/h460/CIRCUIT-STATUS-MAP.asn1
-rw-r--r--asn1/h460/MEDIA-TRAVERSAL.asn1
-rw-r--r--asn1/h460/MESSAGE-BROADCAST.asn1
-rw-r--r--asn1/h460/MLPP.asn1
-rw-r--r--asn1/h460/Makefile.am50
-rw-r--r--asn1/h460/Makefile.common137
-rw-r--r--asn1/h460/Makefile.nmake56
-rw-r--r--asn1/h460/NUMBER-PORTABILITY.asn1
-rw-r--r--asn1/h460/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn1
-rw-r--r--asn1/h460/QOS-MONITORING-REPORT.asn1
-rw-r--r--asn1/h460/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn1
-rw-r--r--asn1/h460/SIGNALLING-TRAVERSAL.asn1
-rw-r--r--asn1/h460/h460.cnf122
-rw-r--r--asn1/h460/packet-h460-template.c587
16 files changed, 530 insertions, 547 deletions
diff --git a/asn1/h460/CALL-PARTY-CATEGORY.asn b/asn1/h460/CALL-PARTY-CATEGORY.asn
index cc69c97aff..29a9a3d164 100644
--- a/asn1/h460/CALL-PARTY-CATEGORY.asn
+++ b/asn1/h460/CALL-PARTY-CATEGORY.asn
@@ -23,4 +23,3 @@ OriginatingLineInfo ::= INTEGER(0..255)
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/CALL-PRIORITY.asn b/asn1/h460/CALL-PRIORITY.asn
index 74a20ed83d..19b124ef4c 100644
--- a/asn1/h460/CALL-PRIORITY.asn
+++ b/asn1/h460/CALL-PRIORITY.asn
@@ -1,58 +1,57 @@
--- CALL-PRIORITY.asn
---
--- Taken from ITU ASN.1 database
--- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.15/2004/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
---
--- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.4/2007/CALL-PRIORITY.asn
---
-
--- Module CALL-PRIORITY (H.460.4:01/2007)
-CALL-PRIORITY {itu-t(0) recommendation(0) h(8) 460 4 version(1)} DEFINITIONS
-AUTOMATIC TAGS ::=
-BEGIN
-
-IMPORTS ClearToken, CryptoToken
- FROM H235-SECURITY-MESSAGES;
-
-CallPriorityInfo ::= SEQUENCE -- root for Call Priority related asn.1
- {
- priorityValue
- CHOICE {emergencyAuthorized NULL,
- emergencyPublic NULL,
- high NULL,
- normal NULL,
- ...},
- priorityExtension INTEGER(0..255) OPTIONAL,
- tokens SEQUENCE OF ClearToken OPTIONAL,
- cryptoTokens SEQUENCE OF CryptoToken OPTIONAL,
- rejectReason
- CHOICE {priorityUnavailable NULL,
- priorityUnauthorized NULL,
- priorityValueUnknown NULL,
- ...} OPTIONAL, -- Only used in CallPriorityConfirm
- ...
-}
-
-CountryInternationalNetworkCallOriginationIdentification ::=
- SEQUENCE
- -- root for Country/International Network
- -- of Call Origination Identification related asn.1
- {
- numberingPlan
- CHOICE {x121
- SEQUENCE {countryCode IA5String(SIZE (3))(FROM ("0123456789")),
- ...},
- e164
- SEQUENCE {countryCode
- IA5String(SIZE (3))(FROM ("0123456789")),
- identificationCode
- IA5String(SIZE (1..4))(FROM ("0123456789")),
- ...},
- ...},
- ...
-}
-
-END -- of ASN.1
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
+-- CALL-PRIORITY.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.15/2004/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
+--
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h460.4/2007/CALL-PRIORITY.asn
+--
+
+-- Module CALL-PRIORITY (H.460.4:01/2007)
+CALL-PRIORITY {itu-t(0) recommendation(0) h(8) 460 4 version(1)} DEFINITIONS
+AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS ClearToken, CryptoToken
+ FROM H235-SECURITY-MESSAGES;
+
+CallPriorityInfo ::= SEQUENCE -- root for Call Priority related asn.1
+ {
+ priorityValue
+ CHOICE {emergencyAuthorized NULL,
+ emergencyPublic NULL,
+ high NULL,
+ normal NULL,
+ ...},
+ priorityExtension INTEGER(0..255) OPTIONAL,
+ tokens SEQUENCE OF ClearToken OPTIONAL,
+ cryptoTokens SEQUENCE OF CryptoToken OPTIONAL,
+ rejectReason
+ CHOICE {priorityUnavailable NULL,
+ priorityUnauthorized NULL,
+ priorityValueUnknown NULL,
+ ...} OPTIONAL, -- Only used in CallPriorityConfirm
+ ...
+}
+
+CountryInternationalNetworkCallOriginationIdentification ::=
+ SEQUENCE
+ -- root for Country/International Network
+ -- of Call Origination Identification related asn.1
+ {
+ numberingPlan
+ CHOICE {x121
+ SEQUENCE {countryCode IA5String(SIZE (3))(FROM ("0123456789")),
+ ...},
+ e164
+ SEQUENCE {countryCode
+ IA5String(SIZE (3))(FROM ("0123456789")),
+ identificationCode
+ IA5String(SIZE (1..4))(FROM ("0123456789")),
+ ...},
+ ...},
+ ...
+}
+
+END -- of ASN.1
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/asn1/h460/CIRCUIT-STATUS-MAP.asn b/asn1/h460/CIRCUIT-STATUS-MAP.asn
index 0bab3205da..88d74d6811 100644
--- a/asn1/h460/CIRCUIT-STATUS-MAP.asn
+++ b/asn1/h460/CIRCUIT-STATUS-MAP.asn
@@ -36,4 +36,3 @@ CircuitStatusType ::= CHOICE {
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/MEDIA-TRAVERSAL.asn b/asn1/h460/MEDIA-TRAVERSAL.asn
index 860c38502a..c371aa2aa1 100644
--- a/asn1/h460/MEDIA-TRAVERSAL.asn
+++ b/asn1/h460/MEDIA-TRAVERSAL.asn
@@ -30,4 +30,3 @@ TraversalParameters ::= SEQUENCE {
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/MESSAGE-BROADCAST.asn b/asn1/h460/MESSAGE-BROADCAST.asn
index d6378ad73a..2deab37d49 100644
--- a/asn1/h460/MESSAGE-BROADCAST.asn
+++ b/asn1/h460/MESSAGE-BROADCAST.asn
@@ -50,4 +50,3 @@ GroupAttributes ::= SEQUENCE {
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/MLPP.asn b/asn1/h460/MLPP.asn
index 2f8ea03d6d..3ae7cfaba9 100644
--- a/asn1/h460/MLPP.asn
+++ b/asn1/h460/MLPP.asn
@@ -62,4 +62,3 @@ ReleaseCall ::= SEQUENCE
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/Makefile.am b/asn1/h460/Makefile.am
index 0b7ca0ada3..c06c4e5134 100644
--- a/asn1/h460/Makefile.am
+++ b/asn1/h460/Makefile.am
@@ -1,26 +1,24 @@
-# $Id: Makefile.am 23085 2007-10-07 21:07:33Z jmayer $
-#
-#
-# Wireshark - Network traffic analyzer
-# By Gerald Combs <gerald@wireshark.org>
-# Copyright 1998 Gerald Combs
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-include ../Makefile.preinc
-include Makefile.common
-include ../Makefile.inc
-
+# $Id: Makefile.am 23085 2007-10-07 21:07:33Z jmayer $
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+include ../Makefile.preinc
+include Makefile.common
+include ../Makefile.inc
diff --git a/asn1/h460/Makefile.common b/asn1/h460/Makefile.common
index 26ecffe427..3e24cc2107 100644
--- a/asn1/h460/Makefile.common
+++ b/asn1/h460/Makefile.common
@@ -1,69 +1,68 @@
-# $Id: Makefile.common 22951 2007-09-25 11:58:35Z kukosa $
-#
-#
-# Wireshark - Network traffic analyzer
-# By Gerald Combs <gerald@wireshark.org>
-# Copyright 1998 Gerald Combs
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-PROTOCOL_NAME = h460
-
-DISSECTOR_FILES = \
- packet-$(PROTOCOL_NAME).c
-
-# NEED_PACKET_PROTO_H =
-
-EXT_ASN_FILE_LIST =
-
-ASN_FILE_LIST = \
- NUMBER-PORTABILITY.asn \
- CIRCUIT-STATUS-MAP.asn \
- CALL-PRIORITY.asn \
- QOS-MONITORING-REPORT.asn \
- QOS-MONITORING-EXTENDED-VOIP-REPORT.asn \
- CALL-PARTY-CATEGORY.asn MLPP.asn \
- SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn \
- SIGNALLING-TRAVERSAL.asn \
- MEDIA-TRAVERSAL.asn \
- MESSAGE-BROADCAST.asn
-
-EXTRA_DIST = \
- $(ASN_FILE_LIST) \
- packet-$(PROTOCOL_NAME)-template.c \
- $(PROTOCOL_NAME).cnf
-
-SRC_FILES = \
- $(EXTRA_DIST) \
- $(EXT_ASN_FILE_LIST)
-
-# need empty -p <proto> option, default is -p $(PROTOCOL_NAME)
-PROTO_OPT =
-A2W_FLAGS =
-
-EXTRA_CNF = \
- ../h225/h225-exp.cnf \
- ../h235/h235-exp.cnf \
- ../h245/h245-exp.cnf
-
-../h225/h225-exp.cnf:
- (cd ../h225 && $(MAKE_CNF_EXPORT))
-
-../h235/h235-exp.cnf:
- (cd ../h235 && $(MAKE_CNF_EXPORT))
-
-../h245/h245-exp.cnf:
- (cd ../h245 && $(MAKE_CNF_EXPORT))
+# $Id: Makefile.common 22951 2007-09-25 11:58:35Z kukosa $
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+PROTOCOL_NAME = h460
+
+DISSECTOR_FILES = \
+ packet-$(PROTOCOL_NAME).c
+
+# NEED_PACKET_PROTO_H =
+
+EXT_ASN_FILE_LIST =
+
+ASN_FILE_LIST = \
+ NUMBER-PORTABILITY.asn \
+ CIRCUIT-STATUS-MAP.asn \
+ CALL-PRIORITY.asn \
+ QOS-MONITORING-REPORT.asn \
+ QOS-MONITORING-EXTENDED-VOIP-REPORT.asn \
+ CALL-PARTY-CATEGORY.asn MLPP.asn \
+ SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn \
+ SIGNALLING-TRAVERSAL.asn \
+ MEDIA-TRAVERSAL.asn \
+ MESSAGE-BROADCAST.asn
+
+EXTRA_DIST = \
+ $(ASN_FILE_LIST) \
+ packet-$(PROTOCOL_NAME)-template.c \
+ $(PROTOCOL_NAME).cnf
+
+SRC_FILES = \
+ $(EXTRA_DIST) \
+ $(EXT_ASN_FILE_LIST)
+
+# need empty -p <proto> option, default is -p $(PROTOCOL_NAME)
+PROTO_OPT =
+A2W_FLAGS =
+
+EXTRA_CNF = \
+ ../h225/h225-exp.cnf \
+ ../h235/h235-exp.cnf \
+ ../h245/h245-exp.cnf
+
+../h225/h225-exp.cnf:
+ (cd ../h225 && $(MAKE_CNF_EXPORT))
+
+../h235/h235-exp.cnf:
+ (cd ../h235 && $(MAKE_CNF_EXPORT))
+
+../h245/h245-exp.cnf:
+ (cd ../h245 && $(MAKE_CNF_EXPORT))
diff --git a/asn1/h460/Makefile.nmake b/asn1/h460/Makefile.nmake
index d8dc2a43eb..a0df965ad0 100644
--- a/asn1/h460/Makefile.nmake
+++ b/asn1/h460/Makefile.nmake
@@ -1,29 +1,27 @@
-## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
-#
-# $Id: Makefile.nmake 23085 2007-10-07 21:07:33Z jmayer $
-#
-#
-# Wireshark - Network traffic analyzer
-# By Gerald Combs <gerald@wireshark.org>
-# Copyright 1998 Gerald Combs
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-include ../../config.nmake
-include ../Makefile.preinc.nmake
-include Makefile.common
-include ../Makefile.inc.nmake
-
+## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
+#
+# $Id: Makefile.nmake 23085 2007-10-07 21:07:33Z jmayer $
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+include ../../config.nmake
+include ../Makefile.preinc.nmake
+include Makefile.common
+include ../Makefile.inc.nmake
diff --git a/asn1/h460/NUMBER-PORTABILITY.asn b/asn1/h460/NUMBER-PORTABILITY.asn
index 1607249510..1b6583c351 100644
--- a/asn1/h460/NUMBER-PORTABILITY.asn
+++ b/asn1/h460/NUMBER-PORTABILITY.asn
@@ -62,4 +62,3 @@ RegionalParameters ::= SEQUENCE {
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn b/asn1/h460/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn
index 50784279b9..b753dee5d0 100644
--- a/asn1/h460/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn
+++ b/asn1/h460/QOS-MONITORING-EXTENDED-VOIP-REPORT.asn
@@ -70,4 +70,3 @@ qosMonitoringExtendedRTPMetrics GenericIdentifier ::= standard:2
END -- of QOS-MONITORING-EXTENDED-VOIP-REPORT
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/QOS-MONITORING-REPORT.asn b/asn1/h460/QOS-MONITORING-REPORT.asn
index a3f7cd54cd..2a3eea00ef 100644
--- a/asn1/h460/QOS-MONITORING-REPORT.asn
+++ b/asn1/h460/QOS-MONITORING-REPORT.asn
@@ -99,4 +99,3 @@ qosMonitoringReportData GenericIdentifier ::= standard:1
END -- of ASN.1
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn b/asn1/h460/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
index ebd2a6123b..7498903319 100644
--- a/asn1/h460/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
+++ b/asn1/h460/SIGNALLING-CHANNEL-SUSPEND-REDIRECT.asn
@@ -56,4 +56,3 @@ ChannelResumeResponse ::= SEQUENCE {...
END -- of ASN.1
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/SIGNALLING-TRAVERSAL.asn b/asn1/h460/SIGNALLING-TRAVERSAL.asn
index 9550fb5f8e..ef087cf70c 100644
--- a/asn1/h460/SIGNALLING-TRAVERSAL.asn
+++ b/asn1/h460/SIGNALLING-TRAVERSAL.asn
@@ -28,4 +28,3 @@ LRQKeepAliveData ::= SEQUENCE {
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h460/h460.cnf b/asn1/h460/h460.cnf
index 861025acbe..28a5a4f5ff 100644
--- a/asn1/h460/h460.cnf
+++ b/asn1/h460/h460.cnf
@@ -1,61 +1,61 @@
-# h460.cnf
-# H.460.x conformation file
-# 2007 Tomas Kukosa
-
-# $Id$
-
-#.INCLUDE ../h225/h225-exp.cnf
-#.INCLUDE ../h235/h235-exp.cnf
-#.INCLUDE ../h245/h245-exp.cnf
-
-#.OPT
-PER
-ALIGNED
-GROUP_BY_PROT
--o h460
-#.END
-
-#.MODULE
-NUMBER-PORTABILITY h460.2
-CIRCUIT-STATUS-MAP h460.3
-CALL-PRIORITY h460.4
-QOS-MONITORING-REPORT h460.9
-QOS-MONITORING-EXTENDED-VOIP-REPORT h460.9
-CALL-PARTY-CATEGORY h460.10
-MLPP h460.14
-SIGNALLING-CHANNEL-SUSPEND-REDIRECT h460.15
-SIGNALLING-TRAVERSAL h460.18
-MEDIA-TRAVERSAL h460.19
-MESSAGE-BROADCAST h460.21
-#.END
-
-#.PDU_NEW
-# H.460.2
-NumberPortabilityInfo
-# H.460.3
-CircuitStatus
-# H.460.4
-CallPriorityInfo
-CountryInternationalNetworkCallOriginationIdentification
-# H.460.9
-QosMonitoringReportData
-ExtendedRTPMetrics
-# H.460.10
-CallPartyCategoryInfo
-# H.460.14
-MLPPInfo
-# H.460.15
-SignallingChannelData
-# H.460.18
-IncomingCallIndication
-LRQKeepAliveData
-# H.460.19
-TraversalParameters
-# H.460.21
-CapabilityAdvertisement
-#.END
-
-#.TF_RENAME
-CountryInternationalNetworkCallOriginationIdentification/numberingPlan/x121/countryCode x121CountryCode
-CountryInternationalNetworkCallOriginationIdentification/numberingPlan/e164/countryCode e164CountryCode
-#.END \ No newline at end of file
+# h460.cnf
+# H.460.x conformation file
+# 2007 Tomas Kukosa
+
+# $Id$
+
+#.INCLUDE ../h225/h225-exp.cnf
+#.INCLUDE ../h235/h235-exp.cnf
+#.INCLUDE ../h245/h245-exp.cnf
+
+#.OPT
+PER
+ALIGNED
+GROUP_BY_PROT
+-o h460
+#.END
+
+#.MODULE
+NUMBER-PORTABILITY h460.2
+CIRCUIT-STATUS-MAP h460.3
+CALL-PRIORITY h460.4
+QOS-MONITORING-REPORT h460.9
+QOS-MONITORING-EXTENDED-VOIP-REPORT h460.9
+CALL-PARTY-CATEGORY h460.10
+MLPP h460.14
+SIGNALLING-CHANNEL-SUSPEND-REDIRECT h460.15
+SIGNALLING-TRAVERSAL h460.18
+MEDIA-TRAVERSAL h460.19
+MESSAGE-BROADCAST h460.21
+#.END
+
+#.PDU_NEW
+# H.460.2
+NumberPortabilityInfo
+# H.460.3
+CircuitStatus
+# H.460.4
+CallPriorityInfo
+CountryInternationalNetworkCallOriginationIdentification
+# H.460.9
+QosMonitoringReportData
+ExtendedRTPMetrics
+# H.460.10
+CallPartyCategoryInfo
+# H.460.14
+MLPPInfo
+# H.460.15
+SignallingChannelData
+# H.460.18
+IncomingCallIndication
+LRQKeepAliveData
+# H.460.19
+TraversalParameters
+# H.460.21
+CapabilityAdvertisement
+#.END
+
+#.TF_RENAME
+CountryInternationalNetworkCallOriginationIdentification/numberingPlan/x121/countryCode x121CountryCode
+CountryInternationalNetworkCallOriginationIdentification/numberingPlan/e164/countryCode e164CountryCode
+#.END
diff --git a/asn1/h460/packet-h460-template.c b/asn1/h460/packet-h460-template.c
index 3792e2091f..c09966fbcb 100644
--- a/asn1/h460/packet-h460-template.c
+++ b/asn1/h460/packet-h460-template.c
@@ -1,294 +1,293 @@
-/* packet-h460.c
- * Routines for H.460.x packet dissection
- * 2007 Tomas Kukosa
- *
- * $Id$
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <glib.h>
-#include <epan/packet.h>
-#include <epan/conversation.h>
-#include <epan/oids.h>
-#include <epan/asn1.h>
-
-#include <stdio.h>
-#include <string.h>
-
-#include "packet-per.h"
-#include "packet-h225.h"
-#include "packet-h235.h"
-#include "packet-h245.h"
-
-#define PNAME "H.460 Supplementary Services"
-#define PSNAME "H.460"
-#define PFNAME "h460"
-
-/* Initialize the protocol and registered fields */
-int proto_h460 = -1;
-#include "packet-h460-hf.c"
-
-/* Initialize the subtree pointers */
-#include "packet-h460-ett.c"
-
-/* Subdissectors */
-static dissector_handle_t q931_ie_handle = NULL;
-static dissector_handle_t h225_ras_handle = NULL;
-
-#include "packet-h460-fn.c"
-
-static int
-dissect_ies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
- int offset = 0;
-
- if (q931_ie_handle) {
- call_dissector(q931_ie_handle, tvb, pinfo, tree);
- offset += tvb_length_remaining(tvb, offset);
- }
- return offset;
-}
-
-static int
-dissect_ras(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
- int offset = 0;
-
- if (h225_ras_handle) {
- call_dissector(h225_ras_handle, tvb, pinfo, tree);
- offset += tvb_length_remaining(tvb, offset);
- }
- return offset;
-}
-
-typedef struct _h460_feature_t {
- guint32 opt;
- const gchar *id;
- const gchar *name;
- new_dissector_t content_pdu;
- /*---*/
- const gchar *key_gd;
- const gchar *key_fd;
- const gchar *key_gm;
- const gchar *key_gi;
- dissector_handle_t content_hnd;
-} h460_feature_t;
-
-/* options */
-#define GD 0x01 /* present in H.225 GenericData */
-#define FD 0x02 /* present in H.225 FeatureDescriptor */
-#define GM 0x04 /* present in H.245 GenericMessage */
-#define GI 0x08 /* present in H.245 GenericInformation */
-
-static h460_feature_t h460_feature_tab[] = {
- /* H.460.3 */
- { GD|FD, "2", "Number Portability", NULL },
- { GD|FD, "2/1", "NumberPortabilityData", dissect_h460_2_NumberPortabilityInfo_PDU },
- /* H.460.3 */
- { GD|FD, "3", "Circuit Status", NULL },
- { GD|FD, "3/1", "Circuit Status Map", dissect_h460_3_CircuitStatus_PDU },
- /* H.460.4 */
- { GD|FD, "4", "CallPriorityDesignation", NULL },
- { GD|FD, "4/1", "CallPriorityRequest", dissect_h460_4_CallPriorityInfo_PDU },
- { GD|FD, "4/2", "CallPriorityConfirm", dissect_h460_4_CallPriorityInfo_PDU },
- { GD|FD, "4/3", "Country/InternationalNetworkCallOriginationRequest", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU },
- { GD|FD, "4/4", "Country/InternationalNetworkCallOriginationConfirm", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU },
- /* H.460.5 */
- { GD|FD, "5", "DuplicateIEs", NULL },
- { GD|FD, "5/1", "IEsString", dissect_ies },
- /* H.460.6 */
- { GD|FD, "6", "Extended Fast Connect", NULL },
- { GD|FD, "6/1", "EFC Proposal", NULL },
- { GD|FD, "6/2", "EFC Close All Media Channels", NULL },
- { GD|FD, "6/3", "EFC Request New Proposals", NULL },
- { GD|FD, "6/4", "EFC Require Symmetric Operation", NULL },
- /* H.460.7 */
- { GD|FD, "7", "Digit Maps", NULL },
- { FD, "7/1", "Digit Maps Length", NULL },
- { FD, "7/2", "Digit Map Length for Overlapped Sending", NULL },
- { FD, "7/3", "HTTP Digit Maps Download Capability", NULL },
- { GD , "7/1", "Start Timer", NULL },
- { GD , "7/2", "Short Timer", NULL },
- { GD , "7/3", "Long Timer", NULL },
- { GD , "7/4", "Digit Map String", NULL },
- { GD , "7/5", "ToN Associated Digit Map", NULL },
- { GD , "7/5/1", "Type of Number", NULL },
- { GD , "7/5/2", "Digit Map Strings for ToN", NULL },
- { GD , "7/6", "Digit Map URL", NULL },
- /* H.460.8 */
- { GD|FD, "8", "Querying for Alternate Routes", NULL },
- { GD|FD, "8/1", "Query Count", NULL },
- { GD|FD, "8/2", "Call Termination Cause", NULL },
- /* H.460.9 */
- { GD|FD, "9", "QoS-monitoring Reporting", NULL },
- { GD|FD, "9/1", "qosMonitoringFinalOnly", NULL },
- { GD|FD, "9/2", "qosMonitoringReportData", dissect_h460_9_QosMonitoringReportData_PDU },
- { GD|FD, "9/3", "qosMonitoringExtendedRTPMetrics", dissect_h460_9_ExtendedRTPMetrics_PDU },
- /* H.460.10 */
- { GD|FD, "10", "Call Party Category", NULL },
- { GD|FD, "10/1", "Call party category info", dissect_h460_10_CallPartyCategoryInfo_PDU },
- /* H.460.11 */
- { GD|FD, "11", "Delayed Call Establishment", NULL },
- { GD|FD, "11/1", "Delay Point Indicator", NULL },
- { GD|FD, "11/2", "Implicit DCE Release", NULL },
- { GD|FD, "11/3", "Delay Point Reached", NULL },
- { GD|FD, "11/4", "DCE Release", NULL },
- /* H.460.12 */
- { GD|FD, "12", "Glare Control Indicator", NULL },
- { GD|FD, "12/1", "Glare Control Indicator Parameter", NULL },
- /* H.460.13 */
- { GD|FD, "13", "Called User Release Control", NULL },
- { GD|FD, "13/1", "Called User Release Control", NULL },
- /* H.460.14 */
- { GD|FD, "14", "Multi-Level Precedence and Preemption", NULL },
- { GD|FD, "14/1", "MLPP Information", dissect_h460_14_MLPPInfo_PDU },
- /* H.460.15 */
- { GD|FD, "15", "Call signalling transport channel suspension and redirection", NULL },
- { GD|FD, "15/1", "Signalling channel suspend and redirect", dissect_h460_15_SignallingChannelData_PDU },
- /* H.460.16 */
- { GD|FD, "16", "Multiple-message Release Sequence", NULL },
- { GD|FD, "16/1", "MMRS use required", NULL },
- { GD|FD, "16/2", "MMRS procedure", NULL },
- { GD|FD, "16/3", "MMRS additional IEs", dissect_ies },
- /* H.460.17 */
- { GD|FD, "17", "RAS over H.225.0", NULL },
- { GD|FD, "17/1", "RAS message", dissect_ras },
- /* H.460.18 */
- { GD|FD|GM, "18", "Signalling Traversal", NULL },
- { GD|FD , "18/1", "IncomingCallIndication", dissect_h460_18_IncomingCallIndication_PDU },
- { GD|FD , "18/2", "LRQKeepAliveData", dissect_h460_18_LRQKeepAliveData_PDU },
- { GM, "18-1", "connectionCorrelation", NULL },
- { GM, "18-1/1", "callIdentifier", NULL },
- { GM, "18-1/2", "answerCall", NULL },
- /* H.460.19 */
- { GD|FD|GI, "19", "mediaNATFWTraversal", NULL },
- { GD|FD , "19/1", "supportTransmitMultiplexedMedia", NULL },
- { GD|FD , "19/2", "mediaTraversalServer", NULL },
- { GI, "19/1", "Traversal Parameters", dissect_h460_19_TraversalParameters_PDU },
- /* H.460.20 */
- { GD|FD, "20", "LocationSourceAddress", NULL },
- { GD|FD, "20/1", "LocationSourceAddress", dissect_h225_ExtendedAliasAddress_PDU },
- /* H.460.21 */
- { GD|FD, "21", "Message Broadcast", NULL },
- { GD|FD, "21/1", "MessageBroadcastParameter", dissect_h460_21_CapabilityAdvertisement_PDU },
- /* H.460.22 */
- { GD|FD, "22", "securityProtocolNegotiation", NULL },
- { GD|FD, "22/1", "tlsSecurityProtocol", NULL },
- { GD|FD, "22/1/1", "priority", NULL },
- { GD|FD, "22/1/2", "connectionAddress", NULL },
- { GD|FD, "22/2", "ipsecSecurityProtocol", NULL },
- { GD|FD, "22/2/1", "priority", NULL },
- { 0, NULL, NULL, NULL },
-};
-
-static h460_feature_t *find_ftr(const gchar *key) {
- h460_feature_t *ftr = NULL;
- h460_feature_t *f;
-
- for (f=h460_feature_tab; f->id; f++) {
- if (f->key_gd && !strcmp(key, f->key_gd)) { ftr = f; break; }
- if (f->key_fd && !strcmp(key, f->key_fd)) { ftr = f; break; }
- if (f->key_gm && !strcmp(key, f->key_gm)) { ftr = f; break; }
- if (f->key_gi && !strcmp(key, f->key_gi)) { ftr = f; break; }
- }
- return ftr;
-}
-
-/*--- dissect_h460_name -------------------------------------------*/
-static int
-dissect_h460_name(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
- int offset = 0;
- asn1_ctx_t *actx;
- h460_feature_t *ftr;
-
- actx = get_asn1_ctx(pinfo->private_data);
- DISSECTOR_ASSERT(actx);
- if (tree) {
- /* DEBUG */ /*proto_tree_add_text(tree, tvb, 0, 0, "*** DEBUG dissect_h460_name: %s", pinfo->match_string);*/
- ftr = find_ftr(pinfo->match_string);
- /* DEBUG */ /*proto_tree_add_text(tree, tvb, 0, 0, "*** DEBUG dissect_h460_name: ftr %s", (ftr)?ftr->name:"-none-");*/
- if (ftr) {
- proto_item_append_text(actx->created_item, " - %s", ftr->name);
- proto_item_append_text(proto_item_get_parent(proto_tree_get_parent(tree)), ": %s", ftr->name);
- } else {
- proto_item_append_text(actx->created_item, " - unknown(%s)", pinfo->match_string);
- }
- }
-
- return offset;
-}
-
-/*--- proto_register_h460 ----------------------------------------------*/
-void proto_register_h460(void) {
- h460_feature_t *ftr;
-
- /* List of fields */
- static hf_register_info hf[] = {
-#include "packet-h460-hfarr.c"
- };
-
- /* List of subtrees */
- static gint *ett[] = {
-#include "packet-h460-ettarr.c"
- };
-
- /* Register protocol */
- proto_h460 = proto_register_protocol(PNAME, PSNAME, PFNAME);
-
- /* Register fields and subtrees */
- proto_register_field_array(proto_h460, hf, array_length(hf));
- proto_register_subtree_array(ett, array_length(ett));
-
- for (ftr=h460_feature_tab; ftr->id; ftr++) {
- if (ftr->opt & GD) ftr->key_gd = ep_strdup_printf("GenericData/%s", ftr->id);
- if (ftr->opt & FD) ftr->key_fd = ep_strdup_printf("FeatureDescriptor/%s", ftr->id);
- if (ftr->opt & GM) ftr->key_gm = ep_strdup_printf("GenericMessage/%s", ftr->id);
- if (ftr->opt & GI) ftr->key_gi = ep_strdup_printf("GenericInformation/%s", ftr->id);
- if (ftr->content_pdu) ftr->content_hnd = new_create_dissector_handle(ftr->content_pdu, proto_h460);
- }
-}
-
-/*--- proto_reg_handoff_h460 -------------------------------------------*/
-void proto_reg_handoff_h460(void)
-{
- h460_feature_t *ftr;
- dissector_handle_t h460_name_handle;
-
- q931_ie_handle = find_dissector("q931.ie");
- h225_ras_handle = find_dissector("h225.ras");
-
- h460_name_handle = new_create_dissector_handle(dissect_h460_name, proto_h460);
- for (ftr=h460_feature_tab; ftr->id; ftr++) {
- if (ftr->key_gd) dissector_add_string("h225.gef.name", ftr->key_gd, h460_name_handle);
- if (ftr->key_fd) dissector_add_string("h225.gef.name", ftr->key_fd, h460_name_handle);
-/* if (ftr->key_gm) dissector_add_string("h245.gef.name", ftr->key_gm, h460_name_handle);
- if (ftr->key_gi) dissector_add_string("h245.gef.name", ftr->key_gi, h460_name_handle);*/
- if (ftr->content_hnd) {
- if (ftr->key_gd) dissector_add_string("h225.gef.content", ftr->key_gd, ftr->content_hnd);
- if (ftr->key_fd) dissector_add_string("h225.gef.content", ftr->key_fd, ftr->content_hnd);
- if (ftr->key_gm) dissector_add_string("h245.gef.content", ftr->key_gm, ftr->content_hnd);
- if (ftr->key_gi) dissector_add_string("h245.gef.content", ftr->key_gi, ftr->content_hnd);
- }
- }
-
-}
-
+/* packet-h460.c
+ * Routines for H.460.x packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * $Id$
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include <epan/packet.h>
+#include <epan/conversation.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include <stdio.h>
+#include <string.h>
+
+#include "packet-per.h"
+#include "packet-h225.h"
+#include "packet-h235.h"
+#include "packet-h245.h"
+
+#define PNAME "H.460 Supplementary Services"
+#define PSNAME "H.460"
+#define PFNAME "h460"
+
+/* Initialize the protocol and registered fields */
+int proto_h460 = -1;
+#include "packet-h460-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-h460-ett.c"
+
+/* Subdissectors */
+static dissector_handle_t q931_ie_handle = NULL;
+static dissector_handle_t h225_ras_handle = NULL;
+
+#include "packet-h460-fn.c"
+
+static int
+dissect_ies(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset = 0;
+
+ if (q931_ie_handle) {
+ call_dissector(q931_ie_handle, tvb, pinfo, tree);
+ offset += tvb_length_remaining(tvb, offset);
+ }
+ return offset;
+}
+
+static int
+dissect_ras(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset = 0;
+
+ if (h225_ras_handle) {
+ call_dissector(h225_ras_handle, tvb, pinfo, tree);
+ offset += tvb_length_remaining(tvb, offset);
+ }
+ return offset;
+}
+
+typedef struct _h460_feature_t {
+ guint32 opt;
+ const gchar *id;
+ const gchar *name;
+ new_dissector_t content_pdu;
+ /*---*/
+ const gchar *key_gd;
+ const gchar *key_fd;
+ const gchar *key_gm;
+ const gchar *key_gi;
+ dissector_handle_t content_hnd;
+} h460_feature_t;
+
+/* options */
+#define GD 0x01 /* present in H.225 GenericData */
+#define FD 0x02 /* present in H.225 FeatureDescriptor */
+#define GM 0x04 /* present in H.245 GenericMessage */
+#define GI 0x08 /* present in H.245 GenericInformation */
+
+static h460_feature_t h460_feature_tab[] = {
+ /* H.460.3 */
+ { GD|FD, "2", "Number Portability", NULL },
+ { GD|FD, "2/1", "NumberPortabilityData", dissect_h460_2_NumberPortabilityInfo_PDU },
+ /* H.460.3 */
+ { GD|FD, "3", "Circuit Status", NULL },
+ { GD|FD, "3/1", "Circuit Status Map", dissect_h460_3_CircuitStatus_PDU },
+ /* H.460.4 */
+ { GD|FD, "4", "CallPriorityDesignation", NULL },
+ { GD|FD, "4/1", "CallPriorityRequest", dissect_h460_4_CallPriorityInfo_PDU },
+ { GD|FD, "4/2", "CallPriorityConfirm", dissect_h460_4_CallPriorityInfo_PDU },
+ { GD|FD, "4/3", "Country/InternationalNetworkCallOriginationRequest", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU },
+ { GD|FD, "4/4", "Country/InternationalNetworkCallOriginationConfirm", dissect_h460_4_CountryInternationalNetworkCallOriginationIdentification_PDU },
+ /* H.460.5 */
+ { GD|FD, "5", "DuplicateIEs", NULL },
+ { GD|FD, "5/1", "IEsString", dissect_ies },
+ /* H.460.6 */
+ { GD|FD, "6", "Extended Fast Connect", NULL },
+ { GD|FD, "6/1", "EFC Proposal", NULL },
+ { GD|FD, "6/2", "EFC Close All Media Channels", NULL },
+ { GD|FD, "6/3", "EFC Request New Proposals", NULL },
+ { GD|FD, "6/4", "EFC Require Symmetric Operation", NULL },
+ /* H.460.7 */
+ { GD|FD, "7", "Digit Maps", NULL },
+ { FD, "7/1", "Digit Maps Length", NULL },
+ { FD, "7/2", "Digit Map Length for Overlapped Sending", NULL },
+ { FD, "7/3", "HTTP Digit Maps Download Capability", NULL },
+ { GD , "7/1", "Start Timer", NULL },
+ { GD , "7/2", "Short Timer", NULL },
+ { GD , "7/3", "Long Timer", NULL },
+ { GD , "7/4", "Digit Map String", NULL },
+ { GD , "7/5", "ToN Associated Digit Map", NULL },
+ { GD , "7/5/1", "Type of Number", NULL },
+ { GD , "7/5/2", "Digit Map Strings for ToN", NULL },
+ { GD , "7/6", "Digit Map URL", NULL },
+ /* H.460.8 */
+ { GD|FD, "8", "Querying for Alternate Routes", NULL },
+ { GD|FD, "8/1", "Query Count", NULL },
+ { GD|FD, "8/2", "Call Termination Cause", NULL },
+ /* H.460.9 */
+ { GD|FD, "9", "QoS-monitoring Reporting", NULL },
+ { GD|FD, "9/1", "qosMonitoringFinalOnly", NULL },
+ { GD|FD, "9/2", "qosMonitoringReportData", dissect_h460_9_QosMonitoringReportData_PDU },
+ { GD|FD, "9/3", "qosMonitoringExtendedRTPMetrics", dissect_h460_9_ExtendedRTPMetrics_PDU },
+ /* H.460.10 */
+ { GD|FD, "10", "Call Party Category", NULL },
+ { GD|FD, "10/1", "Call party category info", dissect_h460_10_CallPartyCategoryInfo_PDU },
+ /* H.460.11 */
+ { GD|FD, "11", "Delayed Call Establishment", NULL },
+ { GD|FD, "11/1", "Delay Point Indicator", NULL },
+ { GD|FD, "11/2", "Implicit DCE Release", NULL },
+ { GD|FD, "11/3", "Delay Point Reached", NULL },
+ { GD|FD, "11/4", "DCE Release", NULL },
+ /* H.460.12 */
+ { GD|FD, "12", "Glare Control Indicator", NULL },
+ { GD|FD, "12/1", "Glare Control Indicator Parameter", NULL },
+ /* H.460.13 */
+ { GD|FD, "13", "Called User Release Control", NULL },
+ { GD|FD, "13/1", "Called User Release Control", NULL },
+ /* H.460.14 */
+ { GD|FD, "14", "Multi-Level Precedence and Preemption", NULL },
+ { GD|FD, "14/1", "MLPP Information", dissect_h460_14_MLPPInfo_PDU },
+ /* H.460.15 */
+ { GD|FD, "15", "Call signalling transport channel suspension and redirection", NULL },
+ { GD|FD, "15/1", "Signalling channel suspend and redirect", dissect_h460_15_SignallingChannelData_PDU },
+ /* H.460.16 */
+ { GD|FD, "16", "Multiple-message Release Sequence", NULL },
+ { GD|FD, "16/1", "MMRS use required", NULL },
+ { GD|FD, "16/2", "MMRS procedure", NULL },
+ { GD|FD, "16/3", "MMRS additional IEs", dissect_ies },
+ /* H.460.17 */
+ { GD|FD, "17", "RAS over H.225.0", NULL },
+ { GD|FD, "17/1", "RAS message", dissect_ras },
+ /* H.460.18 */
+ { GD|FD|GM, "18", "Signalling Traversal", NULL },
+ { GD|FD , "18/1", "IncomingCallIndication", dissect_h460_18_IncomingCallIndication_PDU },
+ { GD|FD , "18/2", "LRQKeepAliveData", dissect_h460_18_LRQKeepAliveData_PDU },
+ { GM, "18-1", "connectionCorrelation", NULL },
+ { GM, "18-1/1", "callIdentifier", NULL },
+ { GM, "18-1/2", "answerCall", NULL },
+ /* H.460.19 */
+ { GD|FD|GI, "19", "mediaNATFWTraversal", NULL },
+ { GD|FD , "19/1", "supportTransmitMultiplexedMedia", NULL },
+ { GD|FD , "19/2", "mediaTraversalServer", NULL },
+ { GI, "19/1", "Traversal Parameters", dissect_h460_19_TraversalParameters_PDU },
+ /* H.460.20 */
+ { GD|FD, "20", "LocationSourceAddress", NULL },
+ { GD|FD, "20/1", "LocationSourceAddress", dissect_h225_ExtendedAliasAddress_PDU },
+ /* H.460.21 */
+ { GD|FD, "21", "Message Broadcast", NULL },
+ { GD|FD, "21/1", "MessageBroadcastParameter", dissect_h460_21_CapabilityAdvertisement_PDU },
+ /* H.460.22 */
+ { GD|FD, "22", "securityProtocolNegotiation", NULL },
+ { GD|FD, "22/1", "tlsSecurityProtocol", NULL },
+ { GD|FD, "22/1/1", "priority", NULL },
+ { GD|FD, "22/1/2", "connectionAddress", NULL },
+ { GD|FD, "22/2", "ipsecSecurityProtocol", NULL },
+ { GD|FD, "22/2/1", "priority", NULL },
+ { 0, NULL, NULL, NULL },
+};
+
+static h460_feature_t *find_ftr(const gchar *key) {
+ h460_feature_t *ftr = NULL;
+ h460_feature_t *f;
+
+ for (f=h460_feature_tab; f->id; f++) {
+ if (f->key_gd && !strcmp(key, f->key_gd)) { ftr = f; break; }
+ if (f->key_fd && !strcmp(key, f->key_fd)) { ftr = f; break; }
+ if (f->key_gm && !strcmp(key, f->key_gm)) { ftr = f; break; }
+ if (f->key_gi && !strcmp(key, f->key_gi)) { ftr = f; break; }
+ }
+ return ftr;
+}
+
+/*--- dissect_h460_name -------------------------------------------*/
+static int
+dissect_h460_name(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset = 0;
+ asn1_ctx_t *actx;
+ h460_feature_t *ftr;
+
+ actx = get_asn1_ctx(pinfo->private_data);
+ DISSECTOR_ASSERT(actx);
+ if (tree) {
+ /* DEBUG */ /*proto_tree_add_text(tree, tvb, 0, 0, "*** DEBUG dissect_h460_name: %s", pinfo->match_string);*/
+ ftr = find_ftr(pinfo->match_string);
+ /* DEBUG */ /*proto_tree_add_text(tree, tvb, 0, 0, "*** DEBUG dissect_h460_name: ftr %s", (ftr)?ftr->name:"-none-");*/
+ if (ftr) {
+ proto_item_append_text(actx->created_item, " - %s", ftr->name);
+ proto_item_append_text(proto_item_get_parent(proto_tree_get_parent(tree)), ": %s", ftr->name);
+ } else {
+ proto_item_append_text(actx->created_item, " - unknown(%s)", pinfo->match_string);
+ }
+ }
+
+ return offset;
+}
+
+/*--- proto_register_h460 ----------------------------------------------*/
+void proto_register_h460(void) {
+ h460_feature_t *ftr;
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-h460-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-h460-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_h460 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h460, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ for (ftr=h460_feature_tab; ftr->id; ftr++) {
+ if (ftr->opt & GD) ftr->key_gd = ep_strdup_printf("GenericData/%s", ftr->id);
+ if (ftr->opt & FD) ftr->key_fd = ep_strdup_printf("FeatureDescriptor/%s", ftr->id);
+ if (ftr->opt & GM) ftr->key_gm = ep_strdup_printf("GenericMessage/%s", ftr->id);
+ if (ftr->opt & GI) ftr->key_gi = ep_strdup_printf("GenericInformation/%s", ftr->id);
+ if (ftr->content_pdu) ftr->content_hnd = new_create_dissector_handle(ftr->content_pdu, proto_h460);
+ }
+}
+
+/*--- proto_reg_handoff_h460 -------------------------------------------*/
+void proto_reg_handoff_h460(void)
+{
+ h460_feature_t *ftr;
+ dissector_handle_t h460_name_handle;
+
+ q931_ie_handle = find_dissector("q931.ie");
+ h225_ras_handle = find_dissector("h225.ras");
+
+ h460_name_handle = new_create_dissector_handle(dissect_h460_name, proto_h460);
+ for (ftr=h460_feature_tab; ftr->id; ftr++) {
+ if (ftr->key_gd) dissector_add_string("h225.gef.name", ftr->key_gd, h460_name_handle);
+ if (ftr->key_fd) dissector_add_string("h225.gef.name", ftr->key_fd, h460_name_handle);
+/* if (ftr->key_gm) dissector_add_string("h245.gef.name", ftr->key_gm, h460_name_handle);
+ if (ftr->key_gi) dissector_add_string("h245.gef.name", ftr->key_gi, h460_name_handle);*/
+ if (ftr->content_hnd) {
+ if (ftr->key_gd) dissector_add_string("h225.gef.content", ftr->key_gd, ftr->content_hnd);
+ if (ftr->key_fd) dissector_add_string("h225.gef.content", ftr->key_fd, ftr->content_hnd);
+ if (ftr->key_gm) dissector_add_string("h245.gef.content", ftr->key_gm, ftr->content_hnd);
+ if (ftr->key_gi) dissector_add_string("h245.gef.content", ftr->key_gi, ftr->content_hnd);
+ }
+ }
+
+}