Ethereal-dev: Re: [Ethereal-dev] Need help with H.223 that spans multiple TVBs

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

Date: Tue, 28 Mar 2006 11:21:47 +0200
  Reassembling IuUP is very hard. Not a simple task at all. Payload
BITS for every RFCI are not necessarily aligned to any boundary (Ie a
packet might contain 9 bits of one RFCI 13 bits of another and 33 of a
third one).

Once we handle to reassemble the BITflow of every RFCI (there's
embrionic code in the dissector to do that, to be usable it needs some
help from RTP or whatever the lower level transport which should
instruct (via pinfo->circuit_info) the IuUP dissector on which packets
bellow to which IuUP flow) your H223 flow might be well splitted
between several RFCIs and IuUP.

How to merge this to create TVBs to handle H223 is another challenge.

I began to work on this while writing the IuUP dissector, as what was
needed to be done started to surface I "cowardly" withdrew from the
challenge. That's a tough one.

BTW, I do not think that using BYTE oriented ethereal reassembly
helpers is the way. I think you should start to think in either
writing a BIT oriented reassembly API or a reassembly mechanism
specific to IuUP.

Do not forget that reassembling by its own nature is a memory eater...
and the IuUP traffic in real life is very voluminous. Make sure it can
be disabled and that no memory is used if it is.

Luis.



On 3/28/06, wangzhe <wangzhe@xxxxxxxxxxx> wrote:
> Hi guys:
>         These days, we use Ethereal to dissect some protocol stacks. The struct of the stack like this:
>
>  high level         <----->           low level
>  H.245(Audio,Video code)--H.223--IUUP--RTP--UDP...
>
> As we know, Ethereal can auto dissect stream until RTP protocol, and we made some improvements, it can auto dissect until IUUP. but problem occurs.
>         According to the H.223 protocol annex A, h.223's PDU is separated by flag 0x87B2, and because of the protocol data is carried by RTP, one H.223 protocol data may be spans multiple TVBS. The question is how can i reassemble split IUUP packets to make a complete h.223 package. I tried the way i found in "Ethereal Developer's Guide", but it doesn't work. furthermore, I can not completely understand these two functions:"fragment_add_seq_check" and "process_reassembled_data", could someone please also tip me something about them. I 'v pasted some capture data here.
>     Any suggestion is welcome.
>
>
>
>
>
>
>
> wangzhe
>         wangzhe@xxxxxxxxxxx
> 2006-03-28
>
> _______________________________________________
> Ethereal-dev mailing list
> Ethereal-dev@xxxxxxxxxxxx
> http://www.ethereal.com/mailman/listinfo/ethereal-dev
>
>
>
>


--
oggi banane domani mortadella