通过SIP进行第三方呼叫控制

时间:2010-10-05 04:36:51

标签: c# sip tapi call-control

我正在尝试使用SIP来进行第三方呼叫控制。我不确定这是可能的,所以希望有人可以启发我。

我有以下情况。在内部网络上,有几个电话分机。爱丽丝有一个物理SIP电话,办公室里的所有其他人也是如此。

我想做的(对于初学者)是允许以下内容:有人打电话给Alice。而不是拿起物理SIP电话,而是点击她的电脑屏幕上的某个按钮(比如一个标记为Answer的按钮)。这迫使手机摘机(例如它现在在扬声器上),而且她正在和任何打电话给她的人交谈。

可以这样做吗?任何代码项目,特别是在c#中,都是受欢迎的。

我用TAPI完成了这类事情并且效果很好,但是TAPI是一种垂死的技术(没有64位等效技术),所以我正在寻找替代品。

2 个答案:

答案 0 :(得分:2)

让您知道Alice的电话被接听的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 :(得分:1)

RFC 3725中解释了针对SIP的3pcc的

(最佳实践)。

另一种可能性(不使用3pcc)是Alice的软电话以比她的物理SIP电话更高的优先级进行注册。拨打Alice的录音地址将转到她的软电话,该电话可以转接呼叫(所以呼叫转移/盲转)到SIP电话。