Esempio n. 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;
            }
        }
Esempio n. 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;
            }
        }
Esempio n. 3
0
        private void HangUp_Click(object sender, EventArgs e)
        {
            if (m_opalContext != null && m_opalCallToken.Length > 0)
            {
                HangUp.Enabled = false;

                OpalMessagePtr       msg  = new OpalMessagePtr(OpalMessageType.OpalCmdClearCall);
                OpalParamCallCleared call = msg.GetClearCall();
                call.callToken = m_opalCallToken;
                OpalMessagePtr result = new OpalMessagePtr();
                if (!m_opalContext.SendMessage(msg, result))
                {
                    MessageBox.Show("Could not hang up call: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
                }
            }
        }
Esempio n. 4
0
File: Form1.cs Progetto: cnc123/opal
 private void Call_Click(object sender, EventArgs e)
 {
     if (m_opalContext != null)
     {
         OpalMessagePtr msg = new OpalMessagePtr(OpalMessageType.OpalCmdSetUpCall);
         OpalParamSetUpCall call = msg.GetCallSetUp();
         call.partyB = urlToCall.Text;
         OpalMessagePtr result = new OpalMessagePtr();
         if (!m_opalContext.SendMessage(msg, result))
             MessageBox.Show("Could not start call: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
         else
         {
             m_opalCallToken = result.GetCallSetUp().callToken;
             Call.Enabled = false;
             HangUp.Enabled = true;
         }
     }
 }
Esempio n. 5
0
 private void Call_Click(object sender, EventArgs e)
 {
     if (m_opalContext != null)
     {
         OpalMessagePtr     msg  = new OpalMessagePtr(OpalMessageType.OpalCmdSetUpCall);
         OpalParamSetUpCall call = msg.GetCallSetUp();
         call.partyB = urlToCall.Text;
         OpalMessagePtr result = new OpalMessagePtr();
         if (!m_opalContext.SendMessage(msg, result))
         {
             MessageBox.Show("Could not start call: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
         }
         else
         {
             m_opalCallToken = result.GetCallSetUp().callToken;
             Call.Enabled    = false;
             HangUp.Enabled  = true;
         }
     }
 }
Esempio n. 6
0
 private void Unregister_Click(object sender, EventArgs e)
 {
     if (m_opalContext != null)
     {
         OpalMessagePtr        msg = new OpalMessagePtr(OpalMessageType.OpalCmdRegistration);
         OpalParamRegistration reg = msg.GetRegistrationParams();
         reg.protocol   = "sip";
         reg.identifier = m_registrationIdentifier;
         reg.timeToLive = 0; // Zero unregisters
         OpalMessagePtr result = new OpalMessagePtr();
         if (!m_opalContext.SendMessage(msg, result))
         {
             MessageBox.Show("Could not set start registration: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
         }
         else
         {
             Register.Enabled = false;
         }
     }
 }
Esempio n. 7
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;
            }
        }
Esempio n. 8
0
File: Form1.cs Progetto: cnc123/opal
 private void Unregister_Click(object sender, EventArgs e)
 {
     if (m_opalContext != null)
     {
         OpalMessagePtr msg = new OpalMessagePtr(OpalMessageType.OpalCmdRegistration);
         OpalParamRegistration reg = msg.GetRegistrationParams();
         reg.protocol = "sip";
         reg.identifier = m_registrationIdentifier;
         reg.timeToLive = 0; // Zero unregisters
         OpalMessagePtr result = new OpalMessagePtr();
         if (!m_opalContext.SendMessage(msg, result))
             MessageBox.Show("Could not set start registration: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
         else
             Register.Enabled = false;
     }
 }
Esempio n. 9
0
File: Form1.cs Progetto: cnc123/opal
        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;
            }
        }
Esempio n. 10
0
File: Form1.cs Progetto: 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;
            }
        }
Esempio n. 11
0
File: Form1.cs Progetto: cnc123/opal
        private void HangUp_Click(object sender, EventArgs e)
        {
            if (m_opalContext != null && m_opalCallToken.Length > 0)
            {
                HangUp.Enabled = false;

                OpalMessagePtr msg = new OpalMessagePtr(OpalMessageType.OpalCmdClearCall);
                OpalParamCallCleared call = msg.GetClearCall();
                call.callToken = m_opalCallToken;
                OpalMessagePtr result = new OpalMessagePtr();
                if (!m_opalContext.SendMessage(msg, result))
                    MessageBox.Show("Could not hang up call: " + result.GetCommandError(), "OPAL", MessageBoxButtons.OK);
            }
        }