2017-10-10 11 views
-1

コーデックPCMA、PCMU、G729Aで私の運転と受信の終点を設定しました。私は運転中の端からの一口の招待を見ると、私は同じ順序でコーデックを参照してください。受信側からの183セッションの進捗状況はG729Aを示し、このコーデックでコールが進行します。なぜこれが起こるのですか?私はコーデックがPCMAであることを交渉したと思った。優先順位はありますか?ペイロードタイプなど?Sipのコーデックネゴシエーション

答えて

1

SDPオファー内の各メディエリアには、サポートされているコーデックが含まれています。

RFC3264 5.1状態(SDPオファー上):すべての場合において

、でフォーマット「mは=」行が好ましい列挙された最初の形式で、 優先順にリストされなければなりません。この の場合、優先とは、オファーの受取人が受け入れることができる最も高い優先度を持つ フォーマットを使用するべきであることを意味する(SHOULD)。

そしてRFC3264 6.1(SDP回答に):

回答が 優先それらの所望の順序でフォーマットを列挙してもよいが、特定の理由、 回答リストがない限りことが推奨されます同じ順番にフォーマットされており、それは である。言い換えれば、オファーのストリームがのオーディオコーデック8,22,48をこの順番でリストし、回答者のみがコーデック8と48をサポートする の場合は、回答者が を変更する理由がない場合はそれが推奨されます応答のコーデックの順序は、 48、48ではなく8となります。これは、同じコーデックが両方向の で使用されることを保証するのに役立ちます。

次の行は、SDPオファーから取得したものです。送信者はコーデック8,0、および101をサポートすることを発表します。彼は0(PCMU)以上の8(PCMA)を好みます。

m=audio 6200 RTP/AVP 8 0 101 
a=rtpmap:8 PCMA/8000 
a=rtpmap:0 PCMU/8000 
a=rtpmap:101 telephone-event/8000 

受信者は、実際に使用されるコーデックを決定し、これをSDP回答で送信します。彼は、サポートしていないコーデックを除外し、残りのコーデックの相対的な順序を変更することがあります(推奨されません)。