Newer
Older
* @author STF 346, STF366, STF368, STF369, STF450, STF471
* @version $Id$
* @desc This module defines message, attribute, structured and simple
* SDP types as well constants used by LipSip constructs. <br>
* Note that any changes made to the definitions in this module
* may be overwritten by future releases of this library
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions
* This module is part of LibSipV3.
* @remark Adding of new attributes types is ok; Adding of new optional attributes in @see SDP_attribute type is ok; Existing attribute types shall not be changed or removed - change requests shall be made to http://t-ort.etsi.org
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
group Constants {
group SimpleConstants {
// SDP net_type
const charstring c_in := "IN";
// SDP addr_type
const charstring c_ip4 := "IP4";
const charstring c_ip6 := "IP6";
// SDP_media_desc: media
const charstring c_audio := "audio";
const charstring c_image := "image";
const charstring c_video := "video";
const charstring c_text := "text";
const charstring c_msrp := "msrp";
// SDP_media_desc: transport
const charstring c_rtpAvp := "RTP/AVP";
const charstring c_rtpAvpf := "RTP/AVPF";
const charstring c_msrpTcp := "TCP/MSRP";
const charstring c_udptl := "Udptl";
// SDP_attribute_list constants:
const charstring c_local := "local";
const charstring c_mandatory := "mandatory";
const charstring c_optional := "optional";
const charstring c_none := "none";
const charstring c_qos := "qos";
const charstring c_remote := "remote";
const charstring c_sendrecv := "sendrecv";
const charstring c_sendonly := "sendonly";
const charstring c_inactive := "inactive";
const charstring c_send := "send";
const charstring c_recv := "recv";
const charstring c_e2e := "e2e";
}
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
group Types {
group SubTypes {
group AttributeTypes {
type record SDP_attribute_cat {
charstring attr_value
}
type record SDP_attribute_keywds {
charstring attr_value
}
type record SDP_attribute_tool {
charstring attr_value
}
type record SDP_attribute_ptime {
charstring attr_value
}
type record SDP_attribute_recvonly {
}
type record SDP_attribute_sendrecv {
}
type record SDP_attribute_sendonly {
}
type record SDP_attribute_inactive {
}
type record SDP_attribute_orient {
charstring attr_value
}
type record SDP_attribute_type {
charstring attr_value
}
type record SDP_attribute_charset {
charstring attr_value
}
type record SDP_attribute_sdplang {
charstring attr_value
}
type record SDP_attribute_lang {
charstring attr_value
}
type record SDP_attribute_framerate {
charstring attr_value
}
type record SDP_attribute_quality {
charstring attr_value
}
type union SDP_attribute_fmtp_format_specific_params {
SemicolonParam_List paramList,
charstring unstructured
}
charstring format,
SDP_attribute_fmtp_format_specific_params params
}
type record SDP_attribute_curr {
charstring preconditionType,
charstring statusType,
charstring direction
}
type record SDP_attribute_des {
charstring preconditionType,
charstring strength,
charstring statusType,
charstring direction
}
type record SDP_attribute_conf {
charstring preconditionType,
charstring statusType,
charstring direction
}
type record SDP_attribute_rtpmap_codec {
charstring encoding,
charstring clockrate,
charstring parameters optional
}
charstring payload_type,
SDP_attribute_rtpmap_codec codec
integer portnumber,
SDP_connection connection optional
}
type record SDP_attribute_msrp {
charstring attr_value
}
type record SDP_attribute_unknown {
charstring name,
charstring attr_value optional
}
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
type record SDP_attribute_maxptime {
charstring attr_value
}
type record SDP_attribute_tcap {
integer trpr_cap_num,
Charstring_List proto_list
}
type record SDP_attribute_pcfg {
integer config_number,
Charstring_List pot_cfg_list optional
}
type record SDP_attribute_acfg {
integer config_number,
Charstring_List sel_cfg_list optional
}
type record SDP_attribute_ecn_capable_rtp {
Charstring_List init_list,
Charstring_List parm_list optional
}
type record SDP_attribute_rtcp_fb {
charstring rtcp_fb_pt,
charstring rtcp_fb_val
}
type record SDP_attribute_rtcp_xr {
Charstring_List xr_format_list optional
}
type record SDP_attribute_rtcp_rsize {
}
type record SDP_attribute_3ge2ae {
charstring indicator
}
type record SDP_attribute_crypto {
charstring tag,
charstring crypto_suite,
charstring key_params,
Charstring_List session_params optional
}
type record SDP_attribute_content {
Charstring_List content_params
}
type record SDP_attribute_keymgmt {
charstring prtcl_id,
charstring data
}
type union SDP_attribute {
SDP_attribute_cat cat,
SDP_attribute_keywds keywds,
SDP_attribute_tool tool,
SDP_attribute_ptime ptime,
SDP_attribute_recvonly recvonly,
SDP_attribute_sendrecv sendrecv,
SDP_attribute_sendonly sendonly,
SDP_attribute_inactive inactive,
SDP_attribute_orient orient,
SDP_attribute_type sdp_type,
SDP_attribute_charset charset,
SDP_attribute_sdplang sdplang,
SDP_attribute_lang lang,
SDP_attribute_framerate framerate,
SDP_attribute_quality quality,
SDP_attribute_fmtp fmtp,
SDP_attribute_curr curr,
SDP_attribute_des des,
SDP_attribute_conf conf,
SDP_attribute_rtpmap rtpmap,
SDP_attribute_rtcp rtcp,
SDP_attribute_msrp msrp,
SDP_attribute_maxptime maxptime,
SDP_attribute_tcap tcap,
SDP_attribute_pcfg pcfg,
SDP_attribute_acfg acfg,
SDP_attribute_ecn_capable_rtp ecn_capable_rtp,
SDP_attribute_rtcp_fb rtcp_fb,
SDP_attribute_rtcp_xr rtcp_xr,
SDP_attribute_rtcp_rsize rtcp_rsize,
SDP_attribute_3ge2ae e2ae,
SDP_attribute_crypto crypto,
SDP_attribute_content content,
SDP_attribute_keymgmt keymgmt,
//* unknown has to be the last else encoding/decoding won't work!
SDP_attribute_unknown unknown
}
} //* group AttributeTypes
type set of SDP_attribute SDP_attribute_list;
type record SDP_bandwidth {
charstring modifier,
integer bandwidth
type record SDP_connection {
charstring net_type,
charstring addr_type,
SDP_conn_addr conn_addr
type record SDP_conn_addr {
charstring addr,
integer ttl optional,
integer num_of_addr optional
type record SDP_contact {
charstring addr_or_phone,
charstring disp_name optional
type record SDP_key {
charstring method,
charstring key optional
type record SDP_media_desc {
SDP_media_field media_field,
charstring information optional,
SDP_connection_list connections optional,
SDP_bandwidth_list bandwidth optional,
SDP_key key optional,
SDP_attribute_list attributes optional
type record SDP_media_port {
integer port_number,
integer num_of_ports optional
type record SDP_media_field {
charstring media,
SDP_media_port ports,
charstring transport,
SDP_fmt_list fmts
type record SDP_time {
SDP_time_field time_field,
SDP_repeat_list time_repeat optional
type record SDP_time_field {
charstring start_time,
//* field is numeric strings that may not fit into 32-bit signed int
charstring
stop_time //* field is numeric strings that may not fit into 32-bit signed int
type record SDP_repeat {
SDP_typed_time repeat_interval,
SDP_typed_time active,
SDP_typed_time_list offsets
type record SDP_typed_time {
integer time,
charstring unit optional
type record SDP_timezone {
charstring adjustment_time,
SDP_typed_time offset
type set of SDP_timezone SDP_timezone_list;
type record SDP_Origin {
charstring user_name,
charstring session_id,
//* field is numeric strings that may not fit into 32-bit signed int
charstring session_version,
//* field is numeric strings that may not fit into 32-bit signed int
charstring net_type,
charstring addr_type,
charstring addr
}
type set of SDP_contact_tel SDP_phone_list;
} //* group SubTypes
group MessageTypes {
type record SDP_Message {
integer protocol_version,
SDP_Origin origin,
charstring session_name,
charstring information optional,
charstring uri optional,
SDP_email_list emails optional,
SDP_phone_list phone_numbers optional,
SDP_connection connection optional,
SDP_bandwidth_list bandwidth optional,
SDP_time_list times,
SDP_timezone_list timezone_adjustments optional,
SDP_key key optional,
SDP_attribute_list attributes optional,
SDP_media_desc_list media_list optional
}
with {
encode "SDPCodec";
}
} // end module LibSip_SDPTypes