| Wireshark 4.7.3 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
voip_calls.h File Reference
`#include <glib.h>`
`#include <stdio.h>`
`#include "epan/address.h"`
`#include "epan/packet.h"`
`#include "epan/guid-utils.h"`
`#include "epan/tap.h"`
`#include "epan/tap-voip.h"`
`#include "epan/sequence_analysis.h"`

Go to the source code of this file.

## Classes
struct | _sip_calls_info
| Protocol-specific call metadata for SIP calls. More...
struct | _isup_calls_info
| Protocol-specific call metadata for ISUP calls. More...
struct | _h245_address
| H.245 control channel address and port tuple. More...
struct | _h323_calls_info
| Protocol-specific call metadata for H.323 calls. More...
struct | _mgcp_calls_info
| Protocol-specific call metadata for MGCP calls. More...
struct | _actrace_isdn_calls_info
| Protocol-specific call metadata for ACTrace ISDN calls. More...
struct | _actrace_cas_calls_info
| Protocol-specific call metadata for ACTrace CAS calls. More...
struct | _skinny_calls_info
| Protocol-specific call metadata for Cisco Skinny (SCCP) calls. More...
struct | _voip_calls_info
| Unified record describing a single detected VoIP call across all supported protocols. More...
struct | _voip_calls_tapinfo
| Aggregated tap state for the VoIP calls analysis, covering all detected calls and streams. More...

## Macros
#define | VOIP_CALLS_DEBUG(...)

## Typedefs
typedef enum _voip_protocol | voip_protocol
| Identifies the signalling protocol of a captured VoIP call.
typedef enum _hash_indexes | hash_indexes
| Indices into the per-protocol hash table array in _voip_calls_tapinfo.
typedef enum _flow_show_options | flow_show_options
| Controls which calls are shown in the VoIP flow graph.
typedef enum _sip_call_state | sip_call_state
| Tracks the signalling state of an in-progress SIP call.
typedef struct _sip_calls_info | sip_calls_info_t
| Protocol-specific call metadata for SIP calls.
typedef struct _isup_calls_info | isup_calls_info_t
| Protocol-specific call metadata for ISUP calls.
typedef struct _h245_address | h245_address_t
| H.245 control channel address and port tuple.
typedef struct _h323_calls_info | h323_calls_info_t
| Protocol-specific call metadata for H.323 calls.
typedef struct _mgcp_calls_info | mgcp_calls_info_t
| Protocol-specific call metadata for MGCP calls.
typedef struct _actrace_isdn_calls_info | actrace_isdn_calls_info_t
| Protocol-specific call metadata for ACTrace ISDN calls.
typedef struct _actrace_cas_calls_info | actrace_cas_calls_info_t
| Protocol-specific call metadata for ACTrace CAS calls.
typedef struct _skinny_calls_info | skinny_calls_info_t
| Protocol-specific call metadata for Cisco Skinny (SCCP) calls.
typedef struct _voip_calls_info | voip_calls_info_t
| Unified record describing a single detected VoIP call across all supported protocols.
typedef struct _voip_calls_tapinfo | voip_calls_tapinfo_t
| Aggregated tap state for the VoIP calls analysis, covering all detected calls and streams.

## Enumerations
enum | _voip_protocol { VOIP_SIP , VOIP_ISUP , VOIP_H323 , VOIP_MGCP , VOIP_AC_ISDN , VOIP_AC_CAS , MEDIA_T38 , TEL_H248 , TEL_SCCP , TEL_BSSMAP , TEL_RANAP , VOIP_UNISTIM , VOIP_SKINNY , VOIP_IAX2 , VOIP_COMMON }
| Identifies the signalling protocol of a captured VoIP call. More...
enum | _hash_indexes { SIP_HASH = 0 }
| Indices into the per-protocol hash table array in _voip_calls_tapinfo. More...
enum | _flow_show_options { FLOW_ALL , FLOW_ONLY_INVITES }
| Controls which calls are shown in the VoIP flow graph. More...
enum | _sip_call_state { SIP_INVITE_SENT , SIP_200_REC , SIP_CANCEL_SENT }
| Tracks the signalling state of an in-progress SIP call. More...

## Functions
void | voip_calls_init_all_taps (voip_calls_tapinfo_t *tap_id_base)
| Registers the voip_calls tap listeners (if not already done).
void | voip_calls_remove_all_tap_listeners (voip_calls_tapinfo_t *tap_id_base)
| Removes the voip_calls tap listener (if not already done).
void | voip_calls_reset_all_taps (voip_calls_tapinfo_t *tapinfo)
| Cleans up memory of voip calls tap.
void | voip_calls_set_apply_display_filter (voip_calls_tapinfo_t *tapinfo, bool apply)
| Sets whether to apply display filter for VoIP calls.
void | voip_calls_free_callsinfo (voip_calls_info_t *callsinfo)
| Frees one callsinfo.

## Variables
const char * | voip_call_state_name [8]
| Array of human-readable names for each VoIP call state, indexed by state value.
const char * | voip_protocol_name []
| Array of human-readable names for each voip_protocol value.

## Detailed Description

VoIP calls summary addition for Wireshark

Copyright 2004, Ericsson , Spain By Francisco Alcoba franc.nosp@m.isco.nosp@m..alco.nosp@m.ba@e.nosp@m.ricss.nosp@m.on.c.nosp@m.om

based on h323_calls.h Copyright 2004, Iskratel, Ltd, Kranj By Miha Jemec m.jem.nosp@m.ec@i.nosp@m.skrat.nosp@m.el.s.nosp@m.i

H323, RTP and Graph Support By Alejandro Vaquero, aleja.nosp@m.ndro.nosp@m..vaqu.nosp@m.ero@.nosp@m.verso.nosp@m..com Copyright 2005, Verso Technologies Inc.

Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs

SPDX-License-Identifier: GPL-2.0-or-later

"VoIP Calls" dialog box common routines.

## Typedef Documentation

## ◆ sip_call_state

typedef enum _sip_call_state sip_call_state

Tracks the signalling state of an in-progress SIP call.

defines specific SIP data

## ◆ voip_calls_tapinfo_t

typedef struct _voip_calls_tapinfo voip_calls_tapinfo_t

Aggregated tap state for the VoIP calls analysis, covering all detected calls and streams.

Holds all cross-protocol state accumulated by the VoIP tap during a capture session. Most fields are private to `voip_calls.c`.

## Enumeration Type Documentation

## ◆ _flow_show_options

enum _flow_show_options

Controls which calls are shown in the VoIP flow graph.

Enumerator
FLOW_ALL | Show all captured VoIP calls.
FLOW_ONLY_INVITES | Show only calls that contain a SIP INVITE.

## ◆ _hash_indexes

enum _hash_indexes

Indices into the per-protocol hash table array in _voip_calls_tapinfo.

Enumerator
SIP_HASH | Hash table index for SIP calls.

## ◆ _sip_call_state

enum _sip_call_state

Tracks the signalling state of an in-progress SIP call.

defines specific SIP data

Enumerator
SIP_INVITE_SENT | INVITE request has been sent; awaiting response.
SIP_200_REC | 200 OK response received; call is established.
SIP_CANCEL_SENT | CANCEL request has been sent; call is being torn down.

## ◆ _voip_protocol

enum _voip_protocol

Identifies the signalling protocol of a captured VoIP call.

Enumerator
VOIP_SIP | Session Initiation Protocol.
VOIP_ISUP | ISDN User Part (SS7).
VOIP_H323 | H.323 multimedia signalling.
VOIP_MGCP | Media Gateway Control Protocol.
VOIP_AC_ISDN | ACTrace ISDN signalling.
VOIP_AC_CAS | ACTrace Channel Associated Signalling.
MEDIA_T38 | T.38 fax-over-IP.
TEL_H248 | H.248 / Megaco gateway control.
TEL_SCCP | Signalling Connection Control Part (SS7).
TEL_BSSMAP | Base Station System Management Application Part (GSM).
TEL_RANAP | Radio Access Network Application Part (UMTS).
VOIP_UNISTIM | Nortel UNISTIM IP phone protocol.
VOIP_SKINNY | Cisco Skinny Client Control Protocol (SCCP).
VOIP_IAX2 | Inter-Asterisk eXchange protocol v2.
VOIP_COMMON | Generic / unclassified VoIP protocol.

## Function Documentation

## ◆ voip_calls_free_callsinfo()

void voip_calls_free_callsinfo | ( | voip_calls_info_t * | callsinfo | ) |

Frees one callsinfo.

Parameters

  callsinfo | Pointer to the callsinfo structure to free.

## ◆ voip_calls_init_all_taps()

void voip_calls_init_all_taps | ( | voip_calls_tapinfo_t * | tap_id_base | ) |

Registers the voip_calls tap listeners (if not already done).

From that point on, the calls list will be updated with every redissection. This function is also the entry point for the initialization routine of the tap system. So whenever voip_calls.c is added to the list of WIRESHARK_TAP_SRCs, the tap will be registered on startup. If not, it will be registered on demand by the voip_calls functions that need it.

Parameters

  tap_id_base | Pointer to the base tap information structure for VoIP calls.

## ◆ voip_calls_remove_all_tap_listeners()

void voip_calls_remove_all_tap_listeners | ( | voip_calls_tapinfo_t * | tap_id_base | ) |

Removes the voip_calls tap listener (if not already done).

From that point on, the voip calls list won't be updated any more.

Parameters

  tap_id_base | Pointer to the base tap information structure for VoIP calls.

## ◆ voip_calls_reset_all_taps()

void voip_calls_reset_all_taps | ( | voip_calls_tapinfo_t * | tapinfo | ) |

Cleans up memory of voip calls tap.

Parameters

  tapinfo | Pointer to the VoIP calls tap information structure.

## ◆ voip_calls_set_apply_display_filter()

void voip_calls_set_apply_display_filter | ( | voip_calls_tapinfo_t * | tapinfo,
|  | bool | apply )

Sets whether to apply display filter for VoIP calls.

Parameters

  tapinfo | Pointer to the VoIP calls tap information structure.
  apply | Boolean indicating whether to apply the display filter.