[asterisk-bugs] [JIRA] (ASTERISK-30184) res_pjsip_session: re-INVITE after answering results in wrong stream direction of first call leg

Maximilian Fridrich (JIRA) noreply at issues.asterisk.org
Wed Aug 17 08:04:09 CDT 2022


    [ https://issues.asterisk.org/jira/browse/ASTERISK-30184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=259951#comment-259951 ] 

Maximilian Fridrich commented on ASTERISK-30184:
------------------------------------------------

I am trying to solve the issue but I am facing some difficulties. Some observations I have made:

* Many re-INVITES (session refreshes) are sent to the first call leg after answering. The sources of those re-INVITES seem to be:
** {{bridge_simple.c:simple_bridge_join()}}: The incoming channel was in held state, so an unhold is indicated ( -> session refresh).
** {{bridge_simple.c:simple_bridge_join()}}: Requests a stream topology change.
** Possibly {{chan_pjsip.c:update_connected_line()}} which is called.

It looks like re-INVITES are being delayed and are sent when the initial INVITE transaction has terminated. It seems like the delayed requests do not contain what we expect - I would expect the re-INVITE triggered by the topology change of the re-INVITE by the callee to be the last one in the queue of delayed requests.

I am quite confused how Asterisk ended up in this situation and I would be thankful for any help/ideas on what could have gone wrong or where I should look at. Thank you.

> res_pjsip_session: re-INVITE after answering results in wrong stream direction of first call leg
> ------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-30184
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-30184
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_pjsip, Resources/res_pjsip, Resources/res_pjsip_session
>    Affects Versions: 18.13.0
>            Reporter: Maximilian Fridrich
>         Attachments: ASTERISK-30184-fixed-with-delay.pcapng, ASTERISK-30184.pcapng, debug_log_30184.txt
>
>
> Using the Dial application, when the outgoing call leg receives a 200 from the callee answering the call, and then immediately after receives a re-INVITE from the callee updating a media stream direction, Asterisk does not correctly update the media stream of the first call leg (to the caller). Asterisk does send multiple re-INVITES to the first call leg but the last one does not contain the correct stream directions from the re-INVITE.
> When sending the re-INVITE with some delay (e.g. 500ms), Asterisk correctly updates the stream direction of the first call leg (see attached traces).



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list