简单的基于sip的客户端交互...任何想法

时间:2009-08-28 14:15:07

标签: voip sip

我想做以下事情:

我希望SIP用户代理在接收入站呼叫(呼叫建立请求)时执行以下步骤。

1)从SIP请求中读取呼叫者ID并将详细​​信息记录到文件

2)放弃通话(在不接听电话的情况下终止通话)

我无法找到能让我编写此交互脚本的高级api。我已经看了一下Jain,但它似乎是一个非常低级别的API,我认为需要大量工作才能使上述交互编码和工作。任何人都可以建议适当的API来实现上述。

注意:我已经尝试过ROXEO.com,他们基于CCXML的应用程序很棒但是它们的价格针对的是大公司,所以Voxeo不是一个选择。

5 个答案:

答案 0 :(得分:0)

有很多开源SIP堆栈围绕两个例子pjsipsipsorcery(作为免责声明,我做了一些开发工作)。这一切都取决于你的语言和优先选择哪一个适合。还有许多SIP工具可能是一种更有效的方法,例如SIPp

除了这些选项,并且根据您的非常简单的要求,您可能可以使用20或30行代码来侦听UDP套接字,解析传入的INVITE以提取From头,然后通过更改发回拒绝响应请求的第一行,使其成为响应并将其发送回原来的位置。

答案 1 :(得分:0)

如果您正在使用C,请尝试使用eXosip,您可以轻松地随心所欲。 Here

很明显,Jain SIP可能非常痛苦(实际上所有的配置,但API在其他方面都非常高级,操纵消息),但你可以使用jain-sip-presence-proxy并删除几乎所有内容INVITE处理程序并构建您自己的消息

答案 2 :(得分:0)

如果您使用的是java,则可以使用peers在net.sourceforge.peers.sip.core.useragent包中提供高级API。入口点是UserAgent类,如果你想看看它是如何使用的,请看一下gui包。跟踪在日志文件中,因此您可以跟踪呼叫。

答案 3 :(得分:0)

iv有效,但它一次只能处理一个场景

答案 4 :(得分:0)

Asterisk pbx可以作为一个简单的SIP客户端,并且可以做到这一点,但是如果您想在自己的解决方案中集成某些东西,请查看:http://sipsimpleclient.org/projects/sipsimpleclient/wiki/SipMiddlewareApi