Expand|Select|Wrap|Line Numbers
- using System.Diagnostics;
- using TAPI3Lib;
- using System;
- using System.Data;
- using System.Drawing;
- using System.Windows.Forms;
- using System.Collections;
- using System.Reflection;
- using System.Runtime.CompilerServices;
- using System.Runtime.InteropServices;
- using IVR_C;
- namespace IVR_C
- {
- public partial class Form1:Form
- {
- public class Form1partial : System.Windows.Forms.Form
- {
- [STAThread]
- static void Main()
- {
- Application.Run(new Form1partial());
- }
- #region "Windows Form Designer generated code "
- public Form1partial()
- {
- if (m_vb6FormDefInstance == null)
- {
- if (m_InitializingDefInstance)
- {
- m_vb6FormDefInstance = this;
- }
- else
- {
- try
- {
- //For the start-up form, the first instance created is the default instance.
- if (System.Reflection.Assembly.GetExecutingAssembly().EntryPoint.DeclaringType == this.GetType())
- {
- m_vb6FormDefInstance = this;
- }
- }
- catch
- {
- }
- }
- }
- //This call is required by the Windows Form Designer.
- InitializeComponent();
- }
- }
- //Form overrides dispose to clean up the component list.
- protected override void Dispose (bool Disposing)
- {
- if (Disposing)
- {
- if (!Convert.ToBoolean( components == null))
- {
- components.Dispose();
- }
- }
- base.Dispose(Disposing);
- }
- //Required by the Windows Form Designer
- //private System.ComponentModel.Container components = null;
- public System.Windows.Forms.ToolTip ToolTip1;
- public System.Windows.Forms.TextBox EdAutoAnswerRingCount;
- public System.Windows.Forms.CheckBox CBAcceptOnOffering;
- public System.Windows.Forms.CheckBox CbAnswerOnOffering;
- public System.Windows.Forms.Label Label3;
- public System.Windows.Forms.GroupBox Frame1;
- public System.Windows.Forms.TextBox TxtLog;
- public System.Windows.Forms.Button BnClose;
- public System.Windows.Forms.Button BnOpen;
- public System.Windows.Forms.ListBox LtLines;
- public System.Windows.Forms.Label Label1;
- //NOTE: The following procedure is required by the Windows Form Designer
- //It can be modified using the Windows Form Designer.
- //Do not modify it using the code editor.
- internal AxTAPIEXLib.AxTAPIExCtl mTAPIEx;
- [System.Diagnostics.DebuggerStepThrough()]
- private void InitializeComponent ()
- {
- this.components = new System.ComponentModel.Container();
- base.Load += new System.EventHandler(Form1_Load);
- base.Closed += new System.EventHandler(Form1_Closed);
- System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1partial));
- this.ToolTip1 = new System.Windows.Forms.ToolTip(this.components);
- this.Frame1 = new System.Windows.Forms.GroupBox();
- this.EdAutoAnswerRingCount = new System.Windows.Forms.TextBox();
- this.CBAcceptOnOffering = new System.Windows.Forms.CheckBox();
- this.CbAnswerOnOffering = new System.Windows.Forms.CheckBox();
- this.Label3 = new System.Windows.Forms.Label();
- this.TxtLog = new System.Windows.Forms.TextBox();
- this.BnClose = new System.Windows.Forms.Button();
- BnClose.Click += new System.EventHandler(BnClose_Click);
- this.BnOpen = new System.Windows.Forms.Button();
- BnOpen.Click += new System.EventHandler(BnOpen_Click);
- this.LtLines = new System.Windows.Forms.ListBox();
- this.Label1 = new System.Windows.Forms.Label();
- this.mTAPIEx = new AxTAPIEXLib.AxTAPIExCtl();
- mTAPIEx.OnConnected += new AxTAPIEXLib._ITAPIExEvents_OnConnectedEventHandler(mTapiex_OnConnected);
- mTAPIEx.OnDebug += new AxTAPIEXLib._ITAPIExEvents_OnDebugEventHandler(mTapiex_OnDebug);
- mTAPIEx.OnDTMF += new AxTAPIEXLib._ITAPIExEvents_OnDTMFEventHandler(mTapiex_OnDTMF);
- mTAPIEx.OnDTMFTimeOut += new AxTAPIEXLib._ITAPIExEvents_OnDTMFTimeOutEventHandler(mTAPIEx_OnDTMFTimeOut);
- mTAPIEx.OnCallStateChange += new AxTAPIEXLib._ITAPIExEvents_OnCallStateChangeEventHandler(mTAPIEx_OnCallStateChange);
- mTAPIEx.OnOffering += new AxTAPIEXLib._ITAPIExEvents_OnOfferingEventHandler(mTAPIEx_OnOffering);
- mTAPIEx.OnPlayBackComplete += new AxTAPIEXLib._ITAPIExEvents_OnPlayBackCompleteEventHandler(mTapiex_OnPlayBackComplete);
- mTAPIEx.OnRing += new AxTAPIEXLib._ITAPIExEvents_OnRingEventHandler(mTapiex_OnRing);
- this.Frame1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.mTAPIEx)).BeginInit();
- this.SuspendLayout();
- //
- //Frame1
- //
- this.Frame1.BackColor = System.Drawing.SystemColors.Control;
- this.Frame1.Controls.Add(this.EdAutoAnswerRingCount);
- this.Frame1.Controls.Add(this.CBAcceptOnOffering);
- this.Frame1.Controls.Add(this.CbAnswerOnOffering);
- this.Frame1.Controls.Add(this.Label3);
- this.Frame1.Font = new System.Drawing.Font("MS Reference Sans Serif", (float) (8.25), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.Frame1.ForeColor = System.Drawing.SystemColors.ControlText;
- this.Frame1.Location = new System.Drawing.Point(8, 72);
- this.Frame1.Name = "Frame1";
- this.Frame1.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.Frame1.Size = new System.Drawing.Size(480, 64);
- this.Frame1.TabIndex = 6;
- this.Frame1.TabStop = false;
- this.Frame1.Text = "Options";
- //
- //EdAutoAnswerRingCount
- //
- this.EdAutoAnswerRingCount.AcceptsReturn = true;
- this.EdAutoAnswerRingCount.AutoSize = false;
- this.EdAutoAnswerRingCount.BackColor = System.Drawing.SystemColors.Window;
- this.EdAutoAnswerRingCount.Cursor = System.Windows.Forms.Cursors.IBeam;
- this.EdAutoAnswerRingCount.Font = new System.Drawing.Font("Arial", (float) (8.0), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.EdAutoAnswerRingCount.ForeColor = System.Drawing.SystemColors.WindowText;
- this.EdAutoAnswerRingCount.Location = new System.Drawing.Point(136, 16);
- this.EdAutoAnswerRingCount.MaxLength = 0;
- this.EdAutoAnswerRingCount.Name = "EdAutoAnswerRingCount";
- this.EdAutoAnswerRingCount.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.EdAutoAnswerRingCount.Size = new System.Drawing.Size(25, 19);
- this.EdAutoAnswerRingCount.TabIndex = 9;
- this.EdAutoAnswerRingCount.Text = "2";
- //
- //CBAcceptOnOffering
- //
- this.CBAcceptOnOffering.BackColor = System.Drawing.SystemColors.Control;
- this.CBAcceptOnOffering.Cursor = System.Windows.Forms.Cursors.Default;
- this.CBAcceptOnOffering.Font = new System.Drawing.Font("MS Reference Sans Serif", (float) (8.25), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.CBAcceptOnOffering.ForeColor = System.Drawing.SystemColors.ControlText;
- this.CBAcceptOnOffering.Location = new System.Drawing.Point(8, 35);
- this.CBAcceptOnOffering.Name = "CBAcceptOnOffering";
- this.CBAcceptOnOffering.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.CBAcceptOnOffering.Size = new System.Drawing.Size(216, 17);
- this.CBAcceptOnOffering.TabIndex = 8;
- this.CBAcceptOnOffering.Text = "Accept on offering (for ISDN line)";
- //
- //CbAnswerOnOffering
- //
- this.CbAnswerOnOffering.BackColor = System.Drawing.SystemColors.Control;
- this.CbAnswerOnOffering.Cursor = System.Windows.Forms.Cursors.Default;
- this.CbAnswerOnOffering.Font = new System.Drawing.Font("MS Reference Sans Serif", (float) (8.25), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.CbAnswerOnOffering.ForeColor = System.Drawing.SystemColors.ControlText;
- this.CbAnswerOnOffering.Location = new System.Drawing.Point(248, 24);
- this.CbAnswerOnOffering.Name = "CbAnswerOnOffering";
- this.CbAnswerOnOffering.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.CbAnswerOnOffering.Size = new System.Drawing.Size(168, 32);
- this.CbAnswerOnOffering.TabIndex = 7;
- this.CbAnswerOnOffering.Text = "Answer on offering (for IP or digital line)";
- //
- //Label3
- //
- this.Label3.BackColor = System.Drawing.SystemColors.Control;
- this.Label3.Cursor = System.Windows.Forms.Cursors.Default;
- this.Label3.Font = new System.Drawing.Font("MS Reference Sans Serif", (float) (8.25), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.Label3.ForeColor = System.Drawing.SystemColors.ControlText;
- this.Label3.Location = new System.Drawing.Point(16, 16);
- this.Label3.Name = "Label3";
- this.Label3.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.Label3.Size = new System.Drawing.Size(121, 17);
- this.Label3.TabIndex = 4;
- this.Label3.Text = "Auto Answer after Ring";
- //
- //TxtLog
- //
- this.TxtLog.AcceptsReturn = true;
- this.TxtLog.AutoSize = false;
- this.TxtLog.BackColor = System.Drawing.SystemColors.Window;
- this.TxtLog.Cursor = System.Windows.Forms.Cursors.IBeam;
- this.TxtLog.Font = new System.Drawing.Font("MS Reference Sans Serif", (float) (8.25), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.TxtLog.ForeColor = System.Drawing.SystemColors.WindowText;
- this.TxtLog.Location = new System.Drawing.Point(0, 144);
- this.TxtLog.MaxLength = 0;
- this.TxtLog.Multiline = true;
- this.TxtLog.Name = "TxtLog";
- this.TxtLog.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.TxtLog.ScrollBars = System.Windows.Forms.ScrollBars.Both;
- this.TxtLog.Size = new System.Drawing.Size(496, 216);
- this.TxtLog.TabIndex = 5;
- this.TxtLog.Text = "";
- this.TxtLog.WordWrap = false;
- //
- //BnClose
- //
- this.BnClose.BackColor = System.Drawing.SystemColors.Control;
- this.BnClose.Cursor = System.Windows.Forms.Cursors.Default;
- this.BnClose.Enabled = false;
- this.BnClose.Font = new System.Drawing.Font("MS Reference Sans Serif", (float) (8.25), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.BnClose.ForeColor = System.Drawing.SystemColors.ControlText;
- this.BnClose.Location = new System.Drawing.Point(328, 40);
- this.BnClose.Name = "BnClose";
- this.BnClose.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.BnClose.Size = new System.Drawing.Size(97, 25);
- this.BnClose.TabIndex = 3;
- this.BnClose.Text = "Close All";
- //
- //BnOpen
- //
- this.BnOpen.BackColor = System.Drawing.SystemColors.Control;
- this.BnOpen.Cursor = System.Windows.Forms.Cursors.Default;
- this.BnOpen.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.BnOpen.Font = new System.Drawing.Font("MS Reference Sans Serif", (float) (8.25), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.BnOpen.ForeColor = System.Drawing.SystemColors.ControlText;
- this.BnOpen.Location = new System.Drawing.Point(328, 8);
- this.BnOpen.Name = "BnOpen";
- this.BnOpen.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.BnOpen.Size = new System.Drawing.Size(97, 25);
- this.BnOpen.TabIndex = 2;
- this.BnOpen.Text = "Open All";
- //
- //LtLines
- //
- this.LtLines.BackColor = System.Drawing.SystemColors.Window;
- this.LtLines.Cursor = System.Windows.Forms.Cursors.Default;
- this.LtLines.Font = new System.Drawing.Font("MS Reference Sans Serif", (float) (8.25), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.LtLines.ForeColor = System.Drawing.SystemColors.WindowText;
- this.LtLines.ItemHeight = 15;
- this.LtLines.Location = new System.Drawing.Point(8, 24);
- this.LtLines.Name = "LtLines";
- this.LtLines.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.LtLines.Size = new System.Drawing.Size(297, 34);
- this.LtLines.TabIndex = 0;
- //
- //Label1
- //
- this.Label1.BackColor = System.Drawing.SystemColors.Control;
- this.Label1.Cursor = System.Windows.Forms.Cursors.Default;
- this.Label1.Font = new System.Drawing.Font("MS Reference Sans Serif", (float) (8.25), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.Label1.ForeColor = System.Drawing.SystemColors.ControlText;
- this.Label1.Location = new System.Drawing.Point(8, 8);
- this.Label1.Name = "Label1";
- this.Label1.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.Label1.Size = new System.Drawing.Size(113, 17);
- this.Label1.TabIndex = 1;
- this.Label1.Text = "Devices";
- //
- //mTAPIEx
- //
- this.mTAPIEx.Enabled = true;
- this.mTAPIEx.Location = new System.Drawing.Point(448, 32);
- this.mTAPIEx.Name = "mTAPIEx";
- this.mTAPIEx.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("mTAPIEx.OcxState")));
- this.mTAPIEx.Size = new System.Drawing.Size(30, 30);
- this.mTAPIEx.TabIndex = 7;
- //
- //Form1
- //
- this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
- this.BackColor = System.Drawing.SystemColors.Control;
- this.CancelButton = this.BnOpen;
- this.ClientSize = new System.Drawing.Size(504, 366);
- this.Controls.Add(this.mTAPIEx);
- this.Controls.Add(this.Frame1);
- this.Controls.Add(this.TxtLog);
- this.Controls.Add(this.BnClose);
- this.Controls.Add(this.BnOpen);
- this.Controls.Add(this.LtLines);
- this.Controls.Add(this.Label1);
- this.Cursor = System.Windows.Forms.Cursors.Default;
- this.Font = new System.Drawing.Font("Arial", (float) (8.0), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,((byte)(0)));
- this.Location = new System.Drawing.Point(4, 23);
- this.Name = "Form1";
- this.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
- this.Text = "Simple IVRS Demo";
- this.Frame1.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.mTAPIEx)).EndInit();
- this.ResumeLayout(false);
- }
- #endregion
- #region "Upgrade Support "
- private static Form1partial m_vb6FormDefInstance;
- private static bool m_InitializingDefInstance;
- public static Form1partial DefInstance
- {
- get{
- Form1partial returnValue;
- if (m_vb6FormDefInstance == null || m_vb6FormDefInstance.IsDisposed)
- {
- m_InitializingDefInstance = true;
- m_vb6FormDefInstance = new Form1partial();
- m_InitializingDefInstance = false;
- }
- returnValue = m_vb6FormDefInstance;
- return returnValue;
- }
- set
- {
- m_vb6FormDefInstance = value;
- }
- }
- #endregion
- //######################################################################################
- //# Program name: Simple IVR Demo #
- //# #
- //# Version: v1.5 #
- //# #
- //# Last modification Date: Nov. 23th 2004 #
- //# #
- //# Requirements: TAPIEx control, VOICE modem or TAPI compliant telephony device #
- //# #
- //# Operating System: Windows 98, Windows ME, Windows NT 4, Windows 2000, Windows XP #
- //# #
- //# Note: Under Windows NT 4 voice modems may not supported because of the lack of a #
- //# voice capable TAPI universal modem driver. #
- //# #
- //# Program Purpose: To demonstrate how to add telephony functions to your application #
- //# using the TAPIEx ActiveX control. #
- //# #
- //######################################################################################
- const string WAVE_PATH = "../../../wave_pcm/";
- public class CLineDevice
- {
- public string m_Name;
- public int m_ID;
- public override string ToString()
- {
- return m_Name;
- }
- }
- private void BnClose_Click (System.Object eventSender, System.EventArgs eventArgs)
- {
- mTAPIEx.CloseAll();
- BnOpen.Enabled = true;
- BnClose.Enabled = ! BnOpen.Enabled;
- }
- private void BnOpen_Click (System.Object eventSender, System.EventArgs eventArgs)
- {
- short i;
- CLineDevice lDevice;
- for (i = 0; i <= LtLines.Items.Count - 1; i++)
- {
- lDevice=(CLineDevice)LtLines.Items[i];
- mTAPIEx.Lines.Item(lDevice.m_ID).Open(); //Open the line
- }
- BnOpen.Enabled = false;
- BnClose.Enabled = ! BnOpen.Enabled;
- }
- private void Form1_Load (System.Object eventSender, System.EventArgs eventArgs)
- {
- TAPIEXLib.ITAPILine line;
- mTAPIEx.initialize(); //Initialize
- foreach (TAPIEXLib.ITAPILine tempLoopVar_line in mTAPIEx.Lines) //enumerate the line devices
- {
- line = tempLoopVar_line;
- if (Convert.ToBoolean(line.Caps.Media_Modes & TAPIEXLib.LINEMEDIAMODE.MEDIAMODE_AUTOMATEDVOICE) || Convert.ToBoolean(line.Caps.Media_Modes & TAPIEXLib.LINEMEDIAMODE.MEDIAMODE_INTERACTIVEVOICE))
- {
- CLineDevice lDevice = new CLineDevice();
- lDevice.m_Name = line.DeviceName;
- lDevice.m_ID = line.DeviceID;
- LtLines.Items.Add(lDevice);
- }
- }
- }
- //UPGRADE_WARNING: Form event Form1.Unload has a new behavior. Click for more: 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2065"'
- private void Form1_Closed (System.Object eventSender, System.EventArgs eventArgs)
- {
- mTAPIEx.UnInitialize();
- }
- private void mTapiex_OnConnected (System.Object eventSender, AxTAPIEXLib._ITAPIExEvents_OnConnectedEvent eventArgs)
- {
- eventArgs.m_Call.PlaybackFile(WAVE_PATH + "welcome.wav");
- eventArgs.m_Call.PlaybackFile(WAVE_PATH + "menu.wav");
- eventArgs.m_Call.User_Data1 = 0;
- eventArgs.m_Call.User_Data2 = 0;
- }
- private void mTapiex_OnDebug (System.Object eventSender, AxTAPIEXLib._ITAPIExEvents_OnDebugEvent eventArgs)
- {
- TxtLog.Text = eventArgs.msg + Convert.ToChar(13) + Convert.ToChar(10) + TxtLog.Text;
- }
- private void mTapiex_OnDTMF (System.Object eventSender, AxTAPIEXLib._ITAPIExEvents_OnDTMFEvent eventArgs)
- {
- if (System.Convert.ToInt32(eventArgs.m_Call.User_Data1) == 1) //"any key to hang up the call"
- {
- eventArgs.m_Call.StopRecord();
- eventArgs.m_Call.PlaybackFile(WAVE_PATH + "rec_end.wav");
- }
- else
- {
- switch (Convert.ToChar(eventArgs.keyCode))
- {
- default:
- if (Convert.ToChar(eventArgs.keyCode) == '3')
- {
- eventArgs.m_Call.StopPlayBack();
- eventArgs.m_Call.PlaybackFile(WAVE_PATH + "Menu_Opt" + Convert.ToChar(eventArgs.keyCode) + ".wav");
- //play the option wave
- eventArgs.m_Call.User_Data1 = 1; //recording message, then any key to stop
- eventArgs.m_Call.Record("rec_message_" + eventArgs.m_Call.Handle + "_.wav");
- break;
- //will record the user's messages
- }
- if (Convert.ToChar(eventArgs.keyCode) == '2')
- {
- eventArgs.m_Call.StopPlayBack();
- eventArgs.m_Call.PlaybackFile(WAVE_PATH + "Menu_Opt" + Convert.ToChar(eventArgs.keyCode) + ".wav");
- break;
- }
- if (Convert.ToChar(eventArgs.keyCode) == '1')
- {
- eventArgs.m_Call.StopPlayBack();
- eventArgs.m_Call.PlaybackFile(WAVE_PATH + "Menu_Opt" + Convert.ToChar(eventArgs.keyCode) + ".wav");
- break;
- }
- break;
- }
- }
- }
- private void mTAPIEx_OnDTMFTimeOut (System.Object eventSender, AxTAPIEXLib._ITAPIExEvents_OnDTMFTimeOutEvent eventArgs)
- {
- eventArgs.m_Call.DTMF_TimeOut = 0;
- eventArgs.m_Call.StopPlayBack();
- eventArgs.m_Call.PlaybackFile(WAVE_PATH + "timeout.wav");
- }
- //Normally for ISDN incoming calls:
- //CALLSTATE (OFFERING)
- //Accept()
- //CALLSTATE (ACCEPTED)
- //Answer()
- //CALLSTATE (CONNECTED)
- private void mTAPIEx_OnCallStateChange (System.Object eventSender, AxTAPIEXLib._ITAPIExEvents_OnCallStateChangeEvent eventArgs)
- {
- if ((eventArgs.newState == TAPIEXLib.TAPI_CALLSTATE.CALLSTATE_ACCEPTED) && (System.Convert.ToInt32(eventArgs.m_Call.User_Data2) == 1))
- {
- //ISDN need answer the call on accept
- eventArgs.m_Call.Answer();
- eventArgs.m_Call.User_Data2 = 0;
- }
- }
- private void mTAPIEx_OnOffering (System.Object eventSender, AxTAPIEXLib._ITAPIExEvents_OnOfferingEvent eventArgs)
- {
- if (System.Convert.ToBoolean(CBAcceptOnOffering.CheckState)) // for ISDN
- {
- eventArgs.m_Call.Accept( ""); // Accept the call
- eventArgs.m_Call.User_Data2 = 1;
- }
- if (System.Convert.ToBoolean(CbAnswerOnOffering.CheckState)) // answer the call on offering
- {
- eventArgs.m_Call.Answer();
- }
- }
- private void mTapiex_OnPlayBackComplete (System.Object eventSender, AxTAPIEXLib._ITAPIExEvents_OnPlayBackCompleteEvent eventArgs)
- {
- if (eventArgs.m_Call.ActivePlayBackFile == WAVE_PATH + "menu.wav") //after the menu wave , time 30 seconds DTMF timeout
- {
- eventArgs.m_Call.DTMF_TimeOut = 30;
- }
- else
- {
- if (eventArgs.m_Call.ActivePlayBackFile == WAVE_PATH + "rec_end.wav" | eventArgs.m_Call.ActivePlayBackFile == WAVE_PATH + "timeout.wav")
- {
- eventArgs.m_Call.Drop();
- }
- //after the end or timeout wave playback completed, drop the call.
- }
- }
- private void mTapiex_OnRing (System.Object eventSender, AxTAPIEXLib._ITAPIExEvents_OnRingEvent eventArgs)
- {
- System.Diagnostics.Debug.WriteLine(eventArgs.ringCount);
- if (eventArgs.ringCount >= System.Convert.ToInt16(EdAutoAnswerRingCount.Text))
- {
- eventArgs.m_Call.Answer();
- }
- }
- }
- }