Trace log please.

Robert Jongbloed
OPAL/OpenH323/PTLib Architect and Co-founder.
Commercial support at http://www.voxlucida.com.au
Travelling, so email responses may be slow!

On 1/08/2014 8:04 pm, Satya Sahoo wrote:
Checked with latest and now I see  an OLCRej sent out. Earlier it was an OLCAck and the Session ID was set to 1.

Thanks,
-Satya


On Mon, Jul 28, 2014 at 10:00 AM, Satya Sahoo <ssahoo@fuzebox.com> wrote:
Yes opal is acting as master. I will verify with the update and provide the feedback.

Thanks,
-Satya


On Sun, Jul 27, 2014 at 9:40 PM, Robert Jongbloed <robertj@voxlucida.com.au> wrote:
Apologies for the slow reply.

The zero session ID occurs when OPAL is acting as H.245 master and remote wishes to use a master allocated session ID. I could have sworn this functionality was working, but obviously not. I did work when OPAL is acting as a slave which is a more common scenario.

Anyway, I have checked in what should be a fix, can you please verify?

Robert Jongbloed
OPAL/OpenH323/PTLib Architect and Co-founder.
Commercial support at http://www.voxlucida.com.au
Travelling, so email responses may be slow!

On 18/07/2014 9:27 pm, Satya Sahoo wrote:
Hi Robert,

The H2250LogicalChannelAckParameters in src/asn/h245.asn has sessionID constraints set to 1..255:
sessionID   INTEGER(1..255) OPTIONAL

Due to this the OLC Ack to the extendedVideo OLC from Polycom with SessionID=0 is responded with sessionID=1.
The gatekeeper between the Polycom and opal on seeing this Ack starts sending the audio Session 1 RTP to the new destination that was actually meant for the extendedVideo.

Here is a hack that I applied to force setting the sessionID to a value other than 1, ensuring the audio continued with the original OLC Ack port. This hack fixes the problem. I tried changing the constraints but that leads to some Ack failures.

+++ opal-3.14/src/h323/channels.cxx 2014-07-09 19:02:32.236630005 +0530
@@ -563,6 +563,8 @@
   const H245_H2250LogicalChannelParameters & openparam =
                           open.m_forwardLogicalChannelParameters.m_multiplexParameters;
   unsigned sessionID = openparam.m_sessionID;
+  if(sessionID == 0)
+      sessionID = 100;
   param.m_sessionID = sessionID;
 
   OnSendOpenAck(param);

Thanks,
-Satya


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds


_______________________________________________
Opalvoip-devel mailing list
Opalvoip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opalvoip-devel


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Opalvoip-devel mailing list
Opalvoip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opalvoip-devel