[asterisk-bugs] [JIRA] (ASTERISK-24388) res_pjsip_sdp_rtp: Declining media streams should remove all lines but the media session (m) and connection line (c)
Matt Jordan (JIRA)
noreply at issues.asterisk.org
Mon Oct 6 11:03:29 CDT 2014
[ https://issues.asterisk.org/jira/browse/ASTERISK-24388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt Jordan updated ASTERISK-24388:
-----------------------------------
Status: Open (was: Triage)
> res_pjsip_sdp_rtp: Declining media streams should remove all lines but the media session (m) and connection line (c)
> --------------------------------------------------------------------------------------------------------------------
>
> Key: ASTERISK-24388
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-24388
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Resources/res_pjsip_sdp_rtp
> Reporter: Matt Jordan
> Severity: Minor
> Attachments: ASTERISK-24388-log.txt
>
>
> When we decline a media stream (after a few handy patches), we do properly set the port on the media stream to 0 and include the connection information, which is good. We also strip out all media attributes (which is also good).
> Unfortunately, we keep other subsequent media lines that we don't understand. This _could_ result in some bad clients processing said lines. Some of those lines, for video streams, do interesting things like restrict bandwidth. This can result in a rejected media stream actually restricting the bandwidth of an accepted media stream.
> A sample call flow is attached, however, the interesting bit of the SDP is as follows:
> *Original offer*:
> {noformat}
> v=0
> o=- 1412322884 1412322885 IN IP4 127.0.0.1
> s=-
> c=IN IP4 132.177.253.37
> b=AS:3796
> t=0 0
> m=audio 40102 RTP/AVP 97 101 102 103 104 105 106 107 108 109 9 18 0 8 125 99
> c=IN IP4 132.177.253.37
> a=rtpmap:97 MP4A-LATM/90000
> a=fmtp:97 profile-level-id=24;object=23;bitrate=64000
> a=rtpmap:101 opus/48000/2
> a=rtpmap:102 SIREN14/16000
> a=fmtp:102 bitrate=48000
> a=rtpmap:103 SIREN14/16000
> a=fmtp:103 bitrate=32000
> a=rtpmap:104 SIREN14/16000
> a=fmtp:104 bitrate=24000
> a=rtpmap:105 G7221/32000
> a=fmtp:105 bitrate=48000
> a=rtpmap:106 G7221/32000
> a=fmtp:106 bitrate=32000
> a=rtpmap:107 G7221/32000
> a=fmtp:107 bitrate=24000
> a=rtpmap:108 G7221/16000
> a=fmtp:108 bitrate=32000
> a=rtpmap:109 G7221/16000
> a=fmtp:109 bitrate=24000
> a=rtpmap:9 G722/8000
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=yes
> a=rtpmap:0 PCMU/8000
> a=rtpmap:8 PCMA/8000
> a=rtpmap:125 ulpfec/90000
> a=rtpmap:99 telephone-event/8000
> a=fmtp:99 0-15
> a=rtcp:40103 IN IP4 132.177.253.37
> a=sendrecv
> a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:gka1JCPnCZ9MwnC1un85G34yP95AyHJhbjApGnQ/|2^48
> a=crypto:2 AES_CM_128_HMAC_SHA1_80 inline:gka1JCPnCZ9MwnC1un85G34yP95AyHJhbjApGnQ/|2^48 UNENCRYPTED_SRTCP
> a=candidate:1 1 udp 2044723199 132.177.253.37 40102 typ host
> a=candidate:1 2 udp 2044723198 132.177.253.37 40103 typ host
> a=candidate:4 1 udp 1038090239 132.177.253.4 24000 typ relay raddr 132.177.253.37 rport 40102
> a=candidate:4 2 udp 1038090238 132.177.253.4 24001 typ relay raddr 132.177.253.37 rport 40103
> a=candidate:2 1 udp 2044722943 2606:4100:3880:2520::8:3 40102 typ host
> a=candidate:2 2 udp 2044722942 2606:4100:3880:2520::8:3 40103 typ host
> a=ice-ufrag:C/3Y
> a=ice-pwd:yepNKgVjgHr5a7NkekFiB3
> m=video 40104 RTP/AVP 97 98 101 102 99 123 34 124 125
> c=IN IP4 132.177.253.37
> b=TIAS:3732480
> a=rtpmap:97 H264/90000
> a=fmtp:97 profile-level-id=428014;max-br=3732;max-mbps=245760;max-fs=8192;max-smbps=245760;max-fps=3000
> a=rtpmap:98 H264/90000
> a=fmtp:98 profile-level-id=428014;max-br=3732;max-mbps=245760;max-fs=8192;max-smbps=245760;max-fps=3000;packetization-mode=1
> a=rtpmap:101 H264/90000
> a=fmtp:101 profile-level-id=42c014;max-br=3732;max-mbps=245760;max-fs=8192;max-smbps=245760;max-fps=3000
> a=rtpmap:102 H264/90000
> a=fmtp:102 profile-level-id=42c014;max-br=3732;max-mbps=245760;max-fs=8192;max-smbps=245760;max-fps=3000;packetization-mode=1
> a=rtpmap:99 H263-1998/90000
> a=fmtp:99 custom=512,288,1;cif=1;qcif=1;maxbr=10880
> a=rtpmap:123 VP8/90000
> a=fmtp:123 max-fs=3600;max-fr=30
> a=rtpmap:34 H263/90000
> a=fmtp:34 cif=1;qcif=1;maxbr=10880
> a=rtpmap:124 red/90000
> a=rtpmap:125 ulpfec/90000
> a=rtcp:40105 IN IP4 132.177.253.37
> a=rtcp-fb:* nack pli
> a=rtcp-fb:* nack
> a=sendrecv
> a=content:main
> a=label:11
> a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:EFmX5mwZNUR0XIFsVqilwrPmVw9DQhh5GCYh/hUF|2^48
> a=crypto:2 AES_CM_128_HMAC_SHA1_80 inline:EFmX5mwZNUR0XIFsVqilwrPmVw9DQhh5GCYh/hUF|2^48 UNENCRYPTED_SRTCP
> a=candidate:1 1 udp 2044723199 132.177.253.37 40104 typ host
> a=candidate:1 2 udp 2044723198 132.177.253.37 40105 typ host
> a=candidate:4 1 udp 1038090239 132.177.253.4 24002 typ relay raddr 132.177.253.37 rport 40104
> a=candidate:4 2 udp 1038090238 132.177.253.4 24003 typ relay raddr 132.177.253.37 rport 40105
> a=candidate:2 1 udp 2044722943 2606:4100:3880:2520::8:3 40104 typ host
> a=candidate:2 2 udp 2044722942 2606:4100:3880:2520::8:3 40105 typ host
> a=ice-ufrag:RffZ
> a=ice-pwd:xx6JDzMpjQEGrOkaBBrOQh
> m=video 40106 RTP/AVP 97 98 101 102 99 123 34 125
> c=IN IP4 132.177.253.37
> b=TIAS:3732480
> a=rtpmap:97 H264/90000
> a=fmtp:97 profile-level-id=428014;max-br=3732;max-mbps=245760;max-fs=8192;max-smbps=245760;max-fps=3000
> a=rtpmap:98 H264/90000
> a=fmtp:98 profile-level-id=428014;max-br=3732;max-mbps=245760;max-fs=8192;max-smbps=245760;max-fps=3000;packetization-mode=1
> a=rtpmap:101 H264/90000
> a=fmtp:101 profile-level-id=42c014;max-br=3732;max-mbps=245760;max-fs=8192;max-smbps=245760;max-fps=3000
> a=rtpmap:102 H264/90000
> a=fmtp:102 profile-level-id=42c014;max-br=3732;max-mbps=245760;max-fs=8192;max-smbps=245760;max-fps=3000;packetization-mode=1
> a=rtpmap:99 H263-1998/90000
> a=fmtp:99 custom=1024,768,1;custom=800,600,1;custom=640,480,1;cif=1;qcif=1;maxbr=10880
> a=rtpmap:123 VP8/90000
> a=fmtp:123 max-fs=3600;max-fr=30
> a=rtpmap:34 H263/90000
> a=fmtp:34 cif=1;qcif=1;maxbr=10880
> a=rtpmap:125 ulpfec/90000
> a=rtcp:40107 IN IP4 132.177.253.37
> a=rtcp-fb:* nack pli
> a=rtcp-fb:* nack
> a=sendrecv
> a=content:slides
> a=label:12
> a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:j4p9D4c7w9ax5MnyqcU/DdWvo5hTHPB8SjaRH45y|2^48
> a=crypto:2 AES_CM_128_HMAC_SHA1_80 inline:j4p9D4c7w9ax5MnyqcU/DdWvo5hTHPB8SjaRH45y|2^48 UNENCRYPTED_SRTCP
> a=candidate:1 1 udp 2044723199 132.177.253.37 40106 typ host
> a=candidate:1 2 udp 2044723198 132.177.253.37 40107 typ host
> a=candidate:4 1 udp 1038090239 132.177.253.4 24004 typ relay raddr 132.177.253.37 rport 40106
> a=candidate:4 2 udp 1038090238 132.177.253.4 24005 typ relay raddr 132.177.253.37 rport 40107
> a=candidate:2 1 udp 2044722943 2606:4100:3880:2520::8:3 40106 typ host
> a=candidate:2 2 udp 2044722942 2606:4100:3880:2520::8:3 40107 typ host
> a=ice-ufrag:PZj+
> a=ice-pwd:wro7MqOi3HVKD/K7JkJgtr
> m=application 40108 UDP/BFCP *
> c=IN IP4 132.177.253.37
> a=userid:3383
> a=bfcpver:1
> a=floorctrl:s-only
> a=floorid:8775 mstrm:12
> a=confid:976166491
> a=candidate:1 1 udp 2044723199 132.177.253.37 40108 typ host
> a=candidate:4 1 udp 1038090239 132.177.253.4 24006 typ relay raddr 132.177.253.37 rport 40108
> a=candidate:2 1 udp 2044722943 2606:4100:3880:2520::8:3 40108 typ host
> a=ice-ufrag:/0zV
> a=ice-pwd:wBI9M1TwXzTaT5pm8DBS3f
> {noformat}
> *Answer. Note the _b_ hanging out in the rejected video stream*:
> {noformat}
> v=0
> o=- 1412322884 1412322887 IN IP4 132.177.253.25
> s=Asterisk
> c=IN IP4 2606:4100:3880:2520::6:1
> t=0 0
> m=audio 28662 RTP/AVP 9 0 8 99
> c=IN IP4 2606:4100:3880:2520::6:1
> a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:K2esMQfj3cGO2oS8vmc0eoHJldHq43Nb/83A3Ll4
> a=rtpmap:9 G722/8000
> a=rtpmap:0 PCMU/8000
> a=rtpmap:8 PCMA/8000
> a=rtpmap:99 telephone-event/8000
> a=fmtp:99 0-16
> a=ptime:20
> a=maxptime:150
> a=sendrecv
> m=video 16224 RTP/AVP 97
> c=IN IP4 2606:4100:3880:2520::6:1
> a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:qXik/NUXqZOAFZQpi2f4GqYKtaWUJ1A95gSEI5AN
> a=rtpmap:97 H264/90000
> a=fmtp:97 max-mbps=245760;max-fs=8192;max-br=3732;max-smbps=245760;max-fps=3000;profile-level-id=428014
> a=sendrecv
> m=video 0 RTP/AVP 97 98 101 102 99 123 34 125
> c=IN IP4 2606:4100:3880:2520::6:1
> b=TIAS:3732480
> m=application 0 UDP/BFCP *
> c=IN IP4 2606:4100:3880:2520::6:1
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list