Wireshark を使用して、次の SIP INVITE データグラムを Linphone から CR-LF 改行のあるファイルにダンプしました。
INVITE sip:1002@172.16.76.21 SIP/2.0
Via: SIP/2.0/UDP 172.16.76.21:5060;rport;branch=z9hG4bK1936726928
From: <sip:1555@172.16.76.21>;tag=1350138383
To: <sip:1002@172.16.76.21>
Call-ID: 1393698667
CSeq: 20 INVITE
Contact: <sip:1555@172.16.76.20>
Content-Type: application/sdp
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Max-Forwards: 70
User-Agent: Linphone/3.5.2 (eXosip2/3.6.0)
Subject: Phone call
Content-Length: 205
v=0
o=1555 1125 1125 IN IP4 172.16.76.21
s=Talk
c=IN IP4 172.16.76.21
t=0 0
m=audio 7078 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-11
ファイル バイナリを読み取り、UDP データグラムを挿入し、ポート 5060 にバインドされたソケットを介して送信する単純な Python スクリプトを作成しました。これをユーザー エージェントを実行しているクライアントに送信すると、200 OK が返されます。SIP プロキシである FreeSwitch に送信しようとすると、400 Bad Session Description が表示されます。
このメッセージが最初に Linphone から送信されたとき、FreeSwitch は 200 OK で応答しました。