首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDP消息构造?

SDP消息构造?
EN

Stack Overflow用户
提问于 2010-02-16 01:40:52
回答 3查看 2.3K关注 0票数 0

我想知道有没有人能给我一个好的教程,教我如何构造一条SDP消息。

我已经阅读了基础知识,可以构造和理解参数,但我似乎就是无法让它工作。

我要么在这里得到一个不可接受的回复,要么根本没有回复,这是在我得到100次尝试和180次回铃之后。

所以我的SIP可以工作,但是它不喜欢SDP数据。

它目前的结构是这样的:

代码语言:javascript
复制
String sdpData = "v=0\r\n"
            + "o=- 019078020 0"
            + " IN IP4  sip.ciceronetworks.com\r\n" + "s=MySession\r\n"
            + "c=IN IP4  sip.ciceronetworks.com\r\n"
            + "t=0 0\r\n" + "m=audio 6002 RTP/AVP 0\r\n"
            + "a=sendrecv\r\n" + "a=rtpmap:0 PCMU/8000\r\n" + "a=ptime:20\r\n"+ "a=fmtp:97 mode=20\r\n";


    byte[] contents = sdpData.getBytes(); 

    request.setContent(contents, contentTypeHeader); 

就像这样,我得到了100次尝试,然后180次振铃,但当我在另一端接听电话时,我没有得到任何回应,它似乎只是崩溃,我也得到了“音频设备错误”的pc客户端,我尝试振铃。

有人有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-16 01:56:33

问题可能非常简单:您似乎忘记了"a=sendrecv“之后的换行符。:-)

无论如何,这里有一个建议:出于测试目的,您最好使用工具,而不是直接开始编写协议的一部分。您可以使用sipp来实现此目的,它是测试SIP网络的一个很好的工具。除此之外,您当然可以只嗅探两个正常工作的SIP设备之间的网络流量,看看它与您的流量有何不同。

编辑:

我之前遗漏了这一点:您应该省略a=fmtp:97 mode=20,因为这样会话描述是无效的:您只能对媒体行中提到的编解码器使用格式参数属性。编解码器通过有效负载类型编号(0=PCMU、8=PCMA、18=G723等)进行标识。一些编解码器没有正式分配的数字,对于这些数字,应该使用动态范围96-127 :用户代理可以通过rtpmap属性自由分配这个范围内的数字。因此,除非您指定97所指的编解码器,否则其他用户代理无法知道应将格式参数应用于哪个编解码器。

票数 2
EN

Stack Overflow用户

发布于 2010-02-27 05:31:45

mode=20是对的: a=fmtp:97 mode=20是完全错误的(看起来它是iLBC编解码器产品的一部分)。你没有提供编解码器97,你提供了编解码器0 (PCMU)。

请注意,a=fmtp:97不应该伤害您,它只是伪造的。

最可能的问题是您不是sip.ciceronetworks.com -即您的c=线路(和m=线路)显示“将我的媒体发送到sip.ciceronetworks.com的6002端口”。我怀疑你的PC的IP地址与sip.ciceronetworks.com不同,或者你和另一端之间有防火墙/NAT。

这可能不是您的问题,但是根据RFC 4566的规范,o=行是错误的

代码语言:javascript
复制
o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>

让VoIP工作并不像RFC或食谱解释所暗示的那样简单……

票数 1
EN

Stack Overflow用户

发布于 2012-04-17 14:42:06

我找到了一篇关于SDP (会话描述协议)的好文章。它还与一个被称为Ozeki VoIP SIP的软件开发工具包建立了关系。例如,如果你将这些东西结合起来,你将能够创建一个软电话。

还简要介绍了SDP的总体情况。

对于那些想要开发自己的软电话或网络电话应用程序或您想要的东西的人来说,在VoIP SIP call中使用SDP是一个有趣的话题。

SDP描述了用于会话通告、会话邀请和参数协商的多媒体通信会话。

SDK的使用可以减轻人们的负担,灵活性和高兼容性是有保证的。

有关SDP的更多信息,如果您在谷歌上搜索:"Working with SDP in VoIP SIP call“,您可以查看上面提到的文章。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2267787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档