soa 1.13.17
Loading...
Searching...
No Matches
soa_tag.h
Go to the documentation of this file.
1/*
2 * This file is part of the Sofia-SIP package
3 *
4 * Copyright (C) 2005 Nokia Corporation.
5 *
6 * Contact: Pekka Pessi <pekka.pessi@nokia-email.address.hidden>
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; either version 2.1 of
11 * the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21 * 02110-1301 USA
22 *
23 */
24
25#ifndef SOA_TAG_H
26#define SOA_TAG_H
34#ifndef SU_TAG_H
35#include <sofia-sip/su_tag.h>
36#endif
37#ifndef SDP_TAG_H
38#include <sofia-sip/sdp_tag.h>
39#endif
40
41SOFIA_BEGIN_DECLS
42
45
47#define SOATAG_ANY() soatag_any, ((tag_value_t)0)
48SOFIAPUBVAR tag_typedef_t soatag_any;
49
53enum {
54 SOA_ACTIVE_REJECTED = -8,
55 SOA_ACTIVE_DISABLED = -4,
56 SOA_ACTIVE_INACTIVE = 0,
57 SOA_ACTIVE_SENDONLY = 1,
58 SOA_ACTIVE_RECVONLY = 2,
59 SOA_ACTIVE_SENDRECV = SOA_ACTIVE_SENDONLY | SOA_ACTIVE_RECVONLY
61};
62
63#define SOA_ACTIVE_DISABLED SOA_ACTIVE_DISABLED
64#define SOA_ACTIVE_REJECTED SOA_ACTIVE_REJECTED
65#define SOA_ACTIVE_INACTIVE SOA_ACTIVE_INACTIVE
66#define SOA_ACTIVE_SENDONLY SOA_ACTIVE_SENDONLY
67#define SOA_ACTIVE_RECVONLY SOA_ACTIVE_RECVONLY
68#define SOA_ACTIVE_SENDRECV SOA_ACTIVE_SENDRECV
69
70/*
71 * SOA engine and media parameters set by soa_set_params(), get by
72 * soa_get_params() or soa_get_paramlist()
73 */
74
75#define SOATAG_LOCAL_SDP(x) soatag_local_sdp, sdptag_session_v(x)
76SOFIAPUBVAR tag_typedef_t soatag_local_sdp;
77#define SOATAG_LOCAL_SDP_REF(x) \
78 soatag_local_sdp_ref, sdptag_session_vr(&(x))
79SOFIAPUBVAR tag_typedef_t soatag_local_sdp_ref;
80
81#define SOATAG_LOCAL_SDP_STR(x) soatag_local_sdp_str, tag_str_v(x)
82SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str;
83#define SOATAG_LOCAL_SDP_STR_REF(x) \
84 soatag_local_sdp_str_ref, tag_str_vr(&(x))
85SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str_ref;
86
87#define SOATAG_USER_SDP(x) soatag_user_sdp, sdptag_session_v(x)
88SOFIAPUBVAR tag_typedef_t soatag_user_sdp;
89#define SOATAG_USER_SDP_REF(x) \
90 soatag_user_sdp_ref, sdptag_session_vr(&(x))
91SOFIAPUBVAR tag_typedef_t soatag_user_sdp_ref;
92
93#define SOATAG_USER_SDP_STR(x) soatag_user_sdp_str, tag_str_v(x)
94SOFIAPUBVAR tag_typedef_t soatag_user_sdp_str;
95#define SOATAG_USER_SDP_STR_REF(x) \
96 soatag_user_sdp_str_ref, tag_str_vr(&(x))
97SOFIAPUBVAR tag_typedef_t soatag_user_sdp_str_ref;
98
99#define SOATAG_CAPS_SDP(x) soatag_caps_sdp, sdptag_session_v(x)
100SOFIAPUBVAR tag_typedef_t soatag_caps_sdp;
101#define SOATAG_CAPS_SDP_REF(x) \
102 soatag_caps_sdp_ref, sdptag_session_vr(&(x))
103SOFIAPUBVAR tag_typedef_t soatag_caps_sdp_ref;
104
105#define SOATAG_CAPS_SDP_STR(x) soatag_caps_sdp_str, tag_str_v(x)
106SOFIAPUBVAR tag_typedef_t soatag_caps_sdp_str;
107#define SOATAG_CAPS_SDP_STR_REF(x) \
108 soatag_caps_sdp_str_ref, tag_str_vr(&(x))
109SOFIAPUBVAR tag_typedef_t soatag_caps_sdp_str_ref;
110
111#define SOATAG_REMOTE_SDP(x) soatag_remote_sdp, sdptag_session_v(x)
112SOFIAPUBVAR tag_typedef_t soatag_remote_sdp;
113#define SOATAG_REMOTE_SDP_REF(x) \
114 soatag_remote_sdp_ref, sdptag_session_vr(&(x))
115SOFIAPUBVAR tag_typedef_t soatag_remote_sdp_ref;
116
117#define SOATAG_REMOTE_SDP_STR(x) soatag_remote_sdp_str, tag_str_v(x)
118SOFIAPUBVAR tag_typedef_t soatag_remote_sdp_str;
119#define SOATAG_REMOTE_SDP_STR_REF(x) \
120 soatag_remote_sdp_str_ref, tag_str_vr(&(x))
121SOFIAPUBVAR tag_typedef_t soatag_remote_sdp_str_ref;
122
123#define SOATAG_LOCAL_SDP(x) soatag_local_sdp, sdptag_session_v(x)
124SOFIAPUBVAR tag_typedef_t soatag_local_sdp;
125#define SOATAG_LOCAL_SDP_REF(x) \
126 soatag_local_sdp_ref, sdptag_session_vr(&(x))
127SOFIAPUBVAR tag_typedef_t soatag_local_sdp_ref;
128
129#define SOATAG_LOCAL_SDP_STR(x) soatag_local_sdp_str, tag_str_v(x)
130SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str;
131#define SOATAG_LOCAL_SDP_STR_REF(x) \
132 soatag_local_sdp_str_ref, tag_str_vr(&(x))
133SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str_ref;
134
135#define SOATAG_AF(x) soatag_af, tag_int_v((x))
136SOFIAPUBVAR tag_typedef_t soatag_af;
137
138#define SOATAG_AF_REF(x) soatag_af_ref, tag_int_vr(&(x))
139SOFIAPUBVAR tag_typedef_t soatag_af_ref;
140
142enum soa_af {
143 SOA_AF_ANY,
144 SOA_AF_IP4_ONLY,
145 SOA_AF_IP6_ONLY,
146 SOA_AF_IP4_IP6,
147 SOA_AF_IP6_IP4
149
150#define SOA_AF_ANY SOA_AF_ANY
151#define SOA_AF_IP4_ONLY SOA_AF_IP4_ONLY
152#define SOA_AF_IP6_ONLY SOA_AF_IP6_ONLY
153#define SOA_AF_IP4_IP6 SOA_AF_IP4_IP6
154#define SOA_AF_IP6_IP4 SOA_AF_IP6_IP4
155
156#define SOATAG_ADDRESS(x) soatag_address, tag_str_v(x)
157SOFIAPUBVAR tag_typedef_t soatag_address;
158#define SOATAG_ADDRESS_REF(x) soatag_address_ref, tag_str_vr(&(x))
159SOFIAPUBVAR tag_typedef_t soatag_address_ref;
160
161#define SOATAG_RTP_SELECT(x) soatag_rtp_select, tag_int_v(x)
162SOFIAPUBVAR tag_typedef_t soatag_rtp_select;
163#define SOATAG_RTP_SELECT_REF(x) soatag_rtp_select_ref, tag_int_vr(&(x))
164SOFIAPUBVAR tag_typedef_t soatag_rtp_select_ref;
165
167enum {
171 };
172
173#define SOATAG_AUDIO_AUX(x) soatag_audio_aux, tag_str_v(x)
174SOFIAPUBVAR tag_typedef_t soatag_audio_aux;
175#define SOATAG_AUDIO_AUX_REF(x) soatag_audio_aux_ref, tag_str_vr(&(x))
176SOFIAPUBVAR tag_typedef_t soatag_audio_aux_ref;
177
178#define SOATAG_RTP_SORT(x) soatag_rtp_sort, tag_int_v(x)
179SOFIAPUBVAR tag_typedef_t soatag_rtp_sort;
180#define SOATAG_RTP_SORT_REF(x) soatag_rtp_sort_ref, tag_int_vr(&(x))
181SOFIAPUBVAR tag_typedef_t soatag_rtp_sort_ref;
182
184enum {
191 };
192
193#define SOATAG_RTP_MISMATCH(x) soatag_rtp_mismatch, tag_bool_v(x)
194SOFIAPUBVAR tag_typedef_t soatag_rtp_mismatch;
195#define SOATAG_RTP_MISMATCH_REF(x) soatag_rtp_mismatch_ref, tag_bool_vr(&(x))
196SOFIAPUBVAR tag_typedef_t soatag_rtp_mismatch_ref;
197
198#define SOATAG_ACTIVE_AUDIO(x) soatag_active_audio, tag_int_v(x)
199SOFIAPUBVAR tag_typedef_t soatag_active_audio;
200
201#define SOATAG_ACTIVE_AUDIO_REF(x) soatag_active_audio_ref, tag_int_vr(&(x))
202SOFIAPUBVAR tag_typedef_t soatag_active_audio_ref;
203
204#define SOATAG_ACTIVE_VIDEO(x) soatag_active_video, tag_int_v(x)
205SOFIAPUBVAR tag_typedef_t soatag_active_video;
206
207#define SOATAG_ACTIVE_VIDEO_REF(x) soatag_active_video_ref, tag_int_vr(&(x))
208SOFIAPUBVAR tag_typedef_t soatag_active_video_ref;
209
210#define SOATAG_ACTIVE_IMAGE(x) soatag_active_image, tag_int_v(x)
211SOFIAPUBVAR tag_typedef_t soatag_active_image;
212
213#define SOATAG_ACTIVE_IMAGE_REF(x) soatag_active_image_ref, tag_int_vr(&(x))
214SOFIAPUBVAR tag_typedef_t soatag_active_image_ref;
215
216#define SOATAG_ACTIVE_CHAT(x) soatag_active_chat, tag_int_v(x)
217SOFIAPUBVAR tag_typedef_t soatag_active_chat;
218
219#define SOATAG_ACTIVE_CHAT_REF(x) soatag_active_chat_ref, tag_int_vr(&(x))
220SOFIAPUBVAR tag_typedef_t soatag_active_chat_ref;
221
223#define SOATAG_SRTP_ENABLE(x) soatag_srtp_enable, tag_bool_v(x)
224SOFIAPUBVAR tag_typedef_t soatag_srtp_enable;
225
226#define SOATAG_SRTP_ENABLE_REF(x) soatag_srtp_enable_ref, tag_bool_vr(&(x))
227SOFIAPUBVAR tag_typedef_t soatag_srtp_enable_ref;
228
229#define SOATAG_SRTP_CONFIDENTIALITY(x) soatag_srtp_confidentiality, tag_bool_v(x)
230SOFIAPUBVAR tag_typedef_t soatag_srtp_confidentiality;
231#define SOATAG_SRTP_CONFIDENTIALITY_REF(x) soatag_srtp_confidentiality_ref, tag_bool_vr(&(x))
232SOFIAPUBVAR tag_typedef_t soatag_srtp_confidentiality_ref;
233
235#define SOATAG_SRTP_INTEGRITY(x) soatag_srtp_integrity, tag_bool_v(x)
236SOFIAPUBVAR tag_typedef_t soatag_srtp_integrity;
237
238#define SOATAG_SRTP_INTEGRITY_REF(x) \
239 soatag_srtp_integrity_ref, tag_bool_vr(&(x))
240SOFIAPUBVAR tag_typedef_t soatag_srtp_integrity_ref;
241
242#define SOATAG_HOLD(x) soatag_hold, tag_str_v(x)
243SOFIAPUBVAR tag_typedef_t soatag_hold;
244#define SOATAG_HOLD_REF(x) soatag_hold_ref, tag_str_vr(&(x))
245SOFIAPUBVAR tag_typedef_t soatag_hold_ref;
246
247#define SOATAG_ORDERED_USER(x) soatag_ordered_user, tag_bool_v(x)
248SOFIAPUBVAR tag_typedef_t soatag_ordered_user;
249
250#define SOATAG_ORDERED_USER_REF(x) \
251 soatag_ordered_user_ref, tag_bool_vr(&(x))
252SOFIAPUBVAR tag_typedef_t soatag_ordered_user_ref;
253
254#define SOATAG_REUSE_REJECTED(x) soatag_reuse_rejected, tag_bool_v(x)
255SOFIAPUBVAR tag_typedef_t soatag_reuse_rejected;
256
257#define SOATAG_REUSE_REJECTED_REF(x) \
258 soatag_reuse_rejected_ref, tag_bool_vr(&(x))
259SOFIAPUBVAR tag_typedef_t soatag_reuse_rejected_ref;
260
261SOFIA_END_DECLS
262
263#endif /* SOA_TAG_H */
tagi_t soa_tag_list[]
List of base SOA tags (defined in base SOA module).
soa_af
SOATAG_AF() parameter type.
Definition soa_tag.h:142
@ SOA_RTP_SORT_DEFAULT
Select codecs by local preference when media is recvonly, remote preference othewise.
Definition soa_tag.h:185
@ SOA_RTP_SORT_REMOTE
Select codecs by remote preference.
Definition soa_tag.h:190
@ SOA_RTP_SORT_LOCAL
Select codecs by local preference.
Definition soa_tag.h:189
@ SOA_RTP_SELECT_COMMON
Select all common codecs.
Definition soa_tag.h:169
@ SOA_RTP_SELECT_SINGLE
Select the best common codec.
Definition soa_tag.h:168
@ SOA_RTP_SELECT_ALL
Select all local codecs.
Definition soa_tag.h:170
#define SOFIAPUBVAR
struct tag_type_s const tag_typedef_t[1]

Sofia-SIP 1.13.17 - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.