Wireshark 4.7.0
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

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

defines specific SIP data

◆ 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

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

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

Enumerator
SIP_HASH 

Hash table index for SIP calls.

◆ _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

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
callsinfoPointer 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_basePointer 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_basePointer 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
tapinfoPointer 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
tapinfoPointer to the VoIP calls tap information structure.
applyBoolean indicating whether to apply the display filter.