PDA

View Full Version : سوال: اتصال به مودم تلفن



morteza271
سه شنبه 02 خرداد 1391, 11:13 صبح
سلام دوستان.

من دارم یه برنامه تلفنی می نویسم که هنوز اول راهم!
یه مشکلی در اتصال به مودم دارم.
من با کد زیر هنگام لود فرم لیست مودم ها رو در یه کامبوباکس نشون میدم:
private void Form1_Load(object sender, EventArgs e)
{
try
{
tapi = new TAPI();
ArrayList a = tapi.AvailableModems();
modemsCombo.Items.Clear();
foreach (string s in a)
modemsCombo.Items.Add(s);
}
catch
{
MessageBox.Show("Call Center can't loaded", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

تا اینجا مشکلی ندارم و اسم مودم هم توی کامبوباکس میاد.
حالا میخوام با زدن یه کلید به مودم انتخاب شده توی کامبوباکس وصل بشم.
که این کد رو نوشتم :
private void button4_Click(object sender, EventArgs e)
{
if (modemsCombo.Text == "")
{
return;
}
try
{
modem = new Modem(modemsCombo.Text, tapi, this.Handle);
messageBox.Text = "Ready";
}
catch
{
MessageBox.Show("Error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

که modem یه متغیر عمومی از نوع Modem هست.
ولی وقتی این کد اجرا میشه خطا میده در خط زیر خطا میده و نمیتونه وصل بشه :
modem = new Modem(modemsCombo.Text, tapi, this.Handle);

به نظرتون مشکل این کد چیه؟
کسی میتونه کمکم کنه؟
اگه کسی از دوستان نمونه برنامه ای در این زمینه داره برام بذاره ممنون میشم.
البته اینو هم بگم اگه ایشا... برنامه ای که دارم می نویسم رو بتونم تموم کنم حتما اینجا میذارم تا دوستان بتونن از استفاده کنن!
با تشکر

morteza271
سه شنبه 02 خرداد 1391, 11:20 صبح
البته دوستان اینم بگم که مودم من از این مودم های ساده (فکس مودم دل) هستش اینم عکسش :
http://barnamenevis.org/image/jpeg;base64,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 qtiiAiIgIiICIiD//2Q==
87346
که فکر نمیکنم مشکل از مودم باشه چون من دستورات ATCommand رو توی هایپرترمینال زدم و درست بود و جواب داد حتی وقتی که تلفن زنگ خورد هم نوشت ring و به نظر مشکلی نداره!
ولی نمیدونم چرا کد بالا درست کار نمیکنه!!!

morteza271
سه شنبه 02 خرداد 1391, 12:59 عصر
دوستان کسی نیست کمک کنه؟
توی تالار زیاد در این مورد بحث شده ولی نتونستم به نتیجه برسم اگه لطف کنید و کمک کنید ممنون میشم.

Saeed_m_Farid
سه شنبه 02 خرداد 1391, 13:34 عصر
که modem یه متغیر عمومی از نوع Modem هست.
ولی وقتی این کد اجرا میشه خطا میده در خط زیر خطا میده و نمیتونه وصل بشه :
modem = new Modem(modemsCombo.Text, tapi, this.Handle);

به نظرتون مشکل این کد چیه؟

از نوع Modem یعنی چی؟ میشه بگین از چی استفاده می کنین؟ من که تا حالا چیزی بنام Modem :متعجب: تو TAPI ندیدم :(
اینجا (http://barnamenevis.org/showthread.php?218905-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%AA%D9%84%D9%81%D9%86-%DA%AF%D9%88%DB%8C%D8%A7-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B3%D8%A7%D8%AF%D9%87/page5) ( و TAPI-3.0 Sample (http://www.codeproject.com/Articles/10994/TAPI-3-0-Application-development-using-C-NET)) رو دیدین؟
اصلاً وقتی با هایپر جواب گرفتین چرا سریال (http://www.codeproject.com/Articles/19256/Serial-Communication-in-C) کار نمی کنین :لبخند:

morteza271
چهارشنبه 03 خرداد 1391, 09:43 صبح
ممنونم دوست عزیز.

راستش من این کد رو از اینترنت پیدا کردم و خودم زیاد در این زمینه کار نکردم و نمیدونم چجوریه!!

ببینیند من میخوام یه برنامه بنویسم که این امکانات رو داشته باشه:

مشتری زنگ بزنه و برنامه بعد از چند بوق جواب بده و یه پیغام مثلا با سلام رو پخش کنه
بعد مشتری شماره حساب خودش رو وارد کنه و در انتها کلید ستاره رو بزنه بعد بزنامه مبلغ موجودی شماره حساب رو برای مشتری بخونه
بعد هم تلفن رو قطع کنه

همین
آیا میشه با سریال و دستورات ATCommand این برنامه رو نوشت؟؟

شما نمونه کدی دارین توی این زمینه که بتونین در اختیارم بذارین؟؟
ممنون میشم
با تشکر

Saeed_m_Farid
چهارشنبه 03 خرداد 1391, 11:30 صبح
جسارتِ، ولی باور کنید چندین بار این رو به دوستان دیگه هم گفتم:


Telephony Application Programming Interface (TAPI) functionality is not supported from managed code (http://support.microsoft.com/default.aspx?scid=kb;en-us;841712)


یعنی هرکس هم تو #C یا سایر زبانهای managed دات نت همچین کاری کرده فقط برای کدهای native (مثلاً ++C) یه Wrapper نوشتن و بقیه اش کارهای ظاهری هست که اونجا انجام دادن (UI) ولی بازم بهترین wrapper ای که من تا حالا برای TAPI دیدم رو اینجا میذارم (برای Agile Software ایجاد شده توسط خانم Helen Warn که بقیه هم روش کار کردن)، امیدوارم بدردتون بخوره (البته TAPI2 هست ولی نیازهای شما رو جواب میده)

البته به این نکات توجه کنید:



This sample app demonstrates some basic features of programming for Tapi 2.

Note that to use this sample, you will need to change the settings value of the TSP
to match that used by your telephony provider. You may also wish to change the version
of Tapi that you are targeting by changing the TapiVersion settings value.

There are many Tapi functions that are not demonstrated by this sample. You can see
some of these functions in the CTapi class.

If you want to see message boxes with applicable tapi data displayed, uncomment out the top line
#define TESTING in MainForm.cs. You may do the same thing with many of the Tapi2Lib classes.

Note that this sample was first developed for the original version of .Net, i.e. pre generics.
The Tapi classes have a bunch of collection classes that are now obsolete, but I have not had
the time to change them.

This library can be used as is, but myself (Helen Warn) and my company (Agile Software Inc.)
take no responsibility for any bugs or errors.

Please do not remove or change any copyright notices in any of the modules, and give credit where credit is due
when sharing this code.

Please feel free to contact me at hwarn@agile-soft.com to report bugs and suggestions.
You may also contact us at our webstie: www.agile-soft.com (http://www.agile-soft.com).

Have fun with Tapi!

Regards,

Helen Warn
- در مورد دستورات AT هم من صلاح نمیدونم این کار رو ادامه بدین ...