Avoid PJ ICE Rx error, when using SIP only


since I’m relying on the pick up channel feature of chan_sip (dialog-info+xml) for my SNOM phones, that doesn’t appear to be available in PJSIP (to my humble knowledge), I attempted to disable PJSIP altogether, which succeeded (no WARNING on start up), but a WARNING, accompanied with a SRTCP error spams my logs every 5 seconds(!) for every RTP connection(!):

[2018-10-25 19:52:28] WARNING[7506][C-00000003]: res_rtp_asterisk.c:2939 __rtp_recvfrom: PJ ICE Rx error status code: 370400 'Bad Request'.
[2018-10-25 19:52:28]   == SRTCP unprotect failed on SSRC 439729797 because of unable to perform desired validation

Yes, I have icesupport enabled and my SIP provider seems to support it, but no, my provider doesn’t support SIPS/SRTP, yet.

This happens with Asterisk 15.6.1, which behaves really nice otherwise.

Any advise, how I can get rid of those, is much appreciated.

Slowly getting to the bottom of this. In fact, it’s related to ICE support, triggered from res_rtp_asterisk, if HAVE_PJPROJECT is defined, which unconditionally uses PJSIP (somewhat consequently ;-)…

Problem here is the attempt to disable PJSIP altogether, but noloading res_pjproject.so results in a unusable system, since that’s required from res_rtp_asterisk.som but without RTP, VoIP rather lacks…

SO, either

  • avoid ICE
  • keep PJSIP or
  • live with the stray errors

I’ve choosen the first option.

To get rid of the SRTCP unprotect failed on SSRC messages: noload => res_srtp.so did the trick.

There’s one other related question - is it possible to run SIP and PJSIP together, say using SIP for local phones and PJSIP for a sip trunk? Does this work at all, and if so, what downsides are to be expected?