Hello,
I have an issue with the module SDPOPS while using “sdp_keep_codecs_by_name”.
If the calling party sends only one codec description like:
Content-Type: application/sdp
Content-Length: 202
v=0
o=UserA 2966746938 1790378070 IN IP4 10.141.0.21
s=Session SDP
c=IN IP4 10.141.0.21
t=0 0
m=audio 49152 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
The result of the function “sdp_keep_codecs_by_name("PCMA,PCMU,G729a");” is:
Content-Type: application/sdp
Content-Length: 170
P-Asserted-Identity: "+0123456789" <sip:+0123456789@sip.tld>
v=0
o=UserA 2485672881 3000549892 IN IP4 a.b.c.d
s=Session SDP
c=IN IP4 a.b.c.d
t=0 0
m=audio 40330 RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=nortpproxy:yes
If I open the capture in Wireshark, the PAI is not in the SDP part, and the end of the capture after “a=rtpmap:8 PCMA/8000” is seen as “Data (18 bytes)”.
I don’t understand why the PAI is inserted within the SDP part. Adding the PAI is done after “sdp_keep_codecs_by_name”:
if (!is_present_hf("P-Asserted-Identity")) {
$var(pai) = $(fU{re.subst,/^0/+33/g});
append_hf("P-Asserted-Identity: \"$var(pai)\" <sip:$var(pai)@$fd>\r\n");
}
I guess that this cause my INVITE being dropped by 488 Media Not Acceptable Here.
Regards,
Igor.