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;
|