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
|
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(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
{
unsigned int udp_port;
Pj_String sip_host;
unsigned int sip_port;
unsigned int rtp_port;
unsigned int max_calls;
unsigned int conf_ports;
unsigned int thread_cnt;
Pj_String stun_srv1;
unsigned int stun_port1;
Pj_String stun_srv2;
unsigned int stun_port2;
unsigned int snd_player_id;
unsigned int snd_capture_id;
unsigned int clock_rate;
Pj_Bool null_audio;
unsigned int quality;
unsigned int complexity;
SAFEARRAY(Pj_String) codec_arg;
unsigned int auto_answer;
unsigned int uas_refresh;
Pj_String outbound_proxy;
SAFEARRAY(Pjsua_Acc_Config) acc_config;
unsigned int log_level;
unsigned int app_log_level;
unsigned 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
{
unsigned 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;
unsigned int connect_duration;
unsigned int total_duration;
unsigned int cause;
Pj_String cause_text;
Pj_Bool has_media;
unsigned 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
{
unsigned int index;
Pj_Bool is_valid;
Pj_String name;
Pj_String display;
Pj_String host;
unsigned int port;
Pj_URI uri;
Pjsua_Buddy_State status;
Pj_String status_text;
Pj_Bool monitor;
int acc_index;
} Pjsua_Buddy_Info;
[
uuid(8D345956-10B7-4450-8A06-A80D2F319EFD),
version(1.0),
helpstring("PJSUA Account Information"),
]
typedef struct Pjsua_Acc_Info
{
unsigned int index;
Pj_URI acc_id;
Pj_Bool has_registration;
int expires;
unsigned int status_code;
Pj_String status_text;
Pj_Bool online_status;
} Pjsua_Acc_Info;
|