Example #1
0
        private void Register_Click(object sender, EventArgs e)
        {
            if (m_opalContext != null)
            {
                Register.Enabled = false;
                host.Enabled     = false;
                user.Enabled     = false;
                password.Enabled = false;

                OpalMessagePtr        msg = new OpalMessagePtr(OpalMessageType.OpalCmdRegistration);
                OpalParamRegistration reg = msg.GetRegistrationParams();
                reg.protocol   = "sip";
                reg.hostName   = host.Text;
                reg.identifier = user.Text;
                reg.password   = password.Text;
                reg.timeToLive = 300;
                OpalMessagePtr result = new OpalMessagePtr();
                if (m_opalContext.SendMessage(msg, result))
                {
                    m_registrationIdentifier = result.GetRegistrationParams().identifier;
                    return;
                }

                MessageBox.Show("Could not start registration: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
                Register.Enabled = true;
                host.Enabled     = true;
                user.Enabled     = true;
                password.Enabled = true;
            }
        }
Example #2
0
        private void Initialise_Click(object sender, EventArgs e)
        {
            if (m_opalContext == null)
            {
                Initialise.Enabled = false;
                LogLevel.Enabled   = false;
                LogFile.Enabled    = false;
                StunServer.Enabled = false;

                m_opalContext = new OpalContext();
                if (m_opalContext.Initialise(OPAL.OPAL_PREFIX_SIP + " " + OPAL.OPAL_PREFIX_PCSS +
                                             " --trace-level " + LogLevel.Value + " --output " + LogFile.Text) == 0)
                {
                    MessageBox.Show("Failed to initialise", "OPAL", MessageBoxButtons.OK);
                }
                else
                {
                    m_opalThread = new System.Threading.Thread(new System.Threading.ThreadStart(HandleOpalMessages));
                    m_opalThread.Start();

                    OpalMessagePtr   msg = new OpalMessagePtr(OpalMessageType.OpalCmdSetGeneralParameters);
                    OpalParamGeneral gen = msg.GetGeneralParams();
                    gen.natMethod          = "STUN";
                    gen.natServer          = StunServer.Text;
                    gen.autoRxMedia        = gen.autoTxMedia = "audio video";
                    gen.mediaMask          = "!G.711*\n!H.263*"; // Kind of backwards, it's a mask with negative entries, so just get G.711/H.263
                    gen.videoOutputDevice  = "MSWIN STYLE=0x50000000 PARENT=" + VideoDisplay.Handle + " X=0 Y=0 WIDTH=" + VideoDisplay.Width + " HEIGHT=" + VideoDisplay.Height;
                    gen.videoPreviewDevice = "MSWIN STYLE=0x50000000 PARENT=" + VideoPreview.Handle + " X=0 Y=0 WIDTH=" + VideoPreview.Width + " HEIGHT=" + VideoPreview.Height;
                    OpalMessagePtr result = new OpalMessagePtr();
                    if (!m_opalContext.SendMessage(msg, result))
                    {
                        MessageBox.Show("Could not set general parameters: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
                    }
                    else
                    {
                        msg = new OpalMessagePtr(OpalMessageType.OpalCmdSetProtocolParameters);
                        OpalParamProtocol proto = msg.GetProtocolParams();
                        proto.prefix             = OPAL.OPAL_PREFIX_SIP;
                        proto.interfaceAddresses = "0.0.0.0"; // All interfaces
                        if (!m_opalContext.SendMessage(msg))
                        {
                            MessageBox.Show("Could not set general parameters", "OPAL", MessageBoxButtons.OK);
                        }
                        else
                        {
                            Shutdown.Enabled = true;
                            Register.Enabled = true;
                            Call.Enabled     = true;
                            return;
                        }
                    }
                }

                Initialise.Enabled = true;
                LogLevel.Enabled   = true;
                LogFile.Enabled    = true;
                StunServer.Enabled = true;
            }
        }
Example #3
0
        static OpalMessageRef MySendCommand(OpalMessageRef command, string errorMessage)
        {
            OpalMessageRef response = new OpalMessageRef();

            if (!context.SendMessage(command, response))
            {
                return(null);
            }

            if (response.GetMessageType() != Opal_API.OpalMessageType.OpalIndCommandError)
            {
                return(response);
            }

            if (response.GetCommandError() == null || response.GetCommandError() == "\0")
            {
                Console.WriteLine("{0}.\n", errorMessage);
            }
            else
            {
                Console.WriteLine("{0}: {1}\n", errorMessage, response.GetCommandError());
            }

            return(null);
        }
Example #4
0
        private void Initialise_Click(object sender, EventArgs e)
        {
            if (m_opalContext == null)
            {
                Initialise.Enabled = false;
                LogLevel.Enabled   = false;
                LogFile.Enabled    = false;
                StunServer.Enabled = false;

                m_opalContext = new OpalContext();
                if (m_opalContext.Initialise(OPAL.OPAL_PREFIX_SIP + " " + OPAL.OPAL_PREFIX_PCSS +
                                             " --trace-level " + LogLevel.Value + " --output \"" + LogFile.Text + "\"") == 0)
                {
                    MessageBox.Show("Failed to initialise", "OPAL", MessageBoxButtons.OK);
                }
                else
                {
                    m_opalThread = new System.Threading.Thread(new System.Threading.ThreadStart(HandleOpalMessages));
                    m_opalThread.Start();

                    OpalMessagePtr   msg = new OpalMessagePtr(OpalMessageType.OpalCmdSetGeneralParameters);
                    OpalParamGeneral gen = msg.GetGeneralParams();
                    gen.natMethod          = "STUN";
                    gen.natServer          = StunServer.Text;
                    gen.autoRxMedia        = gen.autoTxMedia = "audio video";
                    gen.mediaMask          = "!*uLaw*\n!*264-0\nH.263*"; // Kind of backwards, it's a mask with negative entries
                    gen.mediaOptions       = "video:Frame Width=640\nvideo:Frame Height=480\nvideo:Target Bit Rate=256000";
                    gen.audioPlayerDevice  = "Default communications";
                    gen.audioRecordDevice  = "Default communications";
                    gen.videoOutputDevice  = "MSWIN STYLE=0x50000000 PARENT=" + VideoDisplay.Handle + " X=0 Y=0 WIDTH=" + VideoDisplay.Width + " HEIGHT=" + VideoDisplay.Height + " NO-MOUSE";
                    gen.videoPreviewDevice = "MSWIN STYLE=0x50000000 PARENT=" + VideoPreview.Handle + " X=0 Y=0 WIDTH=" + VideoPreview.Width + " HEIGHT=" + VideoPreview.Height + " NO-MOUSE";
                    gen.noMediaTimeout     = 15000;
                    OpalMessagePtr result = new OpalMessagePtr();
                    if (!m_opalContext.SendMessage(msg, result))
                    {
                        MessageBox.Show("Could not set general parameters: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
                    }
                    else
                    {
                        msg = new OpalMessagePtr(OpalMessageType.OpalCmdSetProtocolParameters);
                        OpalParamProtocol proto = msg.GetProtocolParams();
                        proto.prefix             = OPAL.OPAL_PREFIX_SIP;
                        proto.interfaceAddresses = "0.0.0.0"; // All interfaces
                        proto.displayName        = "OPAL C# Sample";
                        if (!m_opalContext.SendMessage(msg))
                        {
                            MessageBox.Show("Could not set protool parameters", "OPAL", MessageBoxButtons.OK);
                        }
                        else
                        {
                            Shutdown.Enabled = true;
                            Register.Enabled = true;
                            Call.Enabled     = true;
                            return;
                        }
                    }
                }

                Initialise.Enabled = true;
                LogLevel.Enabled   = true;
                LogFile.Enabled    = true;
                StunServer.Enabled = true;
            }
        }
Example #5
0
File: Form1.cs Project: cnc123/opal
        private void Initialise_Click(object sender, EventArgs e)
        {
            if (m_opalContext == null)
            {
                Initialise.Enabled = false;
                LogLevel.Enabled = false;
                LogFile.Enabled = false;
                StunServer.Enabled = false;

                m_opalContext = new OpalContext();
                if (m_opalContext.Initialise(OPAL.OPAL_PREFIX_SIP + " " + OPAL.OPAL_PREFIX_PCSS +
                                             " --trace-level " + LogLevel.Value + " --output " + LogFile.Text) == 0)
                    MessageBox.Show("Failed to initialise", "OPAL", MessageBoxButtons.OK);
                else
                {
                    m_opalThread = new System.Threading.Thread(new System.Threading.ThreadStart(HandleOpalMessages));
                    m_opalThread.Start();

                    OpalMessagePtr msg = new OpalMessagePtr(OpalMessageType.OpalCmdSetGeneralParameters);
                    OpalParamGeneral gen = msg.GetGeneralParams();
                    gen.natMethod = "STUN";
                    gen.natServer = StunServer.Text;
                    gen.autoRxMedia = gen.autoTxMedia = "audio video";
                    gen.mediaMask = "!G.711*\n!H.263*"; // Kind of backwards, it's a mask with negative entries, so just get G.711/H.263
                    gen.videoOutputDevice = "MSWIN STYLE=0x50000000 PARENT=" + VideoDisplay.Handle + " X=0 Y=0 WIDTH=" + VideoDisplay.Width + " HEIGHT=" + VideoDisplay.Height;
                    gen.videoPreviewDevice = "MSWIN STYLE=0x50000000 PARENT=" + VideoPreview.Handle + " X=0 Y=0 WIDTH=" + VideoPreview.Width + " HEIGHT=" + VideoPreview.Height;
                    OpalMessagePtr result = new OpalMessagePtr();
                    if (!m_opalContext.SendMessage(msg, result))
                        MessageBox.Show("Could not set general parameters: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
                    else
                    {
                        msg = new OpalMessagePtr(OpalMessageType.OpalCmdSetProtocolParameters);
                        OpalParamProtocol proto = msg.GetProtocolParams();
                        proto.prefix = OPAL.OPAL_PREFIX_SIP;
                        proto.interfaceAddresses = "0.0.0.0"; // All interfaces
                        if (!m_opalContext.SendMessage(msg))
                            MessageBox.Show("Could not set general parameters", "OPAL", MessageBoxButtons.OK);
                        else
                        {
                            Shutdown.Enabled = true;
                            Register.Enabled = true;
                            Call.Enabled = true;
                            return;
                        }
                    }
                }

                Initialise.Enabled = true;
                LogLevel.Enabled = true;
                LogFile.Enabled = true;
                StunServer.Enabled = true;
            }
        }