Author: oej
Date: Tue Feb 10 10:59:21 2015
New Revision: 431641

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=431641
Log:
Building infrastructure

Modified:
    team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c

Modified: team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c
URL: 
http://svnview.digium.com/svn/asterisk/team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c?view=diff&rev=431641&r1=431640&r2=431641
==============================================================================
--- team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c (original)
+++ team/oej/chocolate-video-congestion-11/res/res_rtp_asterisk.c Tue Feb 10 
10:59:21 2015
@@ -89,12 +89,34 @@
 
 #define TURN_STATE_WAIT_TIME 2000
 
-#define RTCP_PT_FUR     192
-#define RTCP_PT_SR      200
-#define RTCP_PT_RR      201
-#define RTCP_PT_SDES    202
-#define RTCP_PT_BYE     203
-#define RTCP_PT_APP     204
+#define RTCP_PT_FUR     192             /*!< FIR  - Full Intra-frame request 
(h.261) */
+#define RTCP_PT_NACK    193             /*!< NACK - Negative acknowledgement 
(h.261) */
+#defien RTCP_SMPTETC   194             /*!> SMTPETC - time code mapping RFC 
5484 */
+#define RTCP_PT_IJ      195             /*!< IJ   - RFC 5450 Extended 
Inter-arrival jitter report */
+#define RTCP_PT_SR      200             /*!< SR   - RFC 3550 Sender report */
+#define RTCP_PT_RR      201             /*!< RR   - RFC 3550 Receiver report */
+#define RTCP_PT_SDES    202             /*!< SDES - Source Description */
+#define RTCP_PT_BYE     203             /*!< BYE  - Goodbye */
+#define RTCP_PT_APP     204             /*!< APP  - Application defined */
+#define RTCP_PT_RTPFB   205             /*!< RTPFB - Generic RTP feedback RFC 
4585 */
+#define RTCP_PT_PSFB    206             /*!< PSFB - Payload specific data  RFC 
4585 */
+#define RTCP_PT_XR      207             /*!< XR   - Extended report - RFC3611 
*/
+#define RTCP_PT_AVB     208             /*!< ACB RTCP Packet */
+#define RTCP_PT_RSI     209             /*!< Receiver summary information */
+#define RTCP_PT_TOKEN   210             /*!< Port mapping, RFC 6284 */
+#define RTCP_PT_IDMS    211             /*!< IDMS Settings, RFC 7272 */
+
+/* RTCP AVPF - Payload specific feedback messages (PSFB) */
+#define RTCP_FMT_PLI   1               /*!< Picture Loss indication */
+#define RTCP_FMT_SLI   2               /*!< Slice loss indication */
+#define RTCP_FMT_RPSI  3               /*!< Reference Picture Selection 
Information */
+#define RTCP_FMT_FIR   4               /*!< Full Intra Request Command RFC 
5104 */
+#define RTCP_FMT_TSTR  5               /*!< Temporal-Spatial Trade-off Request 
RFC 5104 */
+#define RTCP_FMT_TSTN  6               /*!< Temporal-Spatial Trade-off 
Notification RFC 5104 */
+#define RTCP_FMT_VBCM  7               /*!< Video back channel message RFC 
5104 */
+#define RTCP_FMT_PSLEI 8               /*!< Payload-specific Third-Party Loss 
Early Indication RFC 6642 */
+/* 4-14 unassigned in RFC 4585 */
+#define RTCP_FMT_AFB   15              /* Application Layer Feedback message */
 
 #define RTP_MTU                1200
 #define DTMF_SAMPLE_RATE_MS    8 /*!< DTMF samples per millisecond */
@@ -4005,10 +4027,60 @@
                                            
ast_sockaddr_stringify(&rtp->rtcp->them));
                        break;
                case RTCP_PT_BYE:
-                       if (rtcp_debug_test_addr(&addr))
+                       if (rtcp_debug_test_addr(&addr)) {
                                ast_verbose("Received a BYE from %s\n",
                                            
ast_sockaddr_stringify(&rtp->rtcp->them));
+                       }
                        break;
+
+               case RTCP_PT_RTPFB:     /* RTP feedback */
+                       int fmt = 0;
+                       int version = 0;
+                       int length = 0;
+                       int pt;
+
+                       
+
+                       /* From RFC 4585, section 6.1
+                       0                   1                   2               
    3
+                       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 
8 9 0 1
+                       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+                       |V=2|P|   FMT   |       PT      |          length       
        |
+                       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+                       |                  SSRC of packet sender                
        |
+                       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+                       |                  SSRC of media source                 
        |
+                       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+                       :            Feedback Control Information (FCI)         
        :
+                       :                                                       
        :
+                       
+                               V = 2 (RTP version 2)
+                               P = Padding indication (included in length)
+                               FMT = 5 bits
+                               PT = 8 bits
+                               Length = 16 bits length in 32-bit words minus 
one, including header and padding
+                               SSRC for orignator
+                               SSRC media src
+                               FCI - specificed per specific FMTs (required)
+                       
+                       */
+                       version = ntohl(rtcpheader[i]); /* Only need first two 
bits */
+                       length = (version & 0xffff);
+                       fmt = (version & 0xff0000) >> 16;
+                       if (rtcp_debug_test_addr(&addr)) {
+                               ast_verbose("Received a RTCP Feedback (205) 
from %s FMT %d Length %d\n",
+                                           
ast_sockaddr_stringify(&rtp->rtcp->them), fmt, length);
+                       }
+                       
+                       break;
+
+               case RTCP_PT_PSFB:      /* Payload specific data */
+                       if (rtcp_debug_test_addr(&addr)) {
+                               ast_verbose("Received RTCP Payload specific 
data (206) from %s\n",
+                                           
ast_sockaddr_stringify(&rtp->rtcp->them));
+                       }
+                       break;
+
                default:
                        ast_debug(1, "Unknown RTCP packet (pt=%d) received from 
%s\n",
                                  pt, ast_sockaddr_stringify(&rtp->rtcp->them));


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to