1//Source file: gcc_data.idl
2//Date:  6 October 2004
3//Generic Call Control Data Types for ES 203 915-4-2 V1.1.1, DES/TISPAN-01005-04-2-OSA, Parlay 5.0
4
5#ifndef __GCC_DATA_DEFINED
6#define __GCC_DATA_DEFINED
7
8
9#include "common_cc_data.idl"
10#include "osa.idl"
11
12module org {
13
14	module csapi {
15
16		module cc {
17
18			module gccs {
19
20				const TpInt32 P_EVENT_NAME_UNDEFINED = 0;
21
22				const TpInt32 P_EVENT_GCCS_OFFHOOK_EVENT = 1;
23
24				const TpInt32 P_EVENT_GCCS_ADDRESS_COLLECTED_EVENT = 2;
25
26				const TpInt32 P_EVENT_GCCS_ADDRESS_ANALYSED_EVENT = 4;
27
28				const TpInt32 P_EVENT_GCCS_CALLED_PARTY_BUSY = 8;
29
30				const TpInt32 P_EVENT_GCCS_CALLED_PARTY_UNREACHABLE = 16;
31
32				const TpInt32 P_EVENT_GCCS_NO_ANSWER_FROM_CALLED_PARTY = 32;
33
34				const TpInt32 P_EVENT_GCCS_ROUTE_SELECT_FAILURE = 64;
35
36				const TpInt32 P_EVENT_GCCS_ANSWER_FROM_CALL_PARTY = 128;
37
38
39				typedef TpInt32 TpCallEventName;
40
41
42				enum TpCallNotificationType {
43
44					P_ORIGINATING,
45					P_TERMINATING
46				};
47
48
49				struct TpCallEventCriteria {
50					TpAddressRange DestinationAddress;
51					TpAddressRange OriginatingAddress;
52					TpCallEventName CallEventName;
53					TpCallNotificationType CallNotificationType;
54					TpCallMonitorMode MonitorMode;
55				};
56
57
58				struct TpCallEventCriteriaResult {
59					TpCallEventCriteria CallEventCriteria;
60					TpInt32 AssignmentID;
61				};
62
63
64				typedef sequence <TpCallEventCriteriaResult> TpCallEventCriteriaResultSet;
65
66
67				enum TpCallAppInfoType {
68
69					P_CALL_APP_UNDEFINED,
70					P_CALL_APP_ALERTING_MECHANISM,
71					P_CALL_APP_NETWORK_ACCESS_TYPE,
72					P_CALL_APP_TELE_SERVICE,
73					P_CALL_APP_BEARER_SERVICE,
74					P_CALL_APP_PARTY_CATEGORY,
75					P_CALL_APP_PRESENTATION_ADDRESS,
76					P_CALL_APP_GENERIC_INFO,
77					P_CALL_APP_ADDITIONAL_ADDRESS
78				};
79
80
81				union TpCallAppInfo switch(TpCallAppInfoType) {
82					case P_CALL_APP_ALERTING_MECHANISM: TpCallAlertingMechanism CallAppAlertingMechanism;
83					case P_CALL_APP_NETWORK_ACCESS_TYPE: TpCallNetworkAccessType CallAppNetworkAccessType;
84					case P_CALL_APP_TELE_SERVICE: TpCallTeleService CallAppTeleService;
85					case P_CALL_APP_BEARER_SERVICE: TpCallBearerService CallAppBearerService;
86					case P_CALL_APP_PARTY_CATEGORY: TpCallPartyCategory CallAppPartyCategory;
87					case P_CALL_APP_PRESENTATION_ADDRESS: TpAddress CallAppPresentationAddress;
88					case P_CALL_APP_GENERIC_INFO: TpString CallAppGenericInfo;
89					case P_CALL_APP_ADDITIONAL_ADDRESS: TpAddress CallAppAdditionalAddress;
90					default: short Dummy;
91				};
92
93
94				typedef sequence<TpCallAppInfo> TpCallAppInfoSet;
95
96
97				struct TpCallReleaseCause {
98					TpInt32 Value;
99					TpInt32 Location;
100				};
101
102
103				enum TpCallReportType {
104
105					P_CALL_REPORT_UNDEFINED,
106					P_CALL_REPORT_PROGRESS,
107					P_CALL_REPORT_ALERTING,
108					P_CALL_REPORT_ANSWER,
109					P_CALL_REPORT_BUSY,
110					P_CALL_REPORT_NO_ANSWER,
111					P_CALL_REPORT_DISCONNECT,
112					P_CALL_REPORT_REDIRECTED,
113					P_CALL_REPORT_SERVICE_CODE,
114					P_CALL_REPORT_ROUTING_FAILURE,
115					P_CALL_REPORT_QUEUED,
116					P_CALL_REPORT_NOT_REACHABLE
117				};
118
119
120				union TpCallAdditionalReportInfo switch(TpCallReportType) {
121					case P_CALL_REPORT_BUSY: TpCallReleaseCause Busy;
122					case P_CALL_REPORT_DISCONNECT: TpCallReleaseCause CallDisconnect;
123					case P_CALL_REPORT_REDIRECTED: TpAddress ForwardAddress;
124					case P_CALL_REPORT_SERVICE_CODE: TpCallServiceCode ServiceCode;
125					case P_CALL_REPORT_ROUTING_FAILURE: TpCallReleaseCause RoutingFailure;
126					case P_CALL_REPORT_QUEUED: TpString QueueStatus;
127					case P_CALL_REPORT_NOT_REACHABLE: TpCallReleaseCause NotReachable;
128					default: short Dummy;
129				};
130
131
132				struct TpCallReport {
133					TpCallMonitorMode MonitorMode;
134					TpDateAndTime CallEventTime;
135					TpCallReportType CallReportType;
136					TpCallAdditionalReportInfo AdditionalReportInfo;
137				};
138
139
140				union TpCallAdditionalReportCriteria switch(TpCallReportType) {
141					case P_CALL_REPORT_NO_ANSWER: TpDuration NoAnswerDuration;
142					case P_CALL_REPORT_SERVICE_CODE: TpCallServiceCode ServiceCode;
143					default: short Dummy;
144				};
145
146
147				struct TpCallReportRequest {
148					TpCallMonitorMode MonitorMode;
149					TpCallReportType CallReportType;
150					TpCallAdditionalReportCriteria AdditionalReportCriteria;
151				};
152
153
154				typedef sequence <TpCallReportRequest> TpCallReportRequestSet;
155
156
157				struct TpCallEventInfo {
158					TpAddress DestinationAddress;
159					TpAddress OriginatingAddress;
160					TpAddress OriginalDestinationAddress;
161					TpAddress RedirectingAddress;
162					TpCallAppInfoSet CallAppInfo;
163					TpCallEventName CallEventName;
164					TpCallNotificationType CallNotificationType;
165					TpCallMonitorMode MonitorMode;
166				};
167
168
169				struct TpCallEndedReport {
170					TpSessionID CallLegSessionID;
171					TpCallReleaseCause Cause;
172				};
173
174
175				struct TpCallInfoReport {
176					TpCallInfoType CallInfoType;
177					TpDateAndTime CallInitiationStartTime;
178					TpDateAndTime CallConnectedToResourceTime;
179					TpDateAndTime CallConnectedToDestinationTime;
180					TpDateAndTime CallEndTime;
181					TpCallReleaseCause Cause;
182				};
183
184
185				struct TpCallTreatment {
186					TpCallTreatmentType CallTreatmentType;
187					TpCallReleaseCause ReleaseCause;
188					TpCallAdditionalTreatmentInfo AdditionalTreatmentInfo;
189				};
190
191
192				enum TpCallFault {
193
194					P_CALL_FAULT_UNDEFINED,
195					P_CALL_TIMEOUT_ON_RELEASE,
196					P_CALL_TIMEOUT_ON_INTERRUPT
197				};
198
199			};
200
201		};
202
203	};
204
205};
206
207#endif
208