2010-05-28 96 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