aboutsummaryrefslogtreecommitdiffstats
path: root/ui/voip_calls.c
diff options
context:
space:
mode:
authorAndersBroman <anders.broman@ericsson.com>2018-01-15 17:51:55 +0100
committerAnders Broman <a.broman58@gmail.com>2018-01-16 05:28:25 +0000
commit9937973431a01b9711a17fbe8aa0d2f6f2755032 (patch)
treecd3050d15aabd64a7e7948e702d1b2a8d284f390 /ui/voip_calls.c
parent6b2764a41e5b7aac4a161d4dd8309dfb3b48e333 (diff)
[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 <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui/voip_calls.c')
-rw-r--r--ui/voip_calls.c18
1 files changed, 17 insertions, 1 deletions
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
);