Question

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.

Was it helpful?

Solution

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).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top