We wrote as much as we needed, which was a complete H.225.0 stack (including Q.931), about 30% of H.245 and a little T.120. Including research (boy, was there a lot of research!) it took 400 man hours. We didn’t need to implement RTP/RTCP for our application.
The work is now completed, and I have to say that my opinion of H.323 has changed a little since I started this thread.
Yes, H.323 is very complicated. You need to understand ASN.1 and PER encoding (X.691). But, once you have built support for PER, everything else follows on quite nicely. We need to design some protocols for application control, and most likely, we will define them using ASN.1 and encode them using PER, because the framework is now built.
The next job is to research and implement SIP. Well, now I’m not looking forward to that. We need to build something that parses the text messages that SIP generates and will not be able to take advantage of the extensibility and class structures offered (or which can be derived from) H.323’s definition and line coding scheme.
I still think H.323 is too complicated though 🙂