views:

19

answers:

1

I'm writing some code using PacketDotNet and SharpPCap to parse H.225 packets for a VOIP phone system. I've been using Wireshark to look at the structure, but I'm stuck. I've been using This as a reference.

Most of the H.225 packets I see are user information type with an empty message body and the actual information apparently shows up as a list of NonStandardControls in Wireshark. I thought I'd just extract out these controls and parse them later, but I don't really know where they start.

In almost all cases, the items start at the 10th byte of the H.225 data. Each item appears to begin with the length which is recorded as 2 bytes. However, I am getting a packet that has items starting at the 11th byte.

The only difference I see in this packet is something in the message body supposedly called open type length which has a value of 1, whereas the rest all appear to be 0. Would the items start at 10 + open type length? Is there some document that explains what this open type length is for?

Thanks.

A: 

H.225 doesn't use a fixed length encoding, it user ASN.1 PER encoding (not BER).

You probably won't find a C# library. OPAL is adding a C API if you are able to use that.

Gene Vincent
I've started to get into the ASN.1 stuff and I think I'm understanding more. So you're probably right about needing to look at that. I was trying to use BinaryNotes, but apparently it dies when ran against the ASN file I found.However, I did get some of the information I was looking for out of the packet, so I'm part-way there.
Dan