summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/activex-pjsua/pjsua-structs.idl
blob: 1c90742f7ff7d07d1184e1aded4ffc4ec1cf2489 (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
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;