Skip to content
Snippets Groups Projects
Commit 821a2bd7 authored by Elemer Lelik's avatar Elemer Lelik
Browse files

Update to R5A

parent d6b12c2a
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
Copyright (c) 2014 Ericsson Copyright (c) 2015 Ericsson
All rights reserved. This program and the accompanying materials All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0 are made available under the terms of the Eclipse Public License v1.0
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
File: RTP_CNL113392.tpd File: RTP_CNL113392.tpd
Description: tpd project file Description: tpd project file
Rev: R4A Rev: R5A
Prodnr: CNL 113 392 Prodnr: CNL 113 392
--> -->
......
No preview for this file type
No preview for this file type
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// //
// File: RTP_CNL113392.grp // File: RTP_CNL113392.grp
// Description: RTP group file // Description: RTP group file
// Rev: R4A // Rev: R5A
// Prodnr: CNL 113 392 // Prodnr: CNL 113 392
// Reference: // Reference:
// //
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
// //
// File: RTP_EncDec.cc // File: RTP_EncDec.cc
// Description: RTP // Description: RTP
// Rev: R4A // Rev: R5A
// Prodnr: CNL 113 392 // Prodnr: CNL 113 392
// //
#include "RTP_Types.hh" #include "RTP_Types.hh"
...@@ -42,6 +42,7 @@ RTP__messages__union f__RTP__dec(OCTETSTRING const &data){ ...@@ -42,6 +42,7 @@ RTP__messages__union f__RTP__dec(OCTETSTRING const &data){
bb.clear(); bb.clear();
bb.put_s(data_length,raw_data); bb.put_s(data_length,raw_data);
if(pt>71 && pt<77){ if(pt>71 && pt<77){
// Magic numbers. See rfc3550 12. Summary of Protocol Constants
PDU__RTCP pdu; PDU__RTCP pdu;
pdu.decode(PDU__RTCP_descr_,bb,TTCN_EncDec::CT_RAW); pdu.decode(PDU__RTCP_descr_,bb,TTCN_EncDec::CT_RAW);
ret_val.rtcp()=pdu; ret_val.rtcp()=pdu;
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
// //
// File: RTP_File.cc // File: RTP_File.cc
// Description: Media files operation for RTP // Description: Media files operation for RTP
// Rev: R4A // Rev: R5A
// Prodnr: CNL 113 392 // Prodnr: CNL 113 392
// //
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
// //
// File: RTP_File_Types.ttcn // File: RTP_File_Types.ttcn
// Description: Types for the media file operation // Description: Types for the media file operation
// Rev: R4B // Rev: R5A
// Prodnr: CNL 113 392 // Prodnr: CNL 113 392
// //
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
// //
// File: RTP_Media.ttcn // File: RTP_Media.ttcn
// Description: Functions of the media file operations for RTP. // Description: Functions of the media file operations for RTP.
// Rev: R4A // Rev: R5A
// Prodnr: CNL 113 392 // Prodnr: CNL 113 392
module RTP_Media module RTP_Media
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
// //
// File: RTP_Media_EncDec.cc // File: RTP_Media_EncDec.cc
// Description: Encode/decode functions for the media file operations // Description: Encode/decode functions for the media file operations
// Rev: R4A // Rev: R5A
// Prodnr: CNL 113 392 // Prodnr: CNL 113 392
#include "RTP_File_Types.hh" #include "RTP_File_Types.hh"
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
// //
// File: RTP_Types.ttcn // File: RTP_Types.ttcn
// Description: RTP // Description: RTP
// Rev: R4B // Rev: R5A
// Prodnr: CNL 113 392 // Prodnr: CNL 113 392
// //
module RTP_Types{ module RTP_Types{
...@@ -25,6 +25,11 @@ external function f_RTP_enc ( in RTP_messages_union pdu ) return octetstring; ...@@ -25,6 +25,11 @@ external function f_RTP_enc ( in RTP_messages_union pdu ) return octetstring;
external function f_RTP_dec ( in octetstring data ) return RTP_messages_union; external function f_RTP_dec ( in octetstring data ) return RTP_messages_union;
external function f_RTP_packet_enc ( in RTP_packet pdu ) return octetstring; external function f_RTP_packet_enc ( in RTP_packet pdu ) return octetstring;
external function f_RTP_packet_dec ( in octetstring data ) return RTP_packet; external function f_RTP_packet_dec ( in octetstring data ) return RTP_packet;
external function f_RTCP_PDU_enc ( in PDU_RTCP pdu ) return octetstring
with { extension "prototype(convert) encode(RAW)" };
external function f_RTCP_PDU_dec ( in octetstring data ) return PDU_RTCP
with { extension "prototype(convert) decode(RAW)" }
type set of BIT32_BO_LAST RTP_CSRC_list; type set of BIT32_BO_LAST RTP_CSRC_list;
...@@ -243,18 +248,179 @@ type record RTCP_IE_APP{ ...@@ -243,18 +248,179 @@ type record RTCP_IE_APP{
variant "FIELDORDER(msb)" variant "FIELDORDER(msb)"
}; };
type record RTCP_IE_RTPFB {
INT2b version,
BIT1 padding_ind,
INT5b fmt,
LIN1 payload_type,
LIN2_BO_LAST packet_length,
BIT32_BO_LAST SSRC_packet_sender,
BIT32_BO_LAST SSRC_media_sender,
RTCP_RTPFB_union fci optional,
octetstring padding optional
} with {
variant (padding) "PRESENCE(padding_ind = '1'B)";
variant (packet_length) "LENGTHTO(SSRC_packet_sender,SSRC_media_sender,fci,padding)";
variant (packet_length) "UNIT(dword32)";
variant "FIELDORDER(msb)"
variant (fci) "CROSSTAG(
gen_naks, fmt=1;
tmmbr, fmt=3;
tmmbn, fmt=4;
unknown_fci, OTHERWISE
)";
};
type union RTCP_RTPFB_union {
RTCP_generic_NAKs gen_naks,
RTCP_RTPFB_TMMBRs tmmbr,
RTCP_RTPFB_TMMBNs tmmbn,
octetstring unknown_fci
}
type record of RTCP_RTPFB_TMMB RTCP_RTPFB_TMMBRs
type record of RTCP_RTPFB_TMMB RTCP_RTPFB_TMMBNs
type integer INT14b_BO_LAST ( 0 .. 16383 ) with { variant "FIELDLENGTH(14), COMP(nosign), BYTEORDER(last)" };
type record RTCP_RTPFB_TMMB {
BIT32_BO_LAST SSRC,
INT6b exp,
integer mantissa ( 0 .. 131072 ),
integer measured_overhead( 0 .. 511 )
} with {
variant "FIELDORDER(msb)"
variant (mantissa) "FIELDLENGTH(17), COMP(nosign), BYTEORDER(last)"
variant (measured_overhead) "FIELDLENGTH(9), COMP(nosign), BYTEORDER(last)"
}
type record of RTCP_generic_NAK RTCP_generic_NAKs
type record RTCP_generic_NAK {
LIN2_BO_LAST pid,
BIT16 blb
}
type record RTCP_IE_PSFB {
INT2b version,
BIT1 padding_ind,
INT5b fmt,
LIN1 payload_type,
LIN2_BO_LAST packet_length,
BIT32_BO_LAST SSRC_packet_sender,
BIT32_BO_LAST SSRC_media_sender,
RTCP_PSFB_union fci,
octetstring padding optional
} with {
variant (padding) "PRESENCE(padding_ind = '1'B)";
variant (packet_length) "LENGTHTO(SSRC_packet_sender,SSRC_media_sender,fci,padding)";
variant (packet_length) "UNIT(dword32)";
variant "FIELDORDER(msb)"
variant (fci) "CROSSTAG(
pli, fmt=1;
sli, fmt=2;
rpsi, fmt=3;
fir, fmt=4;
tstr, fmt=5;
tstn, fmt=6;
vbcm, fmt=7;
afb, fmt=15;
unknown_fci, OTHERWISE
)";
};
type union RTCP_PSFB_union {
RTCP_PSFB_PLI pli,
RTCP_PSFB_SLIs sli,
RTCP_PSFB_RPSI rpsi,
RTCP_PSFB_FIRs fir,
RTCP_PSFB_TSTRs tstr,
RTCP_PSFB_TSTNs tstn,
RTCP_PSFB_VBCMs vbcm,
octetstring afb,
octetstring unknown_fci
}
type record of RTCP_PSFB_FIR RTCP_PSFB_FIRs
type record RTCP_PSFB_FIR{
BIT32_BO_LAST SSRC,
INT1 seq_no,
OCT3 reserved
}
type record of RTCP_PSFB_TST RTCP_PSFB_TSTRs
type record of RTCP_PSFB_TST RTCP_PSFB_TSTNs
type record RTCP_PSFB_TST{
BIT32_BO_LAST SSRC,
INT1 seq_no,
OCT2 reserved,
integer index ( 0 .. 31) // the encoding includes the 3 reserved
// bit encoded as zero
} with {
variant (seq_no) "FIELDLENGTH(8)"
}
type record of RTCP_PSFB_VBCM RTCP_PSFB_VBCMs
type record RTCP_PSFB_VBCM {
BIT32_BO_LAST SSRC,
INT1 seq_no,
BIT1 marker_bit,
INT7b payload_type,
LIN2_BO_LAST vbcm_length,
octetstring vbcm
} with {
variant "FIELDORDER(msb)"
variant "PADDING(dword32)"
variant (vbcm_length) "LENGTHTO(vbcm)"
}
type record RTCP_PSFB_PLI {
// empty
}
type record of RTCP_PSFB_SLI RTCP_PSFB_SLIs
type record RTCP_PSFB_SLI{
INT13b_BO_LAST first,
INT13b_BO_LAST number,
INT6b picture_id
} with {
variant "FIELDORDER(msb)"
}
type record RTCP_PSFB_RPSI {
INT1 pb, // must be filled correctly, not handled by the encoder
INT1 payload_type, // includes the first bit
octetstring rpsi_string // includes the padding bits
}
type union RTCP_message{ type union RTCP_message{
RTCP_IE_SR sr, RTCP_IE_SR sr,
RTCP_IE_RR rr, RTCP_IE_RR rr,
RTCP_IE_SDES sdes, RTCP_IE_SDES sdes,
RTCP_IE_BYE bye, RTCP_IE_BYE bye,
RTCP_IE_APP app RTCP_IE_APP app,
RTCP_IE_RTPFB rtpfb,
RTCP_IE_PSFB psfb
} with { } with {
variant "TAG(sr, payload_type=200; variant "TAG(sr, payload_type=200;
rr, payload_type=201; rr, payload_type=201;
sdes, payload_type=202; sdes, payload_type=202;
bye, payload_type=203; bye, payload_type=203;
app, payload_type=204)" app, payload_type=204;
rtpfb, payload_type=205;
psfb, payload_type=206
)"
}; };
type record of RTCP_message PDU_RTCP with {variant ""}; type record of RTCP_message PDU_RTCP with {variant ""};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment