نمایش نتایج 1 تا 1 از 1

نام تاپیک: تماس تلفنی با مودم 3g

  1. #1

    سوال : تماس تلفنی با مودم 3g

    من میخوام یه برنامه با C#‎‎‎‎‎ بنویسم برای تماس خروجی و ورودی از کامپیوتر با مودم 3g .
    برنامه رو با Atapi.NET نوشتم برای مودم های دیال آپ جواب میده ولی با مودم 3g جواب نمیده .
    using System;using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Configuration;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using JulMar.Atapi;






    namespace prjMakePhoneCall
    {
    // Line numbers are given for understanding and are not part of the actual code
    public partial class frmPersons : Form
    {
    private TapiManager tapiManager = new TapiManager("prjMakePhoneCall");

    private string lineName, logEntry = string.Empty;
    string name = "";
    public frmPersons()
    {
    InitializeComponent();


    ///ezafe shod
    tapiManager.Initialize();


    name = tapiManager.Lines[24].Name;
    this.lineName = (tapiManager != null && tapiManager.Lines.Length > 0 ? name : string.Empty);






    foreach (TapiLine line in tapiManager.Lines)
    {


    line.NewCall += this.OnNewCall;
    line.Ringing += this.OnRinging;
    }

    }

    private void OnNewCall(object sender, NewCallEventArgs e)
    {
    if (InvokeRequired == true)
    {
    this.BeginInvoke(new EventHandler<NewCallEventArgs>(this.OnNewCall), new object[] { sender, e });
    return;
    }


    //ActiveCallForm acf = new ActiveCallForm(e.Call);
    //acf.Show();
    }
    private void OnRinging(object sender, EventArgs e)
    {
    if (InvokeRequired == true)
    {
    this.BeginInvoke(new EventHandler<RingEventArgs>(this.OnRinging), new object[] { sender, e });
    return;
    }


    //if (sender == name)
    //{
    label1.Text = "Ringing...";

    //}
    }
    private void frmPersons_Load(object sender, EventArgs e)
    {
    tapiManager.Initialize();


    this.lineName = (tapiManager != null && tapiManager.Lines.Length > 0 ? tapiManager.Lines[0].Name : string.Empty);
    }


    private void frmPersons_FormClosed(object sender, FormClosedEventArgs e)
    {
    tapiManager.Shutdown();
    Application.ExitThread();
    }




    private void frmPersons_FormClosing(object sender, FormClosingEventArgs e)
    {

    }




    private void btnCall_Click(object sender, EventArgs e)
    {
    if(this.txtPhone.Text.Trim().Length > 0)
    this.MakePhoneCall(this.txtPhone.Text);
    }




    private void MakePhoneCall(string phoneNumber)
    {
    TapiLine line = tapiManager.GetLineByName(this.lineName, true);

    if (line != null)
    {
    if (!line.IsOpen)
    line.Open(MediaModes.DataModem);

    line.NewCall += new EventHandler<NewCallEventArgs>(line_NewCall);
    line.CallInfoChanged += new EventHandler<CallInfoChangeEventArgs>(line_CallInf oChanged);
    line.CallStateChanged += new EventHandler<CallStateEventArgs>(line_CallStateCha nged);

    if (phoneNumber.Length > 0)
    {
    MakeCallParams makeCallParams = new MakeCallParams();
    makeCallParams.DialPause = 2000;
    try
    {
    TapiCall call = line.MakeCall(phoneNumber, null, makeCallParams);
    this.MakeLogEntry("Created call " + phoneNumber + " -> " + call, "Sending…");
    }
    catch (Exception exc)
    {
    if (exc.Message.IndexOf("[0x80000005]") > -1 && tapiManager != null)
    {
    tapiManager.Shutdown();
    tapiManager = new TapiManager("prjMakePhoneCall");
    if (tapiManager.Initialize())
    this.MakePhoneCall(phoneNumber);
    }
    }
    }
    }
    }

    private void line_NewCall(object sender, NewCallEventArgs e)
    {
    this.MakeLogEntry("New call: " + e.Call, e.Privilege.ToString());
    }

    private void line_CallStateChanged(object sender, CallStateEventArgs e)
    {
    this.MakeLogEntry("CallState: " + e.Call.ToString(), e.CallState.ToString());
    }

    private void line_CallInfoChanged(object sender, CallInfoChangeEventArgs e)
    {
    this.MakeLogEntry("CallInfo: " + e.Call.ToString(), e.Change.ToString());
    }


    private void MakeLogEntry(string callInfo, string status)
    {
    this.logEntry += DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString() + " : " + callInfo + ", " + status + "|";
    }





    }
    }


    آخرین ویرایش به وسیله mghalgar : یک شنبه 13 مهر 1393 در 10:06 صبح

تاپیک های مشابه

  1. نحوه برقراری تماس تلفنی از طریق مودم
    نوشته شده توسط vof.ir در بخش C#‎‎
    پاسخ: 2
    آخرین پست: شنبه 02 فروردین 1393, 16:11 عصر
  2. سوال: چگونگی تشخیص یه تماس تلفنی از طریق مودم
    نوشته شده توسط احمد غلامی در بخش C#‎‎
    پاسخ: 1
    آخرین پست: شنبه 18 آبان 1387, 08:35 صبح
  3. تماس تلفنی بوسیله vb
    نوشته شده توسط saeid taheri در بخش برنامه نویسی در 6 VB
    پاسخ: 19
    آخرین پست: جمعه 08 دی 1385, 00:01 صبح
  4. تماس از طریق مودم
    نوشته شده توسط hadi azad در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: جمعه 08 آبان 1383, 10:34 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •