2010-10-05 56 views
0

我正在嘗試使用SIP來完成第三方呼叫控制。我不確定這是可能的,所以希望有人能夠啓發我。通過SIP的第三方呼叫控制

我有以下情況。在內部網絡上,有幾個電話分機。 Alice有一個物理的SIP電話,辦公室裏的其他人也是如此。

我想要做的(對於初學者),是允許以下:有人叫愛麗絲。她並沒有拿起物理的SIP電話,而是在她的電腦屏幕上點擊某個按鈕(比方說一個標記爲Answer)。這迫使物理電話摘機(例如現在在揚聲器上),她正在與誰打電話給她通話。

可以這樣做嗎?任何代碼項目,特別是在C#中,都會受到歡迎。

我做這個類型的TAPI的事情,它的工作得非常好,但TAPI是一個垂死的技術(沒有64位的等價物),所以我要尋找一個替代品。

回答

2

SIP機制讓你知道愛麗絲的手機被接到是一個事件通知,記錄在RFC 3265 Session Initiation Protocol (SIP)-Specific Event Notification中,INVITE相關通知的特定事件包是RFC 4235 An INVITE-Initiated Dialog Event Package for the Session Initiation Protocol (SIP)

總之SIP事件訂閱/通知基礎上,其中一個SIP用戶代理可以訂閱通知服務器有關在不同的用戶代理髮生的事件通知上工作。不幸的是,對SIP事件的支持並沒有那麼廣泛,甚至在支持時也可能有點不穩定,例如Asterisk用於產生非常奇怪的NOTIFY請求。

1

(最佳做法)的3PCC用於SIP在RFC 3725解釋。

另一種可能性(不使用3PCC)是Alice的電話與比她的身體SIP電話的高優先註冊。呼叫愛麗絲的記錄地址將發送給她的軟電話,該軟電話可將呼叫(所以呼叫轉接/盲轉)引用到SIP電話。

+0

用你的方法後,我呼叫前轉/盲轉移從軟電話到物理電話呼叫,我仍然要等待愛麗絲拿起聽筒身體。該操作不會導致電話摘機(例如,呼叫在揚聲器上),對嗎? – AngryHacker 2010-10-05 06:09:47

+0

事實上,REFER的情況就是如此。困難的部分是讓你的實際電話實際上做些事情:例如,它必須接聽電話。您可能需要一個單獨的,非SIP的答案:自動應答,切換到免提電話。 – 2010-10-05 06:24:31