【问题标题】:how to link to the exist sip server [jain-sip java]如何链接到现有的 sip 服务器 [jain-sip java]
【发布时间】:2014-08-06 00:49:01
【问题描述】:

如何通过 IP 链接到 sip 服务器? 我使用listeningPoint链接本地未使用的IP,它可以工作;当我链接到 SIP 电话的 IP 时,它没有。

我可以将我的链接指向 SIP 服务器吗?

我只是想创建一个 JAVA SE 应用程序来接收电话号码并显示来电者的信息。

这是我迄今为止尝试过的:

Properties properties = new Properties();
properties.setProperty("javax.sip.STACK_NAME", "GetPhoneNum");
properties.setProperty("javax.sip.IP_ADDRESS", "192.168.1.2");
sipStack = sipFactory.createSipStack(properties);
ListeningPoint udp = sipStack.createListeningPoint(port, "udp");
sipProvider = sipStack.createSipProvider(udp);
sipProvider.addSipListener(this)

我使用参数 (properties) 创建了 sipFactorysipStack,然后使用我的本地 IP 地址添加了 javax.sip.IP_ADDRESS 属性。

【问题讨论】:

  • 到目前为止,您尝试过什么?代码?
  • 属性属性=新属性(); properties.setProperty("javax.sip.STACK_NAME", "GetPhoneNum"); properties.setProperty("javax.sip.IP_ADDRESS", "192.168.1.2"); sipStack = sipFactory.createSipStack(properties); ListeningPoint udp = sipStack.createListeningPoint(port, "udp"); sipProvider = sipStack.createSipProvider(udp); sipProvider.addSipListener(this);
  • 我创建 sipfactory 并使用参数(属性)创建 sipStack,然后使用我的本地 IP 地址添加 javax.sip.IP_ADDRESS 属性。
  • 我意识到我只能通过使用PC的本地IP来创建SipStack。有一次,我使用了其他 ip 或 SIP 电话的 ip,它显示错误消息
    “javax.sip.InvalidArgumentException:无法分配请求的地址:无法绑定”
  • 有关您的问题的相关信息(特别是代码),请编辑它。评论或多或少用于旁注和讨论。

标签: java sip jain-sip


【解决方案1】:

您需要通过“链接 sip 服务器”来阐明您的意思。它的工作方式如下: 1. 创建 sip 堆栈。不要在此处指定 IP 地址。那已被弃用。 2. 从堆栈创建监听点,但这里指定 ip,port,transport。 3. 获取 sip 提供商。 4. 添加监听器。

要注册,您必须创建一个 sip 注册请求,一个使用该请求提供程序的客户端事务,并使用该事务发送请求。

当 ac 邀请进入时,获取 from 标头并显示地址。

【讨论】:

  • 这是一种将本地 PC IP(SIP 应用程序)链接到 PBX 的方法吗?所以我启用了模拟联系号码。所以每次来电。 PBX会向本地PC IP(SIP应用程序)发送INVITE,然后它可以显示呼叫者的联系号码(模拟用户或SIP帐户用户)。
  • 不确定你想要什么。我会尝试猜测您想在来电时收到通知。您通常可以通过订阅 pbx 来实现这一点,以便在来电时获得通知。不同的 Pbx 使用不同的方式支持这一点。例如,有些人使用资源列表来跟踪正在进行的对话。您应该在发布之前澄清并校对您的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
  • 2015-06-13
  • 2015-04-08
  • 1970-01-01
  • 2019-02-10
  • 1970-01-01
  • 2014-09-04
相关资源
最近更新 更多