سلام.میخواستم ببینم میشه وقتی که تلفن به پریز وصل هست . کاری کرد که به کامپیوتر هم وصل باشه و بشه فهمید چه کسی تماس گرفته؟
Printable View
سلام.میخواستم ببینم میشه وقتی که تلفن به پریز وصل هست . کاری کرد که به کامپیوتر هم وصل باشه و بشه فهمید چه کسی تماس گرفته؟
یه سری برنامه ها بودن با ویندوز ایکسپی که اینکارو میکردن.... پس حتمی میشه! ولی چطوریش رو باید تحقیق کنیم....
--------------
خوب یه سرچ چند لحظهای من رو به این نتایج رسوند:
یه پروژهی اماده(اینا یه سری کلاس و کد هستن که تو برنامه استفاده میکنین و خیلی هم خوبه هیچ دوشواری هم نداره!):
خوب اینجا تو کودپروجکت گفتن که:کد:http://atapi.codeplex.com/
خبر خوب اینه که تا جایی که من میدونم، اکثرا برنامه های مرتبط با تلفن رو با ویبی مینویسن که شما کار میکنی..... یه خورده انگلیسی بگردی سریع پیدا میکنی!کد:http://www.codeproject.com/Articles/10994/TAPI-3-0-Application-development-using-C-NET
بسم الله الرحمن الرحیم
با سلام
دقیقا خاطرم نیست ولی فکر میکنم کامپوننت kdtel امکاناتی که میخواهید رو داشت.
موفق باشید.
سلام،مرسی از دوستان، راستش سوال اصلی من یکم جنبه سخت افزاری داره تا نرم افزاری ، به این شکل که وقتی یک دستگاه تلفن داریم و اون رو به پریز تلفن وصل کردیم. که در این صورت ما دیگه نمیتونیم از سوکت مودم کامپیوتر به پریز تلفن وصل بشیم چون توسط یک دستگاه تلفن پریز دیگه جایی نداره. به هرحال باید یه سیمی مثل همون سیم های سوکت دار معروف از مودم کامپیوتر به پریز تلفن وصل بشه تا برنامه بتونه کار کنه و بفهمه و در ارتباط باشه. حالا که پریز تلفن پر هست و اشغال شده این سیمی که از کامپیوتر میاد رو باید به کجا وصل کنیم؟ به خود دستگاه تلفن؟ چون من دیدم یه پورت سوکت دیگه هم همیشه به غیر از اون اصلیه دارن دستگاه های تلفن.
بله میشه به دستگاه تلفن وصل کرد.... من یه مدت دایلاپم رو وصل میکردم به پورت دوم تلفن...
متاسفانه من توی جست و جو هایی که داشتم سورس کالر آیدی پیدا نکردم, یا اگه پیدا شد کار نمیکرد:|
ممنون میشم اگه کسی کمک کنه
سلام...
من نمیدونم دقیقا میخواین چیکار کنین متاسفانه....
کد:http://stackoverflow.com/questions/1200921/how-to-get-caller-id-in-c
کد:http://stackoverflow.com/questions/10899283/caller-id-using-serialport-c-sharp
کد:http://stackoverflow.com/questions/3128204/how-detect-caller-id-from-phone-line
کد:https://www.google.com/search?q=callerid+with+c%23&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
سلام
مدتی بود میخواستم جوابی تایپ کنم و برایتان بگذارم، الآن که نوشتم دیدم دوستمان senaps لطف کردند و لینک های مفیدی برایتان قرارداند، بحرحال تایپ کردم، حیف است! :n02: این پاسخ را هم داشته باشید...
برای این قبیل کارها نیاز به کامپونت خاصی وجود ندارد.
مجموعه فرامین AT-Command بسیار کامل هستند.
شما میتوانید از طریق کلاس System.IO.Ports.SerialPort یک خط ارتباطی با مودم تان بدست آورید و به ارسال و دریافت اطلاعات بپردازید.
با متدی مانند WriteLine میتوانید فرامین را ارسال کنید و با رویدادی مانند DataReceived هم میتوانید اطلاعات دریافتی را مانیتور کنید.
اولاً باید بدانید که خط تلفن و مودم شما باید قابلیت CallerID را پشتیبانی کنند.
در حال حاضر بیشتر خط تلفن ها این قابلیت را دارند ولی در مقابل بیشتر فکس مودم های معمولی این قابلیت را ندارند.
مودم هایی با این قابلیت معمولاً کمی گران تر هستند.
از نظر اتصالات و بحث سخت افزاری هم که اشاره کردید مشکلی وجود ندارد.
همه ما در منزل معمولاً بیش از یک گوشی تلفن داریم و وقتی کسی تماس بگیرید همه انها زنگ میخورند.
هم پشت مودم و هم در برخی گوشی های تلفن دو سوکت تعبیه شده که به شما امکان میدهد چندین دستگاه را دنبال هم به طور موازی متصل کنید.
برای دریافت شماره تلفن باید اول قابلیت مورد نظر را در مودم فعال کنید برای این کار معمولاً ارسال فرمان AT+VCID=1 کافیست ولی بسته به مدل و راهنمای مودم شاید یکی از فرامین زیر این قابلیت را روشن کند:
پس از ارسال فرمان درست مودم یک جوابیه OK برای شما ارسال خواهد کرد.کد:AT#CID=1
AT#CID=2
AT%CCID=1
AT%CCID=2
AT#CC1
AT*ID1
(این OK به معنی پیام صحیح و قابل درک است و لزوماً به معنی داشتن قابلیت CallerID در مودم نخواهد بود)
حال اگر گوشی شما زنگ بخورد مودم متنی مانند زیر را به شما تحویل میدهد:
که پیام های RING تا برداشن گوشی تلفن ادامه خواهد داشت که مهم نیست.کد:RING
DATE = ?
TIME = ?
NMBR = ?
NAME = ?
RING
RING
RING...
احتمالاً مطلب مهم برای شما آنجا خواهد بود که اگر همه چیز خوب پیش برورد (پشتیبانی خط و مودم و صحت کار شما) شماره تلفن فرد مقابل در بخش NMBR به شما داده خواهد شد.
فقط کافیست کمی با دستورات String کار کنید و بخش مورد نظر را یافته و استخراج کنید.
صحت این فرآیند را میتوانید در برنامه کمکی مانند hyperterminal بررسی و بازبینی کنید.
موفق باشید.
نقل قول:
سلام
ممنون از راهنماییتون.
یه سوال داشتم .ممنون میشم راهنمایی کنید.
با دستور AT+ACID=1 شماره تماس گیرنده رو مودم فعال میکنیم
با چه دستور می توان شماره تماس گیرنده رو تو یه Text Box نشون داد؟
برای این کار باید از مودم واکشی طلاعات کنیم. ولی هر کاری میکنم نمی تونم شماره تماس گیرنده رو تو یه تکست نشون بدم.اینم کدی است که استفاده میکنم:
کد:Private Sub serialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
SerialPort1.Write("AT+CLIP=1" & vbCrLf)
Rxstring = SerialPort1.ReadExisting()
Me.Invoke(DisplayText(Rxstring))
End Sub
با چه کدی از مودم واکشی اطلاعات کنیم؟
در ضمن من از مودم گوشیم (Nokia مدل N72)استفاده میکنم.
مرسی