مشاهده نسخه کامل
: ارتباط با تلفن
shadmehrshadow1
08-01-2013, 15:37
سلام.میخواستم ببینم میشه وقتی که تلفن به پریز وصل هست . کاری کرد که به کامپیوتر هم وصل باشه و بشه فهمید چه کسی تماس گرفته؟
یه سری برنامه ها بودن با ویندوز ایکسپی که اینکارو میکردن.... پس حتمی میشه! ولی چطوریش رو باید تحقیق کنیم....
--------------
خوب یه سرچ چند لحظهای من رو به این نتایج رسوند:
یه پروژهی اماده(اینا یه سری کلاس و کد هستن که تو برنامه استفاده میکنین و خیلی هم خوبه هیچ دوشواری هم نداره!):
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب اینجا تو کودپروجکت گفتن که:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خبر خوب اینه که تا جایی که من میدونم، اکثرا برنامه های مرتبط با تلفن رو با ویبی مینویسن که شما کار میکنی..... یه خورده انگلیسی بگردی سریع پیدا میکنی!
بسم الله الرحمن الرحیم
با سلام
دقیقا خاطرم نیست ولی فکر میکنم کامپوننت kdtel امکاناتی که میخواهید رو داشت.
موفق باشید.
shadmehrshadow1
09-01-2013, 16:26
سلام،مرسی از دوستان، راستش سوال اصلی من یکم جنبه سخت افزاری داره تا نرم افزاری ، به این شکل که وقتی یک دستگاه تلفن داریم و اون رو به پریز تلفن وصل کردیم. که در این صورت ما دیگه نمیتونیم از سوکت مودم کامپیوتر به پریز تلفن وصل بشیم چون توسط یک دستگاه تلفن پریز دیگه جایی نداره. به هرحال باید یه سیمی مثل همون سیم های سوکت دار معروف از مودم کامپیوتر به پریز تلفن وصل بشه تا برنامه بتونه کار کنه و بفهمه و در ارتباط باشه. حالا که پریز تلفن پر هست و اشغال شده این سیمی که از کامپیوتر میاد رو باید به کجا وصل کنیم؟ به خود دستگاه تلفن؟ چون من دیدم یه پورت سوکت دیگه هم همیشه به غیر از اون اصلیه دارن دستگاه های تلفن.
بله میشه به دستگاه تلفن وصل کرد.... من یه مدت دایلاپم رو وصل میکردم به پورت دوم تلفن...
shadmehrshadow1
24-01-2013, 14:35
متاسفانه من توی جست و جو هایی که داشتم سورس کالر آیدی پیدا نکردم, یا اگه پیدا شد کار نمیکرد:|
shadmehrshadow1
28-01-2013, 00:16
ممنون میشم اگه کسی کمک کنه
سلام...
من نمیدونم دقیقا میخواین چیکار کنین متاسفانه....
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
مدتی بود میخواستم جوابی تایپ کنم و برایتان بگذارم، الآن که نوشتم دیدم دوستمان senaps لطف کردند و لینک های مفیدی برایتان قرارداند، بحرحال تایپ کردم، حیف است! :n02: این پاسخ را هم داشته باشید...
برای این قبیل کارها نیاز به کامپونت خاصی وجود ندارد.
مجموعه فرامین AT-Command بسیار کامل هستند.
شما میتوانید از طریق کلاس System.IO.Ports.SerialPort یک خط ارتباطی با مودم تان بدست آورید و به ارسال و دریافت اطلاعات بپردازید.
با متدی مانند WriteLine میتوانید فرامین را ارسال کنید و با رویدادی مانند DataReceived هم میتوانید اطلاعات دریافتی را مانیتور کنید.
اولاً باید بدانید که خط تلفن و مودم شما باید قابلیت CallerID را پشتیبانی کنند.
در حال حاضر بیشتر خط تلفن ها این قابلیت را دارند ولی در مقابل بیشتر فکس مودم های معمولی این قابلیت را ندارند.
مودم هایی با این قابلیت معمولاً کمی گران تر هستند.
از نظر اتصالات و بحث سخت افزاری هم که اشاره کردید مشکلی وجود ندارد.
همه ما در منزل معمولاً بیش از یک گوشی تلفن داریم و وقتی کسی تماس بگیرید همه انها زنگ میخورند.
هم پشت مودم و هم در برخی گوشی های تلفن دو سوکت تعبیه شده که به شما امکان میدهد چندین دستگاه را دنبال هم به طور موازی متصل کنید.
برای دریافت شماره تلفن باید اول قابلیت مورد نظر را در مودم فعال کنید برای این کار معمولاً ارسال فرمان AT+VCID=1 کافیست ولی بسته به مدل و راهنمای مودم شاید یکی از فرامین زیر این قابلیت را روشن کند:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پس از ارسال فرمان درست مودم یک جوابیه OK برای شما ارسال خواهد کرد.
(این OK به معنی پیام صحیح و قابل درک است و لزوماً به معنی داشتن قابلیت CallerID در مودم نخواهد بود)
حال اگر گوشی شما زنگ بخورد مودم متنی مانند زیر را به شما تحویل میدهد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که پیام های RING تا برداشن گوشی تلفن ادامه خواهد داشت که مهم نیست.
احتمالاً مطلب مهم برای شما آنجا خواهد بود که اگر همه چیز خوب پیش برورد (پشتیبانی خط و مودم و صحت کار شما) شماره تلفن فرد مقابل در بخش NMBR به شما داده خواهد شد.
فقط کافیست کمی با دستورات String کار کنید و بخش مورد نظر را یافته و استخراج کنید.
صحت این فرآیند را میتوانید در برنامه کمکی مانند hyperterminal بررسی و بازبینی کنید.
موفق باشید.
asghar2008
03-02-2013, 22:52
سلام
مدتی بود میخواستم جوابی تایپ کنم و برایتان بگذارم، الآن که نوشتم دیدم دوستمان senaps لطف کردند و لینک های مفیدی برایتان قرارداند، بحرحال تایپ کردم، حیف است! :n02: این پاسخ را هم داشته باشید...
برای این قبیل کارها نیاز به کامپونت خاصی وجود ندارد.
مجموعه فرامین AT-Command بسیار کامل هستند.
شما میتوانید از طریق کلاس System.IO.Ports.SerialPort یک خط ارتباطی با مودم تان بدست آورید و به ارسال و دریافت اطلاعات بپردازید.
با متدی مانند WriteLine میتوانید فرامین را ارسال کنید و با رویدادی مانند DataReceived هم میتوانید اطلاعات دریافتی را مانیتور کنید.
اولاً باید بدانید که خط تلفن و مودم شما باید قابلیت CallerID را پشتیبانی کنند.
سلام
ممنون از راهنماییتون.
یه سوال داشتم .ممنون میشم راهنمایی کنید.
با دستور AT+ACID=1 شماره تماس گیرنده رو مودم فعال میکنیم
با چه دستور می توان شماره تماس گیرنده رو تو یه Text Box نشون داد؟
برای این کار باید از مودم واکشی طلاعات کنیم. ولی هر کاری میکنم نمی تونم شماره تماس گیرنده رو تو یه تکست نشون بدم.اینم کدی است که استفاده میکنم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با چه کدی از مودم واکشی اطلاعات کنیم؟
در ضمن من از مودم گوشیم (Nokia مدل N72)استفاده میکنم.
مرسی
سلام
میبخشید، عضرخواهی میکنم ...
این روزها شدیداً گرفتار هستم و برای یکسری کار اداری، تهران گردی میکنم :n02:
خلاصه عرض کنم، کد شما صحیح نیست ...
مودم خودم این قابلیت را پشتیبانی نمیکند و امکان آزمایش ندارم
ولی کد زیر اصول سرراست و صحیحی دارد و به گمانم جواب دهد، آزمایش بفرمائید...
- یک پروژه WinForm را آغاز کرده
- یک TextBox روی آن قرار دهید
- خط تعریف دلگیت Action در فریم ورک 3.5 به بالا نیازی نیست
- شما باید خصیصه های m_SerialPort را به تنظیمات لازم رایانه خودتان ست کنید، از جمله پورت COM مودم ...
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.