# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > C#‎‎ > آموزش: آموزش طراحی و برنامه نویسی تلفن گویا با Tapiex  در سی شارپ (IVR System - CSharp )

## jasper

سلام به همه دوستان به خصوص برنامه نویسان و دانشجویان عزیز
خیلی از دوستانی که قصد طراحی تلفن گویا و یا دیالر رو دارن به دلیل نبود رفرنس مناسب معمولا ناکام میمونن یا مجبورن به یه پروژه ناقص اکتفا کنن.
هدفم از ایجاد این تاپیک صرفا گذاشنن کد برنامه نیس
بلکه اموزش اون و راهنمایی علاقه مندان برای استفاده از کامپوننت هایی که نمیشناسن.
با این روش امیدوارم دوستان بتونن در موارد مشابه بتونن با تکیه به اموخته هاشون خودشون پروژشونو انجام بدن
پس قدم به قدم پیش میریم البته جوری که عزیزانی که واسه پروژه دانشگاه میخانش بتونن به موقع کاملش کنن.
و امیدوارم که دوستان نشینن تا کامل بشه و فقط کپی کنن . دوس دارم همیشه یه قدم جلوتر باشین..
و یک توصیه :
برای اینکه یه برنامه نویس شوید هیچ وقت منتظر لقمه آماده نباشید. کد بنویسید ، کد بنویسید و کد بنویسید .

----------


## jasper

ابتدا برنامه ای رو که خودم نوشتم رو معرفی میکنم که دوستان تا حدی با برنامه و قابلیت هاش اشنا بشن.



امکانات برنامه :
به نسبت حجم پایین کد نویسی و برنامه بازدهی برنامه بسیار بالاست که این موضوع با نگاهی به امکانات برنامه کاملا مشهود است، شرح کلی امکانات:
•	تشخیص تماس 
•	امکان پاسخ گویی خودکار
•	امکان پاسخ گویی توسط مدیر
•	پخش پیام خوشامد گویی
•	استفاده از منوی صوتی و پخش آن
•	تشخیص کلید های فشرده شده توسط کاربر
•	ذخیره کلیدهای فشرده شده در بانک اطلاعات
•	ذخیره صدای تماس گیرنده
•	نمایش اطلاعات ذخیره شده
•	پخش پیغام های ذخیره شده بدون استفاده از برنامه جانبی
•	نمایش انلاین رخدادهای سیستم تلفن گویا
•	ذخیره رخدادهای تلفن گویا در یک فایل لوگ(به منظور تشخیص خطا)
•	نمایش شماره تماس گیرنده در صورت پشتیبانی اپراتور تلفن , ساپورت مودم
•	شمارنده تعداد تماس های روزانه
•	امکان فیلتر گذاری بر روی نمایش تماس های گرفته شده
•	پشتیبانی از سیستم عامل های ویندوز ایکس پی و ویندوز سون
•	نمایش تاریخ به صورت شمسی
•	امکان فعال و غیرفعال سازی سیستم به صورت کاملا ساده
•	امکان تنظیم پاسخ گویی خودکار با سلیقه کاربر
•	نمایش خطا های رخ داده در برنامه دو صورت فارسی و انگلیسی
و امکانات دیگر
البته در اینجا ما بیشتر به خود تلفن گویا میپردازیم و انکانات اضافه به سلیقه و نیاز خودتون بستگی داره.
در برنامه نوشته شده از رابط گرافیکی مترو استفاده شده که به خاطر پیچیدگی ان در اینجا ما از فرم خود سی شارپ استفاده میکنیم
و همچنین امکانات دیگر مانند مسیج های با دکمه فارسی نیز حذف میشن.

واما برای شروع چکار کنیم؟
اولین قدم دانلود و نصب کامپونت TapiEx هستش که میتونین از یکی از لینک های زیر دانلودش کنین .(حجم 3مگابایت)
نام : TAPIEx ActiveX Control v3.6.1.8
آدرس : ادرس اول ، ادرس دوم ، ادرس سوم 
بعد از دانلود و نصب باید اونو کرک کنید که دوستانی که از ویندوز سون استفاده میکنن پیشنهاد میکنم در درایوی به غیر از درایو ویندوز نصب کنن .
ادامه دارد........

----------


## ho3ein.3ven

سلام . خسته نباشی.
خواهشا بگو باید چه نوع مودمی داشته باشیم ؟

----------


## jasper

> سلام . خسته نباشی.
> خواهشا بگو باید چه نوع مودمی داشته باشیم ؟


دوست عزیز تمام مودم هایی Dial Up که تماس Interactive رو پشتیبانی میکنن رو مشه استفاده کرد اما واسه IDCaller من نتونستم مودمی رو پیدا کنم
و البته پشتیبانی اپراتور هم یکی از شرایطش هستش.
من درگیر یه پروژه هستم که باید تحویلش بدم. بعدش در خدمت شمام ، نگران وقت نباشین کل برنامه رو میشه با 500 خط کد نوشت.

و لطفا اسپم ندین...

----------


## noroozifar

سلام
من قبلا خواستم تلفن گویا را بنویسم و  دوتا مشکل برخوردم یکی ای دی کالر  و دومی هم پخش صدا ی خوش امد گویی که هر نوع فایل صوتی گذاشتم جواب نداد امیدوارم این دوستمان بتونه کمک کنه تا پروژه ناقص را کامل کنم

----------


## intel_amd

من بیشتر دوستدارم دوستمون این قسمتشو آموزش بدن که چجوری میشه تعیین کنیم که کاربر مثلا وقتی 4 میزنه چه تابعی اجرا شه

----------


## ikallam

سلام دوستان یکی به من بگه که چه طور میتونم شماره فرد تماس گیرنده رو به دست بیارم ـ‌فقط همین ـ و از چه مودم برای این کار استفاده کنم ـ اگر میشه یک مثال هم بزارید ممنونننننننننننننننن  ـ

----------


## jasper

> سلام
> من قبلا خواستم تلفن گویا را بنویسم و  دوتا مشکل برخوردم یکی ای دی کالر  و دومی هم پخش صدا ی خوش امد گویی که هر نوع فایل صوتی گذاشتم جواب نداد امیدوارم این دوستمان بتونه کمک کنه تا پروژه ناقص را کامل کنم


noroozifar عزیز در مورد ایدی کالر مطلب پایین رو بخونین در مورد فایل صوتی هم باید حتما مشخصات زیر رو داشته باشه :
Wav Format
16 bit;
mono ;
 ;8000 khz;   







> سلام دوستان یکی به من بگه که چه طور میتونم شماره فرد تماس گیرنده رو به دست بیارم ـ‌فقط همین ـ و از چه مودم برای این کار استفاده کنم ـ اگر میشه یک مثال هم بزارید ممنونننننننننننننننن  ـ


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


        void tp_OnCallerID(ITAPICall m_Call, string CallerName, string CallerNumber)
        {
            cCallerID = CallerNumber;
            cCallerName = CallerName;
        }







> من بیشتر دوستدارم دوستمون این قسمتشو آموزش بدن که چجوری میشه تعیین کنیم که کاربر مثلا وقتی 4 میزنه چه تابعی اجرا شه


 intel_amdعزیز این قسمتش مربوط به اخرای اموزش ماس اما اگه میخای خودت جلوتر انجامش بدی
این کار با رویداد  DTMF انجام میشه که بعد از برقراری تماس با فشار هر کلید تلفن این رویداد اجرا میشه و کد اسکی اون کلید رو واسه ما بر میگردونه.و شامل اعداد 0 تا 9 و علایم * و # هستش
شما میتونی توابعت رو تو یه سویچ بزاری یا از ساختار شرط استفاده کنی.

----------


## intel_amd

ممنون از راهنمائیتون 
منتظر آموزش کاملتونم هستیم
بعد از این تاپیک اگر لطف کنین کار با کامپوننت های مودم gsm برای کار با سیم کارت هم آموزش بدین واقعا ممنون میشیم

----------


## ho3ein.3ven

> دوست عزیز تمام مودم هایی Dial Up که تماس Interactive رو پشتیبانی میکنن رو مشه استفاده کرد اما واسه IDCaller من نتونستم مودمی رو پیدا کنم
> و البته پشتیبانی اپراتور هم یکی از شرایطش هستش.
> من درگیر یه پروژه هستم که باید تحویلش بدم. بعدش در خدمت شمام ، نگران وقت نباشین کل برنامه رو میشه با 500 خط کد نوشت.
> 
> و لطفا اسپم ندین...


تشکر بابت پاسخ.
از کجا بدونیم تماس اینتراکتیو رو پشتیبانی میکنه ؟

----------


## sobhan1990

سلام

اول از تشکر میکنم بابت آموزش.

یه سوال فنی دارم: برای راه اندازی به چه سخت افزارهایی نیاز هست؟

----------


## intel_amd

سمپل های برنامرو بعد از نصب دیدم , برای C#‎ و C++‎ builder و .... حالا یک سوال : اینطور که معلومه dll خاصی نیست که به برنامه لینک شه و برای اجرای برنامه ای که توسط این سیستم طراحی می کنیم روی سیستم دیگه باید این برنامه نصب شه درسته؟

----------


## jasper

> یه سوال فنی دارم: برای راه اندازی به چه سخت افزارهایی نیاز هست؟


sobhan1990عزیز سخت افزار خاصی نمیخاد .تنها سخت مورد نیازش یه مودم Dial Up هست. که راجب مشخصاتش توضیح داده شده.




> از کجا بدونیم تماس اینتراکتیو رو پشتیبانی میکنه ؟



 ho3ein.3ven عزیز معمولا رو خود مودم مینویسن و البته اکثر مودم های جدید که خروجی صدا دارن از این قابلیت پشتیبانی میکنن.
البته تو برنامه ای که واسه اموزش میزارم نوع مودم رو نشون میده (متاسفانه دیروز آموزش رو گذاشتم اما موقع ارسال نتم قط شد و پرید :گریه:  امروز دباره میزارم)

برای تشکر لطفا از دکمه تشکر استفاده کنید.

----------


## jasper

> سمپل های برنامرو بعد از نصب دیدم , برای C#‎‎ و C++‎‎ builder و .... حالا یک سوال : اینطور که معلومه dll خاصی نیست که به برنامه لینک شه و برای اجرای برنامه ای که توسط این سیستم طراحی می کنیم روی سیستم دیگه باید این برنامه نصب شه درسته؟


 intel_amd عزیز برنامه ای که شما نصب کردین در واقع کپی فایل Dll روی هارد و رجیستر اون تو ویندوز بوده. که چون کامپوننت رایگان نیست به این صورت باید نصبش کنی و بعد هم ک.ر.ک شه
تو مسیری که تپیکس رو نصب کردین برین {من تو دایو D  نصب کردم} D:\Program Files\TAPIEx.com\TAPIEx ActiveX Control 3.6\bin تو پوشه bin یه فایل Dll به اسم TAPIExCt.dll هست که به برنامه الحاق میشه. و نیازی هم نیس که  رو کامپیوتر مقصد نصب باشه.

----------


## negar.rafie

سلام
دوست عزیز نمیخواید شروع کنید

----------


## jasper

سلام دباره به همه دوستان
خب بریم سر شروع پروژه
کل کار رو به سه قسمت تقسیم میکنیم:
1-شناخت برنامه و نسخه اولیه که توانایی شناخت خط تلفن رو داشته باشه و بتونه تماس برقرار کنه.
2-نسخه دوم که شامل تمام رویداد های اصلی هستش و توانایی تشخیص تماس ،پاسخ گویی و غیره رو داره.
3-نسخه نهایی که تمام کارهای یا تلفن گویا رو انجام میده و فقط نیازمند طراحی ظاهر برنامس.

ابتدا شکل چیزی رو که در مرحله اول میخایم بنویسیم رو میزارم و در ادامه نحوه کار..

محیطی که توش قراره برنامه رو بنویسیم C#‎‎ 2010  هست. و تا حد ممکن سعی میکنم از کنترل های ساده استفاده کنم و حجم کد رو پایین بیارم. دوستان خودشون میتونن به سلیقه و نیازشون برنامه رو طراحی کنن.
در ابتدا کامپوننت TapiEx که در پست های قبلی معرفی شد رو نصب میکنیم.[نصبش چیز خاصی نداره فقط طبق توضیح گذشته دوستان در هنگام نصب برنامه رو درایوی غیر از ویندوز نصب کنن که هنگام کرک دچار مشکل نشن]
خب باید اول کامپوننت رو به رفرنس ها[Refrences] اضافه کنیم . وبعد فضای نام [namespace] تپیکس رو به پروژمون اضافه کنیم.
  :   

خب تا اینجای کار که مشکلی نیست پس کنترل تپیکس رو به کنترل های سمت چپ صفحه اضافه میکنیم و اونو میکشیم رو فرم.
در %90 موارد این کاریه که با این کامپمننت نمیشه بکنیم چون موقع انجامش ویژوال استدیو ریستارت میشه و همین پایان خیلی از تلاش های دوستان واسه ساخت تلفن گویا بوده. البته مواردی هم وجود داره که مشکلی پیش نمیاد.
دلیل این امر هم ناسازگاری این کامپوننت با ویژوال استدیو هست
اما یه سوال: حالا چکار کنیم؟
خوب جوابش خیلی سادس : تمام کارها رو خودمون انجام میدیم....  کد مینویسیم...
بعد از اضافه کردن اصلی ترین کلاسی که اکثر کارهامونو انجام میده کلاس TAPIExCtl هستش
ما ابتدا یه نمونه از این کلاس به اسم tp  میسازیم [به صورت سراسری تعریفش میکنیم]
TAPIExCtl tp = new TAPIExCtl(); // ساختن یک نمونه از کنترل تپیکس

اینترفیس بعدی که باقی کارهامون رو انجام میده ITAPILine هستش که اونم به اسم selectedLine تعریف میکنیم[به صورت سراسری تعریفش میکنیم]
        ITAPILine selectedLine;

سپس بایستی تابع ()initialize را صدا بزنیم تا کنترل Tapiex، اطلاعات اولیه را بارگزاری کنه.
برای این کار کافیست کد زیر را در Form_load خود بنویسیم :
tp.initialize();

----------


## jasper

> سلام
> دوست عزیز نمیخواید شروع کنید


 
negar.rafie عزیز اگه یه نگاهی به تایم پست های من بکنین متوجه میشین دلیل این تاخیر چیه. در ضمن من مینونم کل کار رو تو یه پست بزارم اما دیگه جنبه اموزشی نداره. وفقط میشه کپی .
صبور باشید...

----------


## jasper

خب روال کار به این صورت هستش که ما ابتدا خط هارو(مودم ها) پیدا میکنیم و تو یه ComboBox میریزیم سپس یکیرو انتخاب میکنیم و باز میکنیم، اگه Interactive  رو پشتیبانی کرد شماره مقصد رو مینویسیم دکمه Dial  رو واسه شماره گیری میزنیم
در اینجا باید تماس برقرار بشه بعد از تموم شدن کار خط رو میبندیم (توضیح: ما در اینجا مشخصا تماس رو قطع نکردیم دلیلشم اینه که کلا شماره گیری جز برنامه ما محسوب نمیشه و در پایان پروژه از برنامه حذف میشه در صورت تمایل دوستان میتونن خودشون این امکان رو اضافه کنن.)
برای پیدا کردن مودم ها و یا خطوط ما تمام مودم هاییو که در زمان ()initialize توسط برنامه شناخته شده رو تک تک از طریق یه foreach بیرون کشیده و اسامی اونا رو تو یه ComboBox میریزیم که در ادامه بتونیم بینشون انتخاب کنیم.

            foreach (ITAPILine tmpline in tp.Lines)
            {
                if (( tmpline.Caps.Media_Modes & LINEMEDIAMODE.MEDIAMODE_INTERACTIVEVOICE) > 0 ||
                    ( tmpline.Caps.Media_Modes & LINEMEDIAMODE.MEDIAMODE_AUTOMATEDVOICE) > 0)
                    {
                        cmbAllLine.Items.Add(tmpline.Name);
                    }   
            }

            if (cmbAllLine.Items.Count > 0)
            {
                lstLog.Items.Add("Getting Line Done! Select line.");
                cmbAllLine.Text = "Select the Line"; 
            }

توضیح خاصی نداره. شرطی که در خط 3 گذاشته شده باعث میشه خطوط سخت افزاری و یا خطوطی که اینتراکتیو هستن به کومبو اضافه بشه.

----------


## jasper

حالا باید خط رو از ComboBox انتخاب کنیم و اونو باز کنیم. همچنین در ادامه مشخص میکنیم که نوع Media Mode خط انتخابیمون چیه . که در صورتی که Interactive باشه برای ادامه کار مناسبه.
برای باز کردن خط انتخاب شده اسم تمام خطوط رو با مقدار انتخاب شده رد کمبو باکس مقایسه میکنیم در صورت برابری اونو تو selectedLine قرار میدیم و در ادامه چک میکنیم در صورتی که قبلا باز نبود اونو باز میکنیم
با پراپرتی selectedLine.DevStatus.OpenMediaModes نیز Media Mode رو مشخص میکنیم.(به خاطر سادگی از این روش استفاده شده)

باز کردن خط انتخاب شده:
            try
            {
                for (int i = 0; i < tp.Lines.Count; i++)
                {
                    if (tp.Lines.Item(i).Name == cmbAllLine.SelectedItem.ToString())
                    {
                        selectedLine = tp.Lines.Item(i);
                    }
                }

                if (!selectedLine.Open())
                {
                    selectedLine.Open();
                    lstLog.Items.Add("Line Opened!");
                }
            }
            catch (Exception ex)
            {
                lstLog.Items.Add("Error in opening Line : " + selectedLine.Name + "  ~SYSTEM ERROR: " + ex.Message);
            }

برای خطا یابی و کرش نشدن برنامه از ساختار Try{} Catch{}  0 استفاده شده است

شناسایی Media Mode :
if (selectedLine.DevStatus.OpenMediaModes.ToString() == "MEDIAMODE_INTERACTIVEVOICE")
            {
                txtMediaMode.Text = "Interactive";
                txtMediaMode.ForeColor=Color.Lime;
            }
            else if (selectedLine.DevStatus.OpenMediaModes.ToString() == "MEDIAMODE_DATAMODEM")
            {
                txtMediaMode.Text = "Data";
                txtMediaMode.ForeColor = Color.Red;
            }
            else
            {
                txtMediaMode.Text = "Other";
                txtMediaMode.ForeColor = Color.Pink;
            }

----------


## aboulfazl950

لطفا کدهای زده شده را در قالب یک نمونه برنامه قرار دهید.
یا حداقل عکسی از کدها در ویژوال استودیو قرار دهید.
با تشکر

----------


## jasper

> لطفا کدهای زده شده را در قالب یک نمونه برنامه قرار دهید.
> یا حداقل عکسی از کدها در ویژوال استودیو قرار دهید.
> با تشکر


aboulfazl950 عزیز در پایان هر مرحله این کار انجام میشه. اما بهتر نیست که شما از همین تکه کد ها استفاده کنین؟ :متفکر: 
اگه قرار بود برنامه به صورت یه جا قرار بگیره دیگه تاپیک اموزشی نمیخاست.  :خیلی عصبانی: شما اگه دنبال لقمه اماده نبودین الان منتظر من نمیشدین و تا حالا برنامه رو مینوشتین
سعی کنید به خودتون متکی باشید. :تشویق: 
ارزوی موفقیت دارم براتون.

----------


## aboulfazl950

> aboulfazl950 عزیز در پایان هر مرحله این کار انجام میشه. اما بهتر نیست که شما از همین تکه کد ها استفاده کنین؟
> اگه قرار بود برنامه به صورت یه جا قرار بگیره دیگه تاپیک اموزشی نمیخاست. شما اگه دنبال لقمه اماده نبودین الان منتظر من نمیشدین و تا حالا برنامه رو مینوشتین
> سعی کنید به خودتون متکی باشید.
> ارزوی موفقیت دارم براتون.


من همه ی این کدها را نوشتم ولی هنگام لود فرم ارور میدهد
اینم عکس ارورش

error.jpg

----------


## jasper

خب بریم سر ادامه کار
واسه قسمت اول فقط دو کار دیگه مونده که انجام بدیم ، شماره گیری و بستن خط
برای شماره گیری از متد ()MakeCall استفاده میکنیم که ورودیش یه شماره تماسه از نوع رشته و برای بستن خط نیز از متد  ()Close  استفاده میکنیم

تماس:

            selectedLine.MakeCall(txtDialNumber.Text);
            lstLog.Items.Add("Dial: "+txtDialNumber.Text);

بستن خط:

            selectedLine.Close();
            lstLog.Items.Add("Line Closed!");

قسمت اول رو اینجا ضمیمه کردم میتونین دانلود کنید.

----------


## jasper

> من همه ی این کدها را نوشتم ولی هنگام لود فرم ارور میدهد
> اینم عکس ارورش
> 
> error.jpg


aboulfazl950 عزیز کد اصلاح شد. در موارد مشابه لطفا کد هاتونو در قالب تکست هم قرار بدین که مشکل زودتر مشخص بشه. باز هم از توجهتون تشکر میکنم.

----------


## HAMID484

سلام jasper
اول از همه دوست دارم بصورت مکتوب ازت تشکر کنم بابت راه اندازی این مبحث . چون دو سه روزی داشتم تو نت میگشتم اما واقعا ی سورس درست و حسابی که بشه ازش چیزی یاد گرفت رو پیدا نکردم . البته چند تا نمونه برنامه از سایت های خارجی پیدا کردم اما اینقدر کد هاشون زیاد و عجیب بود که بیخیال شدم تا اینکه با این تاپیک آشنا شدم و آموزش هایی که قرار دادی رو تا اینجا دنبال کردم.
ب نظر من اگر شما اول کد رو بزاری بعدا بیای رو آموزش تمرکز کنی شاید بهتر باشه. چون شما که وقت نمیکنی مدام بیای سایت و مطلب بنویسی . شاید برای افرادی  مثل من که ی مقدار با سی شارپ آشنایی دارن , این سبک آموزش یک مقدار کند باشه. اونم به خاطر اینکه شما نمیرسی خیلی سریع آموزش ها رو در سایت قرار بدی. همینکه میای و وقت واسه آموزش میزاری خودش ی دنیا ثواب داره اما اگه کد ها رو بزاری دیگه جات تو بهشته. انشالله  :بامزه:

----------


## intel_amd

با توجه به اینکه سرعت آموزش خیلی کمه و دیر به دیر اینجا درس جدیدی قرار داده میشه اگر سورس فایل برنامه ای که شامل کلیه آموزش ها تا آخر این تاپیک میشه (مشابه فایل ایندفعه ای اما اونی که آخرین روز تو این تاپیک قراره گذاشته شه) از الان قرار داده شه خیلی خوبه که هر کس بخواد بتونه با سرعت بیشتری خودش بخونه بره جلو و تا آخر عمر این تاپیک سوالی اگر براش پیش اومد مطرح کنه تا تاپیک اینتراکتیوتر و پربارتر شه

----------


## HAMID484

دوستانی که TAPIEx ActiveX Control  رو نصب کردن میتونن برن به پوشه نصب برنامه و چند نمونه از مثالهای خود شرکت رو ببینن  . 
واسه من در این آدرس هست C:\Program Files\TAPIEx.com\TAPIEx ActiveX Control 3.6\Demo\Visual C#‎

----------


## intel_amd

هر کار میکنم دکمه هائی که از پشت خط زده میشه برنامه تشخیص نمیده
مودمم از نوع Data مینویسه مشکل از این نیست؟ interactive نمینویسه مودمو
سمپل های خود برنامه هم اجرا نمیشن و به InitializeComponent گیر میده

----------


## jasper

> سلام jasper
> اول از همه دوست دارم بصورت مکتوب ازت تشکر کنم بابت راه اندازی این مبحث . چون دو سه روزی داشتم تو نت میگشتم اما واقعا ی سورس درست و حسابی که بشه ازش چیزی یاد گرفت رو پیدا نکردم . البته چند تا نمونه برنامه از سایت های خارجی پیدا کردم اما اینقدر کد هاشون زیاد و عجیب بود که بیخیال شدم تا اینکه با این تاپیک آشنا شدم و آموزش هایی که قرار دادی رو تا اینجا دنبال کردم.
> ب نظر من اگر شما اول کد رو بزاری بعدا بیای رو آموزش تمرکز کنی شاید بهتر باشه. چون شما که وقت نمیکنی مدام بیای سایت و مطلب بنویسی . شاید برای افرادی  مثل من که ی مقدار با سی شارپ آشنایی دارن , این سبک آموزش یک مقدار کند باشه. اونم به خاطر اینکه شما نمیرسی خیلی سریع آموزش ها رو در سایت قرار بدی. همینکه میای و وقت واسه آموزش میزاری خودش ی دنیا ثواب داره اما اگه کد ها رو بزاری دیگه جات تو بهشته. انشالله


 HAMID484 عزیز منم تشکر میکنم که وقت گذاشتین و مطالب منو خوندین اما یه جورایی من با شما موافق نیستم.شمایی که با سی شارپ اشنایی دارین یکی از دو کار زیرو باید انجام میدادین یا مثل من بیخیال این اموزشا میشدین و خودتون دست بکار میشدین و تا الان نوشته بودینش و یا یه ذره هم که شده برای روش دیگران احترام قائل بودین و به جای این که ای حرفا رو بزنین منتظر ادامه میشدین/ در مورد جمله بعدیتون من منظور از دیر به دیر رو متوجه نمیشم میشه شفاف سازی کنین؟ این تاپیک کلا 11روزه شروع شده و بحث اصلیش از روز8 اسفند و پایان قسمت اول روز بعدش.
شما انگار با نحوه اموزش اشنا نیستین قرار نیس کل مطلب یه جا عنوان بشه و یا تو یه روز 
تو تاپیک اموزشی کد ها تیکه تیکه گفته میشه که همه بتونن تست کنن ؛ خطا یابی کنن ، روش بهتر ارائه بدن و سولاتو مطرح کنن که اگه یه جا کل مطلبو بزاری جلوشون توش گم میشن (من شخص خودمو مثال میزنم)
دوست عزیز اگه اموزش کاملی تو این زمینه بود وقتمو صرف این تاپیک مکیکردم. و صرفا هدف از ایجاد این تاپیک 2 موضوع بوده اول یه مرجع برای دانشجویانی که دنبال این موضوع بودن دوم آموزش روش استفاده و نه فقط قراردادن اون والا اسم این تاپیک آموزش تلفن گویا نبود میشد برنامه تلفن گویا
در مورد پست بعدیتونم



> دوستانی که TAPIEx ActiveX Control  رو نصب کردن میتونن برن به پوشه نصب برنامه و چند نمونه از مثالهای خود شرکت رو ببینن  . 
> واسه من در این آدرس هست C:\Program Files\TAPIEx.com\TAPIEx ActiveX Control 3.6\Demo\Visual C#‎‎


دوست عزیز در هنگام نصب تپیکس یه پوشه باز میشه که همه اینا توش هست و اگه ارزش کار داشت تو پست های قبلی بش اشاره میکردم. و لطفا وقتی مطلبی رو قرار میدین خودتون ابتدا تست کنید و دیگر کاربرانو سردرگم نکنید.




> هر کار میکنم دکمه هائی که از پشت خط زده میشه برنامه تشخیص نمیده
> مودمم از نوع Data مینویسه مشکل از این نیست؟ interactive نمینویسه مودمو
> سمپل های خود برنامه هم اجرا نمیشن و به InitializeComponent گیر میده


  intel_amd عزیز اگه دارین در مورد برنامه ای که من تو این تاپیک گذاشتم صحبت میکنین من جایی عنوان نکردم کا تا اینجای برنامه قابلیت تشخیص کلید کاربر وجود داره قبلا اشاره کردم این قابلیت قرار بود در اخر قسمت دوم و یا ابتدای قسمت سوم باشه 



> کل کار رو به سه قسمت تقسیم میکنیم:
> 1-شناخت برنامه و نسخه اولیه که توانایی شناخت خط تلفن رو داشته باشه و بتونه تماس برقرار کنه.
> 2-نسخه دوم که شامل تمام رویداد های اصلی هستش و توانایی تشخیص تماس ،پاسخ گویی و غیره رو داره.
> 3-نسخه نهایی که تمام کارهای یا تلفن گویا رو انجام میده و فقط نیازمند طراحی ظاهر برنامس.


در مورد مشکل مودم قبلا توضیح دادم و در مورد سمپل های برنامه نیز میتونین از HAMID484 کمک بگیرید چون ایشان معرفیش کردن و بیشتر از من در این زمینه اطلاع دارن
---------------------------------------------------------------------------------------------------------------
یه توضیح کلی: دوستان عزیز من هدف از این تاپیک رو عنوان کردم و سعی کردم جوری اموزش بدم تا همه بتونن استفاده ببرن
اما انگار دوستان راضی نبودن
و بر این اساس سعی میکنم تا اواخر هفته اینده یه برنامه که توانایی تشخیص و پاسخ گویی تماس و تشخیص کلید زده شده کاربر رو داشته باشه بنویسم و اینجا قرار بدم. 
و اموزش کد ها هم همینجا تمام میشه کسانی که کمی مشکل دارن میتونن از دیگر دوستان کمک بگیرن
خود من همزمان با این تاپیک داشتم برنامه بو مینوشتم چون برنامه ای که قبلا نوشتم با استایل مترو ،پیغامهای خصوصی شده و الگوریتم های پیپیده تر بود که به زودی در وبلاگ HBCode به همراه مستندات برای فروش گذاشته میشه. اما در مورد این تاپیک برنامه ای با استایل فرم ویندوز که قابلیت های اصلی تلفن گویا رو داشته باشه قرار میدم.
راستش با دیدن کم لطفی بعضی از دوستان از ادامه اموزش منصرف شدم. اما ارزو میکنم همه دوستان با انرژی بیشتری خود به ادامه کار بپردازن
"حامد.ب"

----------


## aboulfazl950

jasperعزیز!
سلام!  لطفا با همین روش آموزش را ادامه دهید و با حرف دیگران از آموزش منصرف نشوید.
حالا یه چیزی گفتن شما ناراحت نشو.

----------


## intel_amd

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

----------


## HAMID484

سلام jasper. 
آقا من که خودم ازت تشکر کردم بابت آموزش چون خودمم خیلی دنبال همچین آموزشی بودم و جایی هم سورس مناسبی پیدا نکردم.
 اون پستی هم که بابت کد های نمونه گذاشتم چیزی بود که خودم ازش استفاده کردم و درست کار میکرد برای همین به بقیه هم پیشنهاد کردم . اونا مثال ها هم برای شرکت هست دیگه درست و غلطش با خودشونه 
منتظر ادامه آموزش شما هستیم  :چشمک:

----------


## HAMID484

این یک نمونه سورس هست . 
http://uplod.ir/sz5yeterqohd/Auto-An...ld.ir_.zip.htm
دایلر داره. قابلیت ثبت کلیدهای فشرده شده. پخش صدا و ...
فقط انگار رو ویندوز اکس پی درست اجرا میشه .
بازم دوستان تست کنن

----------


## intel_amd

برنامه ای که با این کامپوننت نوشتمو بردم رو یه سیستم دیگه اجرا نشد !
بعد رو اون سیستم هم این برنامرو نصب کردم و کرک , بعد اجرا شد !
فقط اون dll ها کنارش باشن کافی نیست باید حتما اون برنامه رو اون سیستم هم نصب شه !
اینا به کنار یه مودم دارم که میزنه interactive اما هر کاری باش میکنم میگه اینو ساپورت نمیکنه مودمت ! چه تشخصی دکمه و جمع آوری کد باشه چه پخش صوت چه آی دی کالر  :متفکر: 
اگر مودمی معرفی کنید که این امکاناتو ساپورت کنه ممنون میشم

----------


## intel_amd

چند تا مودمو امتحان کردم که بعضی هاشون interactive بودن و بعضی هاشون data , اما هر کدوم یه چیزیو ساپورت نمیکردن
مودم مناسبی که همه تشکیلاتو ساپورت کنه معرفی کنید ممنون

----------


## jasper

سورس پایانی برنامه
شامل تشخیص تماس ورودی
پاسخ گویی خودکار
پخش صدای ضبط شده
و تشخیص کلید های فشرده شده توسط کاربر.
دوستان سورس بدون توضیح و پشتیبانی ارائه میشه .
سوالات فقط از طریق پیام خصوصی پاسخ داده میشه. و البته نه به همه سوالات.

فایل ضمیمه است

----------


## negar.rafie

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

----------


## jasper

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


 negar.rafie عزیز بهتر بود کمی مودبانه تر حرفتونو میزدین
در مورد اموزش باید بگم دخالت عده ای تازه کار که جدیدا یاد گرفتن یه For یا If بنویسن و حمایت بقیه ازشون منو دلسرد کرد
من در قبال کسی مسئول نیستم اگه هم این تاپیک رو زدم خاستم به یه سری دوستان در این زمینه کمک کنم
در مورد سورس هم تست شده و کار میکنه
و لطفا دیگه توهین نکنید
در ضمن شما مختاری بری تو تاپیک هر کس دیگه اما کار خوبی نیس تخریب دیگران

----------


## ali.bahrami

> negar.rafie عزیز بهتر بود کمی مودبانه تر حرفتونو میزدین
> در مورد اموزش باید بگم دخالت عده ای تازه کار که جدیدا یاد گرفتن یه For یا If بنویسن و حمایت بقیه ازشون منو دلسرد کرد
> من در قبال کسی مسئول نیستم اگه هم این تاپیک رو زدم خاستم به یه سری دوستان در این زمینه کمک کنم
> در مورد سورس هم تست شده و کار میکنه
> و لطفا دیگه توهین نکنید
> در ضمن شما مختاری بری تو تاپیک هر کس دیگه اما کار خوبی نیس تخریب دیگران


دوست عزیز این سایت برای این طراحی شده که افراد تازه کار که بقول شما!!!! تازه با for آشنا شدن بیان و مطلب یاد بگیرند و در ضمن این را هم بگم هیچکس نمیتونه بگه که توی برنامه نویسی هیچ مشکلی نداره بالاخره یه جایی کارش به مشکل برمیخوره.
هرکسی هم که میاد توی این سایت یک مطلب آموزشی میزاره و یا جواب سوال کسی را میده هیچ منتی نداره. پس اگر شما قصدتون آموزش هست کاری به دیگران نداشته باشید اگر هم که نه پس دیگه بحثی نیست.
موفق و سربلند باشید.

----------


## jasper

> دوست عزیز این سایت برای این طراحی شده که افراد تازه کار که بقول شما!!!! تازه با for آشنا شدن بیان و مطلب یاد بگیرند و در ضمن این را هم بگم هیچکس نمیتونه بگه که توی برنامه نویسی هیچ مشکلی نداره بالاخره یه جایی کارش به مشکل برمیخوره.
> هرکسی هم که میاد توی این سایت یک مطلب آموزشی میزاره و یا جواب سوال کسی را میده هیچ منتی نداره. پس اگر شما قصدتون آموزش هست کاری به دیگران نداشته باشید اگر هم که نه پس دیگه بحثی نیست.
> موفق و سربلند باشید.


 
ali.bahrami  عزیز من قصد توهین به کسیو ندارم همه واسم قابل احترامن منظور من فقط به کسانی بود که به جای توجه به اموزش سورس خاستن. خوب به چیزی که خاستن رسیدن این دوستانی که خودشونو بالا تر از دیگر کاربرا دونستن حالا بیان پاسخ سوالاتم بدن
افراد تازه کار که بقول شما!!!! تازه با for آشنا شدن بیان و مطلب یاد بگیرند  ::: فرمایش شما درسته اما متاسفانه بعضی ها اینجو نیستن.
در مورد این تاپیک چیزی که به من نمیرسه همین که ببینم چند نفر عاقمند تونستن چیزی رو یاد بگیرن واسه من باعث شادیه
اما احترام به روش اموزش دیگران یه اصله که اینجا کسی بش توجه نکرد. من تو پست 29 قضیه رو روشن کردم اما باز دوستان کم لطفی کردن.
یه سوالو شما جواب بدین:
روش اموزش من بهتر بود یا کاری که این دوستمون کردن



> این یک نمونه سورس هست . 
> http://uplod.ir/sz5yeterqohd/Auto-An...ld.ir_.zip.htm
> دایلر داره. قابلیت ثبت کلیدهای فشرده شده. پخش صدا و ...
> فقط انگار رو ویندوز اکس پی درست اجرا میشه .
> بازم دوستان تست کنن


سورسی که حتا 1 خط توضیح در رابطش داده نشده. و اصلا به این تاپیک مربوط نمیشه کامپوننت اون برنامه Tapi هستش جدا از این موارد سرشار از خطا
اگه دوستان روش منو میخان که در خدمتشون هستم 
و تنها دلیلشم اینه که هیچ رفرنس کاملی در این زمینه نیست
اگه تو همین سایت بگردین از سال 84 تا به حال کسی یه اموزش کامل نزاشیه در این مورد....

----------


## HAMID484

با سلام
سورس آقا jasper رو تونستم امتحان کنم و درست کار کرد برام. خوبیش اینه که نکات اصلی رو داره و راحت هم میشه قسمت ها و کد ها رو متوجه شد. البته فکر میکنم با ویژوال 2010 نوشته شده که من رو سیستمم نداشتم واسه همین فایل app.config رو حذف کردم و همچنین از قسمت refrence ها microsoft.Csharp رو هم پاک کردم و تونستم برنامه رو بدون مشکل دیباگ کنم.
با تشکر از آقا جاسپر بابت این سورس

من نمیخواستم بحث بیهوده ای که پیش اومده رو ادامه بدم اما انگار ادامه دار هست. باید بگم که بنده چند سالی هست که کد نویسی انجام میدم و حتی نرم افزار ثبت شده در وزارت ارشاد و دارای تاییدیه فنی هم دارم که در لینک زیر مشخصاتش هست
http://46.36.112.145/Documents/Mosha...ehPagiry=18054
که حداقل نشون میده بقول شما تازه کار نیستم و لااقل با حلقه For آشنایی لازم رو دارم. 
اینجا تالار گفتگو هست یعنی باید بحث و گفتمان باشه و جنبه نظرات و انتقادات دیگران رو داشته باشیم
من و چند نفر از دوستان از شما خواهش کردیم که اول کد رو قرار بدید و بعد آموزش رو ادامه بدید و نگفتیم که سورس رو بدید و خداحافظی کنید.
اگر شما به فکر آموزش هستید که میدونم قصدتون هم این هست باید همه سلیقه ها رو هم در نظر بگیرید.
همین سورسی که شما گذاشتید اگر میخواستید آموزشش رو بدید حداقل یک هفته طول میکشید اما من کمتر از نیم ساعت متوجه نحوه کار برنامتون شدم و ازتون هم ممنونم

اون سورسی هم که من گذاشتم از جای دیگه دانلودش کردم و اینجا قرار دادم که چند نفر بتونن ازش استفاده کنن . و خودمم دارم ازش بدون خطا استفاده میکنم

حالا همه اینها ب کنار شما فقط به ما بگید ایرادش چیه که شما سورس رو بزارید بعد آموزش هم بدید؟

سورسی که شما قرار میدید که یک نرم افزار نهایی و کامل نیستش و هر کس باید طبق نیازش یک سری تغییرات رو اعمال کنه و به مرور مشکلات و سوالاتی که پیش میاد رو بیاد اینجا بپرسه. پس واقعا قرار دادن سورس جریان لقمه حاضر و آماده نیست.

----------


## ali.bahrami

> ali.bahrami  عزیز من قصد توهین به کسیو ندارم همه واسم قابل احترامن منظور من فقط به کسانی بود که به جای توجه به اموزش سورس خاستن. خوب به چیزی که خاستن رسیدن این دوستانی که خودشونو بالا تر از دیگر کاربرا دونستن حالا بیان پاسخ سوالاتم بدن
> افراد تازه کار که بقول شما!!!! تازه با for آشنا شدن بیان و مطلب یاد بگیرند  ::: فرمایش شما درسته اما متاسفانه بعضی ها اینجو نیستن.
> در مورد این تاپیک چیزی که به من نمیرسه همین که ببینم چند نفر عاقمند تونستن چیزی رو یاد بگیرن واسه من باعث شادیه
> اما احترام به روش اموزش دیگران یه اصله که اینجا کسی بش توجه نکرد. من تو پست 29 قضیه رو روشن کردم اما باز دوستان کم لطفی کردن.
> یه سوالو شما جواب بدین:
> روش اموزش من بهتر بود یا کاری که این دوستمون کردن
> 
> سورسی که حتا 1 خط توضیح در رابطش داده نشده. و اصلا به این تاپیک مربوط نمیشه کامپوننت اون برنامه Tapi هستش جدا از این موارد سرشار از خطا
> اگه دوستان روش منو میخان که در خدمتشون هستم 
> ...


حرف شما کاملا درسته من اینو قبول دارم که توی این تاپیک بعضی از دوستان کم لطفی کردن. در هر صورت انشالله که همیشه در تمام کارها موفق و سلامت باشید.

----------


## fakhravari

private void frmMain_Load(object sender, EventArgs e)        {            tp.initialize();
 

از این خط موقع اجرا خطا میگیره .
مشکل میتونه چی باشه؟
کامپوننتی باید نصب باشه!

----------


## HAMID484

> private void frmMain_Load(object sender, EventArgs e)        {            tp.initialize();
>  
> 
> از این خط موقع اجرا خطا میگیره .
> مشکل میتونه چی باشه؟
> کامپوننتی باید نصب باشه!


بله باید کامپوننت نصب بشه. بهتره پست شماره 2 رو مطالعه کنید

----------


## jasper

دوستان عزیز با توجه به این که سورس نهایی قرار داده شده نیازی به توضیح نیس اما در ادامه دوستان میتونن سوالاتشونو بپرسن پاسخگو هستم

----------


## intel_amd

برنامه ای که لینک کردینو اجرا کردم
صوت پخش شد اما از اینور خط هر دکمه ای میزنم تشخیص نمیده چه باید بکنم؟

----------


## jasper

> برنامه ای که لینک کردینو اجرا کردم
> صوت پخش شد اما از اینور خط هر دکمه ای میزنم تشخیص نمیده چه باید بکنم؟


برنامه تست شده و مشکلی نداره. ممکنه مربوط به مودم شما باشه.

----------


## intel_amd

قوی ترین مودم تو بازارو رفتم خریدم !! zoltrix 3 chipset
3 تا مودم دیگه هم rackwell , intell cnet , dell usb هم داشتم که با اوناهم جواب نداد ! مودم شما چیه؟

----------


## jasper

zoltrix 3 chipset اما مدالش پاک شده.شما همین کد رو رو هر دو ویندوز XP و سون تست کنید.

----------


## user18

با سلام یه سوال داشتم اگه مودم به جای interactive از نوع data بزنه امکان استفاده ازش نیست؟

----------


## intel_amd

از نوع data تو دیباگ مینویسه که اکثر امکانات ساپورت نمیشه و فقط امکان تماس و ارسال و دریافت دیتا دارین 
معمولا این مودم لپ تاپی usb ها اینجورین
اما من 2 تا مودم دیگه هم داشتم که یکیش راکول بود اما جواب نداد رفتم قوی ترین مودم بازارو خریدم (زولتریکس) اما رو اینم جواب نداد ! احتمالا رو سون جواب نمیده رو xp باید تست کنم !

----------


## HAMID484

*intel_amd* مودمتون رو چند خریدی؟
مودم من_ Creative Modem Blaster_ v.92 هست که اینتراکتیو نشون میده اما هر کاری کردم نتونستم از طریق نرم افزار آی دی کالرش رو ببینم . البته رویدادش رو اضافه کردم اما اصلا فراخوانی نمیشه . واسه شما آی دی کالر نشون میده؟

----------


## intel_amd

من zoltrix 3 chipset به قیمت 17 تومن از علائدین طبقه 3-4 خریدم اما اگه امجد باز بود از اونجا میگرفتم ارزون تره اونجا !
به هر حال ..
رو قوطیش زده id callero , ....... 
اما برا منم همون evento گرفتم callernumber زدم هیچ اتفاقی نمیافته , دکمه های زده شده از اونور خط هم تشخیص نمیده , کدهارم جمع نمیکنه ! عملا هیچ فرقی با راکول و اینتله نکرده معلوم نیست موضو چیه !

----------


## HAMID484

چ بد !
واسه من دکمه ها رو تشخیص میده . صدای تماس گیرنده رو هم تونستم ضبط کنم . الان برای خودم ی نمونه خوب ساختم که حتی شماره ای که کاربر رو وارد میکنه براش تک تک میخونه و ازش تایید میگیره که درست وارد کرده یا نه. حالت منو و زیر منو رو با چند تا if و else پیاده سازی کردم اما فقط این آی دی کالر مونده !

----------


## jasper

> چ بد !
> واسه من دکمه ها رو تشخیص میده . صدای تماس گیرنده رو هم تونستم ضبط کنم . الان برای خودم ی نمونه خوب ساختم که حتی شماره ای که کاربر رو وارد میکنه براش تک تک میخونه و ازش تایید میگیره که درست وارد کرده یا نه. حالت منو و زیر منو رو با چند تا if و else پیاده سازی کردم اما فقط این آی دی کالر مونده !


بهتره کدتون رو قرار بدید تا باقی دوستان هم استفاده کنن.در مورد دکمه ها هم بهترین روش پباده سازی درختیه که با یه جستجو میتونین روششو یاد بگیرین

----------


## intel_amd

منم همون چند روز اول با مثال های برنامه همه این کارارو کردم , مثل tts و gathering و ..... اما لعنتی هر مودمی دارم و گرفتم هیچیو ساپورت نمیکنه !

----------


## HAMID484

متاسفانه با اینترنت لاک پشتی که سرعت آپلودش خیلی پایینه مشکل دارم و نمیتونم فایل رو درست آپلود کنم
چون در پروژم فایل های صوتی هست حجمش حدود 10 مگ شده که واسه آپلود زیاده  :متعجب: 
ایشالله در اولین فرصت آپلودش میکنم
ی مشکلی که من پیدا کردم قطع ارتباط یا Drop بعد از پخش یک فایل صوتی هست . هر کاری میکنم تا فایل صوتی واسه خداحافظی بیاد پخش بشه , کد قطع ارتباط اجرا میشه و مکالمه قطع میشه
نمیشه فهمید که خواندن پیام تمام شده یا نه ؟

----------


## intel_amd

سیستم عاملتون سون هست؟
مودمتون چیه؟

----------


## HAMID484

ایکس پی هستش. البته سون هم دارم اما هنوز تست نکردم رو 7
مودمم _Creative Modem Blaster_ v.92 هستش که حدود 6 سال پیش خریدمش  :گیج:  و فقط دو تا جای سوکت تلفن داره Line & phone و واسه صدا و میکروفون هم جایی نداره

----------


## intel_amd

:متفکر:  به خشکه این شانس , من قوی ترین مودم های بازارو دارم اما هیچیو جز تماس و پخش صدا ساپورت نمیکنن! هم راکول 3 چیپه هم این zoltrix , جفتشونم پورت میک و اسپیکر دارن , حتی اینتل سی نته ! احتمالا کامپوننته تو ویندوز 7 جواب نمیده

----------


## jasper

> متاسفانه با اینترنت لاک پشتی که سرعت آپلودش خیلی پایینه مشکل دارم و نمیتونم فایل رو درست آپلود کنم
> چون در پروژم فایل های صوتی هست حجمش حدود 10 مگ شده که واسه آپلود زیاده 
> ایشالله در اولین فرصت آپلودش میکنم


فایل های صوتی و همچنین محتویات پوشه Debug که ضروری نیستند میتونید اینها رو حذف و سپس اپلود کنید




> به خشکه این شانس , من قوی ترین مودم های بازارو دارم اما هیچیو جز تماس و پخش صدا ساپورت نمیکنن! هم راکول 3 چیپه هم این zoltrix , جفتشونم پورت میک و اسپیکر دارن , حتی اینتل سی نته ! احتمالا کامپوننته تو ویندوز 7 جواب نمیده


 من کامپوننت رو روی سون تست کردم و بدون مشکل جواب گرفتم

----------


## saeed_sho

نمیدونم چرا فایل tapiex activtex control در پست اول از هیچ کدوم از لینک ها دانلود نمیشه! انقدر سرعتش پایینه که اصلا دانلود نمیشه
میشه لطفا یه جای دیگه آپلود کنید یا برام ایمیل کنید saeedshokri2000@yahoo.com

----------


## saeed_sho

دوستان لطف کنید و به این تاپیک هم سر بزنید
https://barnamenevis.org/showthread.p...AF%D9%88%D8%B2

----------


## intel_amd

> فایل های صوتی و همچنین محتویات پوشه Debug که ضروری نیستند میتونید اینها رو حذف و سپس اپلود کنید
> 
> 
>  من کامپوننت رو روی سون تست کردم و بدون مشکل جواب گرفتم


یعنی امکان داره مودمم خراب باشه؟!  این zoltrix دو روزه خریدم آخه !  درایور سونشم نصب کردم 
5 سال هم گارانتی داره !

----------


## HAMID484

سلام
امروز فایل های برنامم رو آپلود کردم. برای اینکه با نحوه کارش آشنا بشید حتما فایل های صوتی رو هم دانلود کنید.
- برنامم بدون ایراد نیست مطمئنا - یکی از ایراداتش پخش پیام و قطع ارتباط بعد از تمام شدن پخش پیام هست که فعلا نتونستم کاریش کنم.

سورس برنامه 
IVRSystem[HB].zip

فایل های صوتی که باید در فولدر دیباگ که فایل اجرایی هست , کپی بشن
Sounds.zip

برای ضبط صدا و ویرایش فایل های صوتی هم ی برنامه ساده بنام Cool Record Edit Pro هست که من تازه باهاش آشنا شدم و خیلی ساده و کاربردیه

----------


## daneshjo90

سلام 

ممنون از اینکه این برنامه رو داشتی آموزش میدادی و دگ ندادی نمیدونم چرا ؟؟؟
حالا یه سوال عمومی دارم :

واقعا قهر کردی ادامه نمیدی ؟

یه سوال مرتبط با برنامه : 
من مودم Zoltrix دارم که رو جعبه اش این موارد رو ثبت کرده 

caller ID(US Version)
Call Waiting(US Version)
V.92(US Version)
Line-in-use detection
wake-on ring
Digital PABX Protection
Enhanced Voice Features
PCI/Dual Mode/ On Board DSP

خواهش اینارو برام توضیح بدید 

من این مودم رو سال 85 خریدم 
هوز برنامه تون رو تست نکردم 
چون اولین بارم هستش که میخوام با مودم کار کنم 
میخوام مطمئن بشم بعد که شکست خوردم دلسرد نشم 

موفق باشید

----------


## saeed_sho

نمیدونم چرا فایل tapiex activtex control در پست اول از هیچ کدوم از لینک ها دانلود نمیشه! انقدر سرعتش پایینه که اصلا دانلود نمیشه

----------


## HAMID484

من از آدرس سوم استفاده کردم . http://www.crackserver.com/search.ph...ntrol-v3.6.1.8

----------


## jasper

> نمیدونم چرا فایل tapiex activtex control در پست اول از هیچ کدوم از لینک ها دانلود نمیشه! انقدر سرعتش پایینه که اصلا دانلود نمیشه


 دوست عزیز خود من با نت گوشی میام اما معمولا تا فایل 10 مگ رو هم میتونم راحت دانلود کنم. باقی فایل هارو معمولا میرم کافینت.
فک نکنم زیاد کار سختی باشه ....

----------


## jasper

> سلام 
> 
> ممنون از اینکه این برنامه رو داشتی آموزش میدادی و دگ ندادی نمیدونم چرا ؟؟؟
> حالا یه سوال عمومی دارم :
> 
> واقعا قهر کردی ادامه نمیدی ؟
> 
> یه سوال مرتبط با برنامه : 
> من مودم Zoltrix دارم که رو جعبه اش این موارد رو ثبت کرده 
> ...


نخیر دوست عزیز قهر چیه...
راستش مشغله من خیلی زیاده و معمولا همیشه وقت کم میارم.
سورس پایانی رو گذاشتم البته چیزی که از اول میخاستم بزارم خیلی بهتر از این بود
در مورد مودمتون از سایت سازندش یوزرگایدشو بگیرین کاملا توضیح دادم...
اگه قراره با اولین تلاش دلسرد بشین کلا بیخیال برنامه نویسی بشین..... :لبخند گشاده!:

----------


## jasper

خب بریم سر سوال یکی از دوستان که پرسیده بودن چطو رویداد بنویسیم.
واسه این کار از شی استفاده میکنیم که اینجا tp هستش 
میخایم یکی از پر کاربرد ترین رویداد ها رو بنویسیم (رویداد دباگ: نمایش تمام اتفاق های برنامه)
ابتدا:
tp.OnDebug
رو تو فرم لود مینویسیم . بعد [+] و [=] و سپس دو تا [Tab]  میزنیم. کد زیر اضافه میشه
tp.OnDebug += new _ITAPIExEvents_OnDebugEventHandler(tp_OnDebug);

        void tp_OnDebug(string msg)
        {
            throw new NotImplementedException();
        }

خط داخل بلاک رو حذف میکنیم و کد خودمونو قرار میدیم. من اینجا یه لیست باکس به اسم lstLog دارم که میخام تمام اتفاقات توش نمایش داده بشه

       void tp_OnDebug(string msg)
        {
            lstLog.Items.Add(msg);
        }


امیدوارم از این مطلب استفاده ببرین.... :چشمک:

----------


## daneshjo90

با سلام 

دوست عزیز ممنون از این که راهنمایی کردی که برم به سایتش  ول من هیچی از اونجا متوجه نشدم 

خواهش میکنم یکی از دوستان اینکارو بکنه و برای من توضیح بده 

اسم مودم من : Zoltrix Smart Spirit 56K Modem

دقیق یادم نیست 85یا 86 خریدم ولی فک کنم 85 باشه

هرکی اینکارو کنه منو مدیون خودش کرده 

موفق باشید

----------


## intel_amd

> سلام 
> 
> ممنون از اینکه این برنامه رو داشتی آموزش میدادی و دگ ندادی نمیدونم چرا ؟؟؟
> حالا یه سوال عمومی دارم :
> 
> واقعا قهر کردی ادامه نمیدی ؟
> 
> یه سوال مرتبط با برنامه : 
> من مودم Zoltrix دارم که رو جعبه اش این موارد رو ثبت کرده 
> ...


منم همین مودمو دارم اما خیلی از امکاناتو ساپورت نمیکنه ! مثل تشخیص دکمه یا جمع کردن کد و خیلی چیزای دیگه حتی caller id که رو خودش زده داره !!

----------


## saeed_sho

> من از آدرس سوم استفاده کردم . http://www.crackserver.com/search.ph...ntrol-v3.6.1.8


 سومیه که پول میخواد

----------


## saeed_sho

بزارید روی سایت های ایرانی مثل پرشین .....

----------


## HAMID484

میخواستم در سرور سایتم آپلود کنم که لینک مستقیم بشه اما ارور داد که داخلش ویروس هست! که فکر کنم بخاطر فایل کرک باشه . در پرشین گیگ هم آپلود نشد  :متفکر: 
خلاصه اینکه ی جایی آپلود کردم که فقط 5 روز فایل رو نگه میداره . اینم لینکش 
https://www.transferbigfiles.com/1b0...48fsWg2Zex3dQ2

ی مشکلی هم جدیدا پیدا کردم . رویدادهای ring , new call دیگه کار نمیکنن. یعنی برنامه کار نمیکنه مثل قبل. آقا جاسپر بنظرت علت چی میتونه باشه؟

----------


## jasper

> ی مشکلی هم جدیدا پیدا کردم . رویدادهای ring , new call دیگه کار نمیکنن. یعنی برنامه کار نمیکنه مثل قبل. آقا جاسپر بنظرت علت چی میتونه باشه؟


 یه پروژه جدید ایجاد کنید و فقط رویداد ها رو استفاده کنید
اگه هنوزم مشکل دارین ممکنه مودم باشه اما احتمال قویتر مشکل  کامپوننت کرک شده ست که البته واسه من داره کار میکنه

----------


## jasper

> بزارید روی سایت های ایرانی مثل پرشین .....


برام خیلی جالب بود که چطو نتونستین دانلود کنید.... :افسرده: 
اینم لینک ....
http://s3.picofile.com/file/76948683...ed_b_.rar.html

----------


## HAMID484

> یه پروژه جدید ایجاد کنید و فقط رویداد ها رو استفاده کنید
> اگه هنوزم مشکل دارین ممکنه مودم باشه اما احتمال قویتر مشکل  کامپوننت کرک شده ست که البته واسه من داره کار میکنه


پروژه جدید هم ایجاد کردم اما نشد
فکر کنم از همون کامپوننت باشه. البته خط رو باز میکنه و نشون میده که interactive هست اما بعد از این دیگه کار نمیکنه  :متفکر:

----------


## parnia77

سلام. سال نو مبارک. ممنون از تلاش بی منت شما جناب jasper
ای کاش که ادامه میدادین این آموزش رو. ولی به هرحال خیلی چیزا یاد گرفتم و کدها خوندم.
امیدوارم همیشه موفق باشید.

----------


## jasper

> سلام. سال نو مبارک. ممنون از تلاش بی منت شما جناب jasper
> ای کاش که ادامه میدادین این آموزش رو. ولی به هرحال خیلی چیزا یاد گرفتم و کدها خوندم.
> امیدوارم همیشه موفق باشید.


 سال نو همه ی دوستان مبارک
در مورد اموزش قسمت های اصلی گفته شد و اونقدی هست که بتونین یه تلفن گویای کامل بنویسید.
و اما میتونید سوالاتتونو همنجا بپرسین . پاسخگو هستم

----------


## moory1364

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

1. شماره تماس گیرنده قابل نمایش نبود
2. چرا صدای پیش فرض رو پخش نمی کنه ( در مسیر استارت قرار داره با استاندارد کامپنت هم سازگار هستش )

کلیدهای فشرده شده را به درستی نمایش داد

----------


## intel_amd

سلام moory لطف کنید سیستم عامل و مودمتونو ذکر کنید

----------


## moory1364

روی هر مدل مودمی که تو بازار هستش تست کردم 
سیستم عامل های که با تک تک مودم ها تست شد 8 7 و  Xp
مودمی که بلوتوس برای گوشی می سازه هم تست کردم ثبت کلید و پخش صدای پیش فرض کار نکرد

----------


## intel_amd

> روی هر مدل مودمی که تو بازار هستش تست کردم 
> سیستم عامل های که با تک تک مودم ها تست شد 8 7 و  Xp
> مودمی که بلوتوس برای گوشی می سازه هم تست کردم ثبت کلید و پخش صدای پیش فرض کار نکرد


الان یکم مبهم صحبت کردین 
روی هر مدل مودم و سیستم عاملی که دیدین تست کردین منظورتون اینه رو هیچ کدوم تشخیص دکمه کار نکرده یا رو همشون کار کرده؟

----------


## moory1364

هر برند مودمی که تو بازار یافت میشه تک تک تست کردم روی موردم ها غیر از پخش صدای پیش فرض تعریف شده و نمایش call id همه ی موارد به درستی کار می کنه در ضمن تفاوتی در نوع سیستم عامل ها نیز وجود نداشت
برای تست گوشی موبایل را به بلوتوس کامپیوتر وصل کردم علاوه بر پابرجا بودن مشکلات بالا کلید ها رو نیز شناسای نمی کرد

نکته : *jasper* دوست خوبمون نیز گوش زده کرده بود TAPIEx در درایور که سیستم عامل (7 یا 8 ) نصب نیست نصب کنید

----------


## intel_amd

خوب من هم روی درایوی غیر از ویندوز نصب و کرکش کردم

----------


## jasper

> هر برند مودمی که تو بازار یافت میشه تک تک تست کردم روی موردم ها غیر از پخش صدای پیش فرض تعریف شده و نمایش call id همه ی موارد به درستی کار می کنه در ضمن تفاوتی در نوع سیستم عامل ها نیز وجود نداشت
> برای تست گوشی موبایل را به بلوتوس کامپیوتر وصل کردم علاوه بر پابرجا بودن مشکلات بالا کلید ها رو نیز شناسای نمی کرد
> 
> نکته : *jasper* دوست خوبمون نیز گوش زده کرده بود TAPIEx در درایور که سیستم عامل (7 یا 8 ) نصب نیست نصب کنید


moory1364 عزیز منظور از صدای پیشفرض چیه؟
سوالتونو واضح تر بیان کنین.

----------


## moory1364

سلام مهندس
منظورم  wav که بعد از 4 بار بوق باید پخش بشه

----------


## jasper

> سلام مهندس
> منظورم  wav که بعد از 4 بار بوق باید پخش بشه


ببینید شما ابتدا باید ببینید که ایا تابع پخش صدا فراخان میشه یا نه که اینم با گذاشتن چک پوینت موقع دیباگ مشخص میشه.
اگه تابع هنگام اتصال فراخان میشه که مشکل برمیگرده به مودم.
تا اینجا رو تست کنید اگه نتیجه نگرفتید فایل پروژتونو برام بفرستین تا چک کنم.

----------


## mahdi_nai

سلام دوست عزیز من میخوام وقتی که کسی زنگ میزنه شمارش توفرم اصلی برنامه نشون داده شه باید چی کارکنم؟

----------


## jasper

> سلام دوست عزیز من میخوام وقتی که کسی زنگ میزنه شمارش توفرم اصلی برنامه نشون داده شه باید چی کارکنم؟


mahdi_nai عزیز پست های قبلی رو بخونی جواب سوالتو میگیری

----------


## mahdi_nai

> mahdi_nai عزیز پست های قبلی رو بخونی جواب سوالتو میگیری


 مرسی ممنون گرفتم

----------


## mahdi_nai

دوست عزیز jasper چطوری میتونم صدای طرف و ضبط وذخیره کنم؟

----------


## moory1364

> دوست عزیز jasper چطوری میتونم صدای طرف و ضبط وذخیره کنم؟


                      tp.RecordTimeOut = 60;
                     strWave = Application.StartupPath + "\\record.wav";
                     m_Call.PlaybackFile(strWave);
                     
                     string s =Application.StartupPath+ "\\"+util.GetTodayString2()+
                         "_"+DateTime.Now.Hour+"-"+DateTime.Now.Minute+".wav";
                     m_Call.Record(s);

----------


## HAMID484

سال نو همه دوستان مبارک.
سوالی برام پیش اومده . از کجا میشه فهمید پخش صدا یا همان playBack کارش به اتمام رسیده؟

----------


## kimm66

هر وقت تموم بشه رویداد OnPlayBackComplete فایر میشه .

----------


## دل تنها

سلام دوستان من چطور میتونم تو تلفن گویا یه دکمه رو اختصاص بدم به فکس مثلا طرف زنگ میزنه بعد از شنیدن یه صدایی و با زدن یه دکمه مثلا دکمه 4 بشه فکس دریافت کرد اگه دوستان با کد یا نمونه کد بزارن خیلی ممنون میشم

----------


## jasper

> سلام دوستان من چطور میتونم تو تلفن گویا یه دکمه رو اختصاص بدم به فکس مثلا طرف زنگ میزنه بعد از شنیدن یه صدایی و با زدن یه دکمه مثلا دکمه 4 بشه فکس دریافت کرد اگه دوستان با کد یا نمونه کد بزارن خیلی ممنون میشم


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

----------


## mahdi_nai

> tp.RecordTimeOut = 60;
>                      strWave = Application.StartupPath + "\\record.wav";
>                      m_Call.PlaybackFile(strWave);
>                      
>                      string s =Application.StartupPath+ "\\"+util.GetTodayString2()+
>                          "_"+DateTime.Now.Hour+"-"+DateTime.Now.Minute+".wav";
>                      m_Call.Record(s);


 دوست گرامی moory1364 این کد تابع اش چطوری هستش بایدتو  چه تابعی بنویسم؟

----------


## دل تنها

سلام دوستان من چطور میتونم تو برنامه تلفن گویای خودم این امکانات رو اضافه کنم 

1-مشتری صدای بوق نشنوه یعنی وقتی تماس برقرار شد مستقیم جمله خوش آمدگویی بگه چون تو برنامه من مشتری بعد از شنیدن 1 یا 2 بوق جمله خوش آمد گویی رو میشنوه

2-چطور میتونم وقتی مشتری زنگ زد ساعت سیستم برنامه رو تشخیص بده مثلا اگه مشتری ساعت 08:45:20 زنگ زد بگه صبح بخیر یا مثلا اگه ساعت 12:50:20 زنگ زد بگه ظهر بخیر

دوستان خواهش میکنم اگه کسی بلده لطفا با کد برام بزاره یه دنیا ممنونش میشم

----------


## jasper

> دوست گرامی moory1364 این کد تابع اش چطوری هستش بایدتو  چه تابعی بنویسم؟


 
اگه منظورتونو درست متوجه شدم . میخاین بدونین ان کد رو کجا بزارین یا چه وقت اجرا شه.
که جوابش اینه: به هر روشی که دوس دارین
میتونین تو یه تایمر بزارین که مثلا 30 ثانیه بعد از برقراری تماس باشه
میتونین با برقراری تماس شروع به ضبط کنین و یا این که منطقی ترین راهش اینه که از کاربر بخاین که با زدن فلان دکمه ضبط رو اغاز کنه که در این صورت باید از رویداد OnDTMF استفاده کنین.

----------


## jasper

> سلام دوستان من چطور میتونم تو برنامه تلفن گویای خودم این امکانات رو اضافه کنم 
> 
> 1-مشتری صدای بوق نشنوه یعنی وقتی تماس برقرار شد مستقیم جمله خوش آمدگویی بگه چون تو برنامه من مشتری بعد از شنیدن 1 یا 2 بوق جمله خوش آمد گویی رو میشنوه
> 
> 2-چطور میتونم وقتی مشتری زنگ زد ساعت سیستم برنامه رو تشخیص بده مثلا اگه مشتری ساعت 08:45:20 زنگ زد بگه صبح بخیر یا مثلا اگه ساعت 12:50:20 زنگ زد بگه ظهر بخیر
> 
> دوستان خواهش میکنم اگه کسی بلده لطفا با کد برام بزاره یه دنیا ممنونش میشم


شما تو رویداد OnRing بدون هیچ شرطی خط زیر رو قرار بدید
m_Call.Answer();

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

----------


## دل تنها

ممنون دوست عزیز ولی کاری که شما گفتیم من انجام دادم تو رویداد onringاما باز بعد از 2 بار زنگ خوردم پاسخ میده
یه مشکل دیگه هم برام پیش اومده این فایل صوتی رو پخش نمیکنه مشخصات فایل صوتی من mono -128 bit rate اگه ممکنه راهنماییم کنید فایل صوتی من چه مشخصاتی باید داشته باشه تا tapiex بتونه اونو پخش کنه  ممنون میشم

----------


## دل تنها

ببخشید یادم رفت خطایی هم که نشون میده اینه
Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Failed in Playbackfile().
Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Error in wave I/O:wave/out error in waveOutOpen(), errorcode=4 ('The specified device is already in use.  Wait until it is free, and then try again.')
Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Failed in Playbackfile().
Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Error in wave I/O:wave/out error in waveOutOpen(), errorcode=4 ('The specified device is already in use.  Wait until it is free, and then try again.')
Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Failed in Playbackfile().
Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Error in wave I/O:wave/out error in waveOutOpen(), errorcode=4 ('The specified device is already in use.  Wait until it is free, and then try again.')






من گفتم شاید مودمم ساپورت نمیکنه اما یه نرم افزار تلفن گویای دیگرو با همین مودم امتحان کردم دیدم برا اون درست کار میکنه
 این اررور از چی و کجا میتونه باشه

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


e.m_Call.PlaybackFile(Application.StartupPath + "\\wellcome.WAV");

----------


## jasper

> ممنون دوست عزیز ولی کاری که شما گفتیم من انجام دادم تو رویداد onringاما باز بعد از 2 بار زنگ خوردم پاسخ میده
> یه مشکل دیگه هم برام پیش اومده این فایل صوتی رو پخش نمیکنه مشخصات فایل صوتی من mono -128 bit rate اگه ممکنه راهنماییم کنید فایل صوتی من چه مشخصاتی باید داشته باشه تا tapiex بتونه اونو پخش کنه ممنون میشم
> 
> 
> ببخشید یادم رفت خطایی هم که نشون میده اینه
> Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Failed in Playbackfile().
> Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Error in wave I/O:wave/out error in waveOutOpen(), errorcode=4 ('The specified device is already in use.  Wait until it is free, and then try again.')
> Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Failed in Playbackfile().
> Line:'Smart Link 56K Voice Modem (HCALL:0x10033)' 	Error in wave I/O:wave/out error in waveOutOpen(), errorcode=4 ('The specified device is already in use.  Wait until it is free, and then try again.')
> ...


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

سوالی بود بازم در خدمتم :لبخند:

----------


## davood86n

سلام دوست عزیز بنده چند تا سوال دارم :
1- استفاده از چند خط با چند مودم
2-اتصال به داخلی سانترال
3-کار با کارت dialogic
4- ظبط مکالمات
خیلی ممنون می شم اگر راهنمایی بفرمائید

----------


## jasper

> سلام دوست عزیز بنده چند تا سوال دارم :
> 1- استفاده از چند خط با چند مودم
> 2-اتصال به داخلی سانترال
> 3-کار با کارت dialogic
> 4- ظبط مکالمات
> خیلی ممنون می شم اگر راهنمایی بفرمائید



 davood86n عزیز
در مورد سوال اول باید بگم که بله این قابلیتو داره اما بنده روش کار نکردم 
در مورد 2 سوال دیگه هم بی اطلاعم .
در مورد سوال اخر ؛ ضبط مکالمات با این کامپوننت بسیار سادس و از طریق متدی که واسه این کاره انجام میشه  مانند پخش صداس که فقط نیاز به ادرس فایل داره.
در موردش اگه اطلاعات بیشتری خواستید در خدمتم و اما از دوستان کسی باشه که به 3 سوال اولتون پاسخ کامل بده ما هم استفاده میبریم :چشمک:

----------


## uniqueboy_ara

سلام دوست عزیز
خسته نباشید
میشه نحوه تشخیص شماره تماس گیرنده رو هم بزارید؟ به شدت بهش نیاز دارم :)

----------


## jasper

> سلام دوست عزیز
> خسته نباشید
> میشه نحوه تشخیص شماره تماس گیرنده رو هم بزارید؟ به شدت بهش نیاز دارم :)


 سلام 
دوست عزیز سوالتون اسپمه چون چند بار پاسخ داده شده

----------


## jojoba2010

سلام بر همگی و خسته نباشید می گوییم به اموزش دهنده گرامی
سه سوال از خدمتتان داشتم:
1.برای اینکه در VS2008 با .Net 3.5 استفاده کنم باید چیکار کنم ..کدام dll را استفاده کنم؟

2.چگونه می تونم TAPIExCT.dll را درون برنامه قرار بدم (من قبلا اینکار را کرده بودم اما .... تا در ToolBox من اضافه شود تا شی آنرا از ToolBox در برنامه قرار بدم) ؟ تا دیگر برای اجرا خروجی در سیستم مشتری لازم به نصب TAPIEx_Setup.exe نباشد؟؟؟

3.برای اینکه خروجی برنامه را بر روی سیستم مشتری نصب کنم چه اقداماتی باید انجام دهم که فایل tapiex را بشناسد یا خطای کرک ندهد(چون به من خطا می دهد و برنامه اجرا نمی شود) ؟ چون من فقط خروج Debug را برای مشتری کپی کردم و خطای زیر می دهد.(آیا لازم است در سیستم مشتری TAPIEx_Setup.exe نصب کردد و آیا راهی هست که لازم به نصب TAPIEx_Setup.exe در سیستم مشتری نباشد؟؟؟؟)

تذکر : .net برنامه را به 3.5 تبدیل کردم. 




با تشکر

----------


## mrt_Azm

دوستانی که جواب گرفتن البته منظورم به غیر از CallerID هست لطف کنن اسم و مدل مودمشونو بنویسن من 5 تا موذم تست کردم جواب نداد

----------


## intel_amd

من هم هر مودمی امتحان کردم کار نکرد !

----------


## jasper

فایل Dll مربوط به کامپوننت برای دوستانی که در پچ کردن دچار مشکل شدن
فقط کافیه 2 فایل زیر رو در ویندوز رجیستر کنید.

RUN>  regsvr32 dllname.dll

----------


## sadeghjun

سلام jasper عزیز
از تاپیک خوبی که ایجاد کردی ممنون
من برنامه شما رو تست کردم و همهجوره کار می کرد ولی من میخوام مثلا یه منویی ایجاد کنم که دوتا گزینه داره بعد داخل اون دوباره چند تا گزینه داره.
اومدم برنامه رو داخل یه حلقه while نوشتم داخل تابع tp_OnDTMF . که صبر کنه تا کلیدی فضار داده بشه ولی از حلقه بیرون نمیاد که کلید رو تشخیص بده.
به نظر شما باید چیکار کنم.
من پروژه رو ضمیمه کردم 
با تشکر

IVRSystem[HB]X2

----------


## jasper

> سلام jasper عزیز
> از تاپیک خوبی که ایجاد کردی ممنون
> من برنامه شما رو تست کردم و همهجوره کار می کرد ولی من میخوام مثلا یه منویی ایجاد کنم که دوتا گزینه داره بعد داخل اون دوباره چند تا گزینه داره.
> اومدم برنامه رو داخل یه حلقه while نوشتم داخل تابع tp_OnDTMF . که صبر کنه تا کلیدی فضار داده بشه ولی از حلقه بیرون نمیاد که کلید رو تشخیص بده.
> به نظر شما باید چیکار کنم.
> من پروژه رو ضمیمه کردم 
> با تشکر
> 
> IVRSystem[HB]X2


سلام دباره
ببینید سناریو به این صورته که:
وقتی فایل صوتی تونو اجرا میکنین منتظر رویداد OnDTMF میشین
این رویداد وقتی اجرا میشه که تماس گیرنده کلیدی شامل اعداد ، * و یا # رو فشار بده که در اون صورت میتونین با یه switch اونو تشخیص بدین و کد مربوطه رو اجرا کنین.
یه نمونه میزارم براتون
من از ارگومان KeyCode استفاده کردم که مقدار اسکی رو بر میگردونه من 48 رو ازش کم کردم که در این صورت # میشه 13- و * میشه 6-
شما میتونین مستقیم اونو به Char  کانورت کنین و به switch بفرستین.
این قسمت از کدتون ایراد داره، البته من تست نکردم اما طبق چیزی که از گذشته یادم مونده این ارگومان اسکیه
 if (KeyCode == '1') m_Call.PlaybackFile(Application.StartupPath + "\\sounds\\Menu_11.wav");

menu برای من نشون دهنده اینه که ایا یه عدد رو بار اوله فشار میدم یا دوم که معرف سطح منوی منه در ابتدا در مکان صفر هستم یعنی 0=menu مثلا اینجا اگه عدد 1 رو فشار بدم  یعنی وارد زیر منوی منوی 1 شدم  و فایل greeting.wav برام پخش میشه و 1=menu میشه واگر مجددا 1 رو فشار بدم با توجه به کد فایل menu1-1.wav برام پخش میشه که به همراه اون و یا منحصرا هر کد دیگه ای اجرا بشه. باقی منو ها هم به همین صورت...



نمونه :


 void tp_OnDTMF(ITAPICall m_Call, int KeyCode, TAPI_DIGITMODE DigitMode, int TickCount)
        {
            switch (KeyCode - 48)
            {                    
                case -13:
                case 0:
                    if ((KeyCode - 48) == 0)
                    {
                        cRecordPath = Application.StartupPath + "\\Records\\"+"User"+ (maxKey).ToString() + ".wav";
                        m_Call.StopPlayBack();
                        m_Call.Record(cRecordPath);
                    }
                    else
                    {
                        lstLog.Items.Add("Set Case #");
                        m_Call.StopRecord();
                        if (menu==1)
                        {
                            menu = 0;
                        }
                    }
                    break;
                case 1:
                    if (menu==0)
                    {
                        m_Call.StopPlayBack();
                        m_Call.PlaybackFile(Application.StartupPath + @"\Sounds\greeting.wav");
                        menu = 1;
                    }
					else if(menu==1)
					{
						m_Call.StopPlayBack();
                        m_Call.PlaybackFile(Application.StartupPath + @"\Sounds\menu1-1.wav");
					}
                    break;
                case -6:
                    menu = 0;
                    break;
            }
        }

----------


## sadeghjun

سلام دوستان
ممنون jasper جان مشکلم خیلی وقت پیش حل شد ولی مشکلات دیگه ای دارم.
اکثر امکانات سورس کار می کنند ولی من چند تا مشکل دارم.
1 - وقتی برنامه رو اجرا می کنم و به اون تماس می گیرم همه چیز به خوبی اجرا میشه ولی وقتی تماس رو قطع می کنم به تابع tp_OnDisConnected نمیره (یعنی نمی فهمه تماس قطع شده!)
2 - من اگر بخوام از توابعی به جز توابع , ()tp_OnDTMF(), tp_OnDisConnected , tp_OnConnected , tp_OnNewCall , tp_OnRing دستور پخش فایل صوتی و یا دستور قطع تماس رو بدیم باید چه جوری این کار رو انجام دهیم؟
3- دیر وارد تابع tp_OnRing میره!!
4 - چه طور میشه کاری کرد که در حین پخش اگر کلیدی زده شد هم بفهمه (در این سورسی که وجود داره تا پخش تمام نشده متوجه نمیشه)
من سورس خودم هم قرار دادم:
IVRSystem[HB]X2

----------


## jasper

> سلام دوستان
> ممنون jasper جان مشکلم خیلی وقت پیش حل شد ولی مشکلات دیگه ای دارم.
> اکثر امکانات سورس کار می کنند ولی من چند تا مشکل دارم.
> 1 - وقتی برنامه رو اجرا می کنم و به اون تماس می گیرم همه چیز به خوبی اجرا میشه ولی وقتی تماس رو قطع می کنم به تابع tp_OnDisConnected نمیره (یعنی نمی فهمه تماس قطع شده!)
> 2 - من اگر بخوام از توابعی به جز توابع , ()tp_OnDTMF(), tp_OnDisConnected , tp_OnConnected , tp_OnNewCall , tp_OnRing دستور پخش فایل صوتی و یا دستور قطع تماس رو بدیم باید چه جوری این کار رو انجام دهیم؟
> 3- دیر وارد تابع tp_OnRing میره!!
> 4 - چه طور میشه کاری کرد که در حین پخش اگر کلیدی زده شد هم بفهمه (در این سورسی که وجود داره تا پخش تمام نشده متوجه نمیشه)
> من سورس خودم هم قرار دادم:
> IVRSystem[HB]X2



پاسخ شما از طریق پیام داده شد.

----------


## hrs.1989

سلام دوستان برای من این ارور رو میده با اینکه کرکش کردم
Retrieving the COM class factory for component with CLSID {256DE321-02F0-4238-8116-2A40E62DDBFE} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

----------


## jasper

hrs.1989 عزیز من 2 تا فایل کرک شده رو در پست های قبل قرار دادم اونارو دانلود کرده رجستر کنین. مشکلتون حل میشه..

----------


## fool66

ما که نفهمیدیم اول این آموزش کجاست اخرش کجاست ای کاش به صورت pdf یا فیلم میذاشتی



فایل TAPIEXLib چطور میتونیم برای برنامه تهیه کنیم؟؟

----------


## jasper

> ما که نفهمیدیم اول این آموزش کجاست اخرش کجاست ای کاش به صورت pdf یا فیلم میذاشتی
> فایل TAPIEXLib چطور میتونیم برای برنامه تهیه کنیم؟؟


 مشکل از اموزش نیس.شما رو چیزای دیگه کار کن.
در مورد سوالتونم قبلا توضیح داده شده. اگه باز متوجه نشدین این جمله رو سرچ کنید "چگونه یک کامپوننت به پروژه C#‎ اضافه کنیم" :|

----------


## fool66

> مشکل از اموزش نیس.شما رو چیزای دیگه کار کن.
> در مورد سوالتونم قبلا توضیح داده شده. اگه باز متوجه نشدین این جمله رو سرچ کنید "چگونه یک کامپوننت به پروژه C#‎ اضافه کنیم" :|


چرا عصبی می شی دوست عزیز انتقاد پذیر باش :|

من نگفتم آموزش مشکلی داره گفتم ای کاش مرتب تر بود مثل بقیه آموزش ها که آموزش توی یه تایپیک هست سوالات توی یه تایپیک که اینقدر شلوغ نشه




> در مورد سوالتونم قبلا توضیح داده شده. اگه باز متوجه نشدین این جمله رو سرچ کنید "چگونه یک کامپوننت به پروژه C#‎‎ اضافه کنیم" :|


ممنون بابت مسخره کردنتون حتما سرچ می کنم

بازم معذرت می خوام که انتقاد کردم موفق باشی یاحق

----------


## jasper

> چرا عصبی می شی دوست عزیز انتقاد پذیر باش :|
> من نگفتم آموزش مشکلی داره گفتم ای کاش مرتب تر بود مثل بقیه آموزش ها که آموزش توی یه تایپیک هست سوالات توی یه تایپیک که اینقدر شلوغ نشه
> ممنون بابت مسخره کردنتون حتما سرچ می کنم
> بازم معذرت می خوام که انتقاد کردم موفق باشی یاحق


 
fool66 عزیز موضوع شخصی نیس 
در مورد انتقاد موافقم انتقاد خوبه اما بهتره کاربردی باشه .کل این تاپیک 3 صفحس که هر 2 تا سوال شما توضیح داده شده.
در مورد <سوالات توی یه تایپیک که اینقدر شلوغ نشه> در اون صورت میبایستی تاپیک آموزشی قفل باشه که سوالات زیر این تاپیک نیاد که بنده امکانشو ندارم. خودم خوشحال تر میشدم که اونجور باشه که وسطش پارازیت نیاد:|
مطاب اخر هم تمسخر نبود.بیشتر در جواب این بود که کاملا تو پاسخ های قبل توضیح داده شده اما دریغ از 1 اپسیلون تلاش که بگردین و جوابتونو پیدا کنید.
بازم میگم بنده قصد هیچ توهینی نه به شما و نه به کس دیگه رو ندارم.

----------


## it.developer

درود بر jasper عزیز

اموزش بسیار خوب و فراگیری هستش.
به نوبه خودم تشکر میکنم.
دوستان دیگر هم لطفا با زخم زبان و یا کم کاری اموزش دهنده ها را دلسرد نکنند و فضای کاری و اموزشی را تخریب نکنند، این دوستانی که به رایگان و بدون هیچ چشم داشتی دانش خودشان را در اختیار من و شما قرار میدهند را بی نهایت باید سپاسگذارشون باشیم.

----------


## saber67

من مودم Zoltrix Smart Spirit دارم، سال 84 گرفتمش
روی XP به غیر از ID Caller تمام کارا رو انجام میده، یعنی صدای منو رو برای تماس گیرنده پخش می کنه، صدای مکالمه (تماس گیرنده) رو توی کامپیوتر پخش می کنه، دکمه های ارسالی رو نشون میده و مکالمه رو ضبط می کنه

چون مودم رو چند سال پیش گرفتم درایور سون نداره! تو اینترنت هم چیز خاصی پیدا نکردم!
تو ویندوز سون هر جور درایوری نصب می کنم برنامه نمی تونه صدای منو رو پخش کنه! جالبه که صدای مکالمه (کسی که زنگ می زنه) رو پخش و حتی ضبط هم می کنه، دکمه ها رو هم نشون میده! اما دریغ از پخش صدای منو!!!
اینم بگه که تو هر دو ویندوز بعد از نصب درایور مودم رو به صورت Interactive می شناسه

آیا کسی درایور مودم من برای ویندوز سون رو داره؟ احتمالا باید دقیقا درایور برای ویندوز سون باشه!
یا کسی تونسته یه کاری کنه که همچین مودمی توی سون کاملا درست کار کنه؟

در ضمن من برای منو از 2 جور فایل صوتی WAV استفاده کردم و تو XP هر دو رو پخش کرد اما تو سون هیچ کدوم رو!
توی مثال های خود این اکتیو ایکس هم از همین 2 جور فایل استفاده شده که مشخصات شون ایناس:

نوع اول:

Bit Rate: 64 kbps
Audio sample size: 8 bit
Channels: 1 (mono)
Audio sample rate: 8 kHz
Audio format: CCITT u-law

نوع دوم:

Bit Rate: 128 kbps
Audio sample size: 16 bit
Channels: 1 (mono)
Audio sample rate: 8 kHz
Audio format: PCM

من موقعی که مکالمه رو ضبط می کنه به صورت نوع دوم ذخیره میشه که همون طور که مشخصه با کیفیت تره!

----------


## میلاد لطفی

با سلام خدمت جناب آقای jasper
آموزش کاملتون 
می خوام بدونم این قسمت از برنامه کارش چیه و تو vb .net چطور این کد رو بنویسم .
با تشکر



> private void frmMain_Load(object sender, EventArgs e)
>         {
>             tp.initialize();
>             #region OnEvents += New Event Handler By Hamed;
>             tp.OnRing += new _ITAPIExEvents_OnRingEventHandler(tp_OnRing);
>             tp.OnDTMF += new _ITAPIExEvents_OnDTMFEventHandler(tp_OnDTMF);
>             tp.OnNewCall += new _ITAPIExEvents_OnNewCallEventHandler(tp_OnNewCall)  ;
>             tp.OnConnected+=new _ITAPIExEvents_OnConnectedEventHandler(tp_OnConnec  ted);
>             tp.OnDisConnected+=new _ITAPIExEvents_OnDisConnectedEventHandler(tp_OnDis  Connected);
> ...

----------


## میلاد لطفی

ممنون از پاسخگویی شما 
منتهی من باید ابن کد ها رو به vb.net تبدیلش کنم 
لطفا یه راهنمایی کنید که تو vb چطور بنویسمش

----------


## میلاد لطفی

اساتید محترم تابع disconnect  کار نمیکنه . یعنی بعد از اینکه طرفی که تماس گرفته تماسش و قطع کرد باز هم خط اشغاله .

----------


## behi1ty

> اساتید محترم تابع disconnect  کار نمیکنه . یعنی بعد از اینکه طرفی که تماس گرفته تماسش و قطع کرد باز هم خط اشغاله .


 با سلام
درسته از نظر منطقي وقتي تماسي برقرار مي شه و بعد طرفي كه زنگ زده قطع كنه طرف مقابل صداي بوق اشغال مي شنوه
پس بايد تابع busy كد قطع و بنويسي
تابع dis براي وقتي است كه قبل از پخش صدا تلفن قطع بشه

----------


## میلاد لطفی

ممنون تمام مشکلاتم حل شد فقط خواهش میکنم راهنمایی کنید که با چه دستوری تماس رو به مدیر متصل کنم ؟

----------


## میلاد لطفی

این هم کد برنامه ی من 
توضیحاتم رو کاملتر بیان میکنم .
1. برنامه به زبان وی بی دات نته 
2. من یه خط تلفن دارم که هم به مودو وصله و هم به تلفن .
3. حالا میخام یه دستوری بدم که اگه کاربری که پشت خطه مثلا دکمه 0 رو فشار داد دوباره تلفنم زنگ بخوره و این بار خودم گوشی رو بر دارم ، یعنی پیام " لطفا برای برقراری ارتباط با اپراتور کلید 0 را فشار دهید" رو  پخش کنه و اگه کاربر کلید 0 رو فشار داد تلفن من زنگ بخوره و من بتونم جواب بدم .


 Imports TAPIEXLib
Public Class frmMain

    Dim tp As New TAPIExCtl   'ساختن یک نمونه از کنترل تپیکس

    Dim temp As Integer
    '   int temp = 0;
    Dim selectedLine As ITAPILine

    Private Sub btnGetLine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetLine.Click
        Dim tmpline As ITAPILine
        For Each tmpline In tp.Lines

            If ((tmpline.Caps.Media_Modes & LINEMEDIAMODE.MEDIAMODE_INTERACTIVEVOICE) > 0 Or
                    (tmpline.Caps.Media_Modes & LINEMEDIAMODE.MEDIAMODE_AUTOMATEDVOICE) > 0) Then
                cmbAllLine.Items.Add(tmpline.Name)
            End If
        Next
        If (cmbAllLine.Items.Count > 0) Then

            lstLog.Items.Add("Getting Line Done! Select line.")
            cmbAllLine.Text = "Select the Line"
        End If
    End Sub

    Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            tp.initialize()
        temp = 0
        AddHandler tp.OnRing, New _ITAPIExEvents_OnRingEventHandler(AddressOf tp_OnRing)
        AddHandler tp.OnDTMF, New _ITAPIExEvents_OnDTMFEventHandler(AddressOf tp_OnDTMF)
        AddHandler tp.onNewCall, New _ITAPIExEvents_OnNewCallEventHandler(AddressOf tp_OnNewCall)
        AddHandler tp.OnConnected, New _ITAPIExEvents_OnConnectedEventHandler(AddressOf tp_OnConnected)
        AddHandler tp.OnDisConnected, New _ITAPIExEvents_OnDisConnectedEventHandler(AddressO  f tp_OnDisConnected)
        AddHandler tp.OnCallerID, New _ITAPIExEvents_OnCallerIDEventHandler(AddressOf tp_OnCaller)
        AddHandler tp.OnBusy, New _ITAPIExEvents_OnBusyEventHandler(AddressOf tp_OnBusy)

        lstLog.Items.Add(" ------------------------------------ IVR Log ------------------------------------ ")
    End Sub

    Private Sub btnOpenLine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenLine.Click
        Dim i As Integer
        Try
            For i = 0 To tp.Lines.Count - 1
                If (tp.Lines.Item(i).Name = cmbAllLine.SelectedItem.ToString()) Then
                    selectedLine = tp.Lines.Item(i)
                End If
            Next
            If (Not selectedLine.Open()) Then
                selectedLine.Open()
                lstLog.Items.Add("Line Opened!")
            End If
        Catch ex As Exception
            lstLog.Items.Add("Error in opening Line : " + selectedLine.Name + "  ~SYSTEM ERROR: " + ex.Message)
        End Try

        If (selectedLine.DevStatus.OpenMediaModes.ToString() = "MEDIAMODE_INTERACTIVEVOICE") Then

            txtMediaMode.Text = "Interactive"
            txtMediaMode.ForeColor = Color.Lime

        ElseIf (selectedLine.DevStatus.OpenMediaModes.ToString() = "MEDIAMODE_DATAMODEM") Then

            txtMediaMode.Text = "Data"
            txtMediaMode.ForeColor = Color.Red

        Else

            txtMediaMode.Text = "Other"
            txtMediaMode.ForeColor = Color.Pink
        End If
    End Sub

    Private Sub btnDial_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDial.Click
        Try
            selectedLine.MakeCall(txtDialNumber.Text)
            lstLog.Items.Add("Dial: " + txtDialNumber.Text)
        Catch ex As Exception
        End Try
    End Sub

    Private Sub btnCloseLine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCloseLine.Click
        selectedLine.Close()
        lstLog.Items.Add("Line Closed!")

    End Sub
    Dim key As String
    Dim meno As String = "0"


    Sub tp_OnDTMF(ByVal m_Call As ITAPICall, ByVal KeyCode As Integer, ByVal DigitMode As TAPI_DIGITMODE, ByVal TickCount As Integer)
        key = "0"
        Dim code_paziresh As String = ""
        lblBeep.Text += Chr(KeyCode)
        key = Chr(KeyCode)
        If key = "1" And meno = "0" Then
            meno = "1"
            m_Call.StopPlayBack()
            m_Call.PlaybackFile(Application.StartupPath + "\\pls_enter_number.wav")
        ElseIf key = "2" And meno = "0" Then
            meno = "2"
            m_Call.StopPlayBack()
            m_Call.PlaybackFile(Application.StartupPath + "\\pls_enter_number.wav")
        ElseIf key = "3" And meno = "0" Then
            meno = "3"
            m_Call.StopPlayBack()
            m_Call.PlaybackFile(Application.StartupPath + "\\pls_enter_number.wav")
        ElseIf key = "*" And meno = "0" Then
            meno = "0"
            m_Call.StopPlayBack()
            m_Call.PlaybackFile(Application.StartupPath + "\\meno0.wav")  ''''///////\پیام مربوط به منوی 0
        ElseIf (key = "0" Or key = "1" Or key = "2" Or key = "3" Or key = "4" Or key = "5" Or key = "6" Or key = "7" Or key = "8" Or key = "9") And (meno = "1" Or meno = "2" Or meno = "3") Then
            TextBox1.Text += key
            '''''''''''''''''''''''''''''''''''''''''''
        ElseIf meno = "3" And key = "#" Then
            meno = 1
            Dim id As Integer
            id = Me.Tbl_karshenasiTableAdapter.akharin_id_in_shomar  e_paziresh(Val(TextBox1.Text)).GetValueOrDefault
            Me.Tbl_karshenasiTableAdapter.id_sear_filter(KHADA  MATDataSet.tbl_karshenasi, id)
            If Vaziat_taemirTextBox.Text = "آماده برای تحویل" And Vaziate_tahvilTextBox.Text = "تحویل داده نشده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\madeh_baraye_tahvil.wav")
            ElseIf Vaziat_taemirTextBox.Text = "آماده برای تحویل" And Vaziate_tahvilTextBox.Text = "تحویل داده شده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\taemir_va tahvil_shod.wav")
            ElseIf Vaziat_taemirTextBox.Text = "تایید موقت" And Vaziate_tahvilTextBox.Text = "تحویل داده نشده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\taeid_movaghat.wav")
            ElseIf Vaziat_taemirTextBox.Text = "غیر قابل تعمیر" And Vaziate_tahvilTextBox.Text = "تحویل داده نشده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\gheir_ghabel_nashodeh.wav")
            ElseIf Vaziat_taemirTextBox.Text = "فقط پذیرش شده" And Vaziate_tahvilTextBox.Text = "تحویل داده نشده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\faqat paziresh shode.wav")
            Else
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\invalid the number.wav")
            End If
            empty()
            ''''''''''''''''''''''''''''''''''''''''''''''''''
        ElseIf meno = "2" And key = "#" Then
            meno = 2
            Dim id As Integer
            id = Me.KARSHENASI_BARGASHTYTableAdapter.find_max_id_ka  rshenasi_bargashty_in_id_paziresh(Val(TextBox1.Tex  t)).GetValueOrDefault
            Me.KARSHENASI_BARGASHTYTableAdapter.find_record_wi  th_id_karshenasi_bargashty(KHADAMATDataSet.KARSHEN  ASI_BARGASHTY, id)
            If VASIAT_TAEMIRTextBox.Text = "آماده برای تحویل" And VAZIAT_TAHVILTextBox.Text = "تحویل داده نشده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\madeh_baraye_tahvil.wav")
            ElseIf VASIAT_TAEMIRTextBox.Text = "آماده برای تحویل" And VAZIAT_TAHVILTextBox.Text = "تحویل داده شده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\taemir_va_tahvil_shod.wav")
            ElseIf VASIAT_TAEMIRTextBox.Text = "تایید موقت" And VAZIAT_TAHVILTextBox.Text = "تحویل داده نشده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\taeid_movaghat.wav")
            ElseIf VASIAT_TAEMIRTextBox.Text = "غیر قابل تعمیر" And VAZIAT_TAHVILTextBox.Text = "تحویل داده نشده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\gheir_ghabel_nashodeh.wav")
            ElseIf VASIAT_TAEMIRTextBox.Text = "فقط پذیرش شده" And VAZIAT_TAHVILTextBox.Text = "تحویل داده نشده" Then
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\faqat paziresh shode.wav")
            Else
                m_Call.StopPlayBack()
                m_Call.PlaybackFile(Application.StartupPath + "\\invalid the number.wav")
            End If
            empty()
            '''''''''''''''''''''''''''''''''''''''''''
        Else
            meno = 0
            empty()
        End If

    End Sub
    Sub tp_OnDisConnected(ByVal m_Call As ITAPICall, ByVal DisconnectedMode As LINEDISCONNECTMODE)
        m_Call.Drop()
        lblStatus.Text = "End Call!"
        lstLog.Items.Add("KayCode: " + lblBeep.Text)
        lstLog.Items.Add("DicConnected!")
        lblRing.Text = ""
        lblBeep.Text = ""
    End Sub
    Sub tp_OnConnected(ByVal m_Call As ITAPICall, ByVal ConnectedMode As LINECONNECTEDMODE)
        m_Call.PlaybackFile(Application.StartupPath + "\\meno0.wav")
        lblStatus.Text = "Play menu!"
        lstLog.Items.Add(lblStatus.Text)
    End Sub

    Sub tp_OnNewCall(ByVal m_Call As ITAPICall)
        Dim m As Integer = m_Call.CalledIDNumber
        lstLog.Items.Add("m: " + m.ToString)
        temp = 0
        lblRing.Text = ""
        lblBeep.Text = ""
        lstLog.Items.Add("New Call!")
       
    End Sub

    Sub tp_OnRing(ByVal m_Call As ITAPICall, ByVal RingCount As Integer)
        temp = temp + 1
        lblRing.Text = temp.ToString()
        If (temp > 1) Then
            m_Call.Answer()
        End If
    End Sub
    Sub yaftane_paziresh_bargashty(ByRef code As Integer)
    End Sub
    Private Sub tp_OnCaller(ByVal m_Call As ITAPICall, ByVal CallerName As String, ByVal CallerNumber As String)
        lstLog.Items.Add(CallerNumber)
    End Sub

    Private Sub tp_OnBusy(ByVal m_Call As ITAPICall, ByVal buzy_mode As TAPIEXLib.LINEBUSYMODE)
        If buzy_mode = 0 Then
            lstLog.Items.Add("buzy")
            m_Call.Drop()
        Else
            lstLog.Items.Add(buzy_mode)
        End If
    End Sub
    Sub empty()
        TextBox1.Text = ""
        ID_KARSHENASI_BARGASHTYTextBox.Text = ""
        IdTextBox.Text = ""
        CODE_PAZIRESH_BARGASHTYTextBox.Text = ""
        Code_pazireshTextBox.Text = ""
        VASIAT_TAEMIRTextBox.Text = ""
        Vaziat_taemirTextBox.Text = ""
        VAZIAT_TAHVILTextBox.Text = ""
        Vaziate_tahvilTextBox.Text = ""

    End Sub

End Class

----------


## behi1ty

سلام
كسي اين برنامه و تو ويندوز سون اجرا كرده؟با چه مودمي؟
براي من وقتي تلفن زنگ مي خوره تو برنامه مي زنه پخش منو اما پشت تلفن صدايي پخش نمي شه
مودم هم photon است تو ويندوز XP درست جواب مي ده
خواهشا هركي مي دونه بگه خيلي گير كرده ام

----------


## behi1ty

آقا يكي كمك كنه خيلي ممنون مي شم

----------


## behi1ty

> سلام
> كسي اين برنامه و تو ويندوز سون اجرا كرده؟با چه مودمي؟
> براي من وقتي تلفن زنگ مي خوره تو برنامه مي زنه پخش منو اما پشت تلفن صدايي پخش نمي شه
> مودم هم photon است تو ويندوز XP درست جواب مي ده
> خواهشا هركي مي دونه بگه خيلي گير كرده ام


آقایون خواهشا کمک کنید گیر گردم

----------


## behi1ty

آقاي habibb  با تشكر از اينكه جواب داديد
بله هم رو لپتاب تست كردم هم در پي سي و هر دو سيستم هر دو ويندوز و داشتند
وقتي تماس برقرار مي شه كسي كه زنگ زده مي فهمه كه يكي گوشي و برداشته اما صدايي پخش نمي شه البته در ويندوز 7
اينم كدي كه استفاده كردم
void tp_OnConnected(ITAPICall m_Call, LINECONNECTEDMODE ConnectedMode)
        {
            m_Call.PlaybackFile(Application.StartupPath + "\\1.wav");
            lblStatus.Text += ";پخش منو";
        }

        void tp_OnRing(ITAPICall m_Call, int RingCount)
        {
            m_Call.Answer();
            lblStatus.Text = "";
            lblBeep.Text = "";
            lblStatus.Text += ";تماس جدید";
        }

----------


## behi1ty

سلام -من نسخه 3.1.6.8 رو دارم
با نسخع 4 هم تست کردم جواب نداد
خواهشا اگر نسخه جدیدد و دارد

----------


## aminM#

با سلام 
برنامه تلفن گویا کاربردی را با استفاده از کنترل tapiex نوشته ام  ولی در زمان اجرای برنامه دیالوگی با محتوای زیر نمایش داده می  شود و باعث قطع اجرای برنامه می شود لطفاً اگر کسی نظری دارد بفرماید 
tapiexct.dll properly dystored or cracked 
با سپاس فراوان

----------


## امیربیگی

ببخشید من چیز زیادی بلد نیستم
دقیقا کارش چیه؟

----------


## aminM#

سرور یک ارگان امنیتی دسترسی ریموت ندارم عکس کرفتن و .... مشکله متن کاملش اینه
TAPIExCt.DLL has probably been destroyed/hacked.
Please download original version from http://www.tapiex.com/

----------


## aminM#

کرکش کردم بعد از 2 روز اینجوری شد.

----------


## aminM#

عمرا بلد باشی مطمئنم

----------


## aminM#

بیا اینم تشکر
:)

----------


## aminM#

بیا میل یاهو چک کن

----------


## aminM#

-----------------

----------


## aminM#

فایده نداشته کردم

----------


## aminM#

رو سیستم منم کار میکنه اونجا از کار میفته
نه شغلم طراحی نرم افزاره

----------


## میلاد لطفی

این کامپوننت تو 7 اجرا میشه ولی اگه به اینترنت وصله باشه یه همچین اروری می ده 
تو XP تستش نکردم ببینم وقتی به اینترنت وصله یه همچین اروری میده یه نه ؟
ضمنا من نسخه 3.4 رو هم دارم ولی تستش نکردم اگه کسی با اون تست کرده لطفا نتیجه رو اعلام کنید .
اگه کسی تست کرده لطفا  نتیجه رو بگین یا اینکه اگه کسی نسخه بدون مشکلش رو داره لطفا آپلود کنه .

----------


## میلاد لطفی

> راهنمای تپیکس را مطالعه کنید شاید چیزی گفته باشه یا به پشتیبانی سایت سازنده مراجعه کنید.


ما مشکلمون اینه که چون نسخه کرک داریم استفاده میکنیم ، موقعی که به اینترنت وصلیم تشخیص میده که نسخه کرکش رو داریم استفاده میکنیم و برنامه رو می بنده . 
اونوقت شما میفرمایید با پشتیبانی شرکت سازنده تماس بگیریم .
ببخشید دوست عزیز قصد جسارت ندارم ولی ظاهرا شما مطلب رو درست متوجه نشدید . خواهش میکنم یه بار دیگه به مطلب توجه کنید و در صورت امکان کمک کنید . 
با تشکر

----------


## میلاد لطفی

> منظورم اینه که کاربر دکمه که زد تلفن زنگ می خوره یا نه؟؟؟؟؟؟؟؟؟؟؟؟؟؟///


 ممنون از پاسخ سریعتون .
در پاسخ باید بگم : نه من به نتیجه نرسیدم ولی اومدم یه منو گذاشتم که وقتی تماس گیرنده کلید 0 رو فشار بده بوسیله کامپوننت ویندوز مدیا پلیر یه صدای زنگ پخش میشه که ما با اون صدای طنگ متوجه میشیم که کسی قصد برقراری ازتباط به اپراتور رو داره و بعد گوشی رو بر میداریم .البته این روش زیاد دلچسب نیست .
تو سمپل هاش هم گشتم ولی چیزای دیگه دستگیرم شد ولی این موضوع رونتونستم حل کنم .

----------


## میلاد لطفی

> برای دوستان برنامتون را اینجا قرار بدین تا دوستان استفاده کنن.
> اگر امکانش هست . یا هر وقت نمره گرفتید بعدش بگذارید:)


   دوست عزیزم منطورت از نمره گرفتن رو متوجه نشدم .
ضمنا برنامه ی من به زبان VB.NET و سورسش رو در چند پست قبل گذاشتم می تونین ببینین .

----------


## میلاد لطفی

کسی نتونسته مشکل لایسنس نسخه 6 این کامپوننت رو حل کنه ؟

----------


## aminM#

سلام
یک نفر که بصورت تجاری و نه دانشجویی با این کامپوننت کار کرده و نتیجه گرفته لطفا کمک کنه تا مشکل پیام زیر برطرف بشه

TAPIExCt.DLL has probably been destroyed/hacked.
Please download original version from http://www.tapiex.com/

----------


## میلاد لطفی

می دونم اگه به اینتر نت کانکت نباشیم ، هیچ مشکلی پیش نمی آد .

----------


## aminM#

اینترنت سرور رو هم قطع کردم بازم مشکل داره

----------


## میلاد لطفی

> سلام
> یک نفر که بصورت تجاری و نه دانشجویی با این کامپوننت کار کرده و نتیجه گرفته لطفا کمک کنه تا مشکل پیام زیر برطرف بشه
> 
> TAPIExCt.DLL has probably been destroyed/hacked.
> Please download original version from http://www.tapiex.com/


میخوام بدونم کسایی که با این کامپوننت مشکل لایسنس دارن همشون  برنامشون و مثل من رو دات نت نوشتن ؟

----------


## aminM#

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

----------


## aminM#

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

----------


## میلاد لطفی

لطفا بانقل قول به سوالات پاسخ بدید تا مبحث گیج کننده نشه .

----------


## aminM#

دوباره برنامه با همون مشکل از کار افتاد، کسی پیشنهادی نداره؟



> سلام
> یک نفر که بصورت تجاری و نه دانشجویی با این کامپوننت کار کرده و نتیجه گرفته لطفا کمک کنه تا مشکل پیام زیر برطرف بشه
> 
> TAPIExCt.DLL has probably been destroyed/hacked.
> Please download original version from http://www.tapiex.com/

----------


## میلاد لطفی

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

----------


## sallysat

دوستان کسی با TAPI تونسته 4 تا مودم همزمان روی یه سیستم  راه بندازه؟؟؟!!!!
یعنی هر کدوم که زنگ خورد بتونم باهاش ارتباط صوتی برقرار کنم چون 1 اپراتور دارم نیازی نیست که همزمان با همه بشه صحبت کرد.

----------


## aminM#

رو یکیش مشکل پیش اومده حالا دنباله 4 تاشی بعد با 4 تا مشکل می خوایی چیکار کنی،

----------


## habibb

> دوستان کسی با TAPI تونسته 4 تا مودم همزمان روی یه سیستم  راه بندازه؟؟؟!!!!
> یعنی هر کدوم که زنگ خورد بتونم باهاش ارتباط صوتی برقرار کنم چون 1 اپراتور دارم نیازی نیست که همزمان با همه بشه صحبت کرد.


مودم 4 پورتش موجوده بگردی پیدا می کنی :متعجب:

----------


## MRoustaei

سلام دوستان
من KdTele 4.33 رو دانلود کردم و تو دلفی کرک شده آیا همونو میتونم تو سیشارپ استفاده کنم.
وقتی استفاده میکنم ارور Class nor register میده هر میدونه خواهشا برام تو notpad بنویسه نحوه درست شدنشو برام میل کنه خیلی ممنون
MojtabaRoustaei@yahoo.com

----------


## ZerOne

سلام دوستان
من یه سال پیش یه برنامه منشی تلفنی ساده نوشته بودم  که  کارم رو راه مینداخت ولی قراره یه سری امکانات بهش اضافه بشه که نمی دونم آیا با مودم های معمولی میشه این امکانات رو بهش اضافه کرد یا نه؟
1- آیا میشه با همین مودم های معمولی کاری کنم تا برنامه من روی خطوط ای-وان هم کارکنه (20 خط بر روی یک شماره تلفن)؟؟
2- تو برنامه خودم می تونم صدای تماس گیرنده رو ضبط کنم. ولی در هین ضبط نمیشه صداش رو از طریق اسپیکر پخش کنم. برای ضبط و پخش همزمان راه حلی وجود داره؟؟
۳- تو برنامه خودم می تونم صدای تماس گیرنده رو ضبط کنم. ولی در هین ضبط نمیشه با تماس گیرنده ارتباط داشته باشم؟؟ برای ضبط و پاسخگویی همزمان راه حلی وجود داره؟؟
4- کار با کارت گویا چه طوری ؟ با مودم های معمولی میشه کار کرد یا باید IVR داشته باشم؟
5-بعضی وقت ها بعضی کد ها روی بعضی سیستم ها نسفه نیمه اجرا میشه مثلا تنظیم می کنم بعد از سه تا زنگ سیستم پاسخ بده ولی بعضی وقت ها درست حسابی اجرا نمیشه. آیا مشکل از کد منه که از سمپل برنامه گرفتم یا مشکل مربوط به سیستمی که برنامه روش اجرا میشه هست؟

منتظر راهنمایی شما دوستان هستم.

----------


## میلاد لطفی

> سرور یک ارگان امنیتی دسترسی ریموت ندارم عکس کرفتن و .... مشکله متن کاملش اینه
> TAPIExCt.DLL has probably been destroyed/hacked.
> Please download original version from http://www.tapiex.com/


 من هم این مشکل رو داشتم و تو سایت هم مطرح کردم اما از سایت جواب نگرفتم . ولی دیروز تونستم این مشکل رو حل کنم گفتم اینجا مطرح کنم تا بقیه دوستان استفاده کنند خیلی ساده ست  من ویندوزمو عوض کردم و بدون اینکه نسخه های دیگه رو نصب کنم فقط نسخه 3.4 کرک شده اش و نصب کردم و مشکلم حل شد. فکر کنم چون قبلا نسخه آخر و کرک نشده اشو رو سیستمم  نصب کرده بودم تشخیص میداد که نسخه در حال استفاده کرکه . البته من به نسخه 3.6 هم شک دارم

----------


## میلاد لطفی

ضمنا یکی از دوستان در مورد نصب اون روی تلفن سانترال سوال کردند  من این و رو تلفن سانترال هم نصبش کردم . خیلی هم راحته  فقط من اینو روی سانترال pabx نصبش کردم که تو ایران فکر نمیکنم پیدا بشه . تو ایران اکثرا سانترال پاناسونیک پیدا میشه . فرق این دستگاه با پاناسونیک اینه که برنامه ریزی پاناسونیک فقط با گوشی خودش انجام میشه و بخاطر همین اگه بخوایم تلفن گویا رو روی اون راه اندازی کنیم ، اول تماس گیرنده به تلفن سرور وصل میشه بعد با زدن یه دکمه میشه وصلش کرد به تلفن گویا و این یه کم غیر اصولیه .(البته شاید روش های دیگه ای هم باشه ولی من نمیدونم) اما pabx خوبیش اینه که نیاز به تلفن مادر نداره و با هر تلفنی میشه برنامه ریزیش کرد و قیمتش هم خیلی ارزونتر در میآد و میتونین سیستمتون رو بعنوان تلفن اصلی تعریف کنید .  من این دستگاه رو تو چین خریدم 300 یوان که تقریبا 150000 تومن خودمون میشه . ولی تو ایران هزینه نصب یه تلفن سانترال حدودا 1000000 در میآد .

----------


## میلاد لطفی

> سلام دوستان
> من یه سال پیش یه برنامه منشی تلفنی ساده نوشته بودم  که  کارم رو راه مینداخت ولی قراره یه سری امکانات بهش اضافه بشه که نمی دونم آیا با مودم های معمولی میشه این امکانات رو بهش اضافه کرد یا نه؟
> 1- آیا میشه با همین مودم های معمولی کاری کنم تا برنامه من روی خطوط ای-وان هم کارکنه (20 خط بر روی یک شماره تلفن)؟؟
> 2- تو برنامه خودم می تونم صدای تماس گیرنده رو ضبط کنم. ولی در هین ضبط نمیشه صداش رو از طریق اسپیکر پخش کنم. برای ضبط و پخش همزمان راه حلی وجود داره؟؟
> ۳- تو برنامه خودم می تونم صدای تماس گیرنده رو ضبط کنم. ولی در هین ضبط نمیشه با تماس گیرنده ارتباط داشته باشم؟؟ برای ضبط و پاسخگویی همزمان راه حلی وجود داره؟؟
> 4- کار با کارت گویا چه طوری ؟ با مودم های معمولی میشه کار کرد یا باید IVR داشته باشم؟
> 5-بعضی وقت ها بعضی کد ها روی بعضی سیستم ها نسفه نیمه اجرا میشه مثلا تنظیم می کنم بعد از سه تا زنگ سیستم پاسخ بده ولی بعضی وقت ها درست حسابی اجرا نمیشه. آیا مشکل از کد منه که از سمپل برنامه گرفتم یا مشکل مربوط به سیستمی که برنامه روش اجرا میشه هست؟
> 
> منتظر راهنمایی شما دوستان هستم.


برای سوال دومت باید برای گوش کردن به تماس یه خروجی از مودمت بگیری و به تلفنت وصل کنی اونوقت میتونی همزمان گوش کنی .
در مورد سوال 5 مشکل از برنامه ی خودته کامپوننت ایرادی نداره .

----------


## pr1nce

سلام. دوستان میدونم اینجا جای مناسبی نیست ولی چاره ای نداشتم... چندروزه که به خاطر این مشکلم که الان میپرسم کلافه شدم...

چجوری با کامپوننت KDTELE تو vs2013 زبان سی شارپ شماره تماس گیرنده رو نمایش بدم؟؟؟ خودم کد زیر رو پیدا کردم:

        public void axKDPhone1_OnCallerID(object sender, IKDPhoneEvents_OnCallerIDEvent e)
        {
(MessageBox.Show(e.number;
        }


من موقع تریس کردن فهمیدم که این ایونت اصلا صدازده نمیشه... دوستان من چکار بایدکنم؟ خودم باید این ایونت صدا بزنم؟ کجا؟ چجوری؟

درضمن مودمم CallerID رو پشتیبانی میکنه...
لطفا راهنمایی کنین.

----------


## hadisadaghatmehr

با سلام خدمت دوستان گرامی
یه سوال از خدمت دوستانی که با کامپوننت Tapiex کار کردن داشتم.
بنده میخوام بعد اینکه تماس گرفته شد(یعنی وقتی طرف،جواب داد) یه فایلی با پسوند .wav به صورت اتوماتیک پخش بشه.
این کار رو تو کدوم رویداد باید بنویسم؟؟چطوری بررسی کنم که اگه طرف گوشی رو برداشت فایل به صورت اتوماتیک پخش بشه
با تشکر

----------


## roohafza160

سلام من مودمم net force است و هنگام بوق صدای خوش آمد پخش نمیشه و  صدای بوق فکس پخش میشه .چه کنم

----------


## hadi vafaii

> negar.rafie عزیز بهتر بود کمی مودبانه تر حرفتونو میزدین
> در مورد اموزش باید بگم دخالت عده ای تازه کار که جدیدا یاد گرفتن یه For یا If بنویسن و حمایت بقیه ازشون منو دلسرد کرد
> من در قبال کسی مسئول نیستم اگه هم این تاپیک رو زدم خاستم به یه سری دوستان در این زمینه کمک کنم
> در مورد سورس هم تست شده و کار میکنه
> و لطفا دیگه توهین نکنید
> در ضمن شما مختاری بری تو تاپیک هر کس دیگه اما کار خوبی نیس تخریب دیگران



 :متفکر: 
سلام دوست عزیز من به شخصه هیچ ادعایی ندارم شاید نشه بهم جوجه برنامه نویسم بگن اما شما همینجور مادر زادی برنامه نویس به دنیا اومدین؟اول باید if بعد for بعد بقیه رو یاد بگیری

----------


## mahdiazadbar

سلام کسی نسخه ای از tapiex رو داره ک کرک شده باشه. غیر نسخه ای ک تو انجمن هست. چون نصب کردم واسه مشتری و داره کلافه میکنه. ارور میده و میاد بیرون. همین ارور کرک رو.و مثلا نسخه 3.4 رو. واسم میل کنین یا تو تاپیک لینک بدیم. ممنون mahdiazadbar@yahoo.com

----------


## NASA's Spaceman

اگه کسی داره بزاره تو انجمن تا ما هم ازش استفاده کنیم
با سپاس Spaceman

----------


## shahmoradi68

با سلام خدمت دوست عزيز 
اين پست شما به من كه خيلي كمك كرد فقط من يه سول داشتم
من ميخوام كه به صورت دستي به تلفن ها پاسخ بدم ميشه اين رو هم بگيد 
و گيرنده صوت و فرستنده رو چجوري انتخاب كنم
با تشكر از وقتي كه گذاشتين

----------


## rezakhakpour

سلام،من توی Tapiex چندتا مشکل دارم:

1-وقتی مودم زنگ میزنه شروع به پخش صدا میکنه و *منتظر جوابگویی طرف نمیشه*!؟

2-چجوری میشه زنگ هایی رو شمارش کنه که* مودم پشت خط مونده نه کاربر؟*

3-بعد تماس دریافتی یا گرفته شده *دیسکانکت نمیشه* (رویداد دیسکانکت   اجرا نمیشه که دراپ کنه)؟!(یه رویداد دیگه استفاده کردم "آن بوزی" اون هم   در زنگ های موبایل قطع کرد اما در تلفن ثابت قطه نکرد و خط رو اشغال نگه   میداره)

4-شماره طرف رو هم نمیندازه

ممنون میشم راهنمایی فرمایید.

----------


## hakhamanesh2015

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

----------


## peiman.oruji

سلام مهندس، خسته نباشی
من قصد دارم با سی شارپ و یه مودم dial up بتونم تماس تلفنی برقرار کنم و فایلی که از طرف مقابل بصورت فکس هست رو دریافت کنم و نمایش بدم. خدا خیرت بده میشه بگی کجای آموزش کمکم میکنه یا میتونی راهنماییم کنی؟

----------


## peiman.oruji

من اصلا نیازی به جزیات ندارم، چون طرف مقابل تلفتی ام خودش تلفن گویاس!
فقط نیاز دارم شماره اون سازمان  رو بگیرم بعد از 2 ثانیه که منشی خودکار حرف زد سلام گفت! عدد خاصی رو بزنم، این کار رو 3 مرحله انجام بدم بعد اون واسم یه فکس ارسال میکنه اونو نشون بدم، که فعلا تماسم یرقرار بشه کافیه  بعد میرم دنبال دریافت فکس
لدفا لدفا  کمکم کنید

----------


## aliprograming

سلام دوستان . از مطالبتون خیلی ممنون . ولی من وقتی دارم با کامپونینت tapiex کار میکنم . وقتی صدا در حال پخش هستش . تلفن رو قطع میکنم . سیستم من میره تو loop کسی با این مشکل مواجعه شده آیا . در ضمن tapiex هم کرک شده هستش . 
اگه کمکم کنین بی نهایت متشکرم میشم

----------


## cmsdqq2

میشه یک جمع بندی کامل قرار بدین؟

----------


## mhsmity

سلام 
وای چقدر این پست قدیمه 

سازمانهای امنیتی ایرانی از کدام سخت افزار یا روش استفاده می کننن ؟؟؟؟؟
ممنون
https://barnamenevis.org/showthread.p...=1#post2362171

----------


## moonboy

سلام دوستان.
من زمانی که تماس میگیرم این پنجره باز میشه. برای شما هم همین اتفاق میفتهCapture.PNG

----------


## mostafanet

من هم ت. همین پنچره گیر کردم نمیخام باز بشه.

یه مشگل دیگه دارم اینکه تا تلفن از طرف مشتری قطع میشه نمیتونه تشخیص بدهد.

----------

