soa
1.12.11devel
Main Page
Related Pages
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libsofia-sip-ua
soa
sofia-sip
soa.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_H
26
27
#define SOA_H
28
36
#ifndef SU_WAIT_H
37
#include <
sofia-sip/su_wait.h
>
38
#endif
39
#ifndef SU_TAG_H
40
#include <
sofia-sip/su_tag.h
>
41
#endif
42
43
SOFIA_BEGIN_DECLS
44
45
typedef
struct
soa_session
soa_session_t
;
46
47
struct
sdp_session_s
;
48
49
#ifndef SOA_MAGIC_T
50
#define SOA_MAGIC_T void
51
#endif
52
53
typedef
SOA_MAGIC_T soa_magic_t;
54
55
typedef
int
soa_callback_f(soa_magic_t *arg,
soa_session_t
*session);
56
57
SOFIAPUBFUN
soa_session_t
*
soa_create
(
char
const
*name,
su_root_t
*, soa_magic_t *);
58
59
SOFIAPUBFUN
soa_session_t
*
soa_clone
(
soa_session_t
*,
su_root_t
*, soa_magic_t *);
60
61
SOFIAPUBFUN
void
soa_destroy
(
soa_session_t
*);
62
63
SOFIAPUBFUN
int
soa_set_params
(
soa_session_t
*ss,
64
tag_type_t
tag,
tag_value_t
value, ...);
65
SOFIAPUBFUN
int
soa_get_params
(
soa_session_t
const
*ss,
66
tag_type_t
tag,
tag_value_t
value, ...);
67
68
SOFIAPUBFUN
tagi_t
*
soa_get_paramlist
(
soa_session_t
const
*ss,
69
tag_type_t
tag,
tag_value_t
value, ...);
70
71
SOFIAPUBFUN
int
soa_error_as_sip_response
(
soa_session_t
*soa,
72
char
const
**return_phrase);
73
74
SOFIAPUBFUN
char
const
*
soa_error_as_sip_reason
(
soa_session_t
*soa);
75
76
SOFIAPUBFUN
int
soa_get_warning
(
soa_session_t
*ss,
char
const
**return_phrase);
77
78
SOFIAPUBFUN
int
soa_set_capability_sdp
(
soa_session_t
*ss,
79
struct
sdp_session_s
const
*sdp,
80
char
const
*str, issize_t len);
81
82
SOFIAPUBFUN
int
soa_get_capability_sdp
(
soa_session_t
const
*ss,
83
struct
sdp_session_s
const
**return_sdp,
84
char
const
**return_sdp_str,
85
isize_t *return_len);
86
87
SOFIAPUBFUN
int
soa_set_remote_sdp
(
soa_session_t
*ss,
88
struct
sdp_session_s
const
*sdp,
89
char
const
*str, issize_t len);
90
91
SOFIAPUBFUN
int
soa_get_remote_sdp
(
soa_session_t
const
*ss,
92
struct
sdp_session_s
const
**return_sdp,
93
char
const
**return_sdp_str,
94
isize_t *return_len);
95
96
SOFIAPUBFUN
int
soa_clear_remote_sdp
(
soa_session_t
*ss);
97
98
SOFIAPUBFUN
int
soa_get_remote_version
(
soa_session_t
const
*ss);
99
100
SOFIAPUBFUN
int
soa_set_user_sdp
(
soa_session_t
*ss,
101
struct
sdp_session_s
const
*sdp,
102
char
const
*str, issize_t len);
103
104
SOFIAPUBFUN
int
soa_get_user_sdp
(
soa_session_t
const
*ss,
105
struct
sdp_session_s
const
**return_sdp,
106
char
const
**return_sdp_str,
107
isize_t *return_len);
108
109
SOFIAPUBFUN
int
soa_get_user_version
(
soa_session_t
const
*ss);
110
111
SOFIAPUBFUN
int
soa_get_local_sdp
(
soa_session_t
const
*ss,
112
struct
sdp_session_s
const
**return_sdp,
113
char
const
**return_sdp_str,
114
isize_t *return_len);
115
116
SOFIAPUBFUN
char
const
*
const
* soa_sip_require(
soa_session_t
const
*ss);
117
SOFIAPUBFUN
char
const
*
const
* soa_sip_supported(
soa_session_t
const
*ss);
118
119
SOFIAPUBFUN
int
soa_remote_sip_features(
soa_session_t
*ss,
120
char
const
*
const
* support,
121
char
const
*
const
* required);
122
123
SOFIAPUBFUN
char
**
soa_media_features
(
soa_session_t
*ss,
int
live,
su_home_t
*home);
124
125
SOFIAPUBFUN
int
soa_generate_offer
(
soa_session_t
*,
int
always, soa_callback_f *);
126
SOFIAPUBFUN
int
soa_generate_answer
(
soa_session_t
*, soa_callback_f *);
127
SOFIAPUBFUN
int
soa_process_answer
(
soa_session_t
*, soa_callback_f *);
128
SOFIAPUBFUN
int
soa_process_reject
(
soa_session_t
*, soa_callback_f *);
129
130
SOFIAPUBFUN
int
soa_activate
(
soa_session_t
*,
char
const
*option);
131
SOFIAPUBFUN
int
soa_deactivate
(
soa_session_t
*,
char
const
*option);
132
133
SOFIAPUBFUN
void
soa_terminate
(
soa_session_t
*,
char
const
*option);
134
135
SOFIAPUBFUN
int
soa_is_complete
(
soa_session_t
const
*ss);
136
137
SOFIAPUBFUN
int
soa_init_offer_answer
(
soa_session_t
*ss);
138
139
SOFIAPUBFUN
int
soa_is_audio_active
(
soa_session_t
const
*ss);
140
SOFIAPUBFUN
int
soa_is_video_active
(
soa_session_t
const
*ss);
141
SOFIAPUBFUN
int
soa_is_image_active
(
soa_session_t
const
*ss);
142
SOFIAPUBFUN
int
soa_is_chat_active
(
soa_session_t
const
*ss);
143
144
SOFIAPUBFUN
int
soa_is_remote_audio_active
(
soa_session_t
const
*ss);
145
SOFIAPUBFUN
int
soa_is_remote_video_active
(
soa_session_t
const
*ss);
146
SOFIAPUBFUN
int
soa_is_remote_image_active
(
soa_session_t
const
*ss);
147
SOFIAPUBFUN
int
soa_is_remote_chat_active
(
soa_session_t
const
*ss);
148
149
SOFIAPUBFUN
int
soa_is_delayed_offer
(
soa_session_t
const
*ss);
150
151
SOFIAPUBFUN
int
soa_tag_filter
(
tagi_t
const
*f,
tagi_t
const
*t);
152
153
SOFIA_END_DECLS
154
155
#endif
Sofia-SIP 1.12.11devel - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.