aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/h248/h248.cnf
diff options
context:
space:
mode:
Diffstat (limited to 'asn1/h248/h248.cnf')
-rw-r--r--asn1/h248/h248.cnf16
1 files changed, 11 insertions, 5 deletions
diff --git a/asn1/h248/h248.cnf b/asn1/h248/h248.cnf
index 7b52d4812b..bd561c7d9a 100644
--- a/asn1/h248/h248.cnf
+++ b/asn1/h248/h248.cnf
@@ -114,13 +114,15 @@ ServiceChangeReply/terminationID terminationIDList
guint32 ctx_id = 0;
offset = dissect_h248_ctx_id(implicit_tag, pinfo, tree, tvb, offset, &ctx_id);
ctx = h248_ctx(msg,trx,ctx_id);
+ term = NULL;
#.END
#.FN_BODY ActionReply/contextId
guint32 ctx_id;
offset = dissect_h248_ctx_id(implicit_tag, pinfo, tree, tvb, offset, &ctx_id);
- ctx = h248_ctx(msg,trx,ctx_id);
+ ctx = h248_ctx(msg ,trx,ctx_id);
cmd = NULL;
+ term = NULL;
#.END
#.FN_FTR ActionReply
@@ -247,7 +249,7 @@ ServiceChangeReply/terminationID terminationIDList
#.FN_HDR TerminationID
term = ep_new0(h248_term_t);
-
+ wild_term = H248_WILDCARD_NONE;
#.END
#.FN_BODY WildcardField
@@ -257,6 +259,9 @@ ServiceChangeReply/terminationID terminationIDList
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 ? H248_WILDCARD_CHOOSE : H248_WILDCARD_ALL;
+
#.END
#.FN_BODY TerminationID/id
@@ -264,13 +269,14 @@ ServiceChangeReply/terminationID terminationIDList
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, &new_tvb);
term->len = tvb_length(new_tvb);
-
+ term->type = 0; /* unknown */
+
if (term->len) {
term->buffer = ep_tvb_memdup(new_tvb,0,term->len);
term->str = bytes_to_str(term->buffer,term->len);
}
-
- h248_cmd_add_term(cmd, term);
+
+ term = h248_cmd_add_term(msg, trx, cmd, term, wild_term);
if (new_tvb && h248_term_handle) {
call_dissector(h248_term_handle, new_tvb, pinfo, tree);