forked from osmocom/wireshark
815a4af69e
Find attached a couple of changes for t38: - Use the dissector to reassemble t30 frames - Dissect t30 protocol - Move the "Fax t38 analysis" to the "VoIP Calls". Now when selecting "Statistics"->"Fax t38 analysis" option, there is a message that redirect the user to use the "Voip calls" instead. We may keep this option for one release, and then remove it ? - Added in the "Voip calls" the ability to detect a t38 call if there are not signaling associated with it. For example, when using "Decode as.." to dissect t38 packets, it is possible to use the "Voip calls" to analyze that call. - Display "SDP (t38)" in the "Voip calls graph" for SDP t38 sessions. Regards Alejandro Vaquero svn path=/trunk/; revision=17033
92 lines
2.6 KiB
C
92 lines
2.6 KiB
C
/* t38_analysis.c
|
|
* t38 fax analysis for ethereal
|
|
*
|
|
* $Id$
|
|
*
|
|
* Copyright 2005 Verso Technologies Inc.
|
|
* By Alejandro Vaquero <alejandro.vaquero@verso.com>
|
|
*
|
|
*
|
|
* Ethereal - Network traffic analyzer
|
|
* By Gerald Combs <gerald@ethereal.com>
|
|
* Copyright 1998 Gerald Combs
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
# include "config.h"
|
|
#endif
|
|
|
|
#include <string.h>
|
|
|
|
#include "graph_analysis.h"
|
|
|
|
#include "globals.h"
|
|
|
|
#include <epan/tap.h>
|
|
#include <epan/epan_dissect.h>
|
|
#include <epan/dissectors/packet-t38.h>
|
|
#include <epan/dissectors/packet-rtp.h>
|
|
#include <epan/conversation.h>
|
|
#include <epan/stat_cmd_args.h>
|
|
#include "stat_menu.h"
|
|
|
|
#include "main.h"
|
|
#include "alert_box.h"
|
|
#include "simple_dialog.h"
|
|
#include "graph_analysis.h"
|
|
#include "gui_stat_menu.h"
|
|
|
|
void voip_calls_init_tap(const char *);
|
|
|
|
/****************************************************************************/
|
|
/* user confirmed the info dialog */
|
|
/* callback from dialog */
|
|
static void t38_analysis_answered_cb(gpointer dialog _U_, gint btn _U_, gpointer data _U_)
|
|
{
|
|
voip_calls_init_tap("");
|
|
}
|
|
|
|
/****************************************************************************/
|
|
/* entry point from main menu */
|
|
static void t38_analysis_cb(GtkWidget *w _U_, gpointer data _U_)
|
|
{
|
|
gpointer dialog;
|
|
|
|
/* We have moved this directly to the VoIP Calls */
|
|
dialog = simple_dialog(ESD_TYPE_INFO, ESD_BTN_OK,
|
|
"This feature has been moved to the \"VoIP Calls\"");
|
|
simple_dialog_set_cb(dialog, t38_analysis_answered_cb, NULL);
|
|
}
|
|
|
|
/****************************************************************************/
|
|
static void
|
|
t38_analysis_init(const char *dummy _U_)
|
|
{
|
|
t38_analysis_cb(NULL, NULL);
|
|
}
|
|
|
|
/****************************************************************************/
|
|
void
|
|
register_tap_listener_t38_analysis(void)
|
|
{
|
|
register_stat_cmd_arg("t38", t38_analysis_init);
|
|
|
|
|
|
register_stat_menu_item("Fax T38 Analysis...", REGISTER_STAT_GROUP_TELEPHONY,
|
|
t38_analysis_cb, NULL, NULL, NULL);
|
|
}
|