PJSIP keep alive vs comfort noise

It’s linked to outbound flowing RTP. If RTP is being sent for some reason, then keepalive would not kick in. The implementation itself is pretty small[1].

[1] https://github.com/asterisk/asterisk/blob/master/res/res_pjsip_sdp_rtp.c#L71