diff --git a/daemon/media_socket.c b/daemon/media_socket.c index 2aab970e3..2f77d4b68 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -2405,7 +2405,7 @@ int media_packet_encrypt(rewrite_func encrypt_func, struct packet_stream *out, s for (__auto_type l = mp->packets_out.head; l; l = l->next) { struct codec_packet *p = l->data; - if (mp->call->recording && rtpe_config.rec_egress) { + if (mp->call->recording && rtpe_config.rec_egress && CALL_ISSET(mp->call, RECORDING_ON)) { p->plain = STR_LEN(bufferpool_alloc(media_bufferpool, p->s.len), p->s.len); memcpy(p->plain.s, p->s.s, p->s.len); p->plain_free_func = bufferpool_unref; diff --git a/daemon/recording.c b/daemon/recording.c index 0b6d9e854..b3c979d82 100644 --- a/daemon/recording.c +++ b/daemon/recording.c @@ -738,6 +738,8 @@ static void stream_pcap_dump(struct media_packet *mp, const str *s) { static void dump_packet_pcap(struct media_packet *mp, const str *s) { if (ML_ISSET(mp->media->monologue, NO_RECORDING)) return; + if (!CALL_ISSET(mp->call, RECORDING_ON)) + return; struct recording *recording = mp->call->recording; mutex_lock(&recording->pcap.recording_lock); stream_pcap_dump(mp, s); @@ -1036,6 +1038,8 @@ static void dump_packet_proc(struct media_packet *mp, const str *s) { struct packet_stream *stream = mp->stream; if (stream->recording.proc.stream_idx == UNINIT_IDX) return; + if (!CALL_ISSET(mp->call, RECORDING_ON)) + return; struct rtpengine_command_packet *cmd; unsigned char pkt[sizeof(*cmd) + s->len + MAX_PACKET_HEADER_LEN];