1

I am using OpalVoip library(3.12.8) to implement H323 stack. if i call another terminal from opalVoip then call goes through but if i call an MCU .the call fails with no common codec found.

the call flow as captured from a valid h323 terminal(not opal) is as follows(via wireshark).

valid call to MCU from terminal

the call flow from OpalVoip is as follows call flow from opal

I found that if opalVoip sends OLC before the MCU , then the call fails. this time in the third OLC attempt the MCU sent an OLC and the call went through in the fourth attempt. Opal always sends OLC after a successful connect. is there any way to make it wait till it receives an OLC from another client. the terminal(hardware) always connects successfully to the MCU. with OPAL its maybe. in the flow terminal and OPAL are always selected to be as masters. In the flow the terminal waits for an OLC if connecting to an MCU, but sends an OLC as soon as possible if connecting to another terminal.

Sergei Nikulov
  • 5,029
  • 23
  • 36
Sujithra
  • 527
  • 1
  • 6
  • 14

1 Answers1

0

I don't think you can make OPAL wait to send the OLC, but the fact that the OLC is sent before it gets one from the MCU probably isn't the problem.

My guess is that one of the codecs your OPAL client is using is incompatible with your MCU. You can look inside the OLC that gets rejected by the MCU and disable that codec for the next test call and see if the MCU accepts an OLC for another codec (its probably H.264).

Gene Vincent
  • 5,237
  • 9
  • 50
  • 86
  • The MCU is H.264 Compatible. And the problem is some times it works perfectly.sometime it doesnt, like in the case above it worked. – Sujithra Dec 12 '13 at 10:12
  • I would try it anyway. H.264 has a few dozen protocol options and OPAL codec may not support all of them equally well. So it may work with some andpoints and not with others. On the OLCReject, you may also find a useul reject reason. – Gene Vincent Dec 12 '13 at 11:22
  • It is not opal that is rejecting, the MCU is rejecting it. and i checked the the H.264 protocol bit by bit its the same. The cause is Null in some case and 'masterslaveconflict' in some case. i can see that opal tries max 4 times. is it possible to increase that. is it possible to set opal to be slave. – Sujithra Dec 12 '13 at 12:18
  • Master/slave is always negotiated, but if you implemented an endpoint in OPAL, kt should have a terminal flag and should always loose the master slave negotiation against an MCU. – Gene Vincent Dec 12 '13 at 15:17
  • I checked the codec and H.264 is probably the culprit, H.263 works fine. I need the H.264 to work though, i initialized H.264 through GetOpalH264_MODE0() . am i missing something . – Sujithra Dec 12 '13 at 16:44
  • Thanks buddy for your time . i got it fixed , in OpalMediaFormat::MaxBitRateOption() i was setting it to 1920000 rather than 192000, 1 zero makes all the difference, thanks for guiding me in to the right direction, and GetOpalH264_MODE1() is the default i think..., i was thinking the problem was in another area ..... Thank you very much ... – Sujithra Dec 12 '13 at 18:08