如果我尝试在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?
答案 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);