Avoid duplicate SIP and Q.931 calls in VoIP Calls list in case of Q.931
transported over SIP as described in RFC 3204, 3.2 QSIG Media Type. Change-Id: Ida30a7b115e60fa64d30cfc1f4b7c11be724f8ee Reviewed-on: https://code.wireshark.org/review/9479 Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
19578ba619
commit
c711a63e48
|
@ -3830,6 +3830,15 @@ dissect_sip_common(tvbuff_t *tvb, int offset, int remaining_length, packet_info
|
|||
&response_time);
|
||||
}
|
||||
|
||||
/* Report this packet to the tap */
|
||||
if (!pinfo->flags.in_error_pkt)
|
||||
{
|
||||
tap_queue_packet(sip_tap, pinfo, stat_info);
|
||||
if(have_tap_listener(exported_pdu_tap)){
|
||||
export_sip_pdu(pinfo,tvb);
|
||||
}
|
||||
}
|
||||
|
||||
if (datalen > 0) {
|
||||
/*
|
||||
* There's a message body starting at "offset".
|
||||
|
@ -3988,15 +3997,6 @@ dissect_sip_common(tvbuff_t *tvb, int offset, int remaining_length, packet_info
|
|||
if (global_sip_raw_text)
|
||||
tvb_raw_text_add(tvb, orig_offset, offset - orig_offset, tree);
|
||||
|
||||
/* Report this packet to the tap */
|
||||
if (!pinfo->flags.in_error_pkt)
|
||||
{
|
||||
tap_queue_packet(sip_tap, pinfo, stat_info);
|
||||
if(have_tap_listener(exported_pdu_tap)){
|
||||
export_sip_pdu(pinfo,tvb);
|
||||
}
|
||||
}
|
||||
|
||||
/* Append a brief summary to the SIP root item */
|
||||
if (stat_info->request_method) {
|
||||
proto_item_append_text(ts, " (%s)", stat_info->request_method);
|
||||
|
|
|
@ -1051,6 +1051,8 @@ sip_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt ,
|
|||
|
||||
const sip_info_value_t *pi = (const sip_info_value_t *)SIPinfo;
|
||||
|
||||
tapinfo->sip_frame_num = pinfo->fd->num;
|
||||
|
||||
/* do not consider packets without call_id */
|
||||
if (pi->tap_call_id ==NULL) {
|
||||
return FALSE;
|
||||
|
@ -1666,8 +1668,10 @@ q931_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt,
|
|||
}
|
||||
list = g_list_next (list);
|
||||
}
|
||||
|
||||
/* add stuff to ACTRACE */
|
||||
/* SIP-Q */
|
||||
} else if (tapinfo->sip_frame_num == tapinfo->q931_frame_num) {
|
||||
/* Do nothing for now */
|
||||
/* add stuff to ACTRACE */
|
||||
} else {
|
||||
address pstn_add;
|
||||
|
||||
|
|
|
@ -219,6 +219,7 @@ typedef struct _voip_calls_tapinfo {
|
|||
guint16 h225_call_num;
|
||||
int h225_cstype; /* XXX actually an enum */
|
||||
gboolean h225_is_faststart;
|
||||
guint32 sip_frame_num;
|
||||
guint32 actrace_frame_num;
|
||||
gint32 actrace_trunk;
|
||||
gint32 actrace_direction;
|
||||
|
|
Loading…
Reference in New Issue