We had to do an SDP change to get TLS and SRTP to work with paging.
Previously the sipXpage module always generated a new SDP for the outbound legs, which broke the flow for secure audio.
Now we forward the inbound SDP onwards if it exists.
So check the audio parameters of your inbound legs.
The updated logic from LegSipListener.java below, with the legacy code that previously generated a new SDP found under the 'else' statement.
if( originatorSdp != null ) {
sdp.setMediaDescriptions( originatorSdp.getMediaDescriptions(true));
}
else {
Vector <MediaDescription>mediaList = new Vector<MediaDescription>() ;
Vector <Attribute>attrs = new Vector<Attribute>();
attrs.add(sdpFactory.createAttribute("rtpmap", "0 PCMU/8000"));
attrs.add(sdpFactory.createAttribute("ptime", "20"));
if (sendOnly)
{
attrs.add(sdpFactory.createAttribute("sendonly", null)) ;
}
else
{
attrs.add(sdpFactory.createAttribute("sendrecv", null)) ;
}
String[] codecs = {PCMU};
MediaDescription md = sdpFactory.createMediaDescription("audio", localPort, 2, "RTP/AVP", codecs);
md.setAttributes(attrs);
mediaList.add(md);
sdp.setMediaDescriptions(mediaList) ;
}