2013-07-06 53 views
0

有什麼辦法來操縱C#中的手機? 我有一個調制解調器,調制解調器連接到手機,手機連接到電腦,我想做一個應用程序,顯示來電號碼? 我知道這是一個長期的,但仍然有任何想法?C#調制解調器電話集成

+0

調制解調器不提供這些功能。調制解調器只是數字模擬轉換器,允許計算機通過電話線彼此進行通信。從手機獲取該信息需要硬件支持;請聯繫您的手機供應商獲取更多信息 –

+0

@CodyGray有一些POTS調制解調器實際上支持CalledID,並會在'RING'響應中發送出該號碼......請注意,POTS,普通老式電話,我不是指單元調制解調器。 – fvu

+1

關閉選民:請再次重讀這個問題,你似乎已經錯過了克里斯托普斯清楚地表明他想用C#編寫應用程序來讀取主叫方ID的問題。所以我真的不明白爲什麼他的問題可能不是編程相關和/或太寬泛。 – fvu

回答

1

我假設我們是

  • 談論一個常規的調制解調器這裏
  • 通過串行端口接口調制解調器(即到計算機它看起來像一個COM端口)
  • 它支持來電顯示(請參閱您的調制解調器的文檔,無論如何您需要找出帶有來電顯示的RING響應的外觀,以及您需要發送到調制解調器以激活CalledID的命令 - 常用字符串包括根據this page
  • 的實施CalledID系統AT%CCID=1AT%CCID=2與您的供應商的系統兼容,並且您的訂閱包括來電顯示服務

正如你所看到的,嚴重組的先決條件......

通過將調制解調器連接到電話線並打開超級終端或任何其他終端仿真器,可以快速測試其中大部分。當您在電話線上接到電話時,您應該看到RING,然後是主叫方的信息。信息的結構取決於單個調制解調器,您應該能夠在文檔中找到該信息,或者只需查看輸出即可。

一旦你這麼遠,其餘或多或少是簡單的:你打開使用.NET的包括SerialPort類(教程here,許多人四處飄蕩)適當的COM端口和編程順序如下:

  • 通過發送

    • ATZ初始化調制解調器輸入
    • 等待OK
    • 發送主叫方ID命令輸入
    • 等待OK
  • 環比
    • 繼續閱讀串口,直到你看到RING其次是呼叫者的ID
    • 輸出的數據

只有在非常罕見的情況下,您必須在調用之間重置調制解調器,對於許多調制解調器來說,它可能有助於在發送DTR爲低電平時喚醒它們,然後在發送之前備份,一些調制解調器甚至在DTR被自動初始化時像那樣的脈衝。

總而言之,這很簡單,但是與調制解調器的連接已經變得不那麼流行了,因爲您需要進行一些挖掘才能找到相關信息和示例代碼。祝你好運!

相關問題