Skip to content

[BUG] siprec on onreply_route not work (3.6.3) #3811

@twocolors

Description

@twocolors

OpenSIPS version you are running

version: opensips 3.6.3 (x86_64/linux)
flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, F_PARALLEL_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll, sigio_rt, select.
git revision: d5222226a
main.c compiled on  with gcc 10

Describe the bug

func siprec_start_recording not make invite (session) to SRS , only work if call 2 times siprec_start_recording

i have flow

onreply_route[MANAGE_REPLY] {
  xlog("[$ci] $rm $rs incoming reply\n");

  if (is_method("INVITE|UPDATE|PRACK") && ($rs == 180 || $rs == 181 || $rs == 183 || $rs == 200)) {
    if (has_body("application/sdp")) {
      if ($dlg_val(FT) == $tt) {
        xlog("[$ci] [SIPREC] rtpengine_manage $ft - $tt (From tag - To tag) ($dlg_val(FT))\n");
        rtpengine_manage("loop-protect");
      }
    }
  }

  if (is_method("INVITE") && ($rs == 200)) {
    if ($dlg_val(SIPREC) == true) {
      $dlg_val(SIPREC) = false;
      xlog("[$ci] [SIPREC] true (Service)\n");

      $siprec(media) = "codec-strip-all codec-offer-PCMA codec-transcode-PCMA allow-transcoding no-passthrough";

      $var(srs) = "sip:127.0.0.1:5090";
      siprec_start_recording($var(srs)); # 1 run

      if (siprec_start_recording($var(srs))) { # 2 run
        xlog("[$ci] [SIPREC] Started\n");
      } else {
        xlog("[$ci] [SIPREC] Started failed\n");
      }
    } else {
      xlog("[$ci] [SIPREC] false (skip)\n");
    }
  }

  if (is_method("INVITE") && $rs >= 300) {
    rtpengine_manage();
  }
}

if have 183 SDP - only work call 2 siprec_start_recording , if not have progress (answer 200 SDP) everything works well, one call is enough

To Reproduce

Expected behavior

Relevant System Logs

OS/environment information

  • Operating System: Debian 11
  • OpenSIPS installation: debs
  • other relevant information:

Additional context

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions