In H.323 how does the endpoint to endpoint message protocol works? Most of the example i have seen involving gatekeeper in the middle but in reality i want to make a simple Endpoint to Endpoint H.323 player using (c/java/lua/php/d tcp/udp)
What is the RAW message protocols that i should be sending for example in SIP i have found such packets gets sent (https://gist.github.com/1151125)
There are several layers of protocols used in H.323: RAS, Q.931, H.245 and then RTP and RTCP
RAS messages are sent over UDP. They are the communication between an endpoint and his gatekeeper in most scenarios: you register to the gatekeeper using RRQ, you start initiating a call using ARQ, etc. Once the admission part of the call (ARQ) is done, the gatekeeper sends an ACF - admission confirm - where he states where you need to send your Q.931 SETUP message to.
Q.931 messages are usually sent over TCP. They are used to establish a call between endpoints. They can be routed through a gatekeeper or any other mediating device or they can be sent directly between endpoints. The initial Q.931 message sent is SETUP, followed eventually by a Q.931 CONNECT message.
Once Q.931 is established, H.245 is then signaled to deal with call control (exchanging capabilities and opening up logical channels). This can be done tunneled over Q.931 or on a separate TCP connection. And again - you might end up having this routed through a gatekeeper or done directly between endpoints.
RTP and RTCP is the end of the H.245 negotiation and it is where the actual media is found.