summaryrefslogtreecommitdiff
path: root/idl/parlay/gcc_data.idl
blob: 18f1d965fc8f19f485bcc7bb54242229766a3091 (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
//Source file: gcc_data.idl
//Date:  6 October 2004
//Generic Call Control Data Types for ES 203 915-4-2 V1.1.1, DES/TISPAN-01005-04-2-OSA, Parlay 5.0

#ifndef __GCC_DATA_DEFINED
#define __GCC_DATA_DEFINED


#include "common_cc_data.idl"
#include "osa.idl"

module org {
	
	module csapi {
		
		module cc {
			
			module gccs {
				
				const TpInt32 P_EVENT_NAME_UNDEFINED = 0;
				
				const TpInt32 P_EVENT_GCCS_OFFHOOK_EVENT = 1;
				
				const TpInt32 P_EVENT_GCCS_ADDRESS_COLLECTED_EVENT = 2;
				
				const TpInt32 P_EVENT_GCCS_ADDRESS_ANALYSED_EVENT = 4;
				
				const TpInt32 P_EVENT_GCCS_CALLED_PARTY_BUSY = 8;
				
				const TpInt32 P_EVENT_GCCS_CALLED_PARTY_UNREACHABLE = 16;
				
				const TpInt32 P_EVENT_GCCS_NO_ANSWER_FROM_CALLED_PARTY = 32;
				
				const TpInt32 P_EVENT_GCCS_ROUTE_SELECT_FAILURE = 64;
				
				const TpInt32 P_EVENT_GCCS_ANSWER_FROM_CALL_PARTY = 128;
				
				
				typedef TpInt32 TpCallEventName;
				
				
				enum TpCallNotificationType {

					P_ORIGINATING,
					P_TERMINATING					
				};
				
				
				struct TpCallEventCriteria {
					TpAddressRange DestinationAddress;
					TpAddressRange OriginatingAddress;
					TpCallEventName CallEventName;
					TpCallNotificationType CallNotificationType;
					TpCallMonitorMode MonitorMode;
				};
				
				
				struct TpCallEventCriteriaResult {
					TpCallEventCriteria CallEventCriteria;
					TpInt32 AssignmentID;
				};
				
				
				typedef sequence <TpCallEventCriteriaResult> TpCallEventCriteriaResultSet;
				
				
				enum TpCallAppInfoType {

					P_CALL_APP_UNDEFINED,
					P_CALL_APP_ALERTING_MECHANISM,
					P_CALL_APP_NETWORK_ACCESS_TYPE,
					P_CALL_APP_TELE_SERVICE,
					P_CALL_APP_BEARER_SERVICE,
					P_CALL_APP_PARTY_CATEGORY,
					P_CALL_APP_PRESENTATION_ADDRESS,
					P_CALL_APP_GENERIC_INFO,
					P_CALL_APP_ADDITIONAL_ADDRESS					
				};
				
				
				union TpCallAppInfo switch(TpCallAppInfoType) {
					case P_CALL_APP_ALERTING_MECHANISM: TpCallAlertingMechanism CallAppAlertingMechanism;
					case P_CALL_APP_NETWORK_ACCESS_TYPE: TpCallNetworkAccessType CallAppNetworkAccessType;
					case P_CALL_APP_TELE_SERVICE: TpCallTeleService CallAppTeleService;
					case P_CALL_APP_BEARER_SERVICE: TpCallBearerService CallAppBearerService;
					case P_CALL_APP_PARTY_CATEGORY: TpCallPartyCategory CallAppPartyCategory;
					case P_CALL_APP_PRESENTATION_ADDRESS: TpAddress CallAppPresentationAddress;
					case P_CALL_APP_GENERIC_INFO: TpString CallAppGenericInfo;
					case P_CALL_APP_ADDITIONAL_ADDRESS: TpAddress CallAppAdditionalAddress;
					default: short Dummy;
				};
				
				
				typedef sequence<TpCallAppInfo> TpCallAppInfoSet;
				
				
				struct TpCallReleaseCause {
					TpInt32 Value;
					TpInt32 Location;
				};
				
				
				enum TpCallReportType {

					P_CALL_REPORT_UNDEFINED,
					P_CALL_REPORT_PROGRESS,
					P_CALL_REPORT_ALERTING,
					P_CALL_REPORT_ANSWER,
					P_CALL_REPORT_BUSY,
					P_CALL_REPORT_NO_ANSWER,
					P_CALL_REPORT_DISCONNECT,
					P_CALL_REPORT_REDIRECTED,
					P_CALL_REPORT_SERVICE_CODE,
					P_CALL_REPORT_ROUTING_FAILURE,
					P_CALL_REPORT_QUEUED,
					P_CALL_REPORT_NOT_REACHABLE					
				};
				
				
				union TpCallAdditionalReportInfo switch(TpCallReportType) {
					case P_CALL_REPORT_BUSY: TpCallReleaseCause Busy;
					case P_CALL_REPORT_DISCONNECT: TpCallReleaseCause CallDisconnect;
					case P_CALL_REPORT_REDIRECTED: TpAddress ForwardAddress;
					case P_CALL_REPORT_SERVICE_CODE: TpCallServiceCode ServiceCode;
					case P_CALL_REPORT_ROUTING_FAILURE: TpCallReleaseCause RoutingFailure;
					case P_CALL_REPORT_QUEUED: TpString QueueStatus;
					case P_CALL_REPORT_NOT_REACHABLE: TpCallReleaseCause NotReachable;
					default: short Dummy;
				};
				
				
				struct TpCallReport {
					TpCallMonitorMode MonitorMode;
					TpDateAndTime CallEventTime;
					TpCallReportType CallReportType;
					TpCallAdditionalReportInfo AdditionalReportInfo;
				};
				
				
				union TpCallAdditionalReportCriteria switch(TpCallReportType) {
					case P_CALL_REPORT_NO_ANSWER: TpDuration NoAnswerDuration;
					case P_CALL_REPORT_SERVICE_CODE: TpCallServiceCode ServiceCode;
					default: short Dummy;
				};
				
				
				struct TpCallReportRequest {
					TpCallMonitorMode MonitorMode;
					TpCallReportType CallReportType;
					TpCallAdditionalReportCriteria AdditionalReportCriteria;
				};
				
				
				typedef sequence <TpCallReportRequest> TpCallReportRequestSet;
				
				
				struct TpCallEventInfo {
					TpAddress DestinationAddress;
					TpAddress OriginatingAddress;
					TpAddress OriginalDestinationAddress;
					TpAddress RedirectingAddress;
					TpCallAppInfoSet CallAppInfo;
					TpCallEventName CallEventName;
					TpCallNotificationType CallNotificationType;
					TpCallMonitorMode MonitorMode;
				};
				
				
				struct TpCallEndedReport {
					TpSessionID CallLegSessionID;
					TpCallReleaseCause Cause;
				};
				
				
				struct TpCallInfoReport {
					TpCallInfoType CallInfoType;
					TpDateAndTime CallInitiationStartTime;
					TpDateAndTime CallConnectedToResourceTime;
					TpDateAndTime CallConnectedToDestinationTime;
					TpDateAndTime CallEndTime;
					TpCallReleaseCause Cause;
				};
				
				
				struct TpCallTreatment {
					TpCallTreatmentType CallTreatmentType;
					TpCallReleaseCause ReleaseCause;
					TpCallAdditionalTreatmentInfo AdditionalTreatmentInfo;
				};
				
				
				enum TpCallFault {

					P_CALL_FAULT_UNDEFINED,
					P_CALL_TIMEOUT_ON_RELEASE,
					P_CALL_TIMEOUT_ON_INTERRUPT					
				};
				
			};
			
		};
		
	};
	
};

#endif