Exemple #1
0
        private void button1_Click(object sender, System.EventArgs e)
        {
            string addr = textBox1.Text;

            MessageBox.Show("Dialing to " + addr + " ...");
            call_control    = call_address.CreateCall(addr, TapiConstants.LINEADDRESSTYPE_IPADDRESS, TapiConstants.TAPIMEDIATYPE_AUDIO | TapiConstants.TAPIMEDIATYPE_VIDEO);
            button1.Enabled = false;
            IEnumStream     enum_stream;
            ITStreamControl pstream_control;

            pstream_control = (ITStreamControl)call_control;
            pstream_control.EnumerateStreams(out enum_stream);
            ITStream p_stream;
            uint     a11 = 0;

            enum_stream.Next(1, out p_stream, ref a11);
            int imedia;

            imedia = p_stream.MediaType;
            TERMINAL_DIRECTION dir;

            dir = p_stream.Direction;
            ITTerminal termi, termi1;

            ITTerminalSupport term_support = (ITTerminalSupport)call_address;

            termi = term_support.GetDefaultStaticTerminal(imedia, dir);
            p_stream.SelectTerminal(termi);



            enum_stream.Next(1, out p_stream, ref a11);
            termi1 = term_support.GetDefaultStaticTerminal(imedia, TERMINAL_DIRECTION.TD_CAPTURE);
            p_stream.SelectTerminal(termi1);
            call_control.Connect(false);
        }
Exemple #2
0
        public void Event(TAPI3Lib.TAPI_EVENT te, object eobj)
        {
            switch (te)
            {
            case TAPI3Lib.TAPI_EVENT.TE_CALLNOTIFICATION:
                addtolist("call notification event has occured");
                ITCallNotificationEvent notify;
                notify = (ITCallNotificationEvent)eobj;
                ITCallInfo newcall;
                newcall = notify.Call;
                ITBasicCallControl call_control;                        //=f1.call_control;
                call_control = (ITBasicCallControl)newcall;
                string callerid = newcall.get_CallInfoString(CALLINFO_STRING.CIS_CALLERIDNUMBER);                                 if (MessageBox.Show("calling from " + callerid + "\n\n Press Ok to Attend Call    /   Cancel to Reject the Call\n", "Answer", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    IEnumStream     enum_stream;
                    ITStreamControl pstream_control;
                    pstream_control = (ITStreamControl)call_control;
                    pstream_control.EnumerateStreams(out enum_stream);
                    ITStream p_stream;
                    uint     a11 = 0;
                    enum_stream.Next(1, out p_stream, ref a11);
                    int imedia;
                    imedia = p_stream.MediaType;
                    TERMINAL_DIRECTION dir;
                    dir = p_stream.Direction;
                    ITTerminal termi, termi1;

                    ITTerminalSupport term_support = (ITTerminalSupport)Form1.call_address;
                    termi = term_support.GetDefaultStaticTerminal(imedia, dir);

                    p_stream.SelectTerminal(termi);

                    enum_stream.Next(1, out p_stream, ref a11);
                    termi1 = term_support.GetDefaultStaticTerminal(imedia, TERMINAL_DIRECTION.TD_CAPTURE);

                    p_stream.SelectTerminal(termi1);

                    call_control.Answer();
                }

                else
                {
                    call_control.Disconnect(DISCONNECT_CODE.DC_REJECTED);
                }
                ///////
                break;

            case TAPI3Lib.TAPI_EVENT.TE_DIGITEVENT:
                TAPI3Lib.ITDigitDetectionEvent dd = (TAPI3Lib.ITDigitDetectionEvent)eobj;
                addtolist("Dialed digit" + dd.ToString());
                break;

            case TAPI3Lib.TAPI_EVENT.TE_GENERATEEVENT:
                TAPI3Lib.ITDigitGenerationEvent dg = (TAPI3Lib.ITDigitGenerationEvent)eobj;
                addtolist("Dialed digit" + dg.ToString());
                break;

            case TAPI3Lib.TAPI_EVENT.TE_PHONEEVENT:
                addtolist("A phone event!");
                break;

            case TAPI3Lib.TAPI_EVENT.TE_GATHERDIGITS:
                addtolist("Gather digit event!");
                break;

            case TAPI3Lib.TAPI_EVENT.TE_CALLSTATE:
                TAPI3Lib.ITCallStateEvent a = (TAPI3Lib.ITCallStateEvent)eobj;
                TAPI3Lib.ITCallInfo       b = a.Call;
                switch (b.CallState)
                {
                case TAPI3Lib.CALL_STATE.CS_INPROGRESS:
                    addtolist("dialing");
                    break;

                case TAPI3Lib.CALL_STATE.CS_CONNECTED:
                    addtolist("Connected");
                    break;

                case TAPI3Lib.CALL_STATE.CS_DISCONNECTED:
                    addtolist("Disconnected");
                    break;

                case TAPI3Lib.CALL_STATE.CS_OFFERING:
                    addtolist("A party wants to communicate with you!");
                    break;

                case TAPI3Lib.CALL_STATE.CS_IDLE:
                    addtolist("Call is created!");
                    break;
                }
                break;
            }
        }