megaco_sdp.hrl
来自「OTP是开放电信平台的简称」· HRL 代码 · 共 1,147 行 · 第 1/4 页
HRL
1,147 行
%% time zone adjustment happens and the offset from the time when%% the session was first scheduled. The "z" field allows the sender%% to specify a list of these adjustment times and offsets from the%% base time.%%%% An example might be:%%%% z=2882844526 -1h 2898848070 0%%%% This specifies that at time 2882844526 the time base by which the%% session's repeat times are calculated is shifted back by 1 hour,%% and that at time 2898848070 the session's original time base is%% restored. Adjustments are always relative to the specified start%% time - they are not cumulative.%%%% o If a session is likely to last several years, it is expected that%% the session announcement will be modified periodically rather%% than transmit several years worth of adjustments in one%% announcement.%% -record(megaco_sdp_t, { start, % integer() stop % integer() }).-record(megaco_sdp_r, { repeat_interval, % string() active_duration, % string() list_of_offsets % [ string() ] } ). -record(megaco_sdp_z, { list_of_adjustments % [ string() ] } ).%% ===================================================================%% %% Encryption Keys%% %% k=<method>%% k=<method>:<encryption key>%%%% o The session description protocol may be used to convey encryption%% keys. A key field is permitted before the first media entry (in%% which case it applies to all media in the session), or for each%% media entry as required.%%%% o The format of keys and their usage is outside the scope of this%% document, but see [3].%%%% o The method indicates the mechanism to be used to obtain a usable%% key by external means, or from the encoded encryption key given.%%%% The following methods are defined:%%%% k=clear:<encryption key>%% The encryption key (as described in [3] for RTP media streams%% under the AV profile) is included untransformed in this key%% field.%%%% k=base64:<encoded encryption key>%% The encryption key (as described in [3] for RTP media streams%% under the AV profile) is included in this key field but has been%% base64 encoded because it includes characters that are%% prohibited in SDP.%%%% k=uri:<URI to obtain key>%% A Universal Resource Identifier as used by WWW clients is%% included in this key field. The URI refers to the data%% containing the key, and may require additional authentication%% before the key can be returned. When a request is made to the%% given URI, the MIME content-type of the reply specifies the%% encoding for the key in the reply. The key should not be%% obtained until the user wishes to join the session to reduce%% synchronisation of requests to the WWW server(s).%%%% k=prompt%% No key is included in this SDP description, but the session or%% media stream referred to by this key field is encrypted. The%% user should be prompted for the key when attempting to join the%% session, and this user-supplied key should then be used to%% decrypt the media streams.%% -record(megaco_sdp_k, { method, % clear | base64 | uri | prompt | string() encryption_key % undefined | string() } ).%% ===================================================================%% %% Attributes%% %% a=<attribute>%% a=<attribute>:<value>%%%% Attributes are the primary means for extending SDP. Attributes may%% be defined to be used as "session-level" attributes, "media-level"%% attributes, or both.%%%% A media description may have any number of attributes ("a=" fields)%% which are media specific. These are referred to as "media-level"%% attributes and add information about the media stream. Attribute%% fields can also be added before the first media field; these%% "session-level" attributes convey additional information that%% applies to the conference as a whole rather than to individual%% media; an example might be the conference's floor control policy.%%%% Attribute fields may be of two forms:%%%% o property attributes. A property attribute is simply of the form%% "a=<flag>". These are binary attributes, and the presence of the%% attribute conveys that the attribute is a property of the%% session. An example might be "a=recvonly".%%%% o value attributes. A value attribute is of the form%% "a=<attribute>:<value>". An example might be that a whiteboard%% could have the value attribute "a=orient:landscape"%%%% Attribute interpretation depends on the media tool being invoked.%% Thus receivers of session descriptions should be configurable in%% their interpretation of announcements in general and of attributes%% in particular.%%%% Attribute names must be in the US-ASCII subset of ISO-10646/UTF-8.%%%% Attribute values are byte strings, and MAY use any byte value%% except 0x00 (Nul), 0x0A (LF), and 0x0D (CR). By default, attribute%% values are to be interpreted as in ISO-10646 character set with%% UTF-8 encoding. Unlike other text fields, attribute values are NOT%% normally affected by the `charset' attribute as this would make%% comparisons against known values problematic. However, when an%% attribute is defined, it can be defined to be charset-dependent, in%% which case it's value should be interpreted in the session charset%% rather than in ISO-10646.%%%% Attributes that will be commonly used can be registered with IANA%% (see Appendix B). Unregistered attributes should begin with "X-"%% to prevent inadvertent collision with registered attributes. In%% either case, if an attribute is received that is not understood, it%% should simply be ignored by the receiver.%% %% Suggested Attributes%% %% The following attributes are suggested. Since application writers%% may add new attributes as they are required, this list is not%% exhaustive.%%%% a=cat:<category>%% This attribute gives the dot-separated hierarchical category of%% the session. This is to enable a receiver to filter unwanted%% sessions by category. It would probably have been a compulsory%% separate field, except for its experimental nature at this time.%% It is a session-level attribute, and is not dependent on charset.%%%% a=keywds:<keywords>%% Like the cat attribute, this is to assist identifying wanted%% sessions at the receiver. This allows a receiver to select%% interesting session based on keywords describing the purpose of%% the session. It is a session-level attribute. It is a charset%% dependent attribute, meaning that its value should be interpreted%% in the charset specified for the session description if one is%% specified, or by default in ISO 10646/UTF-8.%%%% a=tool:<name and version of tool>%% This gives the name and version number of the tool used to create%% the session description. It is a session-level attribute, and is%% not dependent on charset.%%%% a=ptime:<packet time>%% This gives the length of time in milliseconds represented by the%% media in a packet. This is probably only meaningful for audio%% data. It should not be necessary to know ptime to decode RTP or%% vat audio, and it is intended as a recommendation for the%% encoding/packetisation of audio. It is a media attribute, and is%% not dependent on charset.%% %% a=recvonly%% This specifies that the tools should be started in receive-only%% mode where applicable. It can be either a session or media%% attribute, and is not dependent on charset.%%%% a=sendrecv%% This specifies that the tools should be started in send and%% receive mode. This is necessary for interactive conferences with%% tools such as wb which defaults to receive only mode. It can be%% either a session or media attribute, and is not dependent on%% charset.%%%% a=sendonly%% This specifies that the tools should be started in send-only%% mode. An example may be where a different unicast address is to%% be used for a traffic destination than for a traffic source. In%% such a case, two media descriptions may be use, one sendonly and%% one recvonly. It can be either a session or media attribute, but%% would normally only be used as a media attribute, and is not%% dependent on charset.%%%% a=orient:<whiteboard orientation>%% Normally this is only used in a whiteboard media specification.%% It specifies the orientation of a the whiteboard on the screen.%% It is a media attribute. Permitted values are `portrait',%% `landscape' and `seascape' (upside down landscape). It is not%% dependent on charset%%%% a=type:<conference type>%% This specifies the type of the conference. Suggested values are%% `broadcast', `meeting', `moderated', `test' and `H332'.%% `recvonly' should be the default for `type:broadcast' sessions,%% `type:meeting' should imply `sendrecv' and `type:moderated'%% should indicate the use of a floor control tool and that the%% media tools are started so as to "mute" new sites joining the%% conference.%%%% Specifying the attribute type:H332 indicates that this loosely%% coupled session is part of a H.332 session as defined in the ITU%% H.332 specification [10]. Media tools should be started%% `recvonly'.%%%% Specifying the attribute type:test is suggested as a hint that,%% unless explicitly requested otherwise, receivers can safely avoid%% displaying this session description to users.%% %% The type attribute is a session-level attribute, and is not%% dependent on charset.%% %% a=charset:<character set>%% This specifies the character set to be used to display the%% session name and information data. By default, the ISO-10646%% character set in UTF-8 encoding is used. If a more compact%% representation is required, other character sets may be used such%% as ISO-8859-1 for Northern European languages. In particular,%% the ISO 8859-1 is specified with the following SDP attribute:%% %% a=charset:ISO-8859-1%% %% This is a session-level attribute; if this attribute is present,%% it must be before the first media field. The charset specified%% MUST be one of those registered with IANA, such as ISO-8859-1.%% The character set identifier is a US-ASCII string and MUST be%% compared against the IANA identifiers using a case-insensitive%% comparison. If the identifier is not recognised or not%% supported, all strings that are affected by it SHOULD be regarded%% as byte strings.%% %% Note that a character set specified MUST still prohibit the use%% of bytes 0x00 (Nul), 0x0A (LF) and 0x0d (CR). Character sets%% requiring the use of these characters MUST define a quoting%% mechanism that prevents these bytes appearing within text fields.%%%% a=sdplang:<language tag>%% This can be a session level attribute or a media level attribute.%% As a session level attribute, it specifies the language for the%% session description. As a media level attribute, it specifies%% the language for any media-level SDP information field associated%% with that media. Multiple sdplang attributes can be provided%% either at session or media level if multiple languages in the%% session description or media use multiple languages, in which%% case the order of the attributes indicates the order of%% importance of the various languages in the session or media from%% most important to least important.%% %% In general, sending session descriptions consisting of multiple%% languages should be discouraged. Instead, multiple descriptions%% should be sent describing the session, one in each language.%% However this is not possible with all transport mechanisms, and%% so multiple sdplang attributes are allowed although not%% recommended.%% %% The sdplang attribute value must be a single RFC 1766 language%% tag in US-ASCII. It is not dependent on the charset attribute.%% An sdplang attribute SHOULD be specified when a session is of%% sufficient scope to cross geographic boundaries where the%% language of recipients cannot be assumed, or where the session is%% in a different language from the locally assumed norm.%% %% a=lang:<language tag>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?