1

sip パケットを解析できる c# のライブラリまたはクラスを探しています。パケットから Call-ID フィールド、要求のタイプを取得し、基本的に sip パケットをそのフィールドに分解するのに役立つ関数が必要です。

誰かが私を助けることができる何かを知っていますか? ありがとう、オフェク

4

1 に答える 1

5

私の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);
于 2013-10-14T02:34:30.170 に答える