Ethereal-dev: [Ethereal-dev] H323 Call analysis
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Miha Jemec <m.jemec@xxxxxxxxxxx>
Date: Thu, 30 Sep 2004 13:52:07 +0200
Hi, (for those who are more interested in h323 analysis) maybe some words on how the H323 analysis works in general. There are some open questions, if you have any better idea for some solutions, please put it down! 1. When you click on the Statistics->H.323->Show all H.323 Conversations (maybe this positions and name should be changed) the tap for h225 and h245 are registered and captured packets are redisected 2. Whenever a h225 packets is seen, it is checked whether it is already part of a conversation (should the word "call" be used instead of conversation?) in the list. The check is done using the ip/port pair combination (should we use some other parameters as well - CALL ID?). If not, it is added to the list. At this time we also look for the h.245 address which is normally provided in h225 connect message. We need this address to follow the h245 part of the call in case there is no faststart. If h245 packet arrives, it is checked to which call does it belong (based on ip/port) and the counter is increased. If h245 packet is seen without appropriate h225 part, it is skipped (f.e. in case the capturing started after the h225 phase). 3. After the redisection of the packets, the taps are removed. 4. The user can now set the filter or select a conversation and press the Analyse button. This one opens a new window, registers the taps again and goes through the redisection again filtering out only the selected conversation. Now the course of h225 and h245 events is displayed with the delay between the packets and the time from the first packet. Currently only the most common messages are displayed by name (look in packet-h225.h and packet-h245.h which one), all the rest are of type H225_OTHER and H245_OTHER (btw: h323_analysis.c, line 286, should be H245_OTHER not H225_OTHER, it's a bug). In the main window, there is an indication for FASTSTART and STATUS of a call, which caused me problems (or questions): For the faststart the logic implemented behind is: With the first h225 packet (should be Setup, but can be missing, Alert, Call Proc are possible) there is a check if faststart field is included. If yes, the indication goes on TRUE. Finally, the Connect message is examined. Depending on existence of faststart field in this message the status is fixed on true or false. To summarize, if there is faststart field in connect message, then the FASTSTART was used. Is this ok? Status of the call: There are for states I used: CALL SETUP, IN CALL, COMPLETED and REJECTED: - After the Setup, Call Proceding and Alerting message the status is CALL SETUP - After the Connect message the status is IN CALL - If the Release Complet is sent after the IN CALL phase the status is REJECTED. - If the Release Complet is sent after the CALL SETUP state, the status is REJECTED - Otherwise the status is UNKNOWN I'm aware there are exceptions, f.e if the call in rejected when there is no faststart in h245 phase. So this part has to be done more accurate. If you have any suggestions here... Currently support for the H225 RAS messages is missing. Feature to launch the RTP analysis from the selected h323 call does not work yet. Miha -- Miha Jemec <m.jemec@xxxxxxxxxxx>
- Follow-Ups:
- RE: [Ethereal-dev] H323 Call analysis
- From: Alejandro Vaquero
- RE: [Ethereal-dev] H323 Call analysis
- Prev by Date: Re: [Ethereal-dev] Moving of prefs.c/.h and alike
- Next by Date: RE: [Ethereal-dev] H323 Call analysis
- Previous by thread: [Ethereal-dev] help neede about WLAN sniffer
- Next by thread: RE: [Ethereal-dev] H323 Call analysis
- Index(es):