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

## kimm66

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

----------


## Sirwan Afifi

> توي اين چند سال اينقدر از اين تاپيكهاي كاربا تلفن گويا ديدم كه وقتي ميبينم يكي تاپيك زده كلا حالم يه جوري ميشه! معمولا هم پس از يه مدت مشخص يه خيرخواه پيدا ميشه و ميخواد مفتي به همه آموزش بده.و اولش هم ميگه هيچكدوم به نتيجه نرسيده و من به نتيجه ميرسونمش.مثل همين باباي صاحب تاپيك. تعجب من در اينجاست كه چطور توي اين چند ماه تاپيك بدون محتواي علمي مثل اين همچنان وجود داره! پس مديران سايت كجاند؟؟؟؟؟
> پروژه پاياني دوره كارشناسي من (5-6سال پيش) نرم افزار ديسپيجينگ پخش صوت پالايشگاه گاز خانگيران سرخس (هاشمي نژاد)بود كه تلفن گويا بخش كوچكي از اون سيستم بود و ميدونم اونقدر پيچيدگي داره كه كسي كه كار كرده اطلاعاتش رو رايگان در اختيار كس و يا كساني قرار نميده. جدا از بخش نرم افزاري قسمتهاي سخت افزاري زياد و آشنايي كامل با مودمها ATCommand , توابع Tapi كه مرجع فارسي هيچكدام موجود نيست و با يه فايل  زبان اصلي بايد كار خودتو راه بندازي. با توجه به موارد فوق با ديدن موضوع آموزش تلفن گويا دل خودتونو صابون نزنيد.
> اگر هدف اين آقا واقعا اين بود كه بدونه چند نفر مشتاقند بجاي جمع كردن تشكر يه نظرسنجي با بله و خير درست ميكرد. . .



مهندس،کار با KDTELE خیلی سخت نیست،
فقط کافیه رفرنس مربوطه رو به پروژه تون اضافه کنید بعد از اون ابتدا باید دیوایس مربوطه رو انتخاب کنید و اون رو Active کنید :

Int32 lNum;
            string lName = "";
            for (lNum = 0; lNum < axKDPhone1.NumberOfLines - 1; lNum++)
            {
                axKDPhone1.GetLineName(lNum, ref lName);
                if(lName!=null)
                {
                    cbDeviceList.Items.Add(lName);
                }
            }

مثلا توی کد بالا لیست تمام دیوایس ها رو توی یه کمبو باکس اضافه می کنیم.

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

Int32 er = axKDPhone1.LineActive(cbDeviceList.SelectedIndex, true);
            

و بعد با کد زیر شماره رو می گیریم :

axKDPhone1.DialNumber(txtNumber.Text, 0);

بقیه اش با خودتون...کار کردن با یه سری Eventه مثلا توی رخداد OnCallState می تونیم Stateها رو چک کنیم مثلا یکی از Stateها مشخص میکنه وقتی بعد از شماره گیری تماس برقرار شد یه فایل صوتی رو پخش کنه : (با یه Switch Case وضعیت را چک می کنیم مثلا برای حالت زیر)

switch (e.callState)
{
	case KDTele.TxCallState.csConnected:
                    {
                        tsMessage.Text = "ارتباط برقرار شد خط آماده مکالمه می باشد.";
                        Int32 lvRet = axKDVoice1.Play(axKDPhone1.WavePlayID, @"D:\CallKD\01-Rolling-in-the-Deep.wav", 0, -1);
                        if (lvRet != 0)
                        {
                            axKDPhone1.Hangup();
                            MessageBox.Show("Error: " + axKDPhone1.GetErrorMsg(lvRet), "Attention");
                        }

                    }
                    break;


}

----------


## kimm66

با سلام خدمت همگی.بدون توجه به هیچ موضوع و نظر اضافی و بخاطر همه کسایی  که پیغام زدن هر چیزی رو که بلدم در این زمینه از امروز شروع میکنم به  گذاشتن.امیدوارم مفید واقع بشه.
قبل از هرچیز لازم هست که مقدمات کار روبگم تا مشکلی پیش نیاد.پس از تست و  بررسی چندین کامپوننت مختلف موجود دررابطه با تلفن گویا و فکس ، باتوجه به  محدودیت هایی که کاربراین ایرانی برای دسترسی به کامپوننت های خارجی دارن ،  بنده دو کامپوننت Tapiex ActiveX v 3.6.1 برای تلفن گویا و KDTele 3.5 رو  انتخاب کردم.هردوی این کانپوننت رو در انتهای این پست میزارم واسه دانلود.
زبان برنامه نویسی هم C#‎ هست در VS2008.
ابتدا این دو کامپوننت رو نصب و مراحل ک . ر . ک کردن اونها رو انجام بدید.فقط توجه کنید که آنتی ویروس غیرفعال باشه.سپس یه پروژه جدید در VS2008 ایجاد کرده و دو فایل TAPIExCt.dll و KDTele.ocx v رو از طریق Add refrence ، به solution اضافه کنید.سپس در منوی ToolBox روی یکی از تب ها کلیک راست کرده و گزینه Choose Items رو بزنید.سپس از طریق تب Com Components ، کامپوننتهای مربوط به KDTele ... Cotrol که 8 نتا میباشند و Tapeix Class رو به تولبار اضافه کنید.پس از اضافه کردن آیکن های زیر به ToolBax اضافه میشن.
ToolBox.PNG
پیشنهاد من اینه که ابتدا از کامپوننت Tapiex که برای تلفن گویا هست شروع کنیم.
برای این کار Tapeix Class رو مانند ابزارهای دیگه روی فرم خود بندازید و نام اون رو به tapiex_com تغییر داده و Visible  اون رو هم False کنید.تا اینجا اگر مشکلی هست بگید تا بعدش بریم سراغ قسمت بعد.ممنئم از همگی استادان
دانلود Tapeix ActivX v3.6.1
دانلود KDTele3.5

----------


## kimm66

اولین کاری که برای یک نرم افزار تلفن گویا باید انجام بگیرد ، تشخیص مودم  های متصل شده به سیستم و آماده کردن آنها توسط نرم افزار برای پذیرش تماس  ها میباشد.
در کامپوننت Tapiex ، یک متغیر به نام Lines وجود دارد که از آرایه ای از جنس ITAPILine می باشد.
نکته : در کامپوننت Tapiex ActiveX  تعداد 12 Interface وجود داره که مهمترین اونها عبارتند از :
1) ITAPICall : شامل متغیرها و متدهای مربوط به یک تماس روی یک خط(مودم)  میباشد.بوسیله این شی مدیریت تماسها اعم از قبول تماس،رد تماس ، قطع کردن  تماس ،پخش یک صوت برای تماس و هر چیزی که مربوط به یک نماس هست رو میشه  انجام داد.در واقع این مهمترین کلاس موجود در Tapiex هست که تماس ها رو  مدیریت میکنه.
2) ITAPILine : شامل متغیرها و متدهای مربوط به یک خط یا همون مودم  میباشد.بوسیله این کلاس میتوان نام مودم های شناخته شده در سیستم،باز کردن  مودم برای تماس،گرفتن شماره و بستن یک مودم را انجام داد.
3) ILineCaps : این interface فقط  دارای یک سری توابع هست که قابلیت های یک خط را به ما میدهد.

لازم به ذکر می باشد که کنترل Tapiex رو که روی فرم انداختیم(که در اینجا نام آن tapiex_com می باشد) خود شامل  متغیرهایی از نوع "آرایه ای از interface های موجود" می باشد که از آنها در  صورت لزوم می توان استفاده کرد.

برای شروع کار با Tapiex ، ابتدا بایستی تابع initialize()  را صدا بزنیم  تا کنترل Tapiex، اطلاعات اولیه را بارگزاری کند.
برای این کار کافیست کد زیر را در Form_load خود بنویسیم :
tapiex_com.initialize()
با صدا زدن این تابع ، خود Tapiex لیست مودم های متصل به دستگاه را پیدا کرده و در متغیر Lines میریزد.این دستگاه ها را بوسیله یک حلقه بصورت زیر می توان در یک ComboBox با نام TPLines_cb قرار داد.(لطفا شرطهایی که گذاشته شده را بگذارید تا قطعات سخت افزاری را نشان دهد.)
ITAPILine tpline;
            foreach (ITAPILine tempLoopVar_tpline in tapiex_com.Lines)
            {
                tpline = tempLoopVar_tpline;
                if ((tpline.Caps.Media_Modes & LINEMEDIAMODE.MEDIAMODE_INTERACTIVEVOICE) > 0 || (tpline.Caps.Media_Modes & LINEMEDIAMODE.MEDIAMODE_AUTOMATEDVOICE) > 0)
                {
                    if (tpline.DeviceName != "IPCONF LINE" && tpline.DeviceName != "H323 Line")
                    {
                        TPLines_cb.Items.Add(tpline.DeviceName);
                        
                        
                    }
                   
                }
            }
حال شما نام تمامی دستگاه ها را در یک لیست باکس قرار داده اید.برای اینکه یک مودم را آماده برای تماس کنیم ، بایستی به اصطلاح آن مودم را باز کنیم.برای این کار بایستی دستگاه انتخاب شده را پیدا کرده و آنرا در یک متغیر از نوع ITAPILine ریخته و سپس تابع open را صدا بزنیم به شکل زیر :
private ITAPILine find_line(string p)
        {
            for (int i = 0; i < tapiex_com.Lines.Count; i++)
                if (tapeix_com.Lines.Item(i).Name == p)
                    return tapiex_com.Lines.Item(i);
            return null;

        }
ITAPILine line = find_line(TPLines_cb.SelectedItem.ToString());
 if (!line.Opened)
                {
                    if (line.Open())
messagebox.show("line is open");
{

در کد بالا ابتدا تابع find_line صدا زده می شود تا با توجه به نام دستگاه انتخاب شده ، line مربوط به آن را برگرداند.این متد یک رشته را دریافت کرده و یک متغیر از نوع ITAPILine را برمی گرداند.
بعد از این ابتده بوسیله متغیر opend چک می کنیم آیا این خط قبلا باز شده است یا نه.اگر یاز نشده باشد تابع open را صدا زده و خط را باز می کنیم.تابع open هیچ متغیری را نمیگیرد و یک متغیر boolean را برمیگرداند.بدین ترتیب ما یک خط یا همان مودم را آماده دریافت تماس کرده ایم.
متغیر opend از کلاس ITAPILine : چک میکند که آیا شی مربوطه از کلاس ITAPILine (که در واقع همان مودم هست) باز شده یا نه.اگر باز باشد True برمیگرداند.
تابع open از کلاس ITAPILine: شی مربوط به کلاس ITAPILine را (که همان مودم هست) باز و آماده تماس میکند.اگر با موفقیت باز شود ، true بر میگرداند.
به همین ترتیب تابع close یک خط را می بندد.

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

----------


## kimm66

> آقا حله
> تورا خدا  ادامه بده
> به حرف هاي مايوس كننده ديگران هم توجه نكن! هر چند بنده براي حرف همه دوستان ارزش قائلم اما شما كارت را ادامه بده! با سرعت بيشتري هم ادامه بده! 
> من خودم خيلي وقته دنبال اموزش خوب تلفن گويا هستم!!!
> راستي رد مورد كارت هاي IVRچي؟ در مورد اونها هم مطلب داري؟
> آقا ما هيچ جا نميريم همين جا هستيم!
> ما منتظر پست بعديش هستيم!


چشم.اومدم که ادامه بدم.در مورد مودم های ivr ، من خدم شخصا با 3 نوع مودم کار کردم و هرجارفتم یکی از اینها یا هر3 جواب داده  :
1) ُSmartLink 56k voice modem که با نام تجاری elife هست تو بازار.
2)FaxIntel 2 chip
3) Alfex
اینها همه internal هستند.مودم External هم فقط مودم های مارک Dell جواب میده.مدل دقیقشو نمیدونم الان.
ولی همه این 3 تا روی خط های شیراز و بندرعباس که من کار کردم جواب داده.قیمتی هم نداره.2 3 تومن بیشتر نیس.البته میگم من این مودم ها رو در شیراز میگم.توی شهر شما نمیدونم

----------


## AmirGhasemi

در مورد مودم هاي IVR !!
اين كلمه IVR كه برند نيست داداش من!!! IVR نسل جديد از مودمهاست كه قابليت تعامل با ديتاهاي روي خط دارد!! همين سيستم هاي تلفن گويا كه با استفاده از دكمه هاي زده شده توسط كاربر هزار تا كار مي كنه!

----------


## Mahmoud Zaad

> در مورد مودم هاي IVR !!
> اين كلمه IVR كه برند نيست داداش من!!! IVR نسل جديد از مودمهاست كه قابليت تعامل با ديتاهاي روي خط دارد!! همين سيستم هاي تلفن گويا كه با استفاده از دكمه هاي زده شده توسط كاربر هزار تا كار مي كنه!


در مورد IVR .

----------


## kimm66

سلام.ببخشید چند روز به علت درگذشت استاد برنامه نویسیم نبودم.ایشالا از شنبه دوباره بحث رو ادامه میدم.
واسه PDF کردن هم چشم.انشاالله تموم که شد با نظر خود دوستان مطالب رو به صورت PDF می کنم.
و اما درباره KDTele که جناب Sal_64 پرسیدن ،باید خدمت ایشون عرض کنم که من اینجا از کامپوننت KDTele برای ارسال و دریافت فکس استفاده میکنم.به همین خاطر ابتدا مباحث مربوط به تلفن گویا با Tapiex رو میگم بعدش انشاالله میرم سراغ KDTele و مباحث اون رو برای ارسال و دریافت فکس رو میزارم.
من چون چن روز نبودم این پستهای پاک شده رو نخوندم و نمیدونم چیه.ولی من به شخصه کاری به هیچ کس ندارم و کارم رو ادامه میدم.ممنون از همگی.

----------


## kimm66

با سلام دوباره.
تمامی کار با tapiex در کار با رویدادهای آن خلاصه میشود.رویدادهای تاپیکس دو پارامتر دارند:
1) param0 که از نوع object میباشد.این پارامتر نقش خاصی در رویدادها ندارد.
2)param1. این پارامتر برای هر رویداد، از نوع آن رویداد میباشد.این پارامتر اصلی ترین نقش را در رویدادهای تاپیکس بازی میکند.مهمترین متغیر موجود در param1 ، متغیر m_call میباشد که از نوع ITapicall میباشد و تمامی اطلاعات مربوط به تماس وارد شده یا گرفته شده در آن قرار میگیرد و برای هر تماس مستقل میباشد.در جلسات بعدی بیشتر با توابع مربوط به m_call آشنا میشویم.
متغیر param1 در هر رویداد، مناسب با آن رویداد متغیر دیگری جز m_call دارد.بطور مثال در رویداد OnRing تعداد زنگها در متغیری با نام ringCount در param1 قرار میگیرد.

بطور کلی در تمامی رویدادهای تاپیکس با توابع موجود در param1.m_call کار خواهیم کرد.این پارامتر از نوع ITapiCall بوده و تمامی کارها اعم از برداشتن گوشی ، گرفتن شماره ، پخش صوت ، قطع کردن تماس و... بوسیله این پارامتر انجام خواهد شد.
همچنین m_call دارای 3 متغیر با نام User_Data1 ,User_Data2,User_Data3 میباشد که از نوع object میباشد.این 3 پارامتر برای آن قرار داده شده است ، که بعضی از اطلاعات مربوط به هر تماس که برنامه نویس تشخیص میدهد باید نگه داشته شود، را در این 3 متغیر قرار داده و در حالتی که چند تماس همزمان وارد شود،اطلاعات تماس ها با هم تداخل پیدا نکند.در ادامه با نحوه کار کردن با این متغیرها بیشتر آشنا میشوید.

----------


## MAX_MAX

آقا جان سلام لینک این KDTELE رو یه جا بزارید ما هم برداریم یا تونستید ایمیل کنید bakhtiari@live.com

----------


## RIG000

کدوم ادامه؟!!

----------


## kimm66

عزیز 1 کم دقت کنی توی پست شماره 3 لینک رو گذاشتم

----------


## RIG000

امیدوارم حالت خوب باشه .مرسی که کمک میکنی و مطالب میذاری. راستش منظورم این بود که ادامه آموزش چی شد؟
اون ها که دانلود کامپوننت ها بودن. 
دوست من شما نمونه برنامه داری  بهم بدی که از kdtele  استفاده شده باشه؟????????? اینجوری بهتر دم دستم می افته برنامه .
در ضمن Kdtele رو نمیشه دانلود کرد خراب لینکش.
شما چرا یه برنامه نوینویسی و تو نمونه برنامه ها اپلود کنی در این مورد؟
اینجوری بهتر نیست؟

----------


## RIG000

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

----------


## RIG000

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

----------


## MAX_MAX

بازم سلام من انقدر خسته بودم لینک پست رو ندیدم دانلود کردم KDTELE  و TAPIX رو فقط رفرنسی وجود داره که استفاده از رویداد ها و رخدادها و خصوصیات رو توضیح بده اصلاً نمی دونم بعد از اینکه مودم رو اکتیو کردم چکار کنم؟

پورت باز کنم --- ؟  ورودی بگیریم ----؟ یه توضیح بدید ممنون می شم

----------


## kimm66

سلام.یه کم سرم شلوغه.خلوت شد ادامه میدم.
وقتی که شما مودم را باز(اکتیو) کردی و خط رو بهش وصل کردی دیگه لازم نیس از لحاظ سخت افزاری کاری کنی.با متد dial شماره میگیری و با متد Answer هم جواب میدی.

----------


## r_s1389@yahoo.com

سلام 
لطف کنید یه فایل pdf درست کنید ممنون.

----------


## samadblaj

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

و اما سوالم فقط میخواستم از TAPIEx استفاده کنم آنتی ویروس هم غیر فعال هست. اما نمیدونم چرا TAPIEx به درستی کرک نشد !!!  :متفکر:  لطفا راهنماییم کنید.

----------


## siedmohsen

سلام به همگی
من زیاد با KDTELE کار نکردم چون تو ویندوز 7 خوب کرک نمی شد!!!!!!!!!
و از TAPI استفاده کردم
اما مشکلم این بود که صدای طرف مقابل میومد اما صدای من اون سمت نمیرفت!!!

و در ضمن این نکته رو هم باید بگم تا اونجایی که من میدونم شرکت kDTELE تعطیل شده!!!!!!!!!!
اما شرکت TAPI هنوز سر پا هس و دارای ورژن های مختلفی هس

اگه نمونه کد از TAPI خواستی بگو تا بذارم


همواره موفق و پیروز باشید

----------


## AmirGhasemi

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

----------


## c_doost

آقا این تاپیک ادامه نداره؟ من لینک اول تاپیک اول را دانلود کردم ولی باز نمیشه

----------


## kimm66

جناب samadblaj اگه توی ویندوز 7 استفاده میکنید ابتدا روی cmd کلیک راست کرده و run as administrator بزنید.سپس دستور زیر رو توی cmd تایپ کرده و ریستارت کنید تا توی 7 کار کنه
bcdedit.exe /set {current} nx AlwaysOff. این خطا هم احتمالا مربوط به دانلود نشدن کامل فایل زیپ هست.حتما همه چی رو به صورت run as administrator اجرا کنید.

----------


## samadblaj

> جناب samadblaj اگه توی ویندوز 7 استفاده میکنید ابتدا روی cmd کلیک راست کرده و run as administrator بزنید.سپس دستور زیر رو توی cmd تایپ کرده و ریستارت کنید تا توی 7 کار کنه
> bcdedit.exe /set {current} nx AlwaysOff. این خطا هم احتمالا مربوط به دانلود نشدن کامل فایل زیپ هست.حتما همه چی رو به صورت run as administrator اجرا کنید.


ممنونم ولی چقدر دیر !

میشه بگید این کد چیکار میکنه؟
bcdedit.exe /set {current} nx AlwaysOff.

----------


## unforgiven

سلام دوستان
من تونستم با متد OnDigitDetected یک منو ( فایل صوتی ) بر اساس انتخاب کلید کاربر پخش کنم .
مثلا :
منوی 1 : خوشامد گویی ==> برای ارتباط با مدیر کلید 1 برای گذاشتن پبام کلید 2 و برای لیست قیمت کلید 3 را فشار دهید .
من یک زیر منو دیگه برای لیست قیمت درست کردم که وقتی کاربر از منوی 1 کلید 3 رو زد به این منو هدایت بشه که خودش شامل 2 قسمت هست
زیر منو لیست قیمت : ==> جهت کسب لیست قیمت نرم افزار کلید 1 و جهت کسب لیست قیمت سخت افزار کلید 2 را فشار دهید .

مشکل اینجاست که نمدونم چطور تشخیص بدم که کاربر الان داخل زیر منو لیست قیمت هست و وقتی مثلا کلید 1 رو میزنه برای دریافت لیست قیمت نرم افزار قیمت رو بشنود . الان اگر کاربر تو منوی لیست قیمت باشه و کلید 1 رو برای شنیدن قیمت نرم افزار بزنه هدایت میشه به بخش ارتباط با مدیر( منوی 1)
این مشکل رو چطور میشه حل کرد ؟

ضمنا من از kdtele استفاده می کنم .
ممنون میشم راهنمایی کنید .

----------


## unforgiven

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

----------


## joker

براي *ترانسفر* يك تماس با اين كامپوننت روي تلفن هاي *سانترال* كسي كار كرده ؟

----------


## samadblaj

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


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

----------


## ali.bahrami

دوستان به نظر میومد میتونست تاپیک خوبی بشه ولی متاسفانه ادامه پیدا نکرده (به نظر میاد)
از دیگر دوستان و اساتید خواهش میکنم در صورتی که در این زمینه اطلاعاتی دارند دریغ نکنند .
در ضمن لینک دانلود کامپوننتها به نظر میاد expire شده اگر دوستان این کامپوننت را با ک . ر . ک دارند لطف کنند اپلود نمایند

----------


## unforgiven

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


سلام 
من از مودم Rockwell استفاده کردم البته این مودم Caller ID رو پشتیبانی نمیکنه , و البته من نیاز به این ویژگی مودم هم فعلا ندارم .

----------


## unforgiven

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



> من تونستم با متد OnDigitDetected یک منو ( فایل صوتی ) بر اساس انتخاب کلید کاربر پخش کنم .
>  مثلا :
>  منوی 1 : خوشامد گویی ==> برای ارتباط با مدیر کلید 1 برای گذاشتن پبام کلید 2 و برای لیست قیمت کلید 3 را فشار دهید .
>  من یک زیر منو دیگه برای لیست قیمت درست کردم که وقتی کاربر از منوی 1 کلید 3 رو زد به این منو هدایت بشه که خودش شامل 2 قسمت هست
>  زیر منو لیست قیمت : ==> جهت کسب لیست قیمت نرم افزار کلید 1 و جهت کسب لیست قیمت سخت افزار کلید 2 را فشار دهید .
> 
>  مشکل اینجاست که نمدونم چطور تشخیص بدم که کاربر الان داخل زیر منو لیست قیمت هست و وقتی مثلا کلید 1 رو میزنه برای دریافت لیست قیمت نرم افزار قیمت رو بشنود . الان اگر کاربر تو منوی لیست قیمت باشه و کلید 1 رو برای شنیدن قیمت نرم افزار بزنه هدایت میشه به بخش ارتباط با مدیر( منوی 1)
>  این مشکل رو چطور میشه حل کرد ؟
> 
>  ضمنا من از kdtele استفاده می کنم .


کارم حسابی لنگ این قسمت مونده که چطور برنامه بین منو 1 و منو 2 و کلیدهای مربوط به اونها تفاوت قایل بشه .
ممنون میشم راهنمایی کنید

----------


## kimm66

جناب unforgiven شما باید توی برنامتون یه سیستم درختی درست کنید.مثلا بگید اگر کلید 1 رو زده منوی 1 رو پخش کنه و اگر دوباره 1 رو زد زیر منوی مربوط به عملیات 1 رو پخش کنه.این برنامه نویسی هست و ربطی به تلفن گویا نداره.من توی سیستمم همین کارو کردم . کلید 1 1 با کلید 2 1 فرق میکنه.اونم توی سیستم درختی.

----------


## kimm66

جناب ali.bahrami من واقعا عذر میخام.به شدت گرفتارم.خیلی کم وقت میکنم بیام اینجا.و اما توضیحی در باره مودم :
برای سیستم های ارزونی که ما تهیه میکنیم نمیتونیم از مودم های تخصصی dialgic استفاده کنیم.بنابر این مجبوریم از مودم های ارزن و عادی استفاده کنیم.من به شخصه از 3 مودم smartlink و alfex و intel 3 chip  استفاده میکنم.این مودم ها روی مادربوردها و سیستم های مختلف کارکرد مختلفی دارن.بطور مثال یه جا مودم smartlink عالی جواب داد ولی یه جای دیگه بعد از 1 زنگ دیگه کار نمیکرد.بعضی از امکانات مثل idcaller هم به خطوط مخابرات بستگی داره.ولی من به طور کلی مودم smartlink رو پیشنهاد میدم.

----------


## kimm66

برای ارسال داخلی هم کد برای این 2 تا کامپوننت به صورت زیر هست.با توجه به مودم و سانترال ممکنه جواب بده یا نده

e.m_Call.GenerateDTMF("!", TAPI_DIGITMODE.DIGITMODE_DTMF);
System.Threading.Thread.Sleep(1000);
                                e.m_Call.GenerateDTMF(dakheli, TAPI_DIGITMODE.DIGITMODE_DTMF);
                              
                                System.Threading.Thread.Sleep(1000);
                                e.m_Call.Drop();

----------


## unforgiven

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



> جناب unforgiven شما باید توی برنامتون یه سیستم درختی درست کنید.مثلا بگید اگر کلید 1 رو زده منوی 1 رو پخش کنه و اگر دوباره 1 رو زد زیر منوی مربوط به عملیات 1 رو پخش کنه.این برنامه نویسی هست و ربطی به تلفن گویا نداره.من توی سیستمم همین کارو کردم . کلید 1 1 با کلید 2 1 فرق میکنه.اونم توی سیستم درختی.

----------


## joker

ببخشين دير پست شما را ديدم
ساده هست ، شما تمام كليدهاي دريافتي از كاربر را به يك رشته عددي تبديل كن و در يك متغيير عمومي قرار بده
اگر اين رشته برابر بود با 1  فلان پيغام يا فلان كار را انجام بده
حالا اگه شخص اول زد كليد 1 تا اينجا اون رشته برابر هست فقط با 1
بعد كاربر از زير منو 1 قراره مثلا شماره 5 را اتخاب كنه و ميزنه كليد 5 را
حالا شما اين ورودي را به رشته قبلي اضافه ميكني كه مقدار رشته ميشه 15
خب راحت شده نه ؟ الان با يك پردازش متن ساده ميتوني ما به ازاء هر مقدار در رشته ( كه از يك case هم اگه نوعشو عددي بگيري ) به راحتي ميتوني براي تصميم گيري براي انجام فعاليت خاص ( صدا زدن يك فانكشن يا پروسيجر)استفاده كني




> برای ارسال داخلی هم کد برای این 2 تا کامپوننت به صورت زیر هست.با توجه به مودم و سانترال ممکنه جواب بده یا نده


اين مقدار ! همون مشابه مقدار flash هست روي گوشي ، راستش تا الان به فكرم نرسيده بود تبديل به DTMF كدش بكنم
ممنون ، فردا برم يه تستي روي يه سانترال بزنم ، ايشالا كه جواب بده  :قلب:

----------


## samadblaj

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

----------


## unforgiven

جوکر جان سلام
عذر می خوام من یکم دیر به این پست سر زدم . مشکل مربوط به تشخیص زیر منو ها حل شد . ممنون 
یه سوال دیگه هم دارم اگه محبت کنید جواب بدید .
وقتی من به صورت استاتیک از متغییر کلید ها استفاده می کنم کل برنامه درست کار میکنه . حالا من اومدم توی یه جدول فیلدی به نام key و level در نظر گرفتم و از اون برای مدیریت کلیدهای گوشی و مراحل استفاده کردم . حالا وقتی از همین جدول (فیلد key)به جای رشته کلید ثابت  استفاده می کنم برنامه فقط منوی 1 رو پخش می کنه و بقیه کلیدها رو تشخیص نمیده .
مثلا من تو جدول دارم :
Level  key
10       1
20        2

تو رویداد e.digit هم با یک سلکت گفتم اگر key برابر با 1 بود و level برابر با 10 بود این پیام یا دستور اجرا بشه . ولی فقط رکورد اولی اجرا میشه .
چطور می تونم این برنامه رو به صورت داینامیک تبدیل کنم ؟
نتونستم به برنامه بگم بیاد key و level ها رو از جدول بخونه و اگر شرط های هر کدام درست بود اون فانکشن عمل کنه .

راستی اگه کد ارسال به داخلی رو تست کردی و جواب داد لطفا اعلام کن .

متشکرم

----------


## joker

كد ترانسفر در سيستم تلفن سانترال جواب داد :)
در مورد كد و سطح و اين حرفا ، ببين شما وقتي كليدي ميزني سمت نرم افزار فقط يك كليد نه مجموع كليدهايي كه تا قبلش زدي را دتكت ميكنه ، براي همين بايد از يك متغيير عمومي استفاده كني و ديتا را توش پشت سر هم بچيني و بر اساس هر كد رسيده از سمت ديگه ، كل دريافتي را يكبار پردازش كني ببيني برابر با چيه.
زياد سختش نكن ، خيلي راحته ، نميدونم چرا ميخواي بپيچونيش :)
مثلا همين چيزي كه الان نوشتي نيازي به دوتا فيلد اصلا نداري ، يكيش هم كافيه.

----------


## unforgiven

جوکر عزیز بازم ممنون
خب من تغییراتی در برنامه دادم و با روشی که شما فرمودید level  رو هم حذف کردم . 
خوشحالم کدی که جناب Kimm66 گذاشتند درست کار کرد .



> e.m_Call.GenerateDTMF("!", TAPI_DIGITMODE.DIGITMODE_DTMF);
> System.Threading.Thread.Sleep(1000);
>                                 e.m_Call.GenerateDTMF(dakheli, TAPI_DIGITMODE.DIGITMODE_DTMF);
> 
>                                 System.Threading.Thread.Sleep(1000);
>                                 e.m_Call.Drop();

----------


## HAMRAHSOFT.IR

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

----------


## en.reza

دوستان pdf بذارید
ممنون

----------


## kimm66

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

----------


## roya_jafari_20

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

----------


## unforgiven

جناب Kimmm66 سلام
من قبلا از گرید به صورت Parent - child استفاده کرده بودم , تقریبا مشکلی هم نبود - اما بعدا به صورت درختی تبدیلش کردم که خیلی بهتر و راحت تر میشه کار کرد.
با پیاده سازی درختی تعریف منو ها و زیر منوها به خوبی انجام و مدیریت میشه .
به هر حال باز هم ممنون .

----------


## samadblaj

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

----------


## kimm66

تماس گرفتن با tapiex

TAPICall call = call = line.MakeCall(number);

قطع تماس با tapiex

call.drop()

call از نوع itapicall هست.

----------


## unforgiven

سلام
kdtele تابعی داره که مدت سوکت رو تشخیص میده و تو نمونه مثال هاش هم هست . تو مثالش اگر در state ضبط پیام باشه و 3 ثانیه سوکت وجود داشته باشه این تابع فایر میشه و قطع تماس رو به دنبال داره .

Private Sub KDVoice1_OnSilenceDetected()
    If vAutoAnswerState = aasRecordingMessage Then
    KDVoice1.RecStop
    End If

حالا من میخوام اگر کاربر بعد از خوندن منو ها بعد از مثلا همین 3 ثانیه هیچ کلیدی را انتخاب نکرد براش پیغامی پخش کنم .
این کد رو هم تو Ondigit نوشتم و هم تو OnSilenceDetected ولی چیزی رو تشخیص نمیده . تو همین OnSilenceDetected , رو Answerstate=aasPlayingPrompt گذاشتم ولی بازم کار نمیکنه .
در کجا و چطوری باید این کار رو انجام بدم ؟

متشکرم

----------


## kimm66

سلام.شما از تایمر استفاده کن.بدین صورت که پس از خوندن منو، یک event ریز میشه به یه همچین نامی : onplaybackcomplete.داخل این ایونت ، تایمر رو استارت کن.اگر توی این مدت کلیدی فشرده شد ، توی متد ondigitdetected ، تایمر رو استاپ کن.ولی اگر نه که ontick تایمر فایر میشه و شما پیغام بده.

----------


## unforgiven

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

----------


## ikallam

> با سلام خدمت همگی.بدون توجه به هیچ موضوع و نظر اضافی و بخاطر همه کسایی  که پیغام زدن هر چیزی رو که بلدم در این زمینه از امروز شروع میکنم به  گذاشتن.امیدوارم مفید واقع بشه.
> قبل از هرچیز لازم هست که مقدمات کار روبگم تا مشکلی پیش نیاد.پس از تست و  بررسی چندین کامپوننت مختلف موجود دررابطه با تلفن گویا و فکس ، باتوجه به  محدودیت هایی که کاربراین ایرانی برای دسترسی به کامپوننت های خارجی دارن ،  بنده دو کامپوننت Tapiex ActiveX v 3.6.1 برای تلفن گویا و KDTele 3.5 رو  انتخاب کردم.هردوی این کانپوننت رو در انتهای این پست میزارم واسه دانلود.
> زبان برنامه نویسی هم C#‎ هست در VS2008.
> ابتدا این دو کامپوننت رو نصب و مراحل ک . ر . ک کردن اونها رو انجام بدید.فقط توجه کنید که آنتی ویروس غیرفعال باشه.سپس یه پروژه جدید در VS2008 ایجاد کرده و دو فایل TAPIExCt.dll و KDTele.ocx v رو از طریق Add refrence ، به solution اضافه کنید.سپس در منوی ToolBox روی یکی از تب ها کلیک راست کرده و گزینه Choose Items رو بزنید.سپس از طریق تب Com Components ، کامپوننتهای مربوط به KDTele ... Cotrol که 8 نتا میباشند و Tapeix Class رو به تولبار اضافه کنید.پس از اضافه کردن آیکن های زیر به ToolBax اضافه میشن.
> ضمیمه 93375
> پیشنهاد من اینه که ابتدا از کامپوننت Tapiex که برای تلفن گویا هست شروع کنیم.
> برای این کار Tapeix Class رو مانند ابزارهای دیگه روی فرم خود بندازید و نام اون رو به tapiex_com تغییر داده و Visible  اون رو هم False کنید.تا اینجا اگر مشکلی هست بگید تا بعدش بریم سراغ قسمت بعد.ممنئم از همگی استادان
> دانلود Tapeix ActivX v3.6.1
> دانلود KDTele3.5


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

----------


## hotcat

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

----------


## ordebehesht

> دوستان pdf بذارید
> ممنون


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

----------


## mjnikbn

نمی دونم چرا دوستان یه سرچ ساده نمی کنند
Tapiex ActiveX v3.6.1 اینجا

----------


## vaheeed

من Tapiex ActiveX رو نصب کردم بعد ک ر ک هم کردم به رفرنسا هم اضافه کردم ایکونشم تو لیست باکس اضافه کردم ولی وقتی درگ میکنم داخل فرم یه پنجره میاد که میگه برنامه با مشکل مواجه شده حالا دیباگ بشه .... دو باره هم نصب کردم ولی بازم همینجوره ، من فایل اخری که گذاشتین رو دانلود کردم

----------


## kimm66

ویندوزتون چیه؟

----------


## vaheeed

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

----------


## vahid2112

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

----------


## vaheeed

من زیاد نتونستم کار کنم ، یه متغیر از نوع call ساختم توابعش زیاده از رو اسماش میشه یه چیزایی فهمید مثلا dial داره که فکر میکنم باید واسه شماره گیری باشه ولی نمیدونم این متغیر call رو ساختم برابر با چی قرار بدم ! اگه این چیزا رو دوستان لطف کنن بگنن کم کم راه می افتیم ، و از جناب kimm66 تشکر میکنم و از باقیه دوستان که تقریبا کار تلفن گویا رو انجام دادن (با توجه به سوال هاشون ) خواهش میکنم به تایپیک حالی بدن 
از همتون ممنون

----------


## vaheeed

تو سایت Tapiex یه سری نمونه داره البته من دانلود کردم جواب نداد !!! حالا شما هم یه نگاهی بندازین شاید من اشتباه کردم 
http://www.tapiex.com/samples.htm

----------


## daneshjo90

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

ولی میپرسم : 
آیا باید مودم مخصوص خریداری کنیم یا با مودم D-Link که برای ADSL استفاده میکنیم هم میشه 

ممنون میشم کمکم کنید 

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

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

ممنون موفق باشید

----------


## vaheeed

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

----------


## kimm66

جناب daneshjo عزیز ، باید از مودم های dial up استفاده کنین.مودم adsl نمیشه.

----------


## kimm66

آقای vaheed چن تا سوال داشتن که میخام اینجا جوابشون بدم :
1) چطور بفهمیم کسی داره زنگ می زنه یا به عبارت دیگه مودم داره زنگ می خوره
کامپوننت تاپیکس رویدادی به اسم OnRing داره که هنگامی که مودم زنگ میخوره ، فایر میشه.این رویداد یه متغیر از نوع  OnRingEvent داره که مهمترین پارامترای اون m_call و RingCount هست.اولی که نشون دهنده تماس هست.دومی هم تعداد زنگ هایی هست که مودم داره میخوره.

2)پخش صدا : بوسیله متد PlayBackFile میتونیم یک صدا رو پخش کنیم. این متد داخل کلاس ITapiCall  هست.در واقع توی رویدادها، جزیی از متغیر m_call هست.توجه کنید که صدایی که میخاید پخش کنید حتما باید مشخصاتش بدین صورت باشه : wav PCM;8000 khz; 16 bit; mono ; 15kb/sec . با Sound recorder میتونید فایلای صوتی رو با این فرمت ذخیره کنید.

3)کدوم کلید فشار داده شده : اگر مودم شما از خاصیت DTMF پشتیبانی کنه(که الان همه مودم ها ساپورت میکنن) ، پس از فشرده شدن کلید توسط کاربر ، رویداد OnDTMF فایر میشه. این رویداد متغیری از نوع OnDTMFEvent داره که مهمترین پارامتراش m_call و keyCode هست.اولی که تماس هست ، دومی کد اسکی کلیدی هست که فشرده شده که برای بدست آوردن شماره فشرده شده باید 48 تا از keyCode کم کنید.
در واقع شماره فشرده شده keyCode-48 است. با این روش کلید * میشه 6- و کلید # میشه 13- .

4) ضبط صدا : با متد Record میتونید صدای کاربر رو ظبط کنید.این متد نام صدا رو میگیره فقط.اگه مسیر بهش ندید ، همون جایی که فایل اجرایی هست ، ذخیره میکنه.پس از اتمام ضبط صدا ، رویداد OnRecordComplate اجرا میشه که چیز خاصی نداره.

5)شماره طرف مقابل چنده : این قابلیت وابسته به خط شما و مودم شما هست.یعنی هرکدوم که ساپورت نکنه شما نمیتونید شماره رو تشخیص بدید.اگه هم خط و هم مودم قابلیت CallerID رو داشته باشه ، هم بوسیله پارامتر CallerIDnumber که جزیی از کلاس ITapicall هست میتونید شماره رو بگیرید هم بوسیله رویداد OnCallerID  و متغیر callerNumber.

----------


## vaheeed

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

----------


## hamed_basic

با سلام خدمت اساتید گرامی ،

ممنون واسه آموزشهای مفیدتون 
در مورد تعطیلی KD حقیقت این هست که تعطیل نشده بلکه توسط یکی از این شرکتهایی که Call Center تولید میکنند (مثل الاستیکس و آستریسک) خریداری شده و از پارسال محصولاتش رو صرفا بر پایه لینوکس تولید میکنه .
من داشتم با سورس های VAAK  ور می رفتم که رد پای الگوریتم های KD رو اون تو دیدم و بعد از کمکی فضولی فهمیدم که یه شرکتی کلا خریده اون رو . 

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

در نظر بگیرید مثلا من از دوتا برد دبالوجیک آنالوگ (D/4PCI) چهار پورت که مجموعا میشه 8 پورت استفاده می کنم و با استفاده از KD 3.6  ، Global API ، VCPlus و ... کلی ماژول و کامپوننت دیگه برنامه ام رو تموم کردم که قراره نقش یک Service Manager رو توی یک سازمان دولتی انجام بده .

تا جایی که من می دونم وقتی 8 پورت داشته باشم به هشت پورت ورودی شهری وصل میشه و از اون به کل داخلی ها دسترسی داره (این موضوع رو توی یک برنامه مشابه دیدم) حالا من این موضوع رو درک نمی کنم .!!! (خنگم خوب مسخره نکنید) .
حالا می خوام بدونم سروری که برنامه من روش نصبه کجای مدار قرار می گیره و از لحاظ فیزیکی چه جوری باید به سانترال مثلا پاناسونیک با 200 داخلی وصل شه. البته ناگفته نمونه این که گفتم برنامه کامله منظورم از نظر الگوریتم و دیتابیس و ... بود و هنوز نصبش نکردم . 

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

اگه ممکنه من رو راهنمایی کنید 
با تشکر از همه دوستان.

----------


## vaheeed

با تشکر از اقای kimm66 ، دوستان کسی در مورد صدایی که واسه کاربر پخش میشه تا حالا کار کرده؟؟ این مشخصات یه سری عدد هست حالا این اعداد مربوط به چیه؟ و نرم افزاری برای تبدیل به چنین فرمتی دارین ؟؟ خودم برای این از 3herosoft استفاده کردم ولی شاید اعداد رو جای اشتباه زدم جواب نداد

----------


## jasper

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


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

----------


## khokhan

درود بر شما 

من یه نمونه کامل با  Tapiex شامل نشان دادن id caller  ثبت تماس ، جوابگویی اتوماتیک ، اعلان موجودی حساب به صورت صوتی و .....  

اما حجمش یه کمی زیاده 

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

----------


## vaheeed

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

----------


## hamed_basic

اگه میشه بزارید

----------


## hamed_basic

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

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



----------------------------------------------
HAMED MIRZAEI
MCSD 2000 - MCDBA 2000 - MCSE 2003 - CIW WEBMASTER

----------


## vaheeed

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

----------


## rahim_ttl

http://up.ehsanavr.com/uploads/KDTeleV35-1360700965.rar

----------


## mohammad kafiyan

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

----------


## hamed_basic

سلام به همه 
من یه مدت پیش یه برنامه با KD نوشتم (ورژن 4) 
یه چند جایی مشکل داشتم که به بدبختی حلش کردم 
حالا می خوام یه چند تا از تجربیات اون رو بزارم که اگه کسی مشکل مشابهی داشت مشکلش حل شه 

اول یه سری اطلاعات:
من تو محیط vb6 برنامه رو نوشتم 
واسه 16 خط
از کارت های دیالوجیک که میشه گفت بهترین انتخاب واسه سیستم تلفن گویاست استفاده کردم (البته کارتها الان خیلی گرون شدن)
مدل کارتهای من D/4PCI & D/4PCIU هست البته میشه از هرجور کارتی حتی مودم استفاده کرد اما فکر نکنم هیچ ...ی بخواد 8 یا 16 تا مودم روی کامپیوترش نصب کنه

اگه از کارت های دیالوجیک استفاده می کنید :
به ترتیب کارای زیر رو انجام بدید
1 - نصب کارت ها روی مادربرد
2 - نصب برنامه Dialogic System Release 5.1.1 (الان ورژن 6 هم هست اما از TAPI پشتیبانی نمی کنه و باید فقط همین ورژن نصب شه)
3 - نصب برنامه Dialogic System Release 5.1.1 Feature Pack 149
4 - نصب Dialogic Point Release For D/4PCIUF
5 - نصب Dialogic System Release 5.1.1 Service Pack 1
6 - تنظیم برنامه DCM برای لود شدن در استارت آپ ویندوز و نصب Dialogic Wav Driver For TAPI
7 - .... یه سری تنظیمات دیگه هم داره که اگه نتونستید پیداشون کنید بگید اونا رو هم بزارم 
8 - نصب KDTELE Tools V4.0.33 و کرک آن

نکته ها : 
تحت هیچ شرایطی از ریموت واسه نوشتن این برنامه استفاده نکنید ، من برد ها رو روی دسکتاپ نصب کرده بودم و سعی میکردم با لپ تاپ و Remote Desktop Connection این برنامه رو بنویسم ولی پیغام Invalid Sound Device ID was passed as argumentرو می گرفتم که مشخص شد با اینکه ریموته ولی واسه پخش صدا می خواد از روی لپتاپ درایور Dialogic wav Driver رو بیاره که خطا می داد . البته کلی بدبختی دیگه توی ریموت داره و از این سیستم استفاده نکنید .

سعی کنید اگه امکانش رو دارید غیر از این برد ها یک مودم معمولی هم نصب کنید چون واسه تنظیمات صدا راحت تر باهاش کار می کنید 
فرمت فایل های wav باید این ها باشه و نه چیز دیگه :
"PCM 8,000 Hz - 16 bit - Mono" format or the "KDPCM 8,000 Hz - 16 bit - Mono"
wave format compatible with most of  Dialogic cards is the "PCM 11,025 Hz - 8  bit - Mono"  فقط مخصوص دیالوجیک
 "KDPCM 11,025 Hz - 8 bit - Mono", and "KDPCM 8,000 Hz - 8 bit - Mono"

سعی کنید یه WAVE EDITOR داخل برنامه داشته باشید که اگه خواستید از چند نوع فرمت استفاده کنه خود برنامه تون انجامش بده
باز هم اگه پیغام خطای WAV_BAD_FORMAT رو دیدید یه صدا از طریق تلفن ضبط کنید و مشخصات اون رو از برنامه wav editor در بیارید و بقیه صداهاتون رو طبق اون مشخصات ضبط کنید 
حتما توی CALL LOG برنامه تون (البته اگه داشته باشید) از CALLHANDLE استفاده کنید .

اگه تعداد خطوط برنامه تون ثابت نیست و میخواید واسه هر مشتری تعداد خط به خصوصی استفاده کنید از Dynamic Creation استفاده کنید (مثال این رو توی EXCELETELمیتونید پیدا کنید )
اگه می خواید خطوط تون توی دیتابیس ذخیره بشه و واسه هر بار اجرای برنامه قرار نباشه Line Selection انجام بدید حتما دو گزینه LineDeviceName و LineID رو ذخیره کنید .

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

من نکته دیگه ای به ذهنم نمی رسه اما اگه سوالی بود در خدمتم 
ولی خودمونیم تا این سیستم تموم شد پدرم دراومد حتی رفتم VC++‎ یاد گرفتم و باهاش DLL درست کردم که بعدش فهمیدم اصلا نیاز نبود .
یه مجموعه کامل از صداهای ضبط شده به صورت wav هم دارم که حجمش خیلی زیاده اگه خواستید یه جوری بهتون می رسونم 

امیدوارم این پست مفید باشه ، اگه مشکلتون حل شد لایک فراموش نشه !!! همون تشکر 


----------------------------------------------------------------------------------------------------------------------
Hamed Mirzaei 
MCSE 2003
MCSD/MCAD 2000
MCDBA 2000
CIW Webmaster
msws{DOT}biz{AT}gmail{DOT}com

----------


## hamed_basic

این هم لینک KDTele 4.0.33 با کرک
http://s1.picofile.com/file/67819748...2_UST.rar.html

----------


## hamed_basic

این رو هم بگم که من در حال حاضر واسه تست از یه دستگاه سانترال 3 به 8 استفاده می کنم که واسه Transfer و ... خیلی بهتر از بقیه چیزاست.

----------


## ikallam

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


داداش شما شروع کن

----------


## ikallam

> سلام به همه دوستان
> با وجود تمام آموزش های ناقص در این زمینه من تونستم یه تلفن گویای کامل بنویسم که سر جمع 300 ساعت کار مفید بود
> دوستان اگه علاقه دارن. به ویژه دانشجویان عزیز...
> اعلام کنین تا اموزش قدم به قدم رو بزارم..
> یه سفر یه هفته ای دارم بعد برگشتم اگه درخواستی بود حتما شروع به کار میکنیم...
> اینم عکس از محیط برنامه.... (فقط تب خانه)
> 
> 
> البته در تب تاریخچه قابلیت پخش فایل های ضبط شده هم وجود داره .  در این برنامه از رابط گرافیکی مترو (ویندوز 8) استفاده شده...


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

----------


## rahim_ttl

> جناب samadblaj اگه توی ویندوز 7 استفاده میکنید ابتدا روی cmd کلیک راست کرده و run as administrator بزنید.سپس دستور زیر رو توی cmd تایپ کرده و ریستارت کنید تا توی 7 کار کنه
> bcdedit.exe /set {current} nx AlwaysOff. این خطا هم احتمالا مربوط به دانلود نشدن کامل فایل زیپ هست.حتما همه چی رو به صورت run as administrator اجرا کنید.


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

----------


## kimm66

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

----------


## samadblaj

> سلام به همه دوستان
> با وجود تمام آموزش های ناقص در این زمینه من تونستم یه تلفن گویای کامل بنویسم که سر جمع 300 ساعت کار مفید بود
> دوستان اگه علاقه دارن. به ویژه دانشجویان عزیز...
> اعلام کنین تا اموزش قدم به قدم رو بزارم..
> یه سفر یه هفته ای دارم بعد برگشتم اگه درخواستی بود حتما شروع به کار میکنیم...
> اینم عکس از محیط برنامه.... (فقط تب خانه)
> 
> 
> البته در تب تاریخچه قابلیت پخش فایل های ضبط شده هم وجود داره .  در این برنامه از رابط گرافیکی مترو (ویندوز 8) استفاده شده...


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

بی صبرانه منتظر هستم...

----------


## rahim_ttl

> شما بلد نیستی عزیزم.اگر زدی و سیستمت بالا نیمده مشکل از شماست.این دستور اصلا ربطی به بوت سیستم نداره.فقط هم واسه ویندوز7 هست.من روی 10 تا سیستم زدم واسه تلفن گویا.بعدشم توی گوگل سرچ کن این دستورو تا بفهمی چکار می کنه.


مگه قرار بود آپولو هوا کنم یک خط کامند تو cmd  نوشتن که بلد بودن نداره؟
اگه شما جای دیگه اجراش کردی بگو یاد بگیریم!!

----------


## jasper

> سلام به همه دوستان
> با وجود تمام آموزش های ناقص در این زمینه من تونستم یه تلفن گویای کامل بنویسم که سر جمع 300 ساعت کار مفید بود
> دوستان اگه علاقه دارن. به ویژه دانشجویان عزیز...
> اعلام کنین تا اموزش قدم به قدم رو بزارم..
> یه سفر یه هفته ای دارم بعد برگشتم اگه درخواستی بود حتما شروع به کار میکنیم...
> اینم عکس از محیط برنامه.... (فقط تب خانه)
> 
> 
> البته در تب تاریخچه قابلیت پخش فایل های ضبط شده هم وجود داره .  در این برنامه از رابط گرافیکی مترو (ویندوز 8) استفاده شده...


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


آموزش طراحی و برنامه نویسی تلفن گویا با Tapiex در سی شارپ (IVR System - CSharp )

----------


## jasper

> سلام به همگی
> من زیاد با KDTELE کار نکردم چون تو ویندوز 7 خوب کرک نمی شد!!!!!!!!!
> و از TAPI استفاده کردم
> اما مشکلم این بود که صدای طرف مقابل میومد اما صدای من اون سمت نمیرفت!!!
> و در ضمن این نکته رو هم باید بگم تا اونجایی که من میدونم شرکت kDTELE تعطیل شده!!!!!!!!!!
> اما شرکت TAPI هنوز سر پا هس و دارای ورژن های مختلفی هس
> اگه نمونه کد از TAPI خواستی بگو تا بذارم
> همواره موفق و پیروز باشید


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




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


 samadblaj عزیز جواب شما مطلب بالاست.




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


 vaheeed عزیز مشکل از ناسازگاری کامپوننت هستش و تمام نمونه هاش این مشکل رو داره روی بعضی سیستم ها این مشکلو نداره و البته با ویندوز ایکس پی.
شما باید تمام رویداد هارو با کد نویسی ایجاد کنین. میتونین *اینجـــــــــــــــــــــ  ـــــــــــــــــــــــا* نحوه این کارو ببینین.

----------


## esiimarg

سلام دمه همه قیژژژژژژژژژژژژژژژژژژژژ
کد ارسال فکس در محیط C#‎ asp نیاز دارم
ارسال از طریق KDTele جالب نیس چون فقط TIF ارسال میکنه اونم با یه رزولیشن خاص
در مورد FAXCOMEXLib اگر اطلاعاتی دارید خیلی دمتون قیژژژژژژژژژژژژژژژژژژژژژژژ  ژژ
e.ezazi@yahoo.com

----------


## rehana

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

----------


## zare69

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

----------


## behi1ty

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

----------


## behi1ty

> سلام دوستان
> من می خوام با kdtele فقط شماره کسی که تماس می گیره رو بدست بیارم.
> چه کدی باید بنویسم؟ لطفا راهنماییم کنید.


 سلام
دوست عزيز به دست آوردم شماره تلفن به خط مخابرات بستگي داره اما با دستور Idcaller مي توان به دست آورد

----------


## behi1ty

يعني هيچ كس اين پست و نديده؟؟؟

----------


## habibb

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

به مخابرات هیچ ربطی نداره

 باید همه جا بتونید شماره رو نشون بدید

----------


## behi1ty

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


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

----------


## behi1ty

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


 اين تايپيك هم بدون جواب بسته شد
واقعا كه . . .
مديران سايت يه پيگيري كنند بد نيستا

----------


## ZerOne

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

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

----------


## dehghani7212

سلام
لینک دانلود اکسپایر شده. لطفا یکی بذاره

----------


## rezakhakpour

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

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

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

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

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

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

----------


## m.aminzade

آقا خیلی تشکر امیدوارم ابتر نمونه و همینطور ادامه بدین

----------


## rezakhakpour

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

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

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

*

----------


## tabib_pagh

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

----------


## moradian

سلام
لینک دانلود اکسپایر شده. لطفا یکی بذاره

----------


## JYasProgramer

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

----------


## peiman.oruji

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

----------


## sasi1001

سلام دوستان . 
من دارم رو پروژه منشی تلفنی کار می کنم . دارم از TAPIEx استفاده می کنم به زبان #C. 

مشکلی که دارم اینه که وقتی خط زنگ میخوره متد onRing فایر نمیشه . 
همچنین وقتی میخام با استفاده از مودم به جایی زنگ بزنم از متد MakeCall یا Dial استفاده می کنم . متدهای OnNewCall  و  OnDisconnect  فایر میشن ولی تماس برقرار نمیشه . 
خواهشا کمک کنید وقت زیادی ندارم واسه پروژه
متشکر

----------


## mrk320

دوست عزیز با FSK هم جواب میده؟

----------


## mrk320

دوستان این دو کتابخانه فقط از DTMF پشتیبانی میکنن؟ چون توی دستوراتشون گشتم هیچ دستوری با FSK ندیدم

----------


## mohammad_khorram

سلام

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

karafzar.apps@gmail.com
mr.mohammadkhorram@gmail.com

----------

