Jain SIP在多线程环境中

时间:2013-09-15 18:22:57

标签: jain-sip

目前尚不清楚如何在多线程环境中使用jain SIP堆栈。我需要从不同的线程创建多个SIP会话,例如,每个客户端都应该在自己的事务中进行。以下是几个选项:

  • 使用单SipProvider接收和发送SIP请求,并在应用程序端进行多路复用。 SipProvider不是线程安全的,因此发送请求需要正确锁定。
  • 为每个客户创建新的SipProvider和新的ListeningPoint。这就是它现在对我有用的方式。但是,我真的不喜欢它。并且不清楚,SipStack线程是否安全
  • 为每个客户
  • 创建SipStack的新实例

2 个答案:

答案 0 :(得分:2)

自从我想到JAIN-SIP(甚至是SIP甚至是Java)以来已经很长时间了,但是这里有:

  1. 创建堆栈时设置重入侦听器标志。 (查看javadocs)。指定线程池大小。当sip请求或响应出现时,堆栈可能会为您创建一个新线程并调用您的监听器。

  2. 您的关键部分是SipListener实现。您不应该永远阻止它 - 否则新的入站请求和响应将不会被路由到您阻止时正在处理的事务的sip侦听器。

  3. 希望能回答你的问题。快乐的黑客攻击。

    多数民众赞成。

答案 1 :(得分:0)

为什么不使用SIP Servlets,它可以让您专注于您的应用程序逻辑并为您处理这些细节? 见http://code.google.com/p/sipservlets/