From 9937973431a01b9711a17fbe8aa0d2f6f2755032 Mon Sep 17 00:00:00 2001 From: AndersBroman Date: Mon, 15 Jan 2018 17:51:55 +0100 Subject: [VoIP calls] Make ISUP over M3UA work. I'm not sure how this tap_base_to_id() works but this seems to fix the problem. Change-Id: I98663a9560a38de03c130181dfa43b43befc612f Reviewed-on: https://code.wireshark.org/review/25327 Reviewed-by: Pascal Quantin Petri-Dish: Pascal Quantin Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- ui/voip_calls.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'ui/voip_calls.c') diff --git a/ui/voip_calls.c b/ui/voip_calls.c index 4ab23e18ef..6976091d48 100644 --- a/ui/voip_calls.c +++ b/ui/voip_calls.c @@ -1530,6 +1530,22 @@ mtp3_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt return FALSE; } +static gboolean +m3ua_calls_packet(void *tap_offset_ptr, packet_info *pinfo, epan_dissect_t *edt _U_, const void *mtp3_info) +{ + voip_calls_tapinfo_t *tapinfo = tap_id_to_base(tap_offset_ptr, tap_id_offset_m3ua_); + const mtp3_tap_rec_t *pi = (const mtp3_tap_rec_t *)mtp3_info; + + /* keep the data in memory to use when the ISUP information arrives */ + + tapinfo->mtp3_opc = pi->addr_opc.pc; + tapinfo->mtp3_dpc = pi->addr_dpc.pc; + tapinfo->mtp3_ni = pi->addr_opc.ni; + tapinfo->mtp3_frame_num = pinfo->num; + + return FALSE; +} + /****************************************************************************/ void @@ -1555,7 +1571,7 @@ mtp3_calls_init_tap(voip_calls_tapinfo_t *tap_id_base) NULL, 0, NULL, - mtp3_calls_packet, + m3ua_calls_packet, NULL ); -- cgit v1.2.3