diff options
author | AndersBroman <anders.broman@ericsson.com> | 2018-01-15 17:51:55 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-01-16 05:28:25 +0000 |
commit | 9937973431a01b9711a17fbe8aa0d2f6f2755032 (patch) | |
tree | cd3050d15aabd64a7e7948e702d1b2a8d284f390 /ui/voip_calls.c | |
parent | 6b2764a41e5b7aac4a161d4dd8309dfb3b48e333 (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.c | 18 |
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 ); |