我正在寻找可以解析sip数据包的c#库或类。我需要可以帮助我从数据包中获取Call-ID字段,请求类型以及基本上将sip数据包细分为其字段的函数。
有人知道有什么可以帮助我的吗?谢谢,ofek
我的sipsorcery项目中的此类课程可以为您完成。
更新:如果您的字符串包含完整的SIP数据包,则可以使用以下方法来解析完整的内容:
var req = SIPSorcery.SIP.SIPRequest.ParseSIPRequest(reqStr);
var headers = req.Header;
var resp = SIPSorcery.SIP.SIPResponse.ParseSIPResponse(respStr);
var headers = resp.Header;
如果您不知道SIP数据包是请求还是响应,则可以使用SIPMessage类:
var mess = SIPSorcery.SIP.SIPMessage.ParseSIPMessage(messStr, null, null);
var headers = SIPSorcery.SIP.SIPHeader.ParseSIPHeaders(mess.SIPHeaders);
更新2:
假设您正在使用pcap.net捕获SIP数据包,则最终可能会得到一个字节块而不是一个字符串。您可以使用SIPMessage类来解析来自UDP有效负载的SIP数据包:
var mess = SIPSorcery.SIP.SIPMessage.ParseSIPMessage(packet.Ethernet.IPv4datagram.Udp.Payload, null, null);
var headers = SIPSorcery.SIP.SIPHeader.ParseSIPHeaders(mess.SIPHeaders);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句