Simon,
Many also use SessionID = 3 for fax, too.
To use other SessionIDs, the master must assign them as per H.245:
"The sessionID is a unique RTP or T.120 Session Identifier in the conference. It is used by the transmitter to refer to the session to which the logical channel applies. Only the master can create the session identification. By convention, there are three primary sessions. The first primary session with a session identification of 1 is the audio session, the second primary session with a session identification of 2 is the video session, and the third primary session with a session identification of 3 is the data session. A slave entity can open an additional session by providing a session identification of 0 in the openLogicalChannel message. The master will create a unique session identification and provide it in the openLogicalChannelAck message."
The problem here is the Tandberg device proposes the use of '3' ... that's perfectly valid. But, if you are the master device, you should reject it with master/slave conflict or some such. In truth, addressing this can be quite tricky.
Paul
// www.packetizer.com - Join the AMS Revolution!
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus- bounces@lists.packetizer.com] On Behalf Of Simon Horne Sent: Friday, May 16, 2008 8:31 PM To: Niek Kooij; h323plus@lists.packetizer.com Subject: Re: [h323plus] Master/Slave and SessionIDs
Typically SessionID 1 to 3 are reserved for Audio,Video and Data. To me data means T.120. Unlike H.239 which clearly states the session ID must not be 1,2 or 3 the H.224 specification does not state whether it can use 3 (for data) or must use a higher number. This is clearly a grey area however if you offer a session ID of 4 then the tandberg device should honor that request with the same session ID and not 3. To my way of thinking this is a bug in tandberg equipment. If you are not going to use T.120 then changing the default H.224 session id to 3 should not affect anything too much.
Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of Niek Kooij Sent: Friday, May 16, 2008 10:50 PM To: h323plus@lists.packetizer.com Subject: [h323plus] Master/Slave and SessionIDs
Hi,
I am trying to get the h224/h281 data channel to work with Tandberg equipment and ran into some problems. It turns out this has to do
with
sessionId's. The current implementation lets the connection/endpoint create an h281handler which will handle both in- and outgoing h224
RTP.
The problem is that my H323Endpoint will usually begin with opening
the
logical channel and assigns DefaultH224SessionID = 4 as sessionID.
Later
on the Tandberg endpoint wants to open a channel but then with
sessionId
3! This results in the construction of a new RTP_Session which will never be used (cause the h281handler is allready constructed and has
its
RTP_Session set). Can anybody tell me what the "right" way would be to solve this
problem?
Should the incoming and outgoing h224 channels have the same
sessionID?
My current solution is to change DefaultH224SessionID to 3 but this
will
probably result into problems when more data channels need to be openend...
Thanks,
Niek