2011-07-21 217 views
0

我有PC和VOIP電話。當有人打電話給我的帳戶,我使用VOIP電話接聽電話時,我希望電話號碼存儲在我的電腦上。顯示來電號碼。什麼是最簡單的方法?

接聽來電號碼的最簡單方法是什麼?是找到一個VOIP Java/C#SDK和開發我的應用程序(只是爲了獲得一個來電號碼)唯一的方法或是否有一些聰明的捷徑?

注意:我很熟悉軟電話顯示來電顯示,但沒有(可以合理的,非hack'ish)的方式,我可以從軟電話中讀取它。

回答

2

根據您的軟電話,您可能可以配置它以保存通話記錄。或者,您可以從您的VOIP服務器獲取CDR(通話詳細記錄)。

另一條路線是監測傳入的VOIP TCP連接並從嗅探數據包中提取呼叫者數據。

或者你可以編寫一個小程序在後臺運行,並定期檢查哪個是活動窗口。如果活動窗口是您的軟電話,則它會截圖並將其轉儲到文件夾。

1

弗拉德說了些什麼。提供硬件電話型號的詳細信息將爲您提供更多詳細信息:-) 如果電腦一直處於想要操作電話的時間,則可以在PC上安裝一個簡單的SIP代理服務器,該服務器除了進行日誌記錄之外什麼也不做。

如果軟電話是一個選項,其中許多可以腳本,我喜歡閃爍的例子。

1

使用wireshark(或更多點到tshark,命令行版本),您可以構建一個捕獲規範,僅捕獲UDP端口5060上的傳入SIP數據包,然後僅當SIP msg是INVITE時。那麼你只需要看「發件人」這一行,看看是誰給你打了電話(如果是填寫的話; 應該至少有一個號碼)。

+0

謝謝你的回答,它非常完整。我已經發現了一個名爲[Peers java SIP softphone](http://peers.sourceforge.net/)的免費軟件SIP電話。我修改了源代碼以從INVITE中提取呼叫者ID並輸出它。 –

相關問題