[asterisk-bugs] [JIRA] (ASTERISK-29655) res_pjsip_session: No video to caller if no camera available
Michael Auracher (JIRA)
noreply at issues.asterisk.org
Wed Sep 15 07:23:33 CDT 2021
[ https://issues.asterisk.org/jira/browse/ASTERISK-29655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Auracher updated ASTERISK-29655:
----------------------------------------
Description:
This issue is 100% reproducable on all Asterisk versions > 16.9.0
Setup: Asterisk with default config, only devices are configured.
Codecs: h264 + any audio codec
Reproduce:
Device 1 has a display but no camera
Device 2 has a display and camera
1. Call from Device 1 to Device 2
2. Answer call on Device 2 (we have auto answer enabled)
Actual result: No Video is shown on on caller display (Device 1)
Expected result: Video is shown on on caller display (Device 1)
Happens after the changes introduced in https://issues.asterisk.org/jira/browse/ASTERISK-28783 in
https://gerrit.asterisk.org/c/asterisk/+/13954/2/res/res_pjsip_session.c
Workaround: patched file by reverting the changes from ASTERISK-28783
was:
This issue is 100% reproducable on all Asterisk versions > 16.9.0
Setup: Asterisk with default config, only devices are configured.
Codecs: h264 + any audio codec
Reproduce:
(Tested with Yealink-T58V, Yealink-VP530, Grandstream-GXV3275 (all early media enabled) to a Grandstream-GXV3275 (or any other device supporting early media)
1. Call from a video phone
2. Preview video is displayed on GXV3275 (OK)
3. Answer call on GXV3275
Actual result: No Video is shown on on caller display
Expected result: Video is shown on on caller display
Happens after the changes introduced in https://issues.asterisk.org/jira/browse/ASTERISK-28783 in
https://gerrit.asterisk.org/c/asterisk/+/13954/2/res/res_pjsip_session.c
Workaround: patched file by reverting the changes from ASTERISK-28783
Details:
11:28:47.1228 : [11153]: res_pjsip_session.c:4230 session_on_tsx_state: Topology: Pending: (null topology) Active: <0:audio-0:audio:sendrecv (g722|alaw|ulaw)> <1:video-1:video:sendrecv (h264)>
Than we get: "Pending media state exists"
res_pjsip_session.c:2302 sip_session_refresh: PJSIP/132-00000000: DP: <0:audio-0:audio:sendrecv (g722|alaw|ulaw)> <1:video-1:video:recvonly (h264)> → this will be used
res_pjsip_session.c:2303 sip_session_refresh: PJSIP/132-00000000: DA: <0:audio-0:audio:sendrecv (g722|alaw|ulaw)> <1:video-1:video:sendrecv (h264)>
res_pjsip_session.c:2304 sip_session_refresh: PJSIP/132-00000000: CP: (null topology)
res_pjsip_session.c:2305 sip_session_refresh: PJSIP/132-00000000: CA: <0:audio-0:audio:sendrecv (g722|alaw|ulaw)> <1:video-1:video:sendrecv (h264)>
The first channel in the bridge is PJSIP/200-00000001 (the caller) which has :
Topology: Pending: (null topology) Active: <0:audio-0:audio:sendrecv (g722|alaw|ulaw)> <1:video-1:video:sendonly (h264)>
Which is the “Early media” state in this test case
This is the resulting topology although the SIP 200 OK + SDP video:sendrecv is set by the Grandstream:
11:28:47.1237 : [11153]: res_pjsip_session.c:2194 sip_session_refresh: PJSIP/132-00000000: New SDP? yes Queued? yes DP: <0:audio-0:audio:sendrecv (g722|alaw|ulaw)> <1:video-1:video:recvonly (h264)> DA: <0:audio-0:audio:sendrecv (g722|alaw|ulaw)> <1:video-1:video:sendrecv (h264)>
11:28:47.1237 : [11153]: res_pjsip_session.c:2266 sip_session_refresh: PJSIP/132-00000000: Pending media state exists
11:28:47.1238 : [11153]: res_pjsip_session.c:2300 sip_session_refresh: PJSIP/132-00000000: Active media state exists and is not equal to pending
11:28:47.1243 : [11153]: res_pjsip_session.c:1945 resolve_refresh_media_states: PJSIP/132-00000000: Changed NP stream state from sendrecv to recvonly
Then an INVITE is sent to the Grandstream and the video is turned off.
> res_pjsip_session: No video to caller if no camera available
> ------------------------------------------------------------
>
> Key: ASTERISK-29655
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-29655
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Resources/res_pjsip_session
> Affects Versions: 16.10.0, 18.6.0
> Environment: Alpine Linux (in Docker), various versions.
> All Asterisk versions >16.9
> Reporter: Michael Auracher
> Assignee: Unassigned
>
> This issue is 100% reproducable on all Asterisk versions > 16.9.0
> Setup: Asterisk with default config, only devices are configured.
> Codecs: h264 + any audio codec
> Reproduce:
> Device 1 has a display but no camera
> Device 2 has a display and camera
> 1. Call from Device 1 to Device 2
> 2. Answer call on Device 2 (we have auto answer enabled)
> Actual result: No Video is shown on on caller display (Device 1)
> Expected result: Video is shown on on caller display (Device 1)
> Happens after the changes introduced in https://issues.asterisk.org/jira/browse/ASTERISK-28783 in
> https://gerrit.asterisk.org/c/asterisk/+/13954/2/res/res_pjsip_session.c
> Workaround: patched file by reverting the changes from ASTERISK-28783
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list