#include <sofia-sip/su_tag.h>
#include <sofia-sip/sdp_tag.h>
Include dependency graph for soa_tag.h:
Go to the source code of this file.
Defines | |
#define | SOATAG_ANY() |
Filter tag matching any soa tag. | |
#define | SOATAG_USER_SDP(x) |
Pass parsed user session description to soa session object. | |
#define | SOATAG_USER_SDP_STR(x) |
Pass unparsed user session description to soa session object. | |
#define | SOATAG_CAPS_SDP(x) |
Pass parsed capability description to soa session object. | |
#define | SOATAG_CAPS_SDP_STR(x) |
Pass capability description to soa session object. | |
#define | SOATAG_REMOTE_SDP(x) |
Pass parsed remote session description to soa session object. | |
#define | SOATAG_REMOTE_SDP_STR(x) |
Pass media description file name to the NUA stack. | |
#define | SOATAG_AF(x) |
Preferred address family for media. | |
#define | SOATAG_ADDRESS(x) |
Pass media address. | |
#define | SOATAG_RTP_SELECT(x) |
When generating answer or second offer, soa can include all the supported codecs, only one codec, or only the codecs supported by both ends in the list of payload types on the m= line. | |
#define | SOATAG_AUDIO_AUX(x) |
The named audio codecs are considered auxiliary, that is, they are considered as common codec only when they are the only codec listed on the media line. | |
#define | SOATAG_RTP_SORT(x) |
When selecting the common codecs, soa can either select first local codec supported by remote end, or first remote codec supported by local codecs. | |
#define | SOATAG_RTP_MISMATCH(x) |
Accept media line even if the SDP negotation code determines that there are no common codecs between local and remote media. | |
#define | SOATAG_ACTIVE_AUDIO(x) |
Audio session status. | |
#define | SOATAG_ACTIVE_VIDEO(x) |
Video session status. | |
#define | SOATAG_ACTIVE_IMAGE(x) |
Active image session status. | |
#define | SOATAG_ACTIVE_CHAT(x) |
Active chat session status. | |
#define | SOATAG_SRTP_ENABLE(x) |
Enable SRTP. | |
#define | SOATAG_SRTP_CONFIDENTIALITY(x) |
Enable SRTP confidentiality negotiation. | |
#define | SOATAG_SRTP_INTEGRITY(x) |
Enable SRTP integrity protection. | |
#define | SOATAG_HOLD(x) |
Hold media stream or streams. | |
#define | SOATAG_ORDERED_USER(x) |
Take account strict ordering of user SDP m=lines. | |
Enumerations | |
enum | { SOA_ACTIVE_REJECTED, SOA_ACTIVE_DISABLED, SOA_ACTIVE_INACTIVE, SOA_ACTIVE_SENDONLY, SOA_ACTIVE_RECVONLY, SOA_ACTIVE_SENDRECV } |
Media states. More... | |
enum | soa_af { SOA_AF_ANY, SOA_AF_IP4_ONLY, SOA_AF_IP6_ONLY, SOA_AF_IP4_IP6, SOA_AF_IP6_IP4 } |
SOATAG_AF() parameter type. More... | |
enum | { SOA_RTP_SELECT_SINGLE, SOA_RTP_SELECT_COMMON, SOA_RTP_SELECT_ALL } |
Parameter type for SOATAG_RTP_SELECT(). More... | |
enum | { SOA_RTP_SORT_DEFAULT, SOA_RTP_SORT_LOCAL, SOA_RTP_SORT_REMOTE } |
Parameter type for SOATAG_RTP_SORT(). More... | |
Variables | |
tagi_t | soa_tag_list [] |
List of base SOA tags (defined in base SOA module). |
#define SOATAG_ACTIVE_AUDIO | ( | x | ) |
Audio session status.
#define SOATAG_ACTIVE_CHAT | ( | x | ) |
Active chat session status.
#define SOATAG_ACTIVE_IMAGE | ( | x | ) |
Active image session status.
#define SOATAG_ACTIVE_VIDEO | ( | x | ) |
Video session status.
#define SOATAG_ADDRESS | ( | x | ) |
Pass media address.
#define SOATAG_AF | ( | x | ) |
Preferred address family for media.
#define SOATAG_AUDIO_AUX | ( | x | ) |
The named audio codecs are considered auxiliary, that is, they are considered as common codec only when they are the only codec listed on the media line.
When generating answer or second offer soa includes auxiliary audio codecs in the list of codecs even if it is selecting only one codec or common codecs.
Corresponding tag taking a reference parameter is SOATAG_AUDIO_AUX_REF().
#define SOATAG_CAPS_SDP | ( | x | ) |
Pass parsed capability description to soa session object.
#define SOATAG_CAPS_SDP_STR | ( | x | ) |
Pass capability description to soa session object.
#define SOATAG_HOLD | ( | x | ) |
Hold media stream or streams.
The hold media stream will have the attribute a=sendonly (meaning that some hold announcements or pause music is sent to the held party but that the held party should not generate any media) or a=inactive (meaning that no media is sent).
When putting a SIP session on hold with sendonly, the application can include, e.g., SOATAG_HOLD("audio") or SOATAG_HOLD("video") or SOATAG_HOLD("audio, video") or SOATAG_HOLD("*") as soa parameters. When using inactive instead, the application should use "#" or "audio=inactive" instead. When resuming the session, application should include the tag SOATAG_HOLD(NULL).
Note that last SOATAG_HOLD() in the tag list will override the SOATAG_HOLD() tags before it.
#define SOATAG_ORDERED_USER | ( | x | ) |
Take account strict ordering of user SDP m=lines.
If user SDP has been updated, the new media lines replace old ones even if the media type has been changed. This allows the application to replace m=audio with m=image/t38, for instance.
Corresponding tag taking a reference parameter is SOATAG_RTP_SELECT_REF().
#define SOATAG_REMOTE_SDP | ( | x | ) |
Pass parsed remote session description to soa session object.
#define SOATAG_REMOTE_SDP_STR | ( | x | ) |
Pass media description file name to the NUA stack.
Pass name of media description file that contains media templates (normally mss.sdp) to the NUA stack.
#define SOATAG_RTP_MISMATCH | ( | x | ) |
Accept media line even if the SDP negotation code determines that there are no common codecs between local and remote media.
Normally, if the soa determines there are no common codecs, the media line is rejected.
Corresponding tag taking reference parameter is SOATAG_RTP_MISMATCH_REF()
#define SOATAG_RTP_SELECT | ( | x | ) |
When generating answer or second offer, soa can include all the supported codecs, only one codec, or only the codecs supported by both ends in the list of payload types on the m= line.
Corresponding tag taking a reference parameter is SOATAG_RTP_SELECT_REF().
#define SOATAG_RTP_SORT | ( | x | ) |
When selecting the common codecs, soa can either select first local codec supported by remote end, or first remote codec supported by local codecs.
The preference is indicated with ordering: the preferred codec is first and so on.
The auxiliary audio codecs (specified with SOATAG_AUDIO_AUX()) are listed after other codecs.
Corresponding tag taking reference parameter is SOATAG_RTP_SORT_REF()
#define SOATAG_SRTP_CONFIDENTIALITY | ( | x | ) |
Enable SRTP confidentiality negotiation.
!=
0 enable SRTP confidentiality 0
disable SRTP conidentiality
#define SOATAG_SRTP_ENABLE | ( | x | ) |
Enable SRTP.
!=0
enable 0
disable
#define SOATAG_SRTP_INTEGRITY | ( | x | ) |
Enable SRTP integrity protection.
!=0
enable 0
disable
#define SOATAG_USER_SDP | ( | x | ) |
Pass parsed user session description to soa session object.
User SDP is used as basis for SDP Offer/Answer negotiation. It can be very minimal, consisting just sdp_session_t structures, sdp_media_t structures and sdp_rtpmap_t structures listing te supported media, used RTP port number, and RTP payload descriptions of supported codecs.
When generating the offer or answer the user SDP is augmented with the required SDP lines (v=, o=, t=, c=, a=rtpmap, etc.) as required. The complete offer or answer generated by soa is passed in SOATAG_LOCAL_SDP() (SOATAG_LOCAL_SDP_STR() contains same in text format).
#define SOATAG_USER_SDP_STR | ( | x | ) |
Pass unparsed user session description to soa session object.
User SDP is used as basis for SDP Offer/Answer negotiation. It can be very minimal, listing just m= lines with the port numbers and RTP payload numbers of supported codecs, like
SOATAG_USER_SDP_STR("m=audio 5004 RTP/AVP 0 8")
anonymous enum |
anonymous enum |
Parameter type for SOATAG_RTP_SELECT().
anonymous enum |
Parameter type for SOATAG_RTP_SORT().
enum soa_af |
SOATAG_AF() parameter type.