[asterisk-dev] ASTERISK-30184 re-INVITE after answering results in wrong stream direction

Fridrich Maximilian M.Fridrich at commend.com
Mon Sep 5 08:22:58 CDT 2022


Hi,

I am currently working on ASTERISK-30184 [1]. I have come up with multiple
hypotheses as to what the root of the issue could be and none of them have been
fruitful so far. What I have hypothesized so far:

- When the call is answered, multiple delayed re-INVITES are sent to the first
  call leg and I thought that the order of those might have been messed up.
  However, after careful debugging I couldn't find a flaw in the code -
  re-INVITES that had been queued before are being inserted at the front of the
  queue in sip_session_refresh(), which seems fine.
  
- The re-INVITE is received on the first channel and queues a stream topology
  changed frame while the bridge is not yet fully set up. However, during
  debugging it looked like that is not the case as handle_negotiated_sdp() does
  not seem to queue such a frame when it receives the re-INVITE.
  
- The function handle_negotiated_sdp does not queue a stream topology changed
  frame after the re-INVITE even though it should. This could happen if either
  active or pending media state are incorrect, but I haven't found out how that
  could have happened.

I would appreciate it if anyone had any ideas on what could go wrong here. Even
just a hunch of what I could look at could be helpful.

Thanks,
Max

[1] https://issues.asterisk.org/jira/browse/ASTERISK-30184


More information about the asterisk-dev mailing list