summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/activex-pjsua/pjsua-structs.idl
blob: e41f671162520ec2a6c5ad80b2cabdd3ba83d60c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
51
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
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
import "oaidl.idl";
import "ocidl.idl";

typedef long Pj_Status;
typedef BSTR Pj_URI;
typedef BSTR Pj_String;
typedef int  Pj_Bool;


[
    uuid(9CE3052A-7A32-4229-B31C-5E02E0667A77),
    version(1.0),
    helpstring("PJSIP credential information"),
]
typedef struct Pjsip_Cred_Info
{
    Pj_String   realm;
    Pj_String	scheme;
    Pj_String	username;
    int		hashed;
    Pj_String	data;
} Pjsip_Cred_Info;


[
    uuid(7F6CFF0F-C5B3-41e8-B278-61CD584C1F34),
    version(1.0),
    helpstring("PJSIP SIP URI"),
]
typedef struct Pjsip_Sip_Uri
{
    Pj_String   display;
    Pj_String	user;
    Pj_String	passwd;
    Pj_String	host;
    int		port;
    Pj_String	param_user;
    Pj_String	param_method;
    Pj_String	param_transport;
    int		param_ttl;
    int		param_lr;
    Pj_String	param_maddr;
    Pj_String	param_other;
    Pj_String	param_header;
} Pjsip_Sip_Uri;


typedef enum Pjsip_Uri_Context
{
    PJSIPX_URI_IN_REQ_URI,
    PJSIPX_URI_IN_FROMTO_HDR,
    PJSIPX_URI_IN_CONTACT_HDR,
    PJSIPX_URI_IN_ROUTING_HDR,
    PJSIPX_URI_IN_OTHER
} Pjsip_Uri_Context;


[
    uuid(3B12B04F-6E48-46a7-B9E0-6C4BF1594A96),
    version(1.0),
    helpstring("PJSUA Account configuration"),
]
typedef struct Pjsua_Acc_Config
{
    Pj_URI			acc_uri;
    Pj_URI			reg_uri;
    Pj_URI			contact_uri;
    Pj_URI			proxy_uri;
    int				reg_timeout;
    SAFEARRAY(Pjsip_Cred_Info)	cred_info;
} Pjsua_Acc_Config;

[
    uuid(E4B6573D-CF5E-484d-863F-ADAD5947FBE4),
    version(1.0),
    helpstring("PJSUA configuration"),
]
typedef struct Pjsua_Config
{
    int			    udp_port;
    Pj_String		    sip_host;
    int			    sip_port;
    int			    rtp_port;
    int			    msg_logging;
    int			    max_calls;
    int			    conf_ports;
    int			    thread_cnt;
    Pj_String		    stun_srv1;
    int			    stun_port1;
    Pj_String		    stun_srv2;
    int			    stun_port2;
    int			    snd_player_id;
    int			    snd_capture_id;
    int			    clock_rate;
    Pj_Bool		    null_audio;
    int			    quality;
    int			    complexity;
    SAFEARRAY(Pj_String)    codec_arg;
    int			    auto_answer;
    int			    uas_refresh;
    Pj_String		    outbound_proxy;
    SAFEARRAY(Pjsua_Acc_Config) acc_config;
    int			    log_level;
    int			    app_log_level;
    long		    log_decor;
    Pj_String		    log_filename;
    SAFEARRAY(Pj_String)    buddy_uri;
} Pjsua_Config;


typedef enum Pjsua_Call_State
{
    PJSUA_CALL_STATE_NULL,
    PJSUA_CALL_STATE_CALLING,
    PJSUA_CALL_STATE_INCOMING,
    PJSUA_CALL_STATE_EARLY,
    PJSUA_CALL_STATE_CONNECTING,
    PJSUA_CALL_STATE_CONFIRMED,
    PJSUA_CALL_STATE_DISCONNECTED,
} Pjsua_Call_State;


[
    uuid(5043AC9E-A417-4f03-927E-D7AE52DDD064),
    version(1.0),
    helpstring("PJSUA Call Information"),
]
typedef struct Pjsua_Call_Info
{
    int			index;
    Pj_Bool		active;
    Pj_Bool		is_uac;
    Pj_String		local_info;
    Pj_String		remote_info;
    Pjsua_Call_State	state;
    Pj_String		state_text;
    int			connect_duration;
    int			total_duration;
    int			last_status;
    Pj_String		last_status_text;
    Pj_Bool		has_media;
    int			conf_slot;
} Pjsua_Call_Info;


typedef enum Pjsua_Buddy_State
{
    PJSUA_BUDDY_STATE_UNKNOWN,
    PJSUA_BUDDY_STATE_ONLINE,
    PJSUA_BUDDY_STATE_OFFLINE,
} Pjsua_Buddy_State;	


[
    uuid(2729F0BC-8A5E-4f3f-BC29-C1740A86393A),
    version(1.0),
    helpstring("PJSUA Buddy Information"),
]
typedef struct Pjsua_Buddy_Info
{
    int	index;
    Pj_Bool		is_valid;
    Pj_String		name;
    Pj_String		display;
    Pj_String		host;
    int  		port;
    Pj_URI		uri;
    Pjsua_Buddy_State	status;
    Pj_String		status_text;
    Pj_Bool		monitor;
} Pjsua_Buddy_Info;


[
    uuid(8D345956-10B7-4450-8A06-A80D2F319EFD),
    version(1.0),
    helpstring("PJSUA Account Information"),
]
typedef struct Pjsua_Acc_Info
{
    int			index;
    Pj_URI		acc_uri;
    Pj_Bool		has_registration;
    int			expires;
    int			status_code;
    Pj_String		status_text;
    Pj_Bool		online_status;
} Pjsua_Acc_Info;



[
    uuid(0D05907A-3E1F-4c92-9FD0-26CB6E1CC56A),
    version(1.0),
    helpstring("PJSUA Conference Port Information"),
]
typedef struct Pjsua_Conf_Port_Info
{
    int			slot_id;
    Pj_String		name;
    int			clock_rate;
    int			channel_count;
    int			samples_per_frame;
    int			bits_per_sample;
    SAFEARRAY(int)	listeners;
} Pjsua_Conf_Port_Info;