问题标签 [sip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
networking - 通过 SDP 和陆线将 RTP 与 SIP 连接的过程
我在启动媒体会话并将其与我的 SIP 客户端结合时遇到问题。我设计了一个递归 SIP 客户端,它根据 RFC 中记录的可接受序列和我阅读的示例,重用相同的请求模板将下一个请求发送到服务器。据我所知,SIP 部分工作正常,可以很好地注册服务器邀请并进行身份验证。我还没有完成对客户端的任何调用,因为需要填充内容标头(我还没有,所以我从服务器得到一个 503,我猜这没问题)。
很长一段时间我不知道从哪里开始媒体会话,慢慢学会了如何使用JMF,我已经构建了一个处理RTP传输的对象,现在我站在十字路口,在一个一方面我有我的 SIP 信令,但它需要 SDP 内容标头来完成邀请,另一方面我有知道如何 p2p 的 RTP。
为了完成我的设计,我需要您帮助解决以下问题:
是否有一种简单的//一种简单的//一种将音频/视频格式从 JMF 转换为 SDP 媒体标头的实施方法?甚至是一个生成器,我可以输入内容头的所有参数,它会快速生成一个内容头,还是我必须自己实现这个?
一旦我完成了 SDK 的构建并且 SIP 启动并运行并且我从服务器获得了 OK 响应(在响铃之后),我如何启动媒体会话?如何根据我在 SIP 邀请中发送的呼叫者详细信息连接 p2p?
如果 2 是正确的,那么如何连接到陆线?陆线是否知道一旦他们将 OK 发送回服务器,他们会在特定端口上侦听/启动 RTP 会话?
还是我把一切都弄错了?:-/
我真的很感谢我能得到的任何帮助,我到处寻找答案,但他们并不清楚,他们忽略了问题 2,就好像这是一件显而易见的事情,但对我来说,事实并非如此。
在此先感谢亚当·泽哈维。
添加:
首先感谢您的回复以及您花时间帮助我。
我会回到问题2:
一旦您收到 Ok 响应,您就会知道 SIP 用户代理服务器 (UAS) 正在侦听的 IP 套接字(您的意思是 ADDRESS:PORT 正确吗?)以及它接受并可以开始发送您的 RTP 的编解码器。
好吧,我明白了,我想知道另一件事,在我向 UAS 发送 RTP 数据包的这段对话期间,UAS 用作两个 UAC 之间的桥梁。
现在...我可以使用 SIP 实例化会话,然后将客户端信息从一台计算机发送到另一台计算机,并在两台计算机之间建立 P2P,无需任何中间人(UAS),然后处理 SIP 会话吗?
我希望我现在能更好地解释我自己...
谢谢,亚当。
android - INVITE 请求后的奇怪响应,SIP
发送 INVITE 请求后,我收到了一个尝试性的答案,然后立即收到错误 407(需要代理身份验证)。在发送 ACK 和另一个带有代理头的 INVITE 之后,我收到了大约 1/4 的会话进度!其他时候它只是一次又一次地发送 407 错误。
有任何想法吗?
websphere - 如何访问 WebSphere 中的自定义属性?
我在 WebSphere 中为容器设置了一些自定义属性,但我不知道如何读回这些属性。我试过 System.getProperty(...),但它是空的。
我看过对 JMX 的引用,但想知道是否有明确的答案。
sip - SIP Express 路由器 - MaxFwd 模块
如何更改 SIP 请求中的 Max_Forward 标头值?我正在使用 SER 和两个 xlite sipphones,我想检查 MaxFwd 模块。
java - SIP servlet、聊天服务器
我正在尝试使 SIP servlet 聊天服务器以及在此处找到的 textclient 一起工作。
当我使用 2 个客户端相互发送消息(点对点)时,一切顺利。doMessage()
但是当我将一个或多个客户端与我的服务器一起使用时,我必须等待正好 32 秒,然后服务器才能在该方法中接收任何新消息。我将 Netbeans 和 Sailfin 一起用作我的 SIP 服务器。我正在查看的 Sailfin 中的请求或响应之间是否存在某种限制或可配置的延迟或超时?
如果需要,我可以发布服务器代码。
谢谢
media - SIP UAS 请求选项
我有注册到 UAS 的 UAC,注册后 UAS 向我发送 OPTIONS 请求,我应该如何回答?
只有音频媒体流?
更新一:
请允许我更好地解释一下自己……如果我想邀请某人参加会议,我会使用 INVITE 方法并针对该特定会议与媒体协商。但是一旦我注册到服务器,它要求我提供选项,那么我应该提供什么,我的客户支持的一切?一旦我回答,它会推断出我从现在开始请求的每个邀请都会使用这些媒体吗?还是我需要为每个请求提供新媒体?
更新二:
嗨 Wiz,我正在构建一个协商系统,所以我尝试了一下并回答 UAS 这里是我们的排序对话:
响应 102 的选项:
这个响应导致服务器停止向我发送选项请求,这是否意味着我现在只能在服务器上使用这些参数?还是如您所说,没关系?
谢谢,亚当。
c# - 使用 UCMA 连接 3CX?
有没有人使用微软的 UCMA 2.0 SDK 连接到 3CX 的免费 IP PBX 来为他们的应用程序添加语音功能?如果是这样,它有效吗?我想要完成的是在 2 台或更多台计算机上运行 Windows 窗体应用程序,每个人都可以连接到另一个人并使用连接到计算机的耳机进行语音对话。应用程序采用 C# w/.NET3.5 SP1。
sip - 在 SIP UAC 上获得 RINGING 响应而不从其他 UAC 发送它
我希望这是我关于这个 SIP 主题的最后一个问题,我已经通过请朋友从远程计算机帮助我来克服我遇到的最后一个问题,我能够在计算机之间进行连接,但事情就是这样,根据我看到的所有示例,被叫方应该调用振铃响应,但在我的应用程序中我还没有实现它,但我仍然在主叫方 UAC 上收到振铃响应,这是 SIP 消息来电端:
传出请求 5:
传入响应 6:
传入响应 7:
呼叫:320@hostName.hn 正在振铃
传入响应 8:
传入响应 9:
我没有回应邀请,这就是为什么这一切都发生了,但是如果我不是发送邀请的人,为什么我会收到铃声。
谢谢,
亚当。
更新:
如果您会注意到我收到回复的时间:
传入响应 7:1275879030656 响铃
传入响应 8:1275879038734 会话进度
传入响应 9:1275879038781 服务不可用
我不明白这里的逻辑,我从第一次响铃到会话进度有 8 秒,但从会话进度到服务不可用我有 47 毫秒?
这有什么意义?50毫秒做什么?分析响应的时间 + 打开 RTP 会话的时间 + 构建响应的时间 + 构建 SDP 的时间 + 服务器接收消息所用的时间 - 503 消息到达我的 UAC 所用的时间,不是这切割有点接近?我应该在什么时候响应服务器?
再次感谢您的所有帮助 Wiz。
java - 发起 SIP 会话的问题/getClientTransaction(request) 引发 NullPointerException
我有一个小问题,我的 SIP 客户端正常工作,我更改了代码的结构。SIP对象的创建过程我保持了以前的样子,但是现在不行了。
我不断得到:
java.lang.NullPointerException 在 gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:285)
并且文档中没有提到此类错误……这是什么意思?
这是 sip 的实例化代码:
请问有什么帮助吗??
亚当。