Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
Hi,
Point
3 is probably fixed by using tcap_top_tree in the .cnf file, see
below.
If I
could get a trace of ANSI TCAp as well I'd be grateful.
Best
regards
Anders
#.FN_BODY ExternUserInfo tvbuff_t *next_tvb; guint8 class; gboolean pc; guint32 tag; guint32 len, start_offset; guint32 ind_field; /* * ok lets look at the oid and ssn and try and find a dissector, otherwise lets decode it. */ ber_oid_dissector_table = find_dissector_table("ber.oid"); start_offset = offset; offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len, &ind_field); /* Use the recived length, XXX What if it was indefenet? */ next_tvb = tvb_new_subset(tvb, start_offset, len +(offset - start_offset), len+(offset - start_offset)); if (ber_oid_dissector_table && tcapext_oid){ if(!dissector_try_string(ber_oid_dissector_table, tcapext_oid, next_tvb, pinfo, tcap_top_tree)) { } } offset+=len;
#.FN_BODY ANSIParameters /* we are doing the ParamSet here so need to look at the tags*/ guint32 len; len = tvb_length_remaining(tvb, offset); if (len > 2) /* arghhh I dont know whether this is constructed or not! */ offset = dissect_tcap_param(pinfo,tree,tvb,offset); else offset = dissect_ber_octet_string(TRUE, pinfo, tree, tvb, 0, hf_index, NULL);
#.FN_BODY ComponentPDU tvbuff_t *next_tvb; next_tvb = tvb_new_subset(tvb, offset, tvb_length_remaining(tvb, offset), tvb_length_remaining(tvb, offset)); if (!dissector_try_port(tcap_ansi_ssn_dissector_table, pinfo->match_port, next_tvb, pinfo, tcap_top_tree)) { offset = dissect_ber_choice(pinfo, tree, tvb, offset, ComponentPDU_choice, hf_index, ett_tcap_ComponentPDU); }
|
- Prev by Date: [Ethereal-dev] help needed
- Next by Date: SV: SV: [Ethereal-dev] Voip Graph analysis enhancement
- Previous by thread: RE: [Ethereal-dev] New asn.1 based TCAP dissector.
- Next by thread: RE: [Ethereal-dev] New asn.1 based TCAP dissector.
- Index(es):