2005-06-06 15:39:20 +00:00
|
|
|
# tcap.cnf
|
2007-04-21 20:27:05 +00:00
|
|
|
# $Id$
|
2005-06-06 15:39:20 +00:00
|
|
|
# tcap conformation file
|
|
|
|
|
2008-07-26 22:39:32 +00:00
|
|
|
#.OMIT_ASSIGNMENT
|
|
|
|
RLRQ-apdu
|
|
|
|
RLRE-apdu
|
|
|
|
#.END
|
2005-06-06 15:39:20 +00:00
|
|
|
|
|
|
|
#.MODULE_IMPORT
|
|
|
|
|
|
|
|
#.EXPORTS
|
2007-04-21 20:53:35 +00:00
|
|
|
DialoguePDU
|
|
|
|
UniDialoguePDU
|
2005-06-06 15:39:20 +00:00
|
|
|
|
2007-04-21 20:53:35 +00:00
|
|
|
#.REGISTER
|
|
|
|
DialoguePDU B "0.0.17.773.1.1.1" "dialogue-as-id"
|
|
|
|
UniDialoguePDU B "0.0.17.773.1.2.1" "uniDialogue-as-id"
|
2005-06-06 15:39:20 +00:00
|
|
|
|
|
|
|
#.PDU
|
|
|
|
|
|
|
|
|
|
|
|
#.NO_EMIT
|
|
|
|
|
|
|
|
#.TYPE_RENAME
|
|
|
|
|
|
|
|
#.FIELD_RENAME
|
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-06-06 15:39:20 +00:00
|
|
|
#.FN_BODY DialogueOC
|
2005-08-18 21:36:59 +00:00
|
|
|
|
2007-11-13 21:59:53 +00:00
|
|
|
return dissect_tcap_ExternalPDU(FALSE /*implicit_tag*/, tvb, offset, actx, tree, -1);
|
2005-06-06 15:39:20 +00:00
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2007-04-21 20:27:05 +00:00
|
|
|
#.FN_BODY ExternalPDU
|
2007-07-27 19:24:40 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2007-07-26 20:05:54 +00:00
|
|
|
|
2007-11-13 21:59:53 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
|
|
|
#.FN_BODY Dialog1
|
2005-08-18 21:36:59 +00:00
|
|
|
|
2007-11-13 21:59:53 +00:00
|
|
|
return dissect_tcap_DialoguePDU(TRUE, tvb, offset, actx, tree, -1);
|
2005-06-06 15:39:20 +00:00
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-06-06 15:39:20 +00:00
|
|
|
#.FN_BODY Parameter
|
2005-06-07 20:30:04 +00:00
|
|
|
|
2007-11-13 21:59:53 +00:00
|
|
|
return dissect_tcap_param(actx,tree,tvb,offset);
|
2007-07-27 19:24:40 +00:00
|
|
|
|
|
|
|
#----------------------------------------------------------------------------------------
|
2007-06-06 08:12:27 +00:00
|
|
|
#.FN_BODY User-information
|
2007-07-26 20:05:54 +00:00
|
|
|
|
2007-11-13 21:59:53 +00:00
|
|
|
return dissect_tcap_UserInformation(FALSE, tvb, offset, actx, tree, -1);
|
2007-07-27 19:24:40 +00:00
|
|
|
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-06-06 15:39:20 +00:00
|
|
|
#.FN_BODY Component
|
2007-07-27 19:24:40 +00:00
|
|
|
tvbuff_t *next_tvb;
|
|
|
|
gint8 class;
|
|
|
|
gboolean pc;
|
|
|
|
gint tag;
|
|
|
|
guint32 len, comp_offset;
|
|
|
|
gint ind_field;
|
|
|
|
|
|
|
|
comp_offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &class, &pc, &tag);
|
|
|
|
comp_offset = dissect_ber_length(actx->pinfo, tree, tvb, comp_offset, &len, &ind_field);
|
|
|
|
/* we can believe the length now */
|
|
|
|
next_tvb = tvb_new_subset(tvb, offset, len+comp_offset-offset, len+comp_offset-offset);
|
|
|
|
|
|
|
|
if (!next_tvb)
|
|
|
|
return comp_offset;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2005-06-06 15:39:20 +00:00
|
|
|
|
2007-07-30 17:10:20 +00:00
|
|
|
dissect_tcap_ITU_ComponentPDU(implicit_tag, next_tvb, 0, actx, tcap_top_tree, hf_index);
|
2007-07-27 19:24:40 +00:00
|
|
|
|
|
|
|
/* return comp_offset+len; or return offset (will be automatically added */
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-11-14 10:02:31 +00:00
|
|
|
#.FN_BODY Applicationcontext FN_VARIANT = _str VAL_PTR = &cur_oid
|
|
|
|
%(DEFAULT_BODY)s
|
2007-07-26 20:05:54 +00:00
|
|
|
tcap_private.oid= (void*) cur_oid;
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
tcap_private.acv=TRUE;
|
2005-11-14 10:02:31 +00:00
|
|
|
|
2007-04-23 21:26:27 +00:00
|
|
|
# Do not overwrite the ApplicationContext with the UserInfoOID !
|
|
|
|
#
|
2007-07-27 19:24:40 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2007-07-13 13:45:11 +00:00
|
|
|
#.FN_BODY UserInfoOID FN_VARIANT = _str VAL_PTR = &tcapext_oid
|
|
|
|
%(DEFAULT_BODY)s
|
2005-06-06 15:39:20 +00:00
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-06-06 15:39:20 +00:00
|
|
|
#.FN_BODY ExternUserInfo
|
2007-07-27 19:24:40 +00:00
|
|
|
tvbuff_t *next_tvb;
|
|
|
|
gint8 class;
|
|
|
|
gboolean pc;
|
|
|
|
gint tag;
|
|
|
|
guint32 len, comp_offset;
|
|
|
|
gint ind_field;
|
|
|
|
|
|
|
|
comp_offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &class, &pc, &tag);
|
|
|
|
comp_offset = dissect_ber_length(actx->pinfo, tree, tvb, comp_offset, &len, &ind_field);
|
|
|
|
/* we can believe the length now */
|
|
|
|
next_tvb = tvb_new_subset(tvb, offset, len+comp_offset-offset, len+comp_offset-offset);
|
|
|
|
|
|
|
|
if (!next_tvb)
|
|
|
|
return comp_offset;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
dissect_tcap_TheExternUserInfo(implicit_tag, next_tvb, 0, actx, tcap_top_tree, hf_index);
|
2005-06-06 15:39:20 +00:00
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
return comp_offset+len;
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------------------------
|
2005-06-06 15:39:20 +00:00
|
|
|
#.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! */
|
2007-05-15 05:49:43 +00:00
|
|
|
offset = dissect_tcap_param(actx,tree,tvb,offset);
|
2005-06-06 15:39:20 +00:00
|
|
|
else
|
2007-05-15 05:49:43 +00:00
|
|
|
offset = dissect_ber_octet_string(TRUE, actx, tree, tvb, 0, hf_index,
|
2005-06-06 15:39:20 +00:00
|
|
|
NULL);
|
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2007-07-26 20:05:54 +00:00
|
|
|
#.FN_BODY ComponentPDU
|
2007-07-27 19:24:40 +00:00
|
|
|
tvbuff_t *next_tvb;
|
|
|
|
gint8 class;
|
|
|
|
gboolean pc;
|
|
|
|
gint tag;
|
|
|
|
guint32 len, comp_offset;
|
|
|
|
gint ind_field;
|
2005-06-06 15:39:20 +00:00
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
comp_offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &class, &pc, &tag);
|
|
|
|
comp_offset = dissect_ber_length(actx->pinfo, tree, tvb, comp_offset, &len, &ind_field);
|
|
|
|
/* we can believe the length now */
|
|
|
|
next_tvb = tvb_new_subset(tvb, offset, len+comp_offset-offset, len+comp_offset-offset);
|
2007-07-26 20:05:54 +00:00
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
if (!next_tvb)
|
|
|
|
return offset;
|
2005-08-18 21:36:59 +00:00
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2007-07-26 20:05:54 +00:00
|
|
|
|
2007-07-30 17:10:20 +00:00
|
|
|
dissect_tcap_ANSI_ComponentPDU(implicit_tag, next_tvb, 0, actx, tcap_top_tree, hf_index);
|
2007-07-26 20:05:54 +00:00
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-06-06 15:39:20 +00:00
|
|
|
#.FN_BODY OrigTransactionID
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
guint8 len, i;
|
2005-08-18 21:36:59 +00:00
|
|
|
proto_item *tid_item;
|
|
|
|
proto_tree *subtree;
|
|
|
|
tid_item = proto_tree_add_text(tree, tvb, offset, -1, "Source Transaction ID");
|
|
|
|
subtree = proto_item_add_subtree(tid_item, ett_otid);
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
|
2007-05-15 05:49:43 +00:00
|
|
|
offset = dissect_ber_octet_string(implicit_tag, actx, subtree, tvb, offset, hf_tcap_tid,
|
2005-06-06 15:39:20 +00:00
|
|
|
¶meter_tvb);
|
2005-06-08 18:53:11 +00:00
|
|
|
|
|
|
|
if (parameter_tvb){
|
|
|
|
len = tvb_length_remaining(parameter_tvb, 0);
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
switch(len) {
|
|
|
|
case 1:
|
|
|
|
gp_tcapsrt_info->src_tid=tvb_get_guint8(parameter_tvb, 0);
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
gp_tcapsrt_info->src_tid=tvb_get_ntohs(parameter_tvb, 0);
|
|
|
|
break;
|
|
|
|
case 4:
|
|
|
|
gp_tcapsrt_info->src_tid=tvb_get_ntohl(parameter_tvb, 0);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
gp_tcapsrt_info->src_tid=0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if ((len)&&(check_col(actx->pinfo->cinfo, COL_INFO))){
|
2007-10-23 05:50:00 +00:00
|
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, "otid(");
|
2005-06-06 15:39:20 +00:00
|
|
|
for(i=0;i<len;i++)
|
2007-05-13 20:58:29 +00:00
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%02x",tvb_get_guint8(parameter_tvb,i));
|
2007-10-23 05:50:00 +00:00
|
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, ") ");
|
2005-06-08 18:53:11 +00:00
|
|
|
}
|
2005-06-06 15:39:20 +00:00
|
|
|
|
2007-07-26 20:05:54 +00:00
|
|
|
}
|
2005-08-18 21:36:59 +00:00
|
|
|
|
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2005-06-06 15:39:20 +00:00
|
|
|
#.FN_BODY DestTransactionID
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
guint8 len , i;
|
2005-08-18 21:36:59 +00:00
|
|
|
proto_item *tid_item;
|
|
|
|
proto_tree *subtree;
|
|
|
|
tid_item = proto_tree_add_text(tree, tvb, offset, -1, "Destination Transaction ID");
|
|
|
|
subtree = proto_item_add_subtree(tid_item, ett_otid);
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
|
2007-05-15 05:49:43 +00:00
|
|
|
offset = dissect_ber_octet_string(implicit_tag, actx, subtree, tvb, offset, hf_tcap_tid,
|
2005-06-06 15:39:20 +00:00
|
|
|
¶meter_tvb);
|
2005-08-18 21:36:59 +00:00
|
|
|
|
2005-06-08 18:53:11 +00:00
|
|
|
if (parameter_tvb){
|
|
|
|
len = tvb_length_remaining(parameter_tvb, 0);
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
switch(len) {
|
|
|
|
case 1:
|
|
|
|
gp_tcapsrt_info->dst_tid=tvb_get_guint8(parameter_tvb, 0);
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
gp_tcapsrt_info->dst_tid=tvb_get_ntohs(parameter_tvb, 0);
|
|
|
|
break;
|
|
|
|
case 4:
|
|
|
|
gp_tcapsrt_info->dst_tid=tvb_get_ntohl(parameter_tvb, 0);
|
2007-07-26 20:05:54 +00:00
|
|
|
break;
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
default:
|
|
|
|
gp_tcapsrt_info->dst_tid=0;
|
|
|
|
break;
|
|
|
|
}
|
2007-07-26 20:05:54 +00:00
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if ((len)&&(check_col(actx->pinfo->cinfo, COL_INFO))){
|
2007-10-23 05:50:00 +00:00
|
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, "dtid(");
|
2005-06-08 18:53:11 +00:00
|
|
|
for(i=0;i<len;i++)
|
2007-05-13 20:58:29 +00:00
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%%02x",tvb_get_guint8(parameter_tvb,i));
|
2007-10-23 05:50:00 +00:00
|
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, ") ");
|
2005-06-08 18:53:11 +00:00
|
|
|
}
|
|
|
|
}
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR Begin
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_BEGIN;
|
|
|
|
|
2007-07-26 20:05:54 +00:00
|
|
|
/* Do not change col_add_str() to col_append_str() here: we _want_ this call
|
|
|
|
* to overwrite whatever's currently in the INFO column (e.g., "UDT" from
|
|
|
|
* the SCCP dissector).
|
|
|
|
*
|
|
|
|
* If there's something there that should not be overwritten, whoever
|
|
|
|
* put that info there should call col_set_fence() to protect it.
|
|
|
|
*/
|
2007-05-13 20:58:29 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "Begin ");
|
2007-07-27 06:23:45 +00:00
|
|
|
#.END
|
2007-04-23 20:20:46 +00:00
|
|
|
|
|
|
|
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR End
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_END;
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "End ");
|
2007-07-27 06:23:45 +00:00
|
|
|
#.END
|
2007-04-23 06:50:07 +00:00
|
|
|
|
|
|
|
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR Continue
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_CONT;
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "Continue ");
|
2007-07-27 06:23:45 +00:00
|
|
|
#.END
|
2007-04-23 06:50:07 +00:00
|
|
|
|
|
|
|
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR Abort
|
From Florent Drouin:
Here are some patches and a new module to introduce the notion of Tcap context for a Tcap transaction. For each Tcap transaction, several parameters, like session identifier, start time or OID, will be saved in a hash table, to keep these informations available for the next messages. This context is then given to the upper layer, and can be used, for example, to generate transaction-associated statistics.
Moreover, the Upper protocol, detected in the Begin of the TCAP transaction ( according to the OID ), is saved in the context, and will be reused for the next messages of the transaction. This help the decoding of SS7 messages, without any SSN configuration in the "wireshark preferences".
You will have too, the possibility to apply a filter to see only the messages related to a TCAP transaction. (tcap.srt.session_id=XXX)
To enable the use of the Tcap context, you have 2 new parameters in the preferences,
- SRT, enable search for a Tcap context for any TCAP messages
- persistentSRT, keep the Tcap context, even after the transaction has been closed. This is mandatory with Wireshark, to have a clean display of the stats.
There is 2 new timers in the preferences for the statistics, to tune the retransmission timeout, and messages lost timeout.
svn path=/trunk/; revision=19341
2006-09-27 20:06:06 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_ABORT;
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "Abort ");
|
2007-07-27 06:23:45 +00:00
|
|
|
#.END
|
2007-07-26 20:05:54 +00:00
|
|
|
|
|
|
|
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR AbortPDU
|
2007-07-27 19:24:40 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_ANSI_ABORT;
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "Abort ");
|
2007-07-27 06:23:45 +00:00
|
|
|
#.END
|
2007-04-23 06:50:07 +00:00
|
|
|
|
|
|
|
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR TCMessage/ansiqueryWithPerm
|
2007-07-27 19:24:40 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_ANSI_ALL;
|
2007-07-27 06:23:45 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "QueryWithPerm ");
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR TCMessage/ansiqueryWithoutPerm
|
2007-07-27 19:24:40 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_ANSI_ALL;
|
2007-07-27 06:23:45 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "QueryWithOutPerm ");
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR TCMessage/ansiresponse
|
2007-07-27 19:24:40 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_ANSI_ALL;
|
2007-07-27 06:23:45 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "Response ");
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR TCMessage/ansiconversationWithPerm
|
2007-07-27 19:24:40 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_ANSI_ALL;
|
2007-07-27 06:23:45 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "ConversationWithPerm ");
|
2007-07-27 06:23:45 +00:00
|
|
|
#.FN_HDR TCMessage/ansiconversationWithoutPerm
|
2007-07-27 19:24:40 +00:00
|
|
|
gp_tcapsrt_info->ope=TC_ANSI_ALL;
|
2007-07-27 06:23:45 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO))
|
2007-10-23 05:50:00 +00:00
|
|
|
col_set_str(actx->pinfo->cinfo, COL_INFO, "ConversationWithoutPerm ");
|
2007-07-26 20:05:54 +00:00
|
|
|
|
2007-07-27 06:23:45 +00:00
|
|
|
#.END
|
2007-01-01 22:03:01 +00:00
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
#----------------------------------------------------------------------------------------
|
2007-11-07 21:22:25 +00:00
|
|
|
#.FN_BODY TransactionID/_untag VAL_PTR = &next_tvb
|
2007-01-01 22:03:01 +00:00
|
|
|
|
|
|
|
tvbuff_t *next_tvb;
|
2007-07-27 19:24:40 +00:00
|
|
|
guint8 len;
|
2007-01-01 22:03:01 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2007-07-27 19:24:40 +00:00
|
|
|
if(next_tvb) {
|
2007-01-01 22:03:01 +00:00
|
|
|
tcap_private.TransactionID_str = tvb_bytes_to_str(next_tvb, 0,tvb_length(next_tvb));
|
2007-07-27 19:24:40 +00:00
|
|
|
len = tvb_length_remaining(next_tvb, 0);
|
|
|
|
switch(len) {
|
|
|
|
case 1:
|
|
|
|
gp_tcapsrt_info->src_tid=tvb_get_guint8(next_tvb, 0);
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
gp_tcapsrt_info->src_tid=tvb_get_ntohs(next_tvb, 0);
|
|
|
|
break;
|
|
|
|
case 4:
|
|
|
|
gp_tcapsrt_info->src_tid=tvb_get_ntohl(next_tvb, 0);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
gp_tcapsrt_info->src_tid=0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2007-01-01 22:03:01 +00:00
|
|
|
|
2005-06-06 15:39:20 +00:00
|
|
|
#.END
|