2010-05-28 94 views
2

我想用它的属性创建一个SDP媒体字段,并且有一些我不明白的东西。我已经浏览并阅读了相关的RFC,并且我了解每个字段的含义,但我不明白的是,如何从JMF的音频/视频格式中获得该格式的哪些参数组成rtpmap注册表我需要使用的条目。我看到很多次SDP媒体字段格式

m=audio 12548 RTP/AVP 0 8 101 
a=rtpmap:0 PCMU/8000 
a=rtpmap:8 PCMA/8000 
a=rtpmap:101 telephone-event/8000 
a=fmtp:101 0-16 
a=silenceSupp:off - - - - 
a=ptime:20 
a=sendrecv 

这些都是从我连接到PBX服务器接收到的领域,他们怎么在JMF音频格式属性的术语的意思。 (我明白这些是在电信常用的标准音频格式)

UPDATE:

我更想知道在

末尾的格式参数“”
m=audio 12548 RTP/AVP 0 8 101 

我知道他们是从这个list引用的,但是如何根据JMF媒体格式确定使用哪一个?

在此先感谢,

Adam Zehavi。

回答

2

你可以使用任何在SDP中列出的编解码器。发送SDP的代理表明它支持列出的所有编解码器。

在您提供的SDP示例中,您可以开始发送使用G711 ULAW(PCMU)或G711 ALAW(PCMA)编码的RTP。

+0

是的,我明白了,我可以发送的内容非常简单,我不明白的是同一个属性有10个不同的名称。如果你看看我提供的链接,索引0,3,4,5,7,8,9 它们都具有相同的属性,我如何知道在第一个请求上添加哪些链接? – TacB0sS 2010-05-29 05:25:11

+0

我想我现在明白了..我很困惑发送请求和收到响应参数......这不是你如何向你发送请求...我是对的吗? – TacB0sS 2010-05-29 08:26:03

+0

对不起,我不太了解这个问题。在INVITE请求SDP中,调用者指定它们支持的编解码器列表。接收器可以为其发送的RTP流选择任何一种编解码器。接收者然后发送一个INVITE响应和一个不同的SDP,它指定了它准备接受的编解码器。当调用者得到它时,它可以为它将要发送的RTP流选择任何一种编解码器。这意味着发送方和接收方的RTP流实际上可以使用不同的编解码器,尽管它们通常是相同的。 – sipwiz 2010-05-29 09:50:44

1

我不知道这是否是你问什么,但:

  • PCMU/8000:1路,8000赫兹,m-Law编码格式
  • PCMA/8000:1路, 8000赫兹,A-Law编码格式
  • 电话事件:DTMF数字,电话铃声
+0

这是我问/想知道的部分。谢谢! – TacB0sS 2010-05-28 16:11:13

0

经过很长时间的搜索和不真正理解,我可以回答我的问题。 在我看来,SDP的唯一用途就是让每一方都向他人陈述他的媒体能力,我没有意识到它是以谈判的形式出现的,我不了解需要进行如此深入的谈判媒体,我认为客户端1可以提供X,Y,Z,W,客户端2会回应我只能得到X,W然后客户端会说好的我发给你W格式...

不知道为什么这对我来说是完全有意义的,我将以这种方式设计我的应用程序的SDP包装器,并且只使用JMF格式作为比较,而不是一次又一次地处理SDP的装订线,我会尝试设计一个通用模板,使用JMF格式数组执行所有这些令人讨厌的文本生成方法,就像我认为它应该是的一样,唯一让我感到惊讶的是,我没有发现任何这样的东西已经完成。 。

感谢您的帮助,如果任何人有没有想过这个话题再次,刚开始阅读本RFC