如RFC 2327中所述,无法在sdp中设置ttl

时间:2017-05-19 08:09:36

标签: sip sdp ucma

如果我尝试在Microsoft.Rtc.Collaboration.dll的帮助下解析以下sdp:

v=0
o=- 0 0 IN IP4 192.168.253.202
s=session
c=IN IP4 224.2.36.42/127
t=0 0
m=message 5060 sip null
a=accept-types:text/plain

我使用以下代码:

Sdp<SdpGlobalDescription, SdpMediaDescription> sessionDescription2 = new Sdp<SdpGlobalDescription, SdpMediaDescription>();

var encodedText = Encoding.ASCII.GetBytes(text);  <---- text is the sdp above
if (sessionDescription2.TryParse(encodedText, 0, encodedText.Length, true))

但我得到:第4行:值不是有效的IP地址或主机名

在RFC2327中,您可以找到

The TTL for the session is appended to the address using a slash as
a separator.  An example is:

c=IN IP4 224.2.1.1/127

那么我该如何设置和读取sdp中的ttl?

1 个答案:

答案 0 :(得分:0)

只是Microsoft.Rtc不理解此扩展名。许多SIP / WebRTC / SDP软件都不支持此功能。

我建议在信令中使用它,而不是使用SDP中的TTL值。您可以在请求URI中指定它:

sip:target@domain.com;maddr=224.2.1.1;ttl=127

您可以使用SetAddressInfo:

进行设置
hr = myconnection->SetAddressInfo(uri,1,TTL);