Hi,
we have a problem with a device trying to send T.38 fax. During the T.38 ReInvite Kamailio fails to parse the SDP (via rtpengine_manage), and subsequently rtpengine is failing to do it's job. The problem seems to be that Kamailio is trying to find a media address, since there is no session-wide c= line present it goes to the media c= lines, but since the first media stream which was an audio stream is being removed (port 0) and can therefore omit all attributes (as per RFC 3264 8.2, or am i understanding this wrong?), the Kamailio SDP parser is failing, even if there is another c= line in the T.38 media stream.
Here is the offending SDP from the ReInvite (IP changed):
v=0 o=xmserver 1726638425 1726638427 IN IP4 169.254.1.1 s=xmserver t=0 0 m=audio 0 RTP/AVP 8 m=image 56002 udptl t38 c=IN IP4 169.254.1.1 a=sendrecv a=T38FaxVersion:0 a=T38MaxBitRate:14400 a=T38FaxFillBitRemoval:0 a=T38FaxTranscodingMMR:0 a=T38FaxTranscodingJBIG:0 a=T38FaxRateManagement:transferredTCF a=T38FaxMaxBuffer:200 a=T38FaxMaxDatagram:72 a=T38FaxUdpEC:t38UDPRedundancy
And here is the corresponding log entry: <core> [core/parser/sdp/sdp.c:523]: parse_sdp_session(): can't find media IP in the message
Can anyone confirm my findings? Is it possible to adjust the SDP parser for these kind of scenarios?
Mit kommunikativen Grüßen I Best regards
Thomas